/* Shared mobile-first brand refresh: one crest and content on every screen. */
:root{--gold:#e4bd63;--cream:#f5efe9;--black:#211e1d;--coal:#2b2624;--white:#faf6f2;--line:#514440;--gold-ink:#80601f}
html{scroll-padding-top:24px;scroll-padding-bottom:100px}
body{overflow-wrap:break-word}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.site-header{position:relative;height:auto;min-height:116px;padding:14px clamp(20px,4vw,68px);gap:28px;background:#090909}
.site-header .brand{flex:none;gap:18px}
.site-header .brand-logo{width:66px;height:90px;filter:none}
.brand-wordmark{display:grid;justify-items:center;text-align:center;line-height:.98;text-transform:uppercase;font-family:Inter,Arial,sans-serif;color:white}
.brand-wordmark strong{font-size:2.8rem;font-weight:800;letter-spacing:-1px;color:#fff;background:none;-webkit-text-fill-color:#fff}
@media(forced-colors:active){.brand-wordmark strong{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}
.brand-wordmark>span{font-size:1.28rem;font-weight:800;letter-spacing:.4px;margin-top:5px}
.site-header nav{gap:24px;font-size:.9rem}
.nav-cta{white-space:nowrap}
.hero{height:auto;min-height:0;overflow:visible;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto auto;padding:0;background:white;color:#101010}
.hero-content{grid-column:1;grid-row:1;max-width:none;align-self:center;padding:48px clamp(24px,4vw,64px)}
.hero-content::before{display:none}
.hero h1{margin:0 0 22px;font:800 clamp(2.8rem,4.2vw,4.9rem)/1.02 Inter,Arial,sans-serif;letter-spacing:-1.8px;text-transform:none}
.hero h1 em{display:inline;font-style:normal;color:inherit}
.hero .intro{font-size:1.125rem;line-height:1.55;color:#34383e;margin:0;max-width:600px}
.hero-actions{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch;gap:12px;margin-top:28px}
.hero-actions .button{padding:14px 12px;font-size:1rem;line-height:1.3;text-transform:none;letter-spacing:0;border-radius:4px}
.call-button{min-width:0;min-height:64px;padding:10px;border:2px solid #151515;border-radius:4px;text-align:center;background:white;color:#111}
.call-button:hover{background:#f5f5f5;border-color:#111}
.call-button small{color:#111;font-size:.875rem;letter-spacing:0;text-transform:none;line-height:1.2}
.call-button strong{font:800 1.2rem/1.25 Inter,Arial,sans-serif;color:#111;letter-spacing:-.5px}
.hero-projects{grid-column:2;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(500px,auto);border:0}
.hero-project{aspect-ratio:auto;min-width:0;position:relative;overflow:hidden}
.hero-project img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-project-landscape img{object-position:38% 35%}
.hero-project-build img{object-position:center 50%}
.hero-project+.hero-project{border-top:0;border-left:4px solid var(--gold)}
.hero-project::after{display:none}
.hero-project figcaption{left:0;bottom:0;right:auto;display:block;padding:10px 18px;background:#0b0b0bf0;border-right:5px solid var(--gold)}
.hero-project figcaption strong{font:700 1rem/1.3 Inter,Arial,sans-serif;text-transform:none;letter-spacing:0}
.trust-strip{grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:white;border:0;border-bottom:1px solid #ddd;color:#151515;padding:22px clamp(20px,4vw,64px);gap:0}
.trust-strip span{padding:6px 20px;color:#222;font-size:1rem;font-weight:600;line-height:1.4;letter-spacing:0;text-transform:none;border-left:1px solid #d0d0d0;text-align:center}
.trust-strip span:first-child{border-left:0}
.trust-strip span::before{content:'✓';color:#997220;font-weight:700;margin-right:10px}
.recent-projects{padding:48px clamp(20px,4vw,64px) 64px;background:#f7f7f5;color:#101010}
.recent-projects h2{font:800 clamp(1.8rem,3vw,2.5rem)/1.1 Inter,Arial,sans-serif;letter-spacing:-1px;margin:0 0 26px}
.recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.recent-card{min-width:0;display:block}
.recent-card-levenshulme{grid-column:auto;grid-row:auto}
.recent-card img{aspect-ratio:2/1;height:auto;object-fit:cover;border-radius:7px}
.recent-card:first-child img{object-position:center 50%}
.recent-card-levenshulme img{object-position:55% 18%}
.recent-card h3{font:700 1.3rem/1.25 Inter,Arial,sans-serif;margin:14px 0 4px}
.recent-card p{font-size:1rem;line-height:1.35;color:#52565c;margin:0}
.recent-card:hover h3{text-decoration:underline;text-underline-offset:4px}
.gatley-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.gatley-gallery figure{margin:0;min-width:0}
.gatley-gallery img{height:460px;object-fit:cover}
.gatley-gallery figcaption{font-size:.9rem;color:#454545;margin-top:10px}
.section h2,.case-intro h2,.quote h2,.work h2{font-family:Inter,Arial,sans-serif;font-weight:750;line-height:1.08;letter-spacing:-1.5px;text-transform:none;font-size:clamp(2rem,3.8vw,3.8rem)}
.landscaping-showcase .case-intro h2{font-size:clamp(2rem,3.8vw,3.8rem)}
.service-grid h3,.case-type,.extension-callout h3,.process-grid strong{font-family:Inter,Arial,sans-serif;text-transform:none;line-height:1.2;letter-spacing:-.3px;font-size:clamp(1.2rem,1.8vw,1.7rem)}
.button{border-radius:4px;text-transform:none;letter-spacing:0;font-size:1rem}
.kicker{font-size:.875rem;letter-spacing:2px}
.form-note,label{font-size:.875rem}
.team-list span{font-size:.875rem;text-transform:none;letter-spacing:0}
.mobile-contact-bar{display:none}
@media(max-width:1100px){
  .menu{display:block;min-height:44px;min-width:56px;font-size:1rem;border-radius:4px}
  .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:22px;background:#090909;flex-direction:column;align-items:stretch;gap:20px;border-bottom:1px solid #42331a}
  .site-header nav.open{display:flex}
  .hero-actions{grid-template-columns:1fr}
}
@media(max-width:850px){
  .site-header{min-height:104px;padding:10px 20px;gap:12px}
  .site-header .brand{gap:12px;min-width:0}
  .site-header .brand-logo{width:58px;height:80px}
  .brand-wordmark strong{font-size:2.4rem}
  .brand-wordmark>span{font-size:1.12rem}
  .hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;padding:0}
  .hero-projects{grid-column:1;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:clamp(200px,52vw,350px);border:0}
  .hero-project{aspect-ratio:auto}
  .hero-project+.hero-project{border-top:0;border-left:3px solid var(--gold)}
  .hero-project figcaption{left:0;right:auto;bottom:0;padding:8px 10px;border-right-width:3px}
  .hero-project figcaption strong{font-size:.875rem}
  .hero-project-landscape img{object-position:30% 32%}
  .hero-project-build img{object-position:50% 52%}
  .hero-content{grid-column:1;grid-row:2;padding:24px 20px 22px}
  .hero h1{font-size:clamp(2rem,8.6vw,3.8rem);line-height:1.04;letter-spacing:-1.2px;margin:0 0 14px}
  .hero .intro{font-size:1rem;line-height:1.5}
  .hero-actions{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:10px;margin-top:20px}
  .hero-actions .button{font-size:.95rem;padding:12px 8px}
  .call-button{min-height:60px;padding:8px 4px}
  .call-button strong{font-size:1.05rem}
  .trust-strip{grid-column:1;grid-row:3;padding:4px 12px 20px}
  .trust-strip span{min-height:0;display:block;font-size:.875rem;line-height:1.3;padding:4px 8px}
  .trust-strip span::before{display:block;margin:0 0 5px;font-size:1rem}
  .recent-projects{padding:26px 20px 34px}
  .recent-projects h2{margin-bottom:18px}
  .recent-grid{gap:14px}
  .recent-card img{aspect-ratio:1.15/1}
  .recent-card h3{font-size:1rem;line-height:1.3;margin-top:10px}
  .recent-card p{font-size:.875rem}
  .gatley-gallery{grid-template-columns:1fr}
  .gatley-gallery img{height:auto;max-height:560px;object-fit:contain}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}
  .mobile-contact-bar:not([hidden]){display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:15;background:#090909;border-top:1px solid #94733b;padding-bottom:env(safe-area-inset-bottom,0px)}
  .mobile-contact-bar a{min-height:64px;display:flex;align-items:center;justify-content:center;color:white;font-size:1.05rem;font-weight:700}
  .mobile-contact-bar a:first-child{border-right:1px solid #444;color:var(--gold)}
}
@media(max-width:360px){
  .site-header{padding:10px 14px}
  .site-header .brand-logo{width:48px;height:68px}
  .brand-wordmark strong{font-size:2rem}
  .brand-wordmark>span{font-size:.92rem}
  .menu{min-width:48px;padding:8px}
  .hero-actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-gallery img,.landscaping-gallery img{transition:none}}

/* Gold surfaces and accents; the original crest and photographs stay untouched. */
.site-header,.site-header nav,.mobile-contact-bar:not([hidden]),footer{background:var(--black)}
.brand-wordmark,.menu,.site-header nav,.hero-project figcaption{color:var(--white)}
.hero,.trust-strip,.call-button{background:var(--white);color:#292524}
.recent-projects{background:var(--cream);color:#292524}
.hero .intro,.recent-card p{color:#554a46}
.trust-strip{border-bottom-color:#ddd0c8}
.trust-strip span{border-left-color:#ddd0c8;color:#403733}
.trust-strip span::before{color:var(--gold-ink)}
.call-button{border-color:#403733}
.call-button:hover{background:#eee2da;border-color:#403733}
.button{background:var(--gold);color:#211e1d}
.button:hover{background:#f0d28d}
.hero-project figcaption{background:#211e1df2}
.site-header nav,.mobile-contact-bar:not([hidden]){border-color:#8a703d}
.case-study.case-dark,.extension-callout{background:var(--coal);color:var(--white)}
.work .kicker,.case-study:not(.case-dark) .kicker,.case-study:not(.case-dark) .case-type{color:var(--gold-ink)}
input,select,textarea{background:var(--black);color:var(--white);border-color:#73615a}
footer,.form-note{color:#c8bcb5}

/* Core masonry services lead on every screen. */
.hero-project-masonry img{object-position:55% 18%}
.primary-services{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(min-width:601px) and (max-width:1000px){.primary-services{grid-template-columns:repeat(2,minmax(0,1fr))}}
.additional-services-title{font:700 1.8rem/1.2 Inter,Arial,sans-serif;margin:48px 0 0}
.secondary-services{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}
.primary-services article,.secondary-services article{border-bottom:0}
.primary-services article:nth-child(2){border-right:1px solid var(--line)}
@media(max-width:600px){
 .primary-services,.secondary-services{grid-template-columns:1fr}
 .primary-services article,.secondary-services article{border-right:0}
 .primary-services article:nth-child(2){border-right:0}
 .hero h1{font-size:clamp(2.1rem,8.8vw,3rem)}
}

.service-grid h3{margin-top:0}

.gatley-gallery{grid-template-columns:1fr}

.photo-slideshow{display:block;max-width:980px;margin-left:auto;margin-right:auto;touch-action:pan-y}
.photo-slideshow>figure,.photo-slideshow>figure:nth-child(n){margin:0;width:100%;height:auto;min-height:0;aspect-ratio:auto;background:var(--black);overflow:hidden}
.photo-slideshow>figure[hidden]{display:none!important}
.photo-slideshow>figure img{display:block;width:100%;height:clamp(300px,55vw,620px);object-fit:contain;transform:none!important}
.photo-slideshow>figure figcaption{position:static;inset:auto;padding:18px 22px;background:var(--black);color:var(--white);margin:0;font:600 1rem/1.5 Inter,Arial,sans-serif;letter-spacing:0;text-transform:none}
.slideshow-controls{display:flex;align-items:center;justify-content:center;gap:24px;background:var(--black);color:var(--white);padding:14px}
.slideshow-controls button{width:52px;height:48px;border:1px solid var(--gold);border-radius:4px;background:var(--gold);color:#111;font:700 1.6rem/1 Arial,sans-serif;cursor:pointer}
.slideshow-controls button:hover{background:#f0d28d}
.slideshow-controls span{min-width:60px;text-align:center;font-size:1rem;font-variant-numeric:tabular-nums}

/* Keep telephone contact details visible on mobile. */
footer>p:nth-child(2){display:block;overflow-wrap:anywhere}
