﻿@font-face{font-family:JPave;src:local('Arial')} :root{--bg:#171918;--red:#ec493a;--ink:#f4f2e9;--muted:#b9beb7;--surface:#202521;--accent-ink:#000000;--line:color-mix(in srgb,var(--ink) 16%,transparent);--deep:color-mix(in srgb,var(--bg) 75%,#000);--surface-hover:color-mix(in srgb,var(--surface) 90%,var(--ink));color-scheme:dark;font-family:JPave,Arial,sans-serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}img{max-width:100%;display:block}p{line-height:1.7;color:var(--muted)}h1,h2,h3,p,figure{margin:0}p+p{margin-top:18px}h1,h2,h3{line-height:1.05;letter-spacing:-.045em}h1{font-size:clamp(48px,6.3vw,94px);font-weight:750}h2{font-size:clamp(34px,4vw,56px)}h3{font-size:26px}em{font-style:normal;color:var(--red)}.wrap{width:min(1260px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.17em;color:var(--red);margin-bottom:22px}.topbar{min-height:40px;padding:10px 48px;display:flex;justify-content:space-between;gap:20px;background:var(--deep);color:var(--muted);font-size:10px;letter-spacing:.12em}header{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:108px;padding:22px 48px;border-bottom:1px solid var(--line)}.logo{font-size:38px;font-weight:900;letter-spacing:-3px;display:inline-block;line-height:1}.logo span{color:var(--red)}.logo i{display:block;letter-spacing:.17em;font-size:8px;font-style:normal;margin-top:8px;color:var(--muted)}header nav{display:flex;gap:28px;font-size:14px}header nav a:hover,footer a:hover,.text-link:hover{color:var(--red)}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;min-height:54px;padding:17px 24px;border:1px solid transparent;background:var(--red);color:var(--accent-ink);font-size:13px;font-weight:700;letter-spacing:.02em;cursor:pointer;border-radius:3px;line-height:1.3}.button:hover{filter:brightness(1.1)}.button.small{min-height:48px}.button.light{background:var(--ink);color:var(--bg)}.menu{display:none}.hero{position:relative;isolation:isolate;min-height:760px;display:flex;flex-direction:column;justify-content:center;background:var(--surface);overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-2}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:65% 60%}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101511f2 0%,#101511d9 35%,#10151150 75%),linear-gradient(0deg,var(--bg),transparent 45%)}.hero-content{padding-block:85px 65px}.hero h1{max-width:900px}.hero-copy{font-size:19px;margin-block:28px;color:var(--ink)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px}.hero-call{font-size:16px}.hero-bottom{display:flex;gap:30px;justify-content:space-between;padding-block:26px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.14em}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:8px}.service-ribbon{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;padding:25px;background:var(--red);color:var(--accent-ink);font-size:11px;font-weight:750;letter-spacing:.12em}.service-ribbon i{opacity:.6}.project-showcase,.services,.approach,.local,.all-services,.faq{padding-block:95px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:42px}.section-heading>p{max-width:360px;font-size:15px}.project-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}.project-photo{grid-column:span 2;min-width:0}.project-photo:nth-child(-n+2){grid-column:span 3}.project-photo button{position:relative;padding:0;border:0;width:100%;background:var(--surface);overflow:hidden}.project-photo img{width:100%;height:290px;object-fit:cover;transition:transform .35s}.project-photo:nth-child(-n+2) img{height:370px}.project-photo button:hover img{transform:scale(1.025)}.photo-expand{color:var(--accent-ink);position:absolute;right:14px;bottom:14px;background:var(--red);padding:10px 14px}.project-photo figcaption{display:flex;justify-content:space-between;gap:8px;padding-top:14px;font-size:10px;letter-spacing:.04em;color:var(--muted)}.project-photo figcaption span:last-child{color:var(--red)}.services{border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-card{display:flex;flex-direction:column;padding:32px;background:var(--surface);border:1px solid var(--line);min-height:320px;transition:background .2s}.service-card:hover{background:var(--surface-hover)}.card-top{color:var(--red);font-size:11px;margin-bottom:40px}.service-card h3{margin-bottom:18px}.service-card p{font-size:14px}.card-link{margin-top:auto;padding-top:30px;display:flex;justify-content:space-between;font-size:11px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--line)}.section-copy{margin-block:28px;max-width:460px}.text-link{display:inline-block;border-bottom:1px solid var(--red);padding-block:8px;font-size:14px}.steps>div{display:flex;gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}.steps>div>span{color:var(--red);font-size:11px}.steps h3{font-size:25px}.steps p{font-size:14px;margin-top:12px}.steps b{margin-left:auto;color:var(--red)}.local{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;border-top:1px solid var(--line)}.local p{margin-block:24px}.brand-photo img{width:100%;height:auto}.cta{display:flex;justify-content:space-between;align-items:center;gap:50px;padding:65px;background:var(--red);color:var(--accent-ink);margin-bottom:90px}.cta .eyebrow,.cta p{color:inherit}.cta p{margin-bottom:25px}.cta h2{font-size:clamp(32px,3.5vw,50px)}footer{border-top:1px solid var(--line);padding:65px 48px 25px;background:var(--deep)}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:60px}.footer-main p{font-size:13px;margin-top:24px}.footer-main nav,.footer-main>div:last-child{display:flex;flex-direction:column;align-items:start;gap:18px;font-size:14px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:25px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.06em;color:var(--muted)}.mobile-contact{display:none}.page-hero{padding-block:90px 75px;max-width:1260px}.page-hero>p:not(.eyebrow){max-width:600px;font-size:19px;margin-top:30px}.page-hero>.button{margin-top:32px}.service-tabs{display:grid;grid-template-columns:1fr 1.6fr;gap:40px}.tab-list{display:flex;flex-direction:column;gap:10px}.tab-list button{padding:23px;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:16px}.tab-list button span{color:var(--red);font-size:11px;margin-right:20px}.tab-list button[aria-selected=true]{background:var(--red);color:var(--accent-ink)}.tab-list button[aria-selected=true] span{color:inherit}.service-tab-panel{background:var(--surface);padding:30px}.service-tab-panel img{width:100%;height:280px;object-fit:cover;margin-bottom:30px}.service-tab-panel p{margin-block:20px}.service-tab-panel .button{margin-top:10px}.service-details article{display:grid;grid-template-columns:70px 1fr 50px;gap:30px;align-items:center;padding-block:45px;border-top:1px solid var(--line);scroll-margin-top:30px}.detail-number{color:var(--red);font-size:13px}.service-details article p{max-width:700px;margin-top:20px}.round{border:1px solid var(--line);padding:14px}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:60px}.faq details{border-top:1px solid var(--line);padding-block:24px}.faq summary{font-size:18px;line-height:1.4}.faq p{margin-top:20px}.contact{padding-block:90px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact h1{font-size:clamp(46px,5.6vw,78px)}.contact>div>p:not(.eyebrow){margin-block:25px}.contact-number{display:block;font-size:clamp(24px,3vw,40px);letter-spacing:-.03em;margin-block:30px 10px}.contact-note{margin-top:45px;padding-top:25px;border-top:1px solid var(--line)}form{background:var(--surface);padding:32px;border:1px solid var(--line)}form>p{font-size:13px;margin-block:18px}form h2{font-size:30px}label{display:block;font-size:13px;line-height:1.5;margin-block:18px 8px}input,textarea,select{display:block;width:100%;padding:13px;margin-top:7px;background:var(--bg);border:1px solid var(--line);border-radius:3px;color:var(--ink)}textarea{resize:vertical}input[type=checkbox]{width:auto;display:inline}input:focus,textarea:focus,select:focus{border-color:var(--red)}form button{margin-top:16px}#project-form>section{margin-top:35px;border-top:1px solid var(--line);padding-top:28px}#form-status,#enquiry-status{line-height:1.6;font-size:13px}#message-fallback{padding-top:20px}.skip{position:fixed;left:20px;top:-100px;padding:15px;background:#fff;color:#000;z-index:1000}.skip:focus{top:15px}:focus-visible{outline:3px solid #ffca62;outline-offset:4px}[hidden]{display:none!important}.utility-dialog,.photo-viewer{border:1px solid var(--line);border-radius:8px;padding:28px;max-width:min(700px,calc(100% - 32px));max-height:85vh;overflow:auto;background:var(--surface);color:var(--ink)}dialog::backdrop{background:#000c}.utility-dialog h2{font-size:32px}.utility-dialog p{margin-block:20px}.utility-dialog button,.photo-viewer button{padding:12px;border:1px solid var(--line);background:var(--surface-hover);color:var(--ink)}.accessibility-open{position:fixed;right:14px;bottom:20px;z-index:30;background:#eee;color:#111;border:1px solid #555;border-radius:30px;padding:12px;font-size:11px}.access-title{display:flex;align-items:center;justify-content:space-between;gap:30px}.access-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-block:20px}.access-grid button span{display:block;margin-bottom:8px}.access-grid img{height:24px;width:24px;margin:auto}.access-grid button[aria-pressed=true]{background:var(--red);color:var(--accent-ink)}.access-line{margin-block:14px}.cookie-notice{display:none}.privacy-actions{display:flex;gap:15px;margin-top:24px}.photo-viewer img{max-height:70vh;object-fit:contain;margin-top:20px}.higher-contrast{filter:contrast(1.35)}.highlight-links a{text-decoration:underline!important}.larger-text p{font-size:1.3em!important}.spaced-text{letter-spacing:.08em}.hide-images img{visibility:hidden}.dyslexia{font-family:Verdana,sans-serif}.line-height p{line-height:2.2}.text-align p{text-align:left}.structure :is(h1,h2,h3){outline:2px solid var(--red)}.big-cursor,.big-cursor *{cursor:crosshair!important}.pause-animations *{animation:none!important;transition:none!important}.job-gallery,.estimator,.owner-section{padding-block:70px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:35px}.gallery-grid img{width:100%;height:280px;object-fit:cover}.gallery-grid figcaption{padding-top:12px;font-size:13px}.estimator form{max-width:600px;margin-top:25px}
@media(min-width:1600px){.hero{min-height:850px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}header{padding:22px 24px;gap:18px}header nav{gap:16px;font-size:12px}.topbar{padding-inline:24px}.approach,.local{gap:40px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact{gap:35px}.contact form{padding:24px}.cta{padding:40px}.service-tabs{gap:20px}.project-photo img{height:220px}.project-photo:nth-child(-n+2) img{height:300px}}
@media(max-width:700px){body{padding-bottom:58px}.wrap{width:calc(100% - 40px)}.topbar{padding-inline:20px;letter-spacing:.04em;font-size:9px}.topbar>span{max-width:180px}header{min-height:90px;padding:20px;flex-wrap:wrap;gap:15px}header .logo{font-size:32px}header>.button{margin-left:auto;min-height:42px;padding:12px;font-size:10px;gap:10px}.menu{display:block;background:none;color:var(--ink);border:1px solid #596355;padding:8px;font-size:20px}header nav{display:none;order:5;width:100%;flex-direction:column;font-size:16px;gap:0}header nav.open{display:flex}header nav a{padding:18px 4px;border-top:1px solid var(--line)}.hero{min-height:680px}.hero-content{padding-block:60px}.hero-art img{object-position:60% center}.hero:before{background:linear-gradient(90deg,#111711ed,#11171188),linear-gradient(0deg,var(--bg),transparent)}.hero h1{font-size:clamp(43px,9.5vw,66px)}.hero-copy{font-size:16px}.hero-bottom{font-size:8px;gap:15px;line-height:1.7;flex-wrap:wrap}.hero-bottom>span{width:100%}.actions{gap:20px}.service-ribbon{gap:15px;font-size:9px;padding:22px 16px}.service-ribbon i{display:none}.project-showcase,.services,.approach,.local,.all-services,.faq{padding-block:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:24px}.project-grid{grid-template-columns:1fr;gap:30px}.project-photo,.project-photo:nth-child(-n+2){grid-column:auto}.project-photo img,.project-photo:nth-child(-n+2) img{height:280px}.service-grid{grid-template-columns:1fr}.service-card{min-height:290px;padding:28px}.approach,.local,.contact,.faq{grid-template-columns:1fr;gap:40px}.steps>div:first-child{padding-top:0}.cta{flex-direction:column;align-items:start;padding:32px;gap:30px;margin-bottom:60px}.cta h2{font-size:34px}.cta p{font-size:14px}footer{padding:50px 20px 30px}.footer-main{grid-template-columns:1fr;gap:35px;padding-bottom:35px}.footer-main nav{display:grid;grid-template-columns:1fr 1fr}.footer-bottom{flex-wrap:wrap;font-size:9px;line-height:1.8}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:1fr 1fr;height:58px;background:#eee;color:#111}.mobile-contact a{display:grid;place-items:center;font-size:12px;font-weight:700}.mobile-contact a:last-child{background:var(--red);color:var(--accent-ink)}.page-hero{padding-block:60px 40px}.page-hero h1{font-size:52px}.page-hero>p:not(.eyebrow){font-size:17px}.service-tabs{grid-template-columns:1fr;gap:25px}.service-tab-panel{padding:22px}.service-tab-panel img{height:240px}.tab-list button{padding:18px;font-size:14px}.service-details article{grid-template-columns:35px 1fr;gap:15px;padding-block:35px}.service-details .round{grid-column:2;width:fit-content}.service-details h2{font-size:32px}.service-details p{font-size:14px}.contact{padding-block:55px;gap:40px}.contact h1{font-size:56px}.contact form{padding:22px}.contact-number{font-size:32px}.accessibility-open{bottom:72px;padding:10px;font-size:10px}.access-grid{grid-template-columns:repeat(2,1fr)}.utility-dialog{padding:22px}.privacy-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.privacy-link{border:0;background:none;color:inherit;text-align:left;padding:0;font-size:12px;line-height:1.6;max-width:230px;text-decoration:underline}

/* Independent phone positioning for owner-placed artwork and text. */
@media(max-width:700px){[data-owner-free]{left:var(--owner-phone-left,var(--owner-left,0%))!important;top:var(--owner-phone-top,var(--owner-top,0%))!important;width:var(--owner-phone-width,var(--owner-width,15%))!important;}}

@media(max-width:700px){header>[data-owner-free]{left:var(--owner-phone-left,max(140px,var(--owner-left,0%)))!important;width:var(--owner-phone-width,min(22%,var(--owner-width,15%)))!important;}}
