*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}button{color:inherit}svg{flex-shrink:0}h1,h2,h3,p{margin:0}a,button,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid currentColor;outline-offset:6px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;z-index:20;top:-6rem;left:1rem;padding:1rem;background:var(--ink);color:var(--paper)}.skip-link:focus{top:1rem}.wrap{width:min(100% - var(--gutter)*2,var(--max-width));margin-inline:auto}.stack>*+*{margin-top:var(--stack-gap,1.5rem)}.flow{display:grid;gap:var(--flow-gap,2rem)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.text-link{display:inline-flex;align-items:center;gap:1rem;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.6rem}.text-link:hover svg{transform:translateX(4px)}.text-link svg{transition:transform .2s ease}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:600}.rule{border-top:1px solid var(--line)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


@font-face{font-family:Source Sans;src:url('../fonts/source-sans-3-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Source Sans;src:url('../fonts/source-sans-3-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--gutter:2rem;--max-width:1160px;--paper:#fff;--line:#cbd0d1;--muted:#535e62}body{font-family:Source Sans,Arial,sans-serif;font-size:1.125rem;line-height:1.6;background:var(--paper);color:var(--ink)}h1,h2,h3{font-weight:400;line-height:1.1}h1{font-size:4rem}h2{font-size:2.9rem}h3{font-size:1.65rem}a{text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font-size:1rem}button{min-height:44px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:48px;padding:.85rem 1.35rem;background:var(--accent);color:white;text-decoration:none;border:1px solid var(--accent);font-size:1rem;font-weight:600;line-height:1.4}.button:hover{background:var(--ink);border-color:var(--ink)}.button.light{background:white;border-color:white;color:var(--ink)}.button.light:hover{background:var(--soft);border-color:var(--soft)}.plain-link{display:inline-flex;align-items:center;gap:1.5rem;min-height:44px;font-size:1rem;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}.plain-link:hover{color:var(--accent)}.eyebrow{font-size:.875rem;letter-spacing:.1em;display:block;line-height:1.5;text-transform:uppercase;font-weight:600}.fine,figcaption{font-size:.875rem;color:var(--muted);line-height:1.55}figure{margin:0}figcaption{margin-top:.7rem}.note{margin-top:1.5rem}.section{padding-block:5rem}.stack>*+*{margin-top:1.5rem}.utility{font-size:.875rem;background:var(--ink);color:white}.utility .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:38px;padding-block:.4rem}.utility a{min-height:28px;display:flex;align-items:center;text-decoration:none}.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:100px;padding-block:1rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;flex-shrink:0}.desktop-nav{display:flex;gap:1.8rem;align-items:center}.desktop-nav a{font-size:1rem;text-decoration:none;min-height:44px;display:flex;align-items:center}.desktop-nav [aria-current=page]{color:var(--accent);text-decoration:underline}.mobile-menu{display:none}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2.5rem;margin-bottom:2.5rem}.section-heading .eyebrow{margin-bottom:1rem}.section-heading>p{max-width:23em}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.two-col img{width:100%;height:540px;object-fit:cover}.service-grid,.project-grid,.process-grid,.advice-grid,.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.page-heading{background:var(--soft);padding-block:2rem 3rem;border-block:1px solid var(--line)}.page-heading nav,.property-heading nav{display:flex;flex-wrap:wrap;gap:.7rem;font-size:.875rem;margin-bottom:2rem}.page-heading h1{max-width:20ch}.page-heading p{margin-top:1.5rem;max-width:44em}.site-footer{background:var(--ink);color:#fff;padding-block:3.5rem 1.5rem}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:4rem}.footer-grid h2{font-family:Source Sans,Arial,sans-serif;font-size:1.1rem;font-weight:600;margin-bottom:1.2rem}.footer-grid nav{display:grid;gap:.25rem}.footer-grid nav a{font-size:1rem;text-decoration:none;display:flex;align-items:center;min-height:36px;width:fit-content}.footer-grid p{font-size:1rem;margin-top:1.4rem;color:#dce0de}.footer-grid .brand{width:fit-content}.email-link{overflow-wrap:anywhere;display:inline-block;min-height:36px;align-content:center}.footer-bottom{display:flex;justify-content:space-between;gap:3rem;margin-top:3rem;border-top:1px solid #6b7778;padding-top:1.5rem;font-size:.875rem}.footer-bottom p{max-width:56em;color:#dce0de}.footer-bottom>a{flex-shrink:0}.enquiry-band{background:var(--accent);color:#fff;padding-block:3rem}.enquiry-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:3rem}.enquiry-band h2{font-size:2.5rem;margin-block:.8rem}.enquiry-band p{font-size:1rem}.enquiry-band .button{flex-shrink:0}.page-heading a,.side-menu a{text-decoration:none}.page-heading a:hover,.side-menu a:hover{text-decoration:underline}.detail-layout,.contact-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:4rem;align-items:start}.side-menu{border:1px solid var(--line);padding:1.5rem}.side-menu>h2{font-size:1.6rem;margin-bottom:1.25rem}.side-menu>a{display:block;padding-block:.9rem;border-bottom:1px solid var(--line);font-size:1rem}.side-menu [aria-current]{color:var(--accent);font-weight:600}.side-menu>div{margin-top:2rem;background:var(--soft);padding:1.25rem}.side-menu h3{font-size:1.5rem}.side-menu p{font-size:1rem;margin-block:1rem}.side-menu .button{width:100%}.detail-layout ul,.guide-section ul,.guide-section ol{padding-left:1.2rem}.detail-layout li+li,.guide-section li+li{margin-top:.6rem}.detail-layout>div>img{width:100%;max-height:480px;object-fit:cover}.narrow{max-width:800px}.narrow>*+*{margin-top:1.5rem}.gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:1.5rem}.gallery figure>a{display:block;position:relative}.gallery img{height:430px;width:100%;object-fit:cover}.image-open{position:absolute;bottom:1rem;right:1rem;padding:.4rem .8rem;background:#fff;color:var(--ink);font-size:.875rem}.facts{margin:1.5rem 0 2rem}.facts>div{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:1rem}.facts dt{color:var(--muted)}.facts dd{margin:0}.project-story{margin-top:4rem}.project-story aside>h2{font-size:1.7rem}.enquiry form{display:grid;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}label{display:block;font-size:1rem;font-weight:600;margin-bottom:.45rem}input,select,textarea{width:100%;min-width:0;border:1px solid #8f9999;padding:.8rem;background:#fff;color:var(--ink);border-radius:0;min-height:48px}textarea{resize:vertical}input::placeholder{color:#66706e}.form-result{border:1px solid var(--line);padding:1.5rem;margin-top:2rem;background:var(--soft)}.form-result h2{font-size:1.8rem}.form-result>*+*{margin-top:1rem}.enquiry form>.button{justify-self:start}.contact-layout{grid-template-columns:1fr 1.6fr}.contact-layout aside{max-width:330px}.contact-layout h2{font-size:2.5rem}.contact-layout aside p{font-size:1rem}.not-found{min-height:65vh}.not-found h1{margin-block:1.5rem;font-size:4rem}.not-found p{max-width:40em;margin-bottom:2rem}.not-found>a{margin-right:1rem;margin-bottom:1rem}summary{font-size:1rem;min-height:44px;align-content:center}details p{font-size:1rem;padding-block:.8rem}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2.5rem}.filter-bar [role=group]{display:flex;flex-wrap:wrap;gap:.6rem}.filter-bar button{font-size:1rem;padding:.5rem 1rem;background:white;color:var(--ink);border:1px solid var(--line)}.filter-bar button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.filter-bar>p{font-size:.875rem;color:var(--muted)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.site-footer :focus-visible,.enquiry-band :focus-visible,.mason-hero :focus-visible{outline-color:#fff}
@media(max-width:1050px){.site-header{gap:1rem}.desktop-nav{gap:1rem}.two-col{gap:3rem}.footer-grid{gap:2rem}.detail-layout{grid-template-columns:250px minmax(0,1fr);gap:2.5rem}.service-grid,.project-grid,.process-grid,.property-grid,.advice-grid{gap:1.5rem}.section-heading{gap:2rem}}
@media(max-width:800px){:root{--gutter:1.25rem}.utility .wrap{flex-wrap:wrap;gap:.2rem 1rem;padding-block:.5rem}.utility .wrap>span:last-child{display:none}.site-header{min-height:84px}.desktop-nav,.header-cta{display:none}.mobile-menu{display:block}.mobile-menu summary{display:flex;align-items:center;gap:.6rem;list-style:none;min-height:44px;font-size:1rem}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;z-index:20;left:0;right:0;top:100%;background:var(--paper);border:1px solid var(--line);padding:1rem}.mobile-menu nav a{display:block;padding:.7rem;text-decoration:none;font-size:1rem}.section{padding-block:3rem}h1{font-size:2.7rem}h2{font-size:2.25rem}h3{font-size:1.5rem}.two-col{grid-template-columns:1fr;gap:2rem}.two-col img{height:380px}.service-grid,.project-grid,.process-grid,.advice-grid,.property-grid{grid-template-columns:1fr;gap:2rem}.section-heading{display:block;margin-bottom:2rem}.section-heading>a,.section-heading>p{margin-top:1rem}.page-heading{padding-block:1.5rem 2rem}.page-heading nav,.property-heading nav{margin-bottom:1.5rem}.page-heading h1{font-size:2.6rem}.page-heading p{margin-top:1.25rem}.footer-grid{grid-template-columns:1fr;gap:2.5rem}.footer-bottom{flex-direction:column;gap:1rem}.footer-bottom>a{flex-shrink:1}.enquiry-band>.wrap{display:block}.enquiry-band h2{font-size:2.1rem}.enquiry-band .button{margin-top:1.5rem}.detail-layout,.contact-layout{grid-template-columns:1fr;gap:2.5rem}.side-menu{max-width:none}.detail-layout>.side-menu{order:2}.gallery{grid-template-columns:1fr;gap:1.5rem}.gallery img{height:320px}.gallery figure+figure img{height:260px}.project-story{margin-top:2.5rem}.project-story aside{order:2}.contact-layout aside{max-width:none}.form-row{grid-template-columns:1fr}.not-found h1{font-size:3rem}.filter-bar{display:block}.filter-bar>p{margin-top:1rem}.filter-bar button{padding:.45rem .75rem}.filter-bar [role=group]{gap:.4rem}}
@media print{.utility,.site-header,.site-footer,.enquiry-band,.button,.mobile-menu,.filter-bar{display:none!important}body{background:#fff!important;color:#111!important;font-size:11pt}.section{padding-block:1rem}.page-heading{padding-block:1rem}.wrap{width:100%}.gallery img{max-height:250px}.project-grid,.property-grid{grid-template-columns:1fr 1fr}.property-card{break-inside:avoid}.property-card button,.property-filters,.filter-actions,.shortlist-link{display:none!important}}
.viewer{max-width:none;width:100%;height:100%;max-height:none;margin:0;border:0;padding:1rem 2rem;background:#121212;color:#f7f7f7}.viewer::backdrop{background:#121212}.viewer-shell{max-width:1600px;margin:auto;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.7rem}.viewer header,.viewer footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.viewer h2{font-size:1rem;letter-spacing:0}.viewer button{background:transparent;color:#fff;border:1px solid #777;padding:.4rem 1rem;min-height:44px;font-size:1rem}.viewer button:hover{background:#333}.viewer :focus-visible{outline-color:#a8c2ff}.viewer figure{margin:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:1rem}.viewer figure img{width:100%;height:100%;object-fit:contain;min-height:0}.viewer figcaption{display:flex;justify-content:space-between;gap:2rem;font-size:.875rem;color:#eee}.viewer-count{white-space:nowrap}.viewer footer>span{font-size:.875rem;color:#bbb}
@media(max-width:700px){.viewer{padding:.75rem}.viewer footer>span{display:none}.viewer figcaption{display:block}.viewer-count{margin-top:.5rem}}

@font-face{font-family:Barlow Condensed;src:url('../fonts/barlow-condensed-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}:root{--ink:#202c38;--accent:#af4329;--soft:#f2f3f4}h1,h2,h3{font-family:Barlow Condensed,Arial,sans-serif;font-weight:700;letter-spacing:.005em}.brand{font-family:Barlow Condensed,Arial,sans-serif;font-size:2rem;font-weight:700;letter-spacing:.01em}.brand>svg{color:var(--accent);width:34px;height:34px}.brand-small{font-size:1.25rem}.mason-hero{position:relative;isolation:isolate;background:var(--ink);color:white;min-height:630px;display:flex;align-items:center}.mason-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,28,38,.94),rgba(16,28,38,.72) 38%,rgba(16,28,38,.08) 85%)}.hero-content{padding-block:4rem 5rem}.mason-hero h1{font-size:clamp(3.8rem,6.3vw,5.4rem);line-height:.98;margin-block:1.5rem;max-width:13ch}.mason-hero h1>span{color:#e8a283}.mason-hero p{font-size:1.25rem;line-height:1.5;margin-bottom:2rem}.mason-hero .cluster{gap:2rem}.hero-link{font-size:1rem;min-height:44px;display:inline-flex;align-items:center}.hero-caption{position:absolute;bottom:1rem;right:2rem;font-size:.875rem;max-width:30em;color:#fff;text-shadow:0 1px 2px #000}.service-grid article{position:relative;border:1px solid var(--line);border-top:3px solid var(--accent);padding:2rem}.service-number{display:block;font-family:Barlow Condensed,Arial,sans-serif;font-size:2rem;color:var(--accent);margin-bottom:1.5rem}.service-grid h3{font-size:1.8rem}.service-grid h3 a{text-decoration:none}.service-grid p{margin-top:1rem;font-size:1rem}.service-grid .plain-link{margin-top:1.5rem}.company-intro,.process{background:var(--soft)}.project-photo{display:block;position:relative}.project-photo img{width:100%;height:260px;object-fit:cover;transition:filter .2s}.project-photo:hover img{filter:brightness(.92)}.project-photo>span{position:absolute;bottom:0;left:0;background:var(--ink);color:#fff;font-size:.875rem;padding:.4rem .9rem}.project-card>div{padding:1.3rem 0;border-bottom:1px solid var(--line)}.project-card h3{font-size:1.9rem;margin-block:.5rem}.project-card h3 a{text-decoration:none}.project-card>div>p:not(.fine){font-size:1rem}.project-card>div>p+p{margin-top:1rem}.project-card details{margin-top:1.25rem;border-top:1px solid var(--line)}.project-card .plain-link{margin-top:1.25rem}.process-grid{padding:0;list-style:none;counter-reset:step;margin:0}.process-grid li{border-top:1px solid var(--line);padding-top:1.5rem}.process-grid li>span{font-size:.875rem;color:var(--muted)}.process-grid h3{font-size:1.8rem;margin-block:1rem}.process-grid p{font-size:1rem}.service-list{display:grid;gap:4rem}.service-list article{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding-bottom:4rem;border-bottom:1px solid var(--line);scroll-margin-top:2rem}.service-list article>div>*+*{margin-top:1.25rem}.service-list article>div>h3{font-size:1.4rem}.service-list article>img{height:450px;width:100%;object-fit:cover}.service-list ul{padding-left:1.2rem}.service-list li{font-size:1rem}.service-list h2{text-transform:uppercase}.service-list article:last-child{padding-bottom:0;border-bottom:0}.not-found h1{line-height:1}
@media(max-width:800px){.brand{font-size:1.8rem}.brand-small{font-size:1.1rem}.mason-hero{min-height:580px}.hero-content{padding-block:3rem 4.5rem}.mason-hero h1{font-size:4rem}.mason-hero p{font-size:1.125rem}.mason-hero .cluster{gap:1rem 2rem}.hero-caption{right:1.25rem;left:1.25rem;font-size:.875rem}.mason-hero>img{object-position:61% center}.hero-shade{background:linear-gradient(90deg,rgba(16,28,38,.92),rgba(16,28,38,.66) 68%,rgba(16,28,38,.38))}.service-grid article{padding:1.5rem}.service-number{margin-bottom:1rem}.service-list article{grid-template-columns:1fr;gap:2rem;padding-bottom:3rem}.service-list article>img{height:320px}.service-list{gap:3rem}.project-photo img{height:280px}}
@media(min-width:801px){.mason-hero>img{left:40%;width:60%;object-position:40% center}.mason-hero .hero-shade{background:linear-gradient(90deg,#202c38 0%,#202c38 36%,rgba(32,44,56,.25) 62%,rgba(32,44,56,.05))}}
