
:root{
  --black:#0a0a09;
  --ink:#141311;
  --cream:#f3f0e9;
  --white:#ffffff;
  --stone:#d8d1c4;
  --gold:#c9a46b;
  --gold2:#9a7747;
  --muted:#77736d;
  --line:rgba(255,255,255,.14);
  --max:1380px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(var(--max),calc(100% - 64px));margin:auto}
.kicker{font-size:11px;letter-spacing:.35em;text-transform:uppercase;font-weight:700;color:var(--gold);margin:0 0 22px}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;margin:0}
h1{font-size:clamp(58px,6.6vw,106px);line-height:.94}
h2{font-size:clamp(42px,4.7vw,70px);line-height:1}
h3{font-size:28px;line-height:1.08}
p{margin:0 0 16px}
.gold{color:var(--gold)}

.site-header{
  position:fixed;z-index:100;top:0;left:0;right:0;
  background:rgba(10,10,9,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.10);color:white
}
.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.logo-link{display:flex;align-items:center}
.logo-link img{height:64px;width:330px;object-fit:contain;object-position:left center}
.nav{display:flex;align-items:center;gap:28px;font-size:13px}
.nav a{padding:35px 0 29px;border-bottom:1px solid transparent}
.nav a:hover,.nav a.active{color:#e3c18d;border-color:#e3c18d}
.quote{border:1px solid rgba(255,255,255,.65)!important;padding:14px 27px!important;text-transform:uppercase;letter-spacing:.13em;font-size:11px}
.menu{display:none;background:none;border:0;color:white;font-size:26px}

.hero{
  min-height:780px;color:white;display:flex;align-items:center;position:relative;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(8,8,7,.96) 0%,rgba(8,8,7,.82) 40%,rgba(8,8,7,.32) 78%),
    url('hero-main.png') center/cover no-repeat;
}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.25),transparent 40%);pointer-events:none}
.hero-content{position:relative;z-index:2;padding-top:120px;max-width:760px}
.hero .intro{font-size:17px;color:#e6e2dc;max-width:640px;margin-top:30px}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;gap:18px;padding:17px 26px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}
.btn-gold{background:var(--gold);color:#15120f}
.btn-line{border:1px solid rgba(255,255,255,.72);color:white}
.btn-dark{background:#12110f;color:white}
.hero-tag{position:absolute;right:5%;bottom:55px;z-index:2;text-align:right;border-right:2px solid var(--gold);padding-right:18px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#e8e1d7}

.home-services{padding:80px 0 95px;background:#f7f4ee}
.services-lead{display:grid;grid-template-columns:.95fr 1.7fr;gap:70px;align-items:start}
.services-lead .copy p{color:#65615d;font-size:16px;max-width:520px;margin-top:18px}
.service-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.service-card{min-width:0}
.service-photo{height:290px;background:#ddd center/cover no-repeat;overflow:hidden}
.service-photo.image1{background-image:linear-gradient(0deg,rgba(0,0,0,.12),rgba(0,0,0,.02)),url('hero-main.png')}
.service-photo.image2{background-image:url('hvac-ai.png')}
.service-photo.image3{background-image:url('landscaping-ai.png')}
.service-photo.image4{background-image:url('landscaping-ai.png')}
.service-card h3{font-size:20px;margin-top:16px}
.service-card a{font-size:12px}
.service-card .arrow{margin-left:10px}

.stat-band{background:#080808;color:white;padding:52px 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:0 34px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat strong{font-family:Georgia,serif;font-size:36px;font-weight:400;color:#f4efe7}
.stat span{display:block;margin-top:4px;color:#b7b1aa;font-size:12px}
.stat small{display:block;margin-top:3px;color:var(--gold);text-transform:uppercase;letter-spacing:.12em}

.section{padding:110px 0}
.dark{background:#0b0b0a;color:white}
.soft{background:#e9e4db}
.two{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:start}
.body-copy{font-size:17px;color:#605d58}
.dark .body-copy{color:#bdb7af}

.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#333;margin-top:55px}
.capability{background:#11110f;padding:40px 36px;min-height:310px;position:relative}
.capability .no{color:var(--gold);font-size:11px;letter-spacing:.2em}
.capability h3{font-size:30px;margin:55px 0 14px}
.capability p{color:#a9a39b;font-size:14px}
.capability a{position:absolute;bottom:34px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#ddd}

.feature-image{
  min-height:520px;color:white;display:flex;align-items:flex-end;
  background:
   linear-gradient(90deg,rgba(7,7,6,.82),rgba(7,7,6,.10)),
   url('hvac-ai.png') center/cover no-repeat;
}
.feature-image .container{padding-bottom:65px}
.feature-image h2{max-width:800px}

.image-copy{display:grid;grid-template-columns:1fr 1fr;min-height:650px}
.image-copy .image{background:url('landscaping-ai.png') center/cover no-repeat;min-height:580px}
.image-copy .content{padding:90px 8vw;background:#f5f2eb;display:flex;flex-direction:column;justify-content:center}
.image-copy ul{list-style:none;padding:0;margin:25px 0 0}
.image-copy li{padding:14px 0;border-top:1px solid #cfc7ba;color:#5d5852}

.page-hero{
  min-height:570px;display:flex;align-items:end;color:white;padding-bottom:80px;
  background:
    linear-gradient(90deg,rgba(6,6,5,.92),rgba(6,6,5,.42)),
    url('hero-main.png') center/cover no-repeat;
}
.page-hero h1{font-size:clamp(58px,6vw,88px);max-width:900px}
.page-hero p{max-width:650px;color:#ddd6cd;font-size:17px;margin-top:22px}

.detail-list{margin-top:50px;border-top:1px solid #cbc3b7}
.detail{display:grid;grid-template-columns:70px .8fr 1.3fr;gap:35px;padding:34px 0;border-bottom:1px solid #cbc3b7}
.detail .num{font-size:11px;letter-spacing:.18em;color:var(--gold2)}
.detail h3{font-size:28px}
.detail p{color:#69645e}
.detail ul{columns:2;margin:15px 0 0;padding-left:18px;color:#69645e}

.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:55px}
.project{background:white}
.project-img{height:320px;background:#ddd center/cover no-repeat}
.project:nth-child(1) .project-img{background-image:url('hero-main.png')}
.project:nth-child(2) .project-img{background-image:url('hvac-ai.png')}
.project:nth-child(3) .project-img{background-image:url('landscaping-ai.png')}
.project-body{padding:24px}
.project-body .type{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold2)}
.project-body h3{font-size:26px;margin:9px 0}
.project-body p{font-size:13px;color:#706b65}

.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.contact-panel{background:#11110f;color:white;padding:42px}
.contact-panel h3{font-size:36px}
.contact-panel p{color:#aaa49c}
.fact{padding:16px 0;border-top:1px solid rgba(255,255,255,.12)}
.fact small{display:block;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-size:9px}
.fact strong{display:block;margin-top:5px;font-size:13px}
form{background:white;padding:38px}
.form2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:16px}
input,select,textarea{width:100%;padding:13px;border:1px solid #d4cec2;background:#faf8f4;margin-top:7px;font:inherit}
.notice{border-left:3px solid var(--gold);padding:14px 16px;background:#f3ece0;color:#625d56;font-size:12px;margin-top:22px}

.footer{background:#060606;color:white;padding:68px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:60px}
.footer-logo{width:390px;max-width:100%}
.footer h4{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:var(--gold);margin:0 0 20px}
.footer a{display:block;color:#aaa49c;font-size:12px;margin:8px 0}
.footer p{color:#918c85;max-width:500px;font-size:13px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.09);margin-top:50px;padding-top:20px;display:flex;justify-content:space-between;color:#706d69;font-size:10px}

@media(max-width:899px){
 .nav{display:none;position:absolute;top:92px;left:0;right:0;background:#0b0b0a;padding:25px 32px;flex-direction:column;align-items:flex-start;gap:0}
 .nav.open{display:flex}.nav a{padding:13px 0}.quote{margin-top:12px}
 .menu{display:block}.logo-link img{width:270px}
 .services-lead,.two,.image-copy,.contact-grid{grid-template-columns:1fr}
 .service-strip{grid-template-columns:1fr 1fr}
 .capabilities,.projects{grid-template-columns:1fr 1fr}
 .image-copy .content{padding:70px 32px}
}
@media(max-width:680px){
 .container{width:min(var(--max),calc(100% - 36px))}
 .header-inner{height:78px}.site-header .logo-link img{width:220px;height:52px}
 .nav{top:78px}
 .hero{min-height:720px;background-position:60% center}
 .hero-content{padding-top:110px}.hero h1{font-size:55px}
 .hero-tag{display:none}
 .services-lead{gap:35px}.service-strip,.capabilities,.projects{grid-template-columns:1fr}
 .service-photo{height:360px}
 .stats{grid-template-columns:1fr 1fr;gap:30px 0}.stat{padding:0 14px}
 .section{padding:78px 0}.two{gap:35px}
 .detail{grid-template-columns:45px 1fr}.detail>div:last-child{grid-column:2}.detail ul{columns:1}
 .form2,.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}
 .page-hero{min-height:500px}.page-hero h1{font-size:54px}
}

/* Version 1.1: responsive navigation and tighter, readable layouts. */
.site-header{position:sticky;background:rgba(10,10,9,.97)}
.header-inner{height:88px;gap:18px}
.logo-link{flex-shrink:0}
.logo-link img{width:260px;height:60px}
.nav{gap:18px;font-size:12px;white-space:nowrap}
.nav a{padding:12px 0}
.nav .quote{background:var(--gold);color:var(--black);border-color:var(--gold)!important;padding:13px 17px!important;letter-spacing:.08em;margin:0}
.nav .quote:hover{background:#dfbd88;color:var(--black)}
.menu{cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;line-height:1;border:1px solid var(--line);border-radius:4px;flex-shrink:0}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.hero{min-height:620px;min-height:clamp(540px,72svh,720px);padding:64px 0 80px}
.hero-content{padding-top:0;max-width:920px}
.hero h1{font-size:clamp(46px,6.3vw,88px);line-height:1.06}
.hero .intro{max-width:720px;margin-top:24px;line-height:1.65}
.hero .kicker{letter-spacing:.22em}
.hero-tag{bottom:24px}
.btn{min-height:48px;justify-content:center;cursor:pointer}
.services-lead{grid-template-columns:1fr;gap:40px}
.service-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-photo.image4{background-image:url('bathroom-ai.png')}
.contact-panel a{overflow-wrap:anywhere}
.page-hero{min-height:420px;padding:64px 0}
body.admin-bar .site-header{top:32px}
@media(min-width:900px) and (max-width:1199px){
 .header-inner{width:calc(100% - 40px);gap:12px}
 .logo-link img{width:205px}
 .nav{gap:12px;font-size:11px}
 .nav .quote{padding:12px!important;font-size:10px;letter-spacing:.04em}
}
@media(max-width:899px){
 .header-inner{height:78px}
 .menu{display:flex}
 .nav{top:100%;left:auto;right:18px;width:min(340px,calc(100vw - 36px));padding:16px 22px 22px;gap:0;white-space:normal;border:1px solid var(--line);box-shadow:0 18px 40px #0005;max-height:calc(100svh - 125px);overflow-y:auto}
 .nav a{display:block;width:100%;padding:11px 0;font-size:14px}
 .nav .quote{margin-top:12px;text-align:center}
 .hero{min-height:560px;padding:48px 0 64px}
 .hero-content{padding-top:0}
 .service-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:600px){body.admin-bar .site-header{top:0}}
@media(max-width:680px){
 .hero{min-height:0;padding:48px 0 56px}
 .hero h1{font-size:clamp(36px,9.2vw,55px);line-height:1.08}
 .hero .kicker{font-size:10px;letter-spacing:.16em;margin-bottom:18px}
 .hero .intro{font-size:16px;margin-top:22px}
 .actions{gap:12px;margin-top:26px}
 .hero .actions .btn{flex:1 1 180px}
 .service-strip{grid-template-columns:1fr}
 h2{font-size:clamp(34px,9vw,48px);line-height:1.08}
 .contact-panel,form{padding:24px}
 .page-hero{min-height:0;padding:52px 0}
 .page-hero h1{font-size:clamp(36px,10vw,54px);line-height:1.08}
 .detail{grid-template-columns:28px minmax(0,1fr);gap:14px}
 .contact-grid{gap:28px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.lpb-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.lpb-form-status{margin-top:22px;padding:16px;border-left:3px solid var(--gold);background:#f3ece0;color:#25211b;font-size:15px}
.lpb-contact-help{font-size:13px;margin:20px 0 0;overflow-wrap:anywhere}.lpb-contact-help a{text-decoration:underline}
#lpb-enquiry button{border:0}#lpb-enquiry button:disabled{opacity:.65;cursor:wait}

/* 1.3: enlarged logo with readable service wording. */
.logo-link img{width:300px;height:auto;max-height:100px}
.header-inner{height:112px}
.footer-logo{width:440px}
@media(min-width:900px) and (max-width:1199px){
 .header-inner{gap:12px}
 .logo-link img{width:245px}
 .nav{gap:9px;font-size:11px}
 .nav .quote{padding:10px!important;font-size:9px}
}
@media(max-width:899px){
 .header-inner{height:108px}
 .site-header .logo-link img{width:270px;height:auto;max-width:100%;max-height:98px}
 .logo-link{max-width:calc(100% - 62px)}
 .nav{max-height:calc(100svh - 165px)}
}

/* 1.4: balanced services hero and immediate service content. */
.services-page .services-hero{min-height:440px;padding:64px 0 58px;align-items:center;background-position:center 40%}
.services-page .services-hero h1{font-size:clamp(36px,4.3vw,62px);line-height:1.12;max-width:820px;letter-spacing:-.025em}
.services-page .services-hero .kicker{margin:0 0 18px;font-size:11px;color:var(--gold)}
.services-page .services-hero p:not(.kicker){font-size:17px;line-height:1.65;max-width:640px;margin:22px 0 0}
.services-page .services-hero .actions{margin-top:26px}
.services-page .services-details{padding:42px 0 72px;scroll-margin-top:135px}
.services-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.services-intro .kicker{color:#765529;letter-spacing:.18em;margin-bottom:10px}
.services-intro h2{font-size:clamp(28px,3vw,40px);line-height:1.15}
.services-intro>p{color:#605d58;font-size:16px;max-width:560px;margin:0}
.services-page .detail-list{margin-top:28px}
.services-page .detail h3{font-size:26px;line-height:1.2}
@media(max-width:680px){
 .services-page .services-hero{min-height:0;padding:38px 0 42px;background-position:62% center}
 .services-page .services-hero h1{font-size:clamp(32px,8vw,44px);line-height:1.12}
 .services-page .services-hero p:not(.kicker){font-size:16px}
 .services-page .services-details{padding:30px 0 48px}
 .services-intro{grid-template-columns:1fr;gap:16px}
 .services-page .detail-list{margin-top:22px}
 .services-page .services-hero .btn{flex:1 1 170px}
}

/* 1.6: genuine renovation photography, with honest project-stage labels. */
.lpb-projects-page .page-hero{min-height:0;padding:56px 0}
.lpb-projects-page .page-hero h1{font-size:clamp(36px,4.5vw,64px);line-height:1.1}
.lpb-work-section{padding:56px 0}
.lpb-work-section .kicker{color:#765529;margin:0 0 12px}
.lpb-work-section h2{font-size:clamp(30px,3.3vw,46px);line-height:1.15;max-width:850px}
.lpb-work-intro{max-width:780px;color:#5b5750;margin:20px 0 28px;font-size:17px}
.lpb-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.lpb-work-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.lpb-work-photo{margin:0;min-width:0;background:#fff;border:1px solid #ddd5c8}
.lpb-work-photo a{display:block;background:#e7e3dc}
.lpb-work-photo a:focus-visible{outline:3px solid #9b7438;outline-offset:3px}
.lpb-work-photo img{display:block;width:100%;height:420px;object-fit:contain}
.lpb-work-photo figcaption{padding:20px}
.lpb-work-photo figcaption span{display:inline-block;color:#765529;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
.lpb-work-photo figcaption p{margin:8px 0 0;font-size:15px;color:#49453e}
.lpb-work-alt{background:#eae5dc}
.lpb-floor-feature{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media(max-width:899px){.lpb-work-three{grid-template-columns:1fr}.lpb-work-photo img{height:380px}}
@media(max-width:680px){.lpb-work-section{padding:36px 0}.lpb-work-grid,.lpb-floor-feature{grid-template-columns:1fr;gap:20px}.lpb-work-photo img{height:auto;max-height:520px}.lpb-projects-page .page-hero{padding:38px 0}}

/* 1.9.1: bring homepage services content closer to the hero. */
.home-services{padding:24px 0 56px}
.home-services .services-lead{gap:28px}
.home-services .services-lead .copy .kicker{margin-top:0;margin-bottom:10px}
.home-services .services-lead .copy h2{margin-top:0;font-size:clamp(30px,3.3vw,46px);line-height:1.15}
@media(max-width:680px){.home-services{padding:20px 0 36px}}

/* Site management focus and founder qualification badges. */
.lpb-specialism{background:#ebe5da}
.lpb-specialism-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:28px}
.lpb-specialism-grid article{border-top:2px solid #b38c50;padding-top:20px}
.lpb-specialism-grid h3{font-size:25px;line-height:1.2;margin:0 0 14px}
.lpb-specialism-grid p{color:#555047;font-size:16px}
.lpb-qualification-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.lpb-qualification-tags span{border:1px solid #9a743b;background:#fffaf0;color:#503b20;padding:12px 16px;font-size:14px;font-weight:700;max-width:100%}
@media(max-width:800px){.lpb-specialism-grid{grid-template-columns:1fr;gap:22px}}

#subcontract-packages{scroll-margin-top:130px}
