/* sfs-foundation */
*, *::before, *::after{margin: 0;padding: 0;box-sizing: border-box}:where( main ) :where( ul, ol ):not( [class] ){padding-left: 1.5rem;margin-bottom: 1rem}:where( main ) :where( ul, ol ):not( [class] ) li{margin-bottom: 0.35rem}:root{--heritage-green: #0a4b2c;--heritage-green-deep: #083d24;--urban-grey: #6f6e63;--cleaning: #5eb130;--survey: #e97b32;--restoration: #584998;--decorating: #50b3d8;--additional: #ba2574;--chartreuse: #dec829;--colour-cream: #faf8f5;--colour-white: #ffffff;--colour-border: #e5e0d8;--colour-text: #444444;--colour-text-light: #999999;--font-body: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--font-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--font-quote: 'Source Sans 3', sans-serif;--container: 1100px;--container-padding: 2rem;--font-size-large: 1.35rem;--line-height-large: 1.65}html{font-size: 16px;scroll-behavior: smooth}body{font-family: var(--font-body);color: var(--colour-text);background: var(--colour-cream);line-height: 1.7;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale}h1, h2, h3, h4, h5, h6{font-family: var(--font-heading);color: var(--heritage-green);letter-spacing: -0.025em;text-transform: uppercase;line-height: 1.3;font-weight: 600}h1{font-size: clamp(1.85rem, 3.6vw, 2.85rem);line-height: 1.12}h2{font-size: 2rem}h3{font-size: 1.5rem}h4{font-size: 1.2rem}h5{font-size: 1rem}h6{font-size: 0.9rem}p{margin: 0 0 1rem}p:last-child{margin-bottom: 0}.p-large{font-size: var(--font-size-large);line-height: var(--line-height-large)}a{color: inherit;text-decoration: none;transition: color 0.3s ease}img{max-width: 100%;height: auto;display: block}.container{width: 100%;max-width: var(--container);margin-left: auto;margin-right: auto;padding-left: var(--container-padding);padding-right: var(--container-padding)}.btn{display: inline-block;padding: 0.9rem 2.2rem;font-family: var(--font-body);font-size: 0.8rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.12em;border: none;cursor: pointer;border-radius: 4px;text-align: center;transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease}.btn:hover{transform: translateY(-1px);box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12)}.btn-primary{background: var(--heritage-green);color: var(--colour-white)}.btn-primary:hover{background: var(--heritage-green-deep);color: var(--colour-white)}.btn-secondary{background: transparent;color: var(--heritage-green);border: 2px solid var(--heritage-green)}.btn-secondary + .btn, .btn + .btn-secondary{margin-left: 1rem}.btn-secondary:hover{background: var(--heritage-green);color: var(--colour-white)}.section-heading{text-align: center;margin-bottom: 3rem}.section-heading h2{font-size: 2rem;color: var(--heritage-green);margin-bottom: 0.5rem}.section-heading p{color: var(--colour-text-light);max-width: 500px;margin: 0 auto}.fade-in{opacity: 0;transform: translateY(30px);transition: opacity 0.7s ease-out, transform 0.7s ease-out}.fade-in.is-visible{opacity: 1;transform: translateY(0)}.fade-in-child{opacity: 0;transform: translateY(20px);transition: opacity 0.5s ease-out, transform 0.5s ease-out}.fade-in-child.is-visible{opacity: 1;transform: translateY(0)}.service-tag{display: inline-block;padding: 0.35rem 0.75rem;font-family: var(--font-heading);font-size: 0.7rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;color: var(--colour-white);background: var(--urban-grey);border-radius: 999px;margin-right: 0.4rem;margin-bottom: 0.4rem}.service-tag--cleaning{background: var(--cleaning)}.service-tag--survey{background: var(--survey)}.service-tag--restoration{background: var(--restoration)}.service-tag--decorating{background: var(--decorating)}.service-tag--additional{background: var(--additional)}.breadcrumb{font-family: var(--font-heading);font-size: 0.75rem;font-weight: 500;letter-spacing: 0.1em;text-transform: uppercase;color: var(--urban-grey);margin-bottom: 1.5rem}.breadcrumb a{color: var(--urban-grey)}.breadcrumb a:hover{color: var(--heritage-green)}.breadcrumb > span[aria-hidden]{margin: 0 0.5rem;opacity: 0.5}.breadcrumb [aria-current="page"]{color: var(--heritage-green)}.screen-reader-text{border: 0;clip: rect(1px, 1px, 1px, 1px);clip-path: inset(50%);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;word-wrap: normal !important}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}.fade-in, .fade-in-child{opacity: 1 !important;transform: none !important;transition: none !important}}
/* sfs-layout */
.site-header{background: var(--colour-white);border-bottom: 1px solid var(--colour-border);padding: 0.875rem 0}.site-header .container{display: flex;justify-content: space-between;align-items: center;max-width: none;padding-left: clamp(1.5rem, 4vw, 3.5rem);padding-right: clamp(1.5rem, 4vw, 3.5rem)}.custom-logo-link{display: inline-flex;align-items: center;line-height: 0;text-decoration: none}.custom-logo{width: 350px;height: auto;transition: opacity 0.3s}.logo--header img{width: 350px;height: auto;transition: opacity 0.3s}.custom-logo-link:hover .custom-logo, .logo--header:hover img{opacity: 0.8}.site-header nav ul{list-style: none;display: flex;gap: 2.5rem}.site-header nav a{font-size: 0.85rem;font-weight: 500;color: var(--urban-grey);text-transform: uppercase;letter-spacing: 0.12em;transition: color 0.3s ease, opacity 0.3s ease}.site-header nav a:hover{color: var(--heritage-green)}.site-footer{padding: 3.5rem 0 0;background: #061f14;border-top: none}.footer-row-1{display: flex;justify-content: space-between;align-items: flex-start;gap: 3rem;padding-bottom: 2.25rem;border-bottom: 1px solid rgba(255, 255, 255, 0.08);margin-bottom: 2.25rem}.footer-brand-block{max-width: 340px;min-width: 0;flex-shrink: 0}.footer-logo{display: inline-block;line-height: 0}.footer-logo img{display: block;margin-bottom: 0.85rem}.footer-logo__img{height: auto;max-height: 56px;width: auto;max-width: min(300px, 70vw);margin-bottom: 0.85rem;opacity: 0.98;display: block}.footer-tagline{font-size: 0.8rem;color: rgba(255, 255, 255, 0.38);line-height: 1.65}.footer-contact-block{text-align: left;display: flex;flex-direction: column;gap: 0.3rem}.footer-contact-block address{font-style: normal;font-size: 0.78rem;color: rgba(255, 255, 255, 0.38);line-height: 1.55}.footer-contact-block a{font-size: 0.78rem;color: rgba(255, 255, 255, 0.52);transition: color 0.25s}.footer-contact-block a:hover{color: var(--colour-white)}.footer-row-2{display: grid;grid-template-columns: repeat(4, 1fr);gap: 2.25rem;padding-bottom: 2.25rem;border-bottom: 1px solid rgba(255, 255, 255, 0.08)}.footer-col h4{font-size: 0.62rem;font-weight: 600;color: rgba(255, 255, 255, 0.32);margin-bottom: 0.9rem}.footer-col--wide{grid-column: span 2}.footer-col--wide ul{column-count: 2;column-gap: 2.25rem}.footer-col--wide li{break-inside: avoid}.footer-col ul{list-style: none;padding: 0;margin: 0}.footer-col li{margin-bottom: 0.28rem}.footer-col li a{font-size: 0.78rem;color: rgba(255, 255, 255, 0.48);transition: color 0.25s;line-height: 1.35}.footer-col li a:hover{color: var(--colour-white)}.footer-social{display: flex;flex-wrap: wrap;gap: 0.75rem 1.25rem;margin-top: 1.15rem}.footer-social__link{font-family: var(--font-heading);font-size: 0.65rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;color: rgba(255, 255, 255, 0.48);transition: color 0.25s}.footer-social__link:hover{color: var(--colour-white)}.footer-policies{padding: 1.75rem 0 2rem;border-top: 1px solid rgba(255, 255, 255, 0.08);border-bottom: 1px solid rgba(255, 255, 255, 0.08);margin-bottom: 0.5rem}.footer-policies__title{font-size: 0.62rem;font-weight: 600;color: rgba(255, 255, 255, 0.32);margin-bottom: 0.75rem;letter-spacing: 0.12em}.footer-policies__nav{display: flex;flex-wrap: wrap;gap: 0.5rem 1.25rem}.footer-policies__nav a{font-size: 0.72rem;color: rgba(255, 255, 255, 0.42);transition: color 0.25s}.footer-policies__nav a:hover{color: rgba(255, 255, 255, 0.75)}.footer-bottom{display: flex;justify-content: space-between;align-items: flex-start;gap: 2rem;flex-wrap: wrap;padding: 1.35rem 0 1.75rem}.footer-bottom p{font-size: 0.7rem;color: rgba(255, 255, 255, 0.24);line-height: 1.55;max-width: 520px;text-align: left}.footer-legal-nav{display: flex;gap: 1.25rem;flex-wrap: wrap;justify-content: flex-end;flex: 1}.footer-legal-nav a{font-size: 0.7rem;color: rgba(255, 255, 255, 0.24);transition: color 0.25s;white-space: nowrap}.footer-legal-nav a:hover{color: rgba(255, 255, 255, 0.55)}.footer-legal-nav__btn{font: inherit;font-size: 0.7rem;color: rgba(255, 255, 255, 0.24);background: none;border: 0;padding: 0;cursor: pointer;white-space: nowrap;transition: color 0.25s}.footer-legal-nav__btn:hover, .footer-legal-nav__btn:focus-visible{color: rgba(255, 255, 255, 0.55)}.cookie-banner{position: fixed;bottom: 0;left: 0;right: 0;z-index: 2000;background: var(--colour-white);border-top: 1px solid var(--colour-border);padding: 1rem 0;box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.06);transform: translateY(100%);visibility: hidden;transition: transform 0.45s ease, visibility 0s linear 0.45s}.cookie-banner.is-visible{transform: translateY(0);visibility: visible;transition: transform 0.45s ease, visibility 0s}.cookie-banner .container{display: flex;align-items: center;justify-content: space-between;gap: 1rem 1.5rem;flex-wrap: wrap}.cookie-banner p{font-size: 0.82rem;color: var(--colour-text);max-width: 560px;line-height: 1.55;margin: 0}.cookie-banner a, .cookie-modal a{color: var(--heritage-green);text-decoration: underline;text-underline-offset: 2px}.cookie-banner__actions, .cookie-modal__actions{display: flex;gap: 0.75rem;flex-wrap: wrap}.btn-cookie{font-family: var(--font-heading);font-size: 0.72rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.1em;padding: 0.65rem 1.25rem;border-radius: 4px;cursor: pointer;border: 1px solid transparent;transition: background 0.25s, color 0.25s, border-color 0.25s}.btn-cookie--accept{background: var(--heritage-green);color: var(--colour-white)}.btn-cookie--accept:hover{background: var(--heritage-green-deep)}.btn-cookie--prefs{background: transparent;color: var(--heritage-green);border-color: var(--heritage-green)}.btn-cookie--prefs:hover{background: var(--colour-cream)}.btn-cookie:focus-visible{outline: 2px solid var(--heritage-green);outline-offset: 2px}.cookie-modal{position: fixed;inset: 0;z-index: 2100;display: flex;align-items: center;justify-content: center;padding: 1rem}.cookie-modal[hidden]{display: none}.cookie-modal__backdrop{position: absolute;inset: 0;background: rgba(8, 61, 36, 0.55)}.cookie-modal__panel{position: relative;width: 100%;max-width: 560px;max-height: calc(100vh - 2rem);overflow-y: auto;background: var(--colour-white);border-radius: 10px;padding: 1.75rem;box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);outline: none}.cookie-modal__title{font-family: var(--font-heading);font-size: 1.15rem;font-weight: 700;color: var(--heritage-green);margin: 0 0 0.5rem}.cookie-modal__intro{font-size: 0.88rem;line-height: 1.55;color: var(--colour-text);margin: 0 0 1.25rem}.cookie-modal__row{display: flex;align-items: flex-start;justify-content: space-between;gap: 1.25rem;padding: 1rem 0;border-top: 1px solid var(--colour-border)}.cookie-modal__text h3{font-family: var(--font-heading);font-size: 0.9rem;font-weight: 600;color: #1d1d1d;margin: 0 0 0.25rem}.cookie-modal__text p{font-size: 0.82rem;line-height: 1.5;color: var(--colour-text);margin: 0}.cookie-modal__always{flex-shrink: 0;font-family: var(--font-heading);font-size: 0.7rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.08em;color: var(--colour-text-light);padding-top: 0.15rem}.cookie-modal__actions{justify-content: flex-end;padding-top: 1.25rem;border-top: 1px solid var(--colour-border)}.cookie-switch{position: relative;flex-shrink: 0;width: 44px;height: 24px;cursor: pointer}.cookie-switch input{position: absolute;inset: 0;opacity: 0;margin: 0;cursor: pointer}.cookie-switch__track{position: absolute;inset: 0;border-radius: 999px;background: #c9c4bb;transition: background 0.2s}.cookie-switch__track::after{content: '';position: absolute;top: 3px;left: 3px;width: 18px;height: 18px;border-radius: 50%;background: #fff;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);transition: transform 0.2s}.cookie-switch input:checked + .cookie-switch__track{background: var(--heritage-green)}.cookie-switch input:checked + .cookie-switch__track::after{transform: translateX(20px)}.cookie-switch input:focus-visible + .cookie-switch__track{outline: 2px solid var(--heritage-green);outline-offset: 2px}body.cookie-modal-open{overflow: hidden}@media (max-width: 600px){.cookie-banner__actions, .cookie-modal__actions{width: 100%}.cookie-banner__actions .btn-cookie, .cookie-modal__actions .btn-cookie{flex: 1 1 auto}.cookie-modal__panel{padding: 1.25rem}}@media (max-width: 768px){.footer-row-1{flex-direction: column;gap: 1.5rem}.footer-row-2{grid-template-columns: 1fr 1fr;gap: 1.75rem}.footer-bottom{flex-direction: column;align-items: flex-start}.footer-legal-nav{justify-content: flex-start}}.child-portals{padding: 2.5rem 0 4.5rem;background: var(--colour-cream)}.child-portals__grid{display: flex;flex-wrap: wrap;justify-content: center;gap: 1.75rem}.child-portal-card{flex: 0 1 calc(33.333% - 1.17rem);max-width: calc(33.333% - 1.17rem);display: block;background: var(--colour-white);border: 1px solid var(--colour-border);border-top: 10px solid var(--heritage-green);border-radius: 8px;overflow: hidden;text-decoration: none;color: inherit;transition: box-shadow 0.3s ease, transform 0.3s ease}.child-portal-card:hover{box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);transform: translateY(-2px)}.child-portal-card__media{aspect-ratio: 16 / 10;overflow: hidden;background: var(--colour-cream)}.child-portal-card__img{width: 100%;height: 100%;object-fit: cover;display: block;transition: transform 0.4s ease}.child-portal-card:hover .child-portal-card__img{transform: scale(1.04)}.child-portal-card__body{padding: 1.75rem 2rem 2rem}.child-portal-card h3{font-family: var(--font-heading);font-size: 1.15rem;font-weight: 600;color: var(--heritage-green);margin-bottom: 0.5rem;line-height: 1.3}.child-portal-card p{font-size: 0.9rem;color: var(--colour-text-light);line-height: 1.7}.child-portal-card__cta{display: inline-block;margin-top: 0.85rem;font-family: var(--font-heading);font-size: 0.68rem;letter-spacing: 0.1em;text-transform: uppercase;font-weight: 600;color: var(--heritage-green)}.child-portal-card__cta span{display: inline-block;transition: transform 0.3s ease}.child-portal-card:hover .child-portal-card__cta span{transform: translateX(4px)}@media (max-width: 900px){.child-portal-card{flex-basis: calc(50% - 0.875rem);max-width: calc(50% - 0.875rem)}}@media (max-width: 560px){.child-portal-card{flex-basis: 100%;max-width: 100%}}.nav-toggle{display: none;align-items: center;justify-content: center;width: 44px;height: 44px;margin: -8px -8px -8px 0;padding: 0;background: none;border: 0;cursor: pointer;color: var(--heritage-green)}.nav-toggle__bars{position: relative;display: block;width: 26px;height: 18px}.nav-toggle__bars span{position: absolute;left: 0;width: 100%;height: 2px;border-radius: 2px;background: currentColor;transition: transform 0.3s ease, opacity 0.2s ease}.nav-toggle__bars span:nth-child(1){top: 0}.nav-toggle__bars span:nth-child(2){top: 8px}.nav-toggle__bars span:nth-child(3){top: 16px}.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(1){transform: translateY(8px) rotate(45deg)}.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(2){opacity: 0}.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(3){transform: translateY(-8px) rotate(-45deg)}.mobile-menu-backdrop{display: none;position: fixed;inset: 0;z-index: 10000;background: rgba(8, 30, 20, 0.5);opacity: 0;pointer-events: none;transition: opacity 0.38s cubic-bezier(0.4, 0, 0.2, 1)}.mobile-menu-backdrop.is-open{opacity: 1;pointer-events: auto}.mobile-menu{display: none;position: fixed;top: 0;right: 0;z-index: 10001;flex-direction: column;width: min(86%, 360px);height: 100%;height: 100dvh;background: var(--colour-white);box-shadow: -12px 0 40px rgba(0, 0, 0, 0.16);transform: translateX(100%);visibility: hidden;transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.38s;will-change: transform;overflow-y: auto;overscroll-behavior: contain}.mobile-menu.is-open{transform: translateX(0);visibility: visible}body.menu-open{overflow: hidden}.mobile-menu__head{display: flex;align-items: center;justify-content: flex-end;padding: 1rem 1.25rem 0.5rem}.mobile-menu__title{font-family: var(--font-heading);font-size: 0.72rem;font-weight: 700;letter-spacing: 0.16em;text-transform: uppercase;color: var(--colour-text-light)}.mobile-menu__close{display: flex;align-items: center;justify-content: center;width: 40px;height: 40px;margin: -8px -8px -8px 0;background: none;border: 0;cursor: pointer;font-size: 1.9rem;line-height: 1;color: var(--heritage-green)}.mobile-menu__nav{flex: 1;padding: 0.5rem 0}.mobile-menu__list, .mobile-menu__list .sub-menu{list-style: none;margin: 0;padding: 0}.mobile-menu__list li{position: relative}.mobile-menu__list a{display: block;padding: 0.95rem 1.5rem;font-family: var(--font-heading);font-size: 1.05rem;font-weight: 500;color: var(--heritage-green);text-decoration: none;border-bottom: 1px solid var(--colour-border)}.mobile-menu__list a:hover, .mobile-menu__list .current-menu-item > a{background: var(--colour-cream)}.mobile-menu__list .menu-item-has-children > a{padding-right: 3.5rem}.submenu-toggle{position: absolute;top: 0;right: 0;width: 3.25rem;height: 3.1rem;display: flex;align-items: center;justify-content: center;background: none;border: 0;border-bottom: 1px solid var(--colour-border);cursor: pointer;color: var(--heritage-green)}.submenu-toggle__icon{position: relative;width: 12px;height: 12px}.submenu-toggle__icon::before, .submenu-toggle__icon::after{content: '';position: absolute;top: 50%;left: 50%;background: currentColor;border-radius: 2px}.submenu-toggle__icon::before{width: 12px;height: 2px;transform: translate(-50%, -50%)}.submenu-toggle__icon::after{width: 2px;height: 12px;transform: translate(-50%, -50%);transition: transform 0.3s ease}.menu-item-has-children.is-open > .submenu-toggle .submenu-toggle__icon::after{transform: translate(-50%, -50%) rotate(90deg)}.mobile-menu__list .sub-menu{max-height: 0;overflow: hidden;background: var(--colour-cream);transition: max-height 0.3s ease}.menu-item-has-children.is-open > .sub-menu{max-height: 30rem}.mobile-menu__list .sub-menu a{padding-left: 2.5rem;font-size: 0.98rem;font-weight: 400}.mobile-menu__foot{padding: 1.5rem;border-top: 1px solid var(--colour-border);background: var(--colour-cream)}.mobile-menu__phone{display: flex;flex-direction: column;gap: 0.15rem;text-decoration: none;margin-bottom: 1.1rem}.mobile-menu__phone-label{font-family: var(--font-heading);font-size: 0.65rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: var(--colour-text-light)}.mobile-menu__phone-number{font-family: var(--font-heading);font-size: 1.3rem;font-weight: 600;color: var(--heritage-green)}.mobile-menu__social{display: flex;flex-wrap: wrap;gap: 0.5rem 1.1rem}.mobile-menu__social-link{font-family: var(--font-heading);font-size: 0.72rem;font-weight: 600;letter-spacing: 0.08em;text-transform: uppercase;color: var(--urban-grey);text-decoration: none}.mobile-menu__social-link:hover{color: var(--heritage-green)}@media (prefers-reduced-motion: reduce){.mobile-menu, .mobile-menu-backdrop, .nav-toggle__bars span, .mobile-menu__list .sub-menu, .submenu-toggle__icon::after{transition: none}}.admin-bar .mobile-menu{top: 46px;height: calc(100dvh - 46px)}@media (max-width: 975px){.site-header .container > nav{display: none}.nav-toggle{display: inline-flex}.mobile-menu-backdrop{display: block}.mobile-menu{display: flex}}
/* sfs-theme */

/* sfs-project */
.projects-page-filters{background: var(--colour-white);padding: 0 0 1.5rem}.projects-filters{display: flex;flex-wrap: wrap;gap: 0.5rem 0.65rem;align-items: center}.projects-filter-btn{display: inline-flex;align-items: center;gap: 0.45rem;font-family: var(--font-heading);font-size: 0.65rem;font-weight: 600;letter-spacing: 0.1em;text-transform: uppercase;padding: 0.55rem 0.9rem;border-radius: 4px;border: 1px solid var(--colour-border);background: var(--colour-cream);color: var(--urban-grey);cursor: pointer;transition: background 0.25s, color 0.25s, border-color 0.25s}.projects-filter-btn::before{content: "";width: 8px;height: 8px;border-radius: 50%;background: var(--svc-colour, var(--colour-text-light));flex-shrink: 0}.projects-filter-btn--all::before{display: none}.projects-filter-btn:hover, .projects-filter-btn:focus-visible{border-color: var(--svc-colour, var(--heritage-green));color: var(--svc-colour, var(--heritage-green));outline: none}.projects-filter-btn.is-active{background: var(--svc-colour, var(--heritage-green));color: var(--colour-white);border-color: var(--svc-colour, var(--heritage-green))}.projects-filter-btn.is-active::before{background: var(--colour-white)}.projects-page-grid-wrap{padding: 3rem 0 4rem;background: var(--colour-cream)}.post-type-archive-sfs_project .projects-page-hero, .page-template-template-projects-archive .projects-page-hero{border-bottom: none}.project-single__nav{padding: 3.5rem 0 4.5rem}.project-single__nav .container{display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 1rem}.project-single__nav .btn + .btn{margin-left: 0}.single-sfs_service .service-single__body .project-single__content, .single-sfs_service .project-single__content, .single-sfs_sector .project-single__content{max-width: none}#projectsFilteredGrid .project-card__link{position: relative;display: block;width: 100%;height: 100%}.projects-page-count{font-size: 0.8rem;color: var(--colour-text-light);margin-bottom: 1.5rem}.projects-page-grid{display: grid;grid-template-columns: repeat(3, 1fr);gap: 1.75rem}.project-tile{background: var(--colour-white);border-radius: 6px;overflow: hidden;border: 1px solid var(--colour-border);transition: box-shadow 0.35s}.project-tile:hover{box-shadow: 0 10px 36px rgba(0, 0, 0, 0.08)}.project-tile__media img{width: 100%;aspect-ratio: 4 / 3;object-fit: cover;display: block;filter: saturate(0.92) contrast(1.02)}.project-tile__body{padding: 1.35rem 1.5rem 1.5rem}.project-tile__title{font-family: var(--font-heading);font-size: 1.05rem;font-weight: 600;color: var(--heritage-green);margin-bottom: 0.45rem;text-transform: none;letter-spacing: -0.02em}.project-tile__meta{font-size: 0.82rem;color: var(--colour-text-light);line-height: 1.5;margin: 0}.project-hero-image{width: 100%;overflow: hidden;aspect-ratio: 16 / 6;min-height: 200px;background: #111}.project-hero-image__img{display: block;width: 100%;height: 100%;object-fit: cover;object-position: center}.project-title-strip{background: var(--heritage-green);color: var(--colour-white);padding: 2rem 0 2.25rem}.project-title-strip__breadcrumb{color: rgba(255, 255, 255, 0.6);margin-bottom: 1rem}.project-title-strip__breadcrumb a{color: rgba(255, 255, 255, 0.7)}.project-title-strip__breadcrumb a:hover{color: var(--colour-white)}.project-title-strip__breadcrumb [aria-current="page"]{color: rgba(255, 255, 255, 0.85)}.project-title-strip__title{font-size: clamp(1.85rem, 3.6vw, 2.85rem);font-weight: 600;line-height: 1.12;color: var(--colour-white);margin-bottom: 0.85rem}.project-title-strip__meta{font-family: var(--font-heading);font-size: 0.8rem;font-weight: 500;letter-spacing: 0.16em;text-transform: uppercase;color: rgba(255, 255, 255, 0.72);margin: 0}.project-title-strip--emblem{position: relative;overflow: hidden}.project-title-strip__emblem{position: absolute;right: -4%;top: 50%;width: min(60vw, 480px);transform: translateY(-50%) rotate(-12deg);pointer-events: none;z-index: 0}.project-title-strip__emblem-img{width: 100%;height: auto;display: block;filter: brightness(0) invert(1);opacity: 0.07}.project-title-strip--emblem .container{position: relative;z-index: 1}@media (max-width: 768px){.project-title-strip__emblem{right: -12%;width: min(70vw, 360px)}}.project-intro{position: relative;overflow: hidden;padding: 4rem 0}.project-intro-watermark{position: absolute;right: -5%;top: 50%;width: min(72vw, 640px);transform: translateY(-50%) rotate(-12deg);pointer-events: none;z-index: 0}.project-intro-watermark__parallax{will-change: transform}.project-intro-watermark__img{width: 100%;height: auto;display: block;filter: brightness(0);opacity: 0.055}.project-intro .container{position: relative;z-index: 1}.project-intro__layout{display: grid;grid-template-columns: 1fr 340px;gap: 4rem;align-items: start}.project-intro__body{font-size: 1rem;line-height: 1.8;color: var(--colour-text)}.project-intro__body p{margin-bottom: 1rem}.project-intro__body p:last-child{margin-bottom: 0}.project-intro__body h2, .project-intro__body h3, .project-intro__body h4{color: var(--heritage-green);margin: 1.5rem 0 0.75rem}.project-intro__body ul, .project-intro__body ol{padding-left: 1.5rem;margin-bottom: 1rem}.project-details{margin: 0;padding: 0;border-top: 2px solid var(--heritage-green);padding-top: 1.25rem}.project-details__item{padding: 0.65rem 0;border-bottom: 1px solid var(--colour-border)}.project-details__item:last-child{border-bottom: none}.project-details__label{display: block;font-family: var(--font-heading);font-size: 0.68rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: var(--heritage-green);margin-bottom: 0.2rem}.project-details__value{display: block;font-family: var(--font-body);font-size: 0.95rem;color: var(--colour-text);line-height: 1.5}.project-solutions-strip{background: var(--heritage-green);padding: 1.5rem 0}.project-solutions-strip__inner{display: flex;align-items: center;flex-wrap: wrap;gap: 0.75rem 1.5rem}.project-solutions-strip__label{font-family: var(--font-heading);font-size: 0.72rem;font-weight: 700;letter-spacing: 0.16em;text-transform: uppercase;color: rgba(255, 255, 255, 0.65);white-space: nowrap;flex-shrink: 0}.project-solutions-strip .service-tag, .project-solutions-strip .service-tag--cleaning, .project-solutions-strip .service-tag--survey, .project-solutions-strip .service-tag--restoration, .project-solutions-strip .service-tag--decorating, .project-solutions-strip .service-tag--additional{background: rgba(255, 255, 255, 0.18);border: 1px solid rgba(255, 255, 255, 0.35);color: var(--colour-white)}.project-testimonial{position: relative;overflow: hidden;padding: 4.5rem 1.5rem 5rem;background: var(--heritage-green)}.project-testimonial::before{content: '\201C';position: absolute;top: -0.18em;left: -0.06em;font-family: Georgia, 'Times New Roman', serif;font-size: clamp(32rem, 58vw, 52rem);font-weight: 400;line-height: 1;color: var(--colour-white);opacity: 0.06;pointer-events: none;user-select: none;z-index: 0}.project-testimonial .container{position: relative;z-index: 1}.project-testimonial__quote{max-width: 920px;margin: 0 auto;text-align: center;border: none;padding: 0}.project-testimonial__quote p{font-family: var(--font-quote);font-size: clamp(1.2rem, 2.2vw, 1.75rem);font-style: italic;font-weight: 300;line-height: 1.32;color: var(--colour-white);letter-spacing: 0.02em;margin-bottom: 1.25rem}.project-testimonial__cite{display: block;font-family: var(--font-body);font-size: 0.85rem;font-style: normal;color: rgba(255, 255, 255, 0.65);letter-spacing: 0.06em}.project-signoff{padding: 3.5rem 0;background: var(--colour-cream);border-top: 1px solid var(--colour-border)}.project-signoff__content{max-width: 780px;margin: 0 auto;color: var(--colour-text);text-align: center}.project-signoff__content--large p{font-size: var(--font-size-large);line-height: var(--line-height-large)}.project-signoff__content a{color: var(--heritage-green);text-decoration: underline;text-underline-offset: 3px}.project-signoff__content a:hover{color: var(--heritage-green-deep)}.project-signoff__content strong{color: var(--heritage-green)}@media (max-width: 1024px){.projects-page-grid{grid-template-columns: repeat(2, 1fr)}#projectsFilteredGrid{grid-template-columns: repeat(2, 1fr)}}@media (max-width: 900px){.project-intro__layout{grid-template-columns: 1fr;gap: 2.5rem}.project-intro-watermark{right: -12%;width: min(95vw, 520px);transform: translateY(-48%) rotate(-10deg)}.project-intro-watermark__img{opacity: 0.045}}@media (max-width: 768px){.projects-page-grid{grid-template-columns: 1fr}#projectsFilteredGrid{grid-template-columns: 1fr}.projects-filters{gap: 0.45rem}.project-intro{padding: 3rem 0}}@media (max-width: 640px){.project-solutions-strip__inner{flex-direction: column;align-items: flex-start;gap: 0.75rem}}.project-solutions{padding: 2.5rem 0 4rem;background: var(--colour-white);border-top: 1px solid var(--colour-border);border-bottom: 1px solid var(--colour-border)}.project-solutions__tags{display: flex;flex-wrap: wrap;gap: 0.6rem}a.service-tag{text-decoration: none;transition: opacity 0.2s ease, transform 0.2s ease}a.service-tag:hover{opacity: 0.85;transform: translateY(-1px)}.service-tag__arrow{margin-left: 0.35em;opacity: 0.65;font-weight: 700;display: inline-block;transition: transform 0.2s ease}a.service-tag:hover .service-tag__arrow{transform: translateX(2px)}
/* sfs-page */
.page-default .page-title-strip:first-child{margin-top: 0}.page-body{padding: 4rem 0 5rem}.page-body__content{max-width: none;margin: 0;font-size: 1.05rem;line-height: 1.8;color: var(--colour-text)}.page-body__content h2, .page-body__content h3, .page-body__content h4{color: var(--heritage-green);margin: 2rem 0 0.75rem;line-height: 1.2}.page-body__content h2{font-size: clamp(1.35rem, 2.4vw, 1.75rem)}.page-body__content h3{font-size: clamp(1.1rem, 1.9vw, 1.35rem)}.page-body__content h4{font-size: 1rem;text-transform: uppercase;letter-spacing: 0.06em}.page-body__content p{margin-bottom: 1.25rem}.page-body__content p:last-child{margin-bottom: 0}.page-body__content ul, .page-body__content ol{padding-left: 1.5rem;margin-bottom: 1.25rem}.page-body__content li{margin-bottom: 0.4rem}.page-body__content a{color: var(--heritage-green);text-decoration: underline;text-underline-offset: 3px}.page-body__content a:hover{color: var(--heritage-green-deep)}.page-body__content blockquote{border-left: 3px solid var(--heritage-green);margin: 2rem 0;padding: 0.75rem 0 0.75rem 1.5rem;color: var(--urban-grey);font-style: italic}.page-body__content hr{border: none;border-top: 1px solid var(--colour-border);margin: 2.5rem 0}.page-body__content figure{margin: 2rem 0}.page-body__content figure img{max-width: 100%;height: auto;border-radius: 4px}.page-body__content figcaption{font-size: 0.8rem;color: var(--colour-text-light);margin-top: 0.5rem;text-align: center}.page-body__content .wp-block-image{margin: 2rem 0}@media (max-width: 768px){.page-body{padding: 2.5rem 0 3.5rem}}.faq-page__body{position: relative;overflow: hidden}.faq-page__body > .container{position: relative;z-index: 1}.faq-page__intro{max-width: 820px;margin-bottom: 2.5rem}.faq-page__accordion{max-width: 820px}.faq-page__watermark{position: absolute;right: -6%;top: 50%;width: min(70vw, 620px);transform: translateY(-50%) rotate(-12deg);pointer-events: none;z-index: 0}.faq-page__watermark-parallax{will-change: transform}.faq-page__watermark-img{width: 100%;height: auto;display: block;filter: brightness(0);opacity: 0.05}@media (max-width: 900px){.faq-page__watermark{right: -18%;width: min(95vw, 460px);transform: translateY(-46%) rotate(-10deg)}.faq-page__watermark-img{opacity: 0.04}}.reviews-widget{padding: 3rem 0 4.5rem}.reviews-widget .feefo-review-widget-service{max-width: 1000px;margin: 0 auto}.error-404__content{text-align: center}.error-404__lead{font-size: 1.15rem;line-height: 1.6;max-width: 85ch;margin: 0 auto 2rem}.error-404__links{display: flex;flex-wrap: wrap;justify-content: center;gap: 0.65rem 0.9rem;margin-bottom: 2rem}.page-body__content .error-404__link, .error-404__link{display: inline-block;padding: 0.5rem 1.1rem;border: 1px solid var(--heritage-green);border-radius: 999px;color: var(--heritage-green);font-family: var(--font-heading);font-size: 0.85rem;font-weight: 600;letter-spacing: 0.02em;text-decoration: none;transition: background-color 0.2s ease, color 0.2s ease}.page-body__content .error-404__link:hover, .page-body__content .error-404__link:focus, .error-404__link:hover, .error-404__link:focus{background: var(--heritage-green);color: var(--colour-white);text-decoration: none}.sfs-search-form{display: flex;justify-content: center;gap: 0.6rem;max-width: 460px;margin: 0 auto 2rem}.sfs-search-form input[type="search"]{flex: 1 1 auto;min-width: 0;padding: 0.7rem 1rem;border: 1px solid var(--colour-border, #d5d5d5);border-radius: 4px;font-size: 1rem}.sfs-search-form input[type="search"]:focus{outline: none;border-color: var(--heritage-green)}.error-404__home{margin: 0}@media (max-width: 560px){.sfs-search-form{flex-direction: column}.sfs-search-form .btn{width: 100%}}.search-results .container{max-width: 1000px}.search-results__form{margin: 0 0 2.5rem;max-width: 560px}.search-results__form .sfs-search-form{max-width: none;margin: 0}.search-results__list{list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: 1.25rem}.search-result{display: flex;gap: 0;background: var(--colour-white);border: 1px solid var(--colour-border);border-radius: 8px;overflow: hidden;transition: box-shadow 0.3s ease, transform 0.3s ease}.search-result:hover{box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);transform: translateY(-2px)}.search-result__media{flex: 0 0 220px;display: block;background: var(--colour-cream);overflow: hidden}.search-result__media img{width: 100%;height: 100%;object-fit: cover;display: block;transition: transform 0.4s ease}.search-result:hover .search-result__media img{transform: scale(1.04)}.search-result__media--emblem{display: flex;align-items: center;justify-content: center;background: var(--colour-cream)}.search-result__media--emblem .search-result__emblem{width: 46%;height: auto;object-fit: contain;opacity: 0.22;filter: none}.search-result:hover .search-result__media--emblem .search-result__emblem{transform: scale(1.06);opacity: 0.3}.search-result__body{flex: 1 1 auto;min-width: 0;padding: 1.5rem 1.75rem}.search-result__type{display: block;font-family: var(--font-heading);font-size: 0.68rem;font-weight: 600;letter-spacing: 0.1em;text-transform: uppercase;color: var(--heritage-green);margin-bottom: 0.6rem}.search-result__title{font-family: var(--font-heading);font-size: 1.25rem;line-height: 1.3;margin: 0 0 0.6rem}.search-result__title a{color: var(--heritage-green);text-decoration: none}.search-result__title a:hover{color: var(--heritage-green-deep)}.search-result__snippet{font-size: 0.95rem;line-height: 1.65;color: var(--colour-text-light);margin: 0}mark.search-hit{background: transparent;color: inherit;font-weight: 600;padding: 0}.search-result__snippet mark.search-hit{color: var(--colour-text)}.search-results__empty{text-align: center;padding: 1rem 0 2rem}.search-results__empty-lead{font-size: 1.1rem;line-height: 1.6;max-width: 60ch;margin: 0 auto 1.75rem}@media (max-width: 640px){.search-result{flex-direction: column}.search-result__media{flex-basis: auto;aspect-ratio: 16 / 10}.search-result__body{padding: 1.25rem 1.25rem 1.5rem}}
/* sfs-team */
.team-section{padding: 4rem 0 5rem;position: relative;overflow: hidden}.team-watermark{position: absolute;left: -6%;top: 50%;transform: translateY(-50%) rotate(12deg);width: min(80vw, 680px);pointer-events: none;z-index: 0}.team-watermark img{width: 100%;height: auto;display: block;filter: brightness(0);opacity: 0.045}.team-grid{list-style: none;display: grid;grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));gap: 2rem;position: relative;z-index: 1}.team-card{background: var(--colour-white);border: 1px solid var(--colour-border);border-radius: 8px;overflow: hidden;display: flex;flex-direction: column;align-items: center;text-align: center;padding-bottom: 1.5rem;transition: box-shadow 0.2s ease, transform 0.2s ease}.team-card:hover{box-shadow: 0 8px 28px rgba(10, 75, 44, 0.12);transform: translateY(-4px)}.team-card__header{width: 100%;background-color: var(--heritage-green);background-size: cover;background-position: center;padding: 1.5rem 1rem 0;display: flex;justify-content: center;position: relative}.team-card__header::before{content: '';position: absolute;inset: 0;background: rgba(10, 75, 44, 0.72);z-index: 0}.team-card__photo{width: 110px;height: 110px;border-radius: 50%;overflow: hidden;border: 4px solid var(--colour-white);box-shadow: 0 2px 12px rgba(10, 75, 44, 0.18);flex-shrink: 0;transform: translateY(50%);background: var(--colour-border);position: relative;z-index: 1}.team-card__photo img{width: 100%;height: 100%;object-fit: cover;object-position: center top;display: block;transition: transform 0.4s ease}.team-card:hover .team-card__photo img{transform: scale(1.06)}.team-card__body{padding: calc(55px + 1rem) 1.25rem 0;display: flex;flex-direction: column;align-items: center;gap: 0.3rem;flex: 1;width: 100%;box-sizing: border-box}.team-card__name{font-family: var(--font-heading);font-size: clamp(0.88rem, 1.5vw, 1rem);font-weight: 700;color: var(--heritage-green);letter-spacing: -0.01em;text-transform: uppercase;margin: 0;line-height: 1.2}.team-card__job{font-size: 0.76rem;color: var(--urban-grey);text-transform: uppercase;letter-spacing: 0.07em;font-weight: 600;margin: 0;line-height: 1.4}.team-card__contact{list-style: none;margin: 0.75rem 0 0;padding: 0.65rem 0 0;border-top: 1px solid var(--colour-border);display: flex;justify-content: center;gap: 0.6rem;width: 100%}.team-card__contact-link{display: inline-flex;align-items: center;justify-content: center;width: 30px;height: 30px;border-radius: 50%;background: rgba(10, 75, 44, 0.08);color: var(--heritage-green);text-decoration: none;transition: background 0.15s ease, color 0.15s ease}.team-card__contact-link:hover{background: var(--heritage-green);color: var(--colour-white)}.team-card__contact-link svg{flex-shrink: 0;fill: currentColor}.team-empty{color: var(--colour-text-light);font-size: 1rem;text-align: center;padding: 3rem 0}@media (max-width: 900px){.team-grid{grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));gap: 1.5rem}.team-watermark{left: auto;right: -10%;transform: translateY(-50%) rotate(-12deg);width: min(90vw, 500px)}}@media (max-width: 600px){.team-section{padding: 2.5rem 0 3.5rem}.team-grid{grid-template-columns: repeat(2, 1fr);gap: 1rem}.team-card__photo{width: 90px;height: 90px}.team-card__body{padding-top: calc(45px + 0.85rem);padding-left: 0.85rem;padding-right: 0.85rem}}@media (max-width: 380px){.team-grid{grid-template-columns: 1fr}}@media (prefers-reduced-motion: reduce){.team-card{transition: none}.team-card__photo img{transition: none}}
