:root{--ink:#20241f;--paper:#f5f5f0;--timber:#d6b17e;--line:#d4d6ce;--muted:#656b61}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #be9153;outline-offset:5px}.header{padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;flex-direction:column;line-height:1.1}.brand-name{font-family:Georgia,serif;font-size:32px;letter-spacing:-1.4px}.brand-dot{color:#946a3b}.brand-sub{font-size:10px;letter-spacing:2px;margin-top:10px}nav{display:flex;align-items:center;gap:32px;font-size:14px}.nav-cta{border:1px solid var(--ink);padding:9px 23px}nav a:hover,.text-link:hover{color:#98703e}.menu{display:none}.hero{display:grid;grid-template-columns:47% 53%;min-height:650px;background:var(--ink);color:var(--paper)}.hero-copy{padding:64px 10% 45px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;margin:0 0 22px}.hero .eyebrow{color:var(--timber)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;line-height:1.08}h1{font-size:clamp(50px,5.9vw,88px);margin-bottom:28px}em{font-weight:400;color:var(--timber)}.intro{max-width:390px;color:#d7dbd3;line-height:1.8}.button{display:inline-block;padding:14px 22px;border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.light{background:var(--timber);color:var(--ink)}.light:hover{background:#e5c89f}.hero-note{display:flex;flex-direction:column;margin-top:46px;border-left:1px solid #66705f;padding-left:18px;color:#abb5a5;font-size:13px}.hero-image{margin:0;position:relative;overflow:hidden;min-height:500px}.hero-image img{width:100%;height:100%;object-fit:cover;display:block}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:55px 32px 24px;background:linear-gradient(transparent,#000a);color:white;font-size:11px;letter-spacing:2px}.hero-image figcaption span{display:block;font-family:Georgia,serif;font-size:22px;letter-spacing:0;margin-top:5px}.intro-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 5%;border-bottom:1px solid var(--line)}.intro-bar p{font-family:Georgia,serif;font-size:23px;margin:0}.intro-bar span{font-size:12px;letter-spacing:2px}.intro-bar a{font-size:17px}.section{padding:95px 7%}.section-heading{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:36px;align-items:start;margin-bottom:48px}.section-heading .eyebrow{margin-top:8px}.section-heading h2{margin:0}h2{font-size:clamp(38px,4vw,56px)}.section-heading>p:last-child{color:var(--muted);margin-top:8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.service-grid article{border-top:1px solid var(--ink);padding-top:23px}.number{font-family:Georgia,serif;font-size:30px;color:#8b926f}h3{font-family:Georgia,serif;font-weight:400;font-size:28px;line-height:1.25;margin:25px 0 15px}.service-grid p{color:var(--muted)}.service-meta{font-size:11px;letter-spacing:1px}.materials{display:grid;grid-template-columns:1fr 1fr;gap:65px;background:#e4e7df}.material-title h2{margin-bottom:24px}.material-title>p:not(.eyebrow){max-width:400px;color:var(--muted)}.tabs{display:flex;gap:7px;margin-top:35px;flex-wrap:wrap}.tabs button{font-size:14px;padding:12px 18px;border:1px solid #9ba18f;background:transparent;cursor:pointer}.tabs button[aria-selected=true]{background:var(--ink);color:white;border-color:var(--ink)}.material-panel{background:var(--paper);padding:42px}.material-panel h3{font-size:38px;margin-top:0}.material-panel .eyebrow{display:block;font-size:11px;color:var(--muted)}.material-panel>p{color:var(--muted)}.swatches{display:flex;gap:25px;margin:30px 0 20px;flex-wrap:wrap}.swatches span{font-size:12px;display:flex;flex-direction:column;gap:8px}.swatches span:before{content:'';display:block;width:65px;height:65px;background:var(--swatch);border:1px solid #0001}.caption{font-size:12px;margin-bottom:0}.inspiration-note{grid-column:1/-1;display:flex;align-items:baseline;gap:40px;border-top:1px solid #bdc3b5;padding-top:23px}.inspiration-note span{font-size:11px;letter-spacing:1px;flex-shrink:0}.inspiration-note p{font-size:14px;margin:0;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;align-items:center}.about-mark{height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#344032;color:var(--timber);font:80px/1.1 Georgia,serif;letter-spacing:-4px;border:18px solid #dde1d7;outline:1px solid #b8c0ae;outline-offset:-40px}.about-mark span{font:11px Arial,sans-serif;letter-spacing:3px;margin-top:20px}.about p:not(.eyebrow){color:var(--muted)}.about .about-lead{font-size:21px;color:var(--ink)!important}.text-link{display:inline-block;border-bottom:1px solid currentColor;font-size:14px;padding-bottom:3px}.process{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.process .section-heading{display:block}.process h2{margin:0}.process ol{padding:0;margin:0;list-style:none}.process li{display:flex;gap:30px;padding:25px 0;border-top:1px solid var(--line)}.process li>span{color:#8b926f;font-family:Georgia,serif;font-size:23px}.process h3{margin:0 0 8px;font-size:25px}.process p{margin:0;color:var(--muted)}.contact{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact .eyebrow{color:var(--timber)}.contact h2{font-size:clamp(40px,4.7vw,66px)}.contact p{color:#c0c8ba;max-width:410px}.phone{display:block;font-family:Georgia,serif;font-size:34px;color:var(--timber);margin-top:36px}.contact-location{font-size:14px}label{font-size:14px;display:block;margin-bottom:7px}input,textarea,select{width:100%;padding:11px 13px;border:1px solid #697062;background:#2b3029;color:var(--paper);border-radius:0;margin-bottom:20px;min-width:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#a9b2a1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-note{font-size:12px;line-height:1.6;margin-top:15px!important}.copy-button{background:transparent;color:var(--timber);border:1px solid var(--timber);padding:8px 16px;cursor:pointer}#enquiry-result{border-top:1px solid #697062;padding-top:20px;margin-top:20px}#copy-status{font-size:14px;margin-left:12px}footer{padding:40px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}footer .brand-name{font-size:26px}footer p{font-family:Georgia,serif;font-size:18px;margin:0}footer>span{font-size:12px;color:var(--muted)}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-copy{padding-top:100px}}@media(max-width:1000px){.header{padding:20px 4%}nav{gap:18px}.hero-copy{padding:48px 8%}.hero{min-height:590px}.section{padding:70px 5%}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.service-grid{gap:22px}.materials{gap:32px}.material-panel{padding:30px}.about{gap:45px}.contact{gap:40px}.intro-bar span{display:none}footer p{display:none}}@media(max-width:700px){html{scroll-padding-top:20px}.header{position:relative;padding:20px 5%}.brand-name{font-size:28px}.brand-sub{font-size:9px;letter-spacing:1.5px}.menu{display:block;background:transparent;border:1px solid #adb3a6;padding:8px 12px;font-size:14px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px 5%;flex-direction:column;align-items:stretch;z-index:10;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:46px 7% 36px}.hero h1{font-size:clamp(49px,12vw,75px)}.hero-note{margin-top:28px}.hero-image{min-height:0;height:360px}.intro-bar{padding:19px 5%;gap:15px}.intro-bar p{font-size:17px}.intro-bar a{font-size:14px;white-space:nowrap}.section{padding:58px 7%}.section-heading{display:block;margin-bottom:28px}.section-heading h2{margin-bottom:20px}.service-grid{grid-template-columns:1fr;gap:28px}.service-grid h3{margin-top:15px}.service-grid article{padding-top:17px}.materials,.about,.process,.contact{grid-template-columns:1fr;gap:30px}.material-panel{padding:27px}.inspiration-note{display:block}.inspiration-note p{margin-top:10px}.about-mark{height:220px;order:2}.process .section-heading{margin-bottom:0}.contact{gap:40px}.phone{font-size:32px}.form-row{grid-template-columns:1fr;gap:0}footer{align-items:flex-start;flex-direction:column;padding:32px 7%;gap:20px}.eyebrow{font-size:11px}.tabs button{padding:12px 14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Project photography and supplied brand */
:root{--ink:#191919;--timber:#d8ad76;--muted:#656565}.header{background:#161616;color:#f5f5f0;border-bottom-color:#343434;padding-top:10px;padding-bottom:10px}.header .brand{flex-direction:row;align-items:center;gap:16px}.brand-words{display:flex;flex-direction:column}.header-logo{width:84px;height:84px;object-fit:contain}.brand-dot{color:var(--timber)}.nav-cta{border-color:var(--timber);color:var(--timber)}.hero-image img{object-position:50% 50%}.materials{background:#e8e5df}.about-logo img{display:block;width:100%;height:auto}.gallery{background:#eeece7;border-top:1px solid var(--line)}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.gallery-filters button{background:transparent;color:var(--ink);border:1px solid #a5a199;padding:10px 22px;font-size:14px;cursor:pointer}.gallery-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.project-card{margin:0;min-width:0}.project-card[hidden]{display:none}.photo-open{width:100%;display:block;padding:0;border:0;position:relative;background:#ddd9d0;cursor:zoom-in;overflow:hidden;text-align:left}.photo-open img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;transition:transform .3s}.photo-open:hover img{transform:scale(1.025)}.view-photo{position:absolute;bottom:12px;right:12px;background:#191919d9;color:white;font-size:12px;padding:5px 12px}.project-card figcaption{padding-top:16px}.project-card figcaption>span{font-size:12px;color:#676158;letter-spacing:1px;text-transform:uppercase}.project-card h3{font-size:24px;letter-spacing:-.3px;margin:5px 0 0}.project-card figcaption p{font-size:14px;color:var(--muted);margin:6px 0 0}.project-video{background:#171717;aspect-ratio:1/1;display:flex;justify-content:center}.project-video video{height:100%;width:100%;object-fit:contain;max-height:100%;min-width:0}dialog{padding:20px;border:1px solid #6b6256;background:#191919;color:white;max-width:min(94vw,1100px);max-height:94dvh;overflow:auto}dialog::backdrop{background:#000d}#photo-large{display:block;width:auto;max-width:100%;max-height:74dvh;object-fit:contain;margin:0 auto}#photo-close{display:block;margin:0 0 14px auto;padding:7px 16px;background:transparent;color:white;border:1px solid #b6a086;cursor:pointer;font-size:14px}#photo-title{font-family:Georgia,serif;font-size:22px;margin:14px 0 0;text-align:center}footer{background:#161616;color:#e8e5df}footer>span{color:#b8b5ae}.footer-logo{width:145px;height:145px;object-fit:contain}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.header .brand{gap:8px}.header-logo{width:58px;height:58px}.header .brand-name{font-size:25px}.header .brand-sub{font-size:8px;letter-spacing:1px}.menu{color:white;border-color:#786650}nav{background:#191919;color:white}.project-grid{grid-template-columns:1fr;gap:30px}.gallery-filters{gap:8px}.gallery-filters button{padding:9px 14px}.about-logo{order:2;max-width:420px}.footer-logo{width:155px;height:155px}footer{gap:12px}}

.budget-help{font-size:14px;line-height:1.5;margin:-10px 0 20px!important}.intro-bar>span{line-height:1.6;text-align:center}
.reviews-section{background:#e8e5df}.reviews-heading{max-width:650px}.reviews-heading>p:last-child{color:var(--muted)}#published-reviews{margin:30px 0 50px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.published-review{background:var(--paper);padding:28px;border-top:2px solid var(--timber)}.published-review h3{font-size:23px;margin:0 0 12px}.review-stars{font-size:24px;letter-spacing:3px;color:#94652e;margin:0 0 14px}.review-body{white-space:pre-wrap;overflow-wrap:anywhere}.review-date,.review-note{font-size:14px;color:var(--muted)}.review-form-wrap{border-top:1px solid #b6b2a9;padding-top:40px;display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.review-form-wrap h3{margin-top:0;font-size:34px}.review-privacy{font-size:14px;color:var(--muted);max-width:320px}.review-form-wrap input,.review-form-wrap textarea{background:var(--paper);color:var(--ink);border-color:#a6a092}.review-form-wrap input::placeholder,.review-form-wrap textarea::placeholder{color:#77746d}.rating-field{border:0;margin:0 0 24px;padding:0;min-width:0}.rating-field legend{font-size:14px;margin-bottom:12px}.rating-options{display:flex;flex-wrap:wrap;gap:10px}.rating-option{margin:0;cursor:pointer;position:relative}.rating-option input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;margin:0}.rating-option>span:first-of-type{display:block;background:var(--paper);border:1px solid #a6a092;padding:10px 15px;color:#94652e;font-size:17px}.rating-option input:checked+span{background:var(--ink);color:var(--timber);border-color:var(--ink)}.rating-option input:focus-visible+span{outline:3px solid #be9153;outline-offset:3px}.review-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.review-manager{max-width:1200px;margin:auto}.review-manager>h1{font-size:clamp(38px,5vw,60px)}.review-manager>p{max-width:750px}.review-meta{display:flex;align-items:center;justify-content:space-between;gap:20px}.review-meta h2{font-size:28px;letter-spacing:-.5px;margin:0}.review-meta>span{font-size:14px;padding:4px 12px;background:#e8e5df}.moderation-list{display:grid;gap:24px}.moderation-card{padding:28px;background:white;border:1px solid var(--line)}.moderation-card .review-stars{margin:16px 0}.moderation-actions{display:flex;gap:14px;flex-wrap:wrap}.moderation-actions .copy-button{color:var(--ink);border-color:#9b875a}.delete-review{background:transparent;color:#a3372b;border:1px solid #a3372b;cursor:pointer;padding:10px 18px;font-size:14px}.review-error{color:#a3372b!important}button:disabled{opacity:.6;cursor:wait}.manage-link{font-size:12px;color:#c8b090}.review-manager .header-logo{flex-shrink:0}@media(max-width:1000px){#published-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){#published-reviews{grid-template-columns:1fr}.review-form-wrap{grid-template-columns:1fr;gap:22px}.review-meta{align-items:flex-start;flex-direction:column;gap:10px}.rating-option>span:first-of-type{padding:9px 12px}.moderation-card{padding:22px}.review-manager .gallery-filters{gap:8px}.review-manager .gallery-filters button{padding:9px 13px}.review-manager .header .brand-name{font-size:21px}}

.visitor-value{font-size:3rem;line-height:1.1;color:var(--gold,#d6b17e);margin:1rem 0;}

/* Prominent first telephone call to action */
.intro-bar .intro-call{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0;background:var(--ink);color:#fff;padding:12px 24px;border:2px solid var(--ink);border-radius:4px;line-height:1.25;transition:background .2s,color .2s}
.intro-bar .intro-call-label{display:block;font-size:.875rem;font-weight:600;letter-spacing:.03em}
.intro-bar .intro-call strong{font-size:1.75rem;font-weight:800;white-space:nowrap}
.intro-bar .intro-call:hover{background:var(--timber);border-color:var(--timber);color:var(--ink)}
@media(max-width:700px){.intro-bar{flex-wrap:wrap}.intro-bar p{flex:1 1 150px}.intro-bar .intro-call{padding:12px 18px}.intro-bar .intro-call strong{font-size:1.5rem}.intro-bar .intro-call-label{font-size:.875rem}}
