/* Shared concrete, ink and brush theme. The original logo artwork is untouched. */
@font-face{font-family:Anton;src:url('/assets/anton.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Marker;src:url('/assets/permanent-marker.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ink:#121212;--paper:#f3f2ef;--muted:#474747}
body{background-color:var(--paper);background-image:radial-gradient(ellipse at 0 12%,#a7a6a044,transparent 42%),radial-gradient(ellipse at 100% 48%,#b6b5af44,transparent 45%),url('/assets/concrete.svg');color:var(--ink)}
.header{border-bottom:0;position:relative;padding-block:20px;min-height:124px}
.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:5px;background:var(--ink);clip-path:polygon(0 20%,22% 0,59% 36%,99% 0,100% 65%,65% 100%,30% 67%,0 100%)}
.header .brand{position:relative;z-index:1}
.hero{padding-block:50px 70px;position:relative}
.hero-copy{position:relative;min-width:0}
.hero-copy:before{content:"";position:absolute;inset:-35px -20px;z-index:-1;background:url('/assets/ink-splatter.svg') left top/100% 100% no-repeat;opacity:.17;pointer-events:none}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;line-height:1.7}
h2,.service-page h1{font-family:Anton,Impact,'Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:1.14;text-wrap:balance}
h2{font-size:clamp(2.4rem,4.8vw,4.1rem);max-width:850px}
.service-page h1{font-size:clamp(2.7rem,5.2vw,4.8rem);line-height:1.13}
h3{font-family:Anton,Impact,'Arial Narrow',sans-serif;font-weight:400;letter-spacing:.015em;line-height:1.35;font-size:25px}
.brush-accent{font-family:Marker,'Arial Black',sans-serif;font-weight:400;letter-spacing:-.025em;text-transform:none;display:block;font-size:.78em;line-height:1.35;margin-top:.15em}
.intro,.service-intro{color:#363636;line-height:1.8}
.section{padding-block:90px}
.section-heading{gap:48px;margin-bottom:45px}
.section-heading>p{color:var(--muted);line-height:1.85}
.button,.menu-toggle{border:2px solid #111;box-shadow:4px 4px 0 #9b9b97;position:relative;font-weight:800;letter-spacing:.025em}
.button{background:#141414 url('/assets/grain.svg');padding:19px 23px}
.button:after{content:"";position:absolute;bottom:4px;left:12px;right:12px;height:2px;background:#ffffff50;clip-path:polygon(0 0,75% 40%,100% 0,87% 100%,25% 65%,0 100%);pointer-events:none}
.button:hover{background-color:#383838;box-shadow:2px 2px 0 #9b9b97}
.values{clip-path:none;position:relative;background:#151515 url('/assets/concrete.svg');border:0}
.values:after{content:"";display:block;height:19px;background:var(--paper);clip-path:polygon(0 0,50% 75%,100% 0,100% 100%,0 100%)}
.value-row{padding-block:29px 22px;gap:24px}
.value-row span{font-size:13px}.value-row span:before{color:#fff}
.services,.scope-grid{border-top:0;gap:24px}
.services article,.services article+article{padding:28px;border:1px solid #b0b0aa;border-top:6px solid #151515;background:#ffffff9c;position:relative}
.services article:after{content:"";position:absolute;top:0;right:0;width:62px;height:25px;background:url('/assets/ink-splatter.svg') right top/140px auto no-repeat;opacity:.3;pointer-events:none}
.services p{max-width:none;line-height:1.8}.services li{border-color:#ccc}
.services h3{margin-top:16px;text-transform:uppercase;font-size:28px}
.service-link{font-size:15px;text-decoration-thickness:2px;text-underline-offset:6px}
.number{font-size:12px;letter-spacing:.15em}
.approach{position:relative;background:#151515 url('/assets/concrete.svg');border:0;padding-block:100px;color:#fff}
.approach:before{content:"";position:absolute;top:0;left:0;right:0;height:27px;background:var(--paper);clip-path:polygon(0 0,100% 0,50% 100%)}
.approach:after{content:"";position:absolute;bottom:0;left:0;right:0;height:16px;background:#b5b5ae;clip-path:polygon(0 75%,20% 25%,48% 60%,73% 0,100% 60%,100% 100%,0 100%)}
.approach h2{color:#fff}.approach p:not(.eyebrow){color:#dededb;line-height:1.85}.approach .eyebrow{color:#c3c3bc}
.steps article,.service-details article{border-bottom:1px solid #666;padding-block:27px}.steps h3,.service-details h3{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:20px;letter-spacing:0}
.booking-card{background:#fffdf8 url('/assets/concrete.svg');border:2px solid #151515;border-top:9px solid #151515;box-shadow:8px 8px 0 #aaa9a2;padding:34px}
.booking-card h3{font-size:30px}.booking-card p{line-height:1.75}.booking>div>p:not(.eyebrow){color:#454545}
.contact{border-color:#aaa}.contact a{line-height:1.5}
.carousel,.service-proof{border:5px solid #151515;box-shadow:8px 8px 0 #a9a9a2;background:#151515 url('/assets/concrete.svg')}
.carousel-heading{padding:17px 16px;font-size:10px;letter-spacing:.14em}.comparison-pair{gap:5px}
.comparison-label{background:#e9e8e2 url('/assets/concrete.svg');font-family:Anton,Impact,sans-serif;font-size:15px;font-weight:400;letter-spacing:.12em;padding:9px 12px}
.project-slide figcaption strong{font-family:Anton,Impact,sans-serif;font-size:25px;font-weight:400;letter-spacing:.02em}.project-slide figcaption p{line-height:1.8}
.carousel-controls button{border-color:#aaa;background:#222}.carousel-controls button:hover{background:#555}
.service-proof figcaption{line-height:1.8}.breadcrumbs{font-size:12px;letter-spacing:.035em}
.scope-grid article{padding:30px 0;border-bottom:2px solid #a2a29b}.scope-grid h3{font-size:27px}.scope-grid p{line-height:1.85}
.access-panel{background:#151515 url('/assets/concrete.svg');border-top:7px solid #aaa;box-shadow:7px 7px 0 #b5b5ad}.access-panel h2{font-size:clamp(2.1rem,3.7vw,3.4rem)}
.related-services{padding-top:25px}.related-services h2{font-size:30px}
footer{position:relative;padding-block:52px;background:#101010 url('/assets/concrete.svg');border-top:0}
footer:before{content:"";position:absolute;top:0;left:0;right:0;height:14px;background:#aaa;clip-path:polygon(0 0,100% 0,100% 30%,50% 100%,0 30%)}
.footer-row{color:#ddd}.footer-row strong{font-family:Arial,Helvetica,sans-serif;font-size:15px;color:#fff}.footer-row p{font-family:Marker,'Arial Black',sans-serif;font-size:19px;color:#fff}
#site-menu{background:#131313 url('/assets/concrete.svg');border-left:5px solid #aaa;padding:28px}
#site-menu nav>a{font-family:Anton,Impact,sans-serif;font-size:25px;font-weight:400;letter-spacing:.015em;padding-block:18px}
.menu-contact p{font-family:Marker,'Arial Black',sans-serif;letter-spacing:0;font-size:21px}.menu-toggle{background:#151515 url('/assets/grain.svg')}
a:focus-visible,button:focus-visible{outline:3px solid #777;outline-offset:5px}
@media(max-width:1050px){.hero-copy{max-width:650px}.hero{gap:42px}.hero .reference-headline{max-width:560px}.section-heading{gap:30px}}
@media(max-width:800px){.section{padding-block:64px}.approach{padding-block:75px}.service-hero{gap:36px;padding-bottom:40px}.service-approach{gap:35px}.section-heading>p{max-width:600px}.services{gap:20px}.services article,.services article+article{padding:26px}.service-proof{max-width:760px}.booking{gap:35px}}
@media(max-width:640px){.header{min-height:100px;padding-block:16px;padding-right:105px}.hero{padding-block:32px 48px;gap:30px}.hero-copy:before{inset:-15px 0}.wrap{width:calc(100% - 40px)}h2{font-size:clamp(2rem,8.8vw,2.85rem);line-height:1.17}.service-page h1{font-size:clamp(2.25rem,10vw,3.2rem);line-height:1.16;overflow-wrap:break-word}.section{padding-block:54px}.section-heading{margin-bottom:28px}.eyebrow,.service-page .eyebrow{font-size:10px;letter-spacing:.13em}.value-row{gap:18px}.value-row span{font-size:12px}.services article,.services article+article{padding:24px 20px}.services h3{font-size:26px}.booking-card{padding:28px 20px;box-shadow:5px 5px 0 #aaa9a2}.booking-card h3{font-size:27px}.booking-card .button{padding:17px 16px;font-size:14px}.carousel,.service-proof{border-width:3px;box-shadow:5px 5px 0 #a9a9a2}.comparison-label{font-size:13px;padding:8px}.project-slide figcaption strong{font-size:23px}.carousel-heading{padding:13px 11px}.menu-toggle{top:22px;right:20px;font-size:12px;gap:10px;padding:12px}.scope-grid{gap:0}.scope-grid article{padding-block:24px}.access-panel{padding:28px 22px}.footer-row{gap:24px}footer{padding-block:44px}.contact>a.email{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.button{transition:none}}

/* Background-only artwork adapted from the owner's supplied concrete reference. */
body{
 background-color:#efefec;
 background-image:linear-gradient(90deg,rgba(247,247,244,.25),rgba(247,247,244,.86) 17%,rgba(247,247,244,.88) 83%,rgba(247,247,244,.25)),url('/assets/reference-concrete-background.webp');
 background-position:center top;
 background-size:100% 100%,100% auto;
 background-repeat:no-repeat,repeat-y;
 background-attachment:scroll;
}
.hero-copy:before{display:none}
.services article,.services article+article{background-color:rgba(255,255,252,.91)}
.booking-card{background-color:rgba(255,255,252,.97)}
@media(max-width:640px){
 body{background-image:linear-gradient(90deg,rgba(247,247,244,.72),rgba(247,247,244,.93) 12%,rgba(247,247,244,.93) 88%,rgba(247,247,244,.72)),url('/assets/reference-concrete-background.webp')}
}
