:root{--ink:#191b1b;--panel:#232625;--paper:#f7f7f4;--gold:#d1aa78;--gold-dark:#896238;--muted:#bac0b8;--line:#414740;--light-line:#d9ddd6;--body:'DM Sans',Arial,sans-serif;--heading:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:120px}body{margin:0;background:var(--ink);color:#f8faf4;font-family:var(--body);font-size:1rem;line-height:1.7}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:500;line-height:1.18;letter-spacing:-.04em}h1{font-size:clamp(2.6rem,4.45vw,4.5rem)}h2{font-size:clamp(2rem,3.3vw,3.15rem)}h3{font-size:1.45rem;line-height:1.3}em{font-style:normal;color:var(--gold)}a{color:inherit;text-decoration:none}button,summary{font:inherit;cursor:pointer}button{color:inherit}img{display:block;max-width:100%;height:auto}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}p{overflow-wrap:break-word}.wrap{width:min(1320px,calc(100% - 80px));margin-inline:auto}.section{padding:96px 0}.paper{background:var(--paper);color:var(--ink)}.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:19px}.paper .eyebrow,.map-section .eyebrow{color:var(--gold-dark)}.skip-link{position:fixed;top:-100px;left:15px;padding:12px;background:var(--gold);color:var(--ink);z-index:10000}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;background:var(--ink);border-bottom:1px solid var(--line);z-index:100}.header-row{display:flex;align-items:center;gap:32px;min-height:104px}.brand{width:145px;flex:0 0 145px}.brand img{width:145px;aspect-ratio:3/2;object-fit:contain}.site-header nav{display:flex;align-items:center;justify-content:center;gap:28px;margin-left:auto;font-size:.9375rem}.site-header nav>a,.nav-services>summary{padding:12px 0}.site-header [aria-current=page],.site-header nav a:hover{color:var(--gold)}.nav-services{position:relative}.nav-services summary{list-style:none;white-space:nowrap}.nav-services summary::-webkit-details-marker{display:none}.nav-services summary span{margin-left:5px;color:var(--gold)}.nav-dropdown{position:absolute;top:calc(100% + 14px);left:-22px;width:280px;background:var(--panel);border:1px solid var(--line);padding:12px;box-shadow:0 18px 35px #0004}.nav-dropdown a{display:block;padding:10px 12px}.nav-dropdown a:hover{background:#30362e}.header-phone{display:flex;gap:12px;align-items:center;border:1px solid var(--gold);padding:11px 16px;white-space:nowrap;font-size:.9375rem}.header-phone>span:last-child{color:var(--gold)}.phone-label,.nav-toggle{display:none}
.home-hero{padding:45px 0 55px}.hero-grid{display:grid;grid-template-columns:.9fr 1.12fr;gap:52px;align-items:center}.hero-copy{padding:24px 0}.hero-copy>p:not(.eyebrow){color:var(--muted);font-size:1.08rem;max-width:490px;margin:25px 0 28px}.hero-copy h1{max-width:600px}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;min-height:52px;padding:13px 22px;border:1px solid transparent;font-size:.9375rem;font-weight:600;line-height:1.5;transition:background .2s}.gold{background:var(--gold);color:var(--ink)}.gold:hover{background:#e4bd8c}.outline{border-color:#989f91;color:var(--ink)}.outline:hover{background:#e6e9e1}.outline-light{border-color:#727b6a;color:#fafcf5}.outline-light:hover{background:#30362e}.inline-link{display:inline-flex;align-items:center;gap:20px;padding:10px 0;border-bottom:1px solid #8e947f;font-size:.9375rem}.hero-area{display:block;color:#aeb7a6;font-size:.8125rem;line-height:1.9;margin-top:32px;border-left:1px solid var(--gold);padding-left:17px}.hero-photo{min-width:0}.hero-photo img{width:100%;aspect-ratio:1.1;object-fit:cover;object-position:58% 50%}.hero-photo figcaption{font-size:.75rem;color:#adb6a6;margin-top:10px}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end;margin-bottom:44px}.section-heading>p{max-width:490px;color:#656e5e}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.service-card{border:1px solid var(--light-line);background:#fff}.card-photo{display:block;position:relative;overflow:hidden}.card-photo>img{width:100%;aspect-ratio:1.7;object-fit:cover;transition:transform .5s}.card-photo:hover>img{transform:scale(1.025)}.image-caption{position:absolute;bottom:10px;left:12px;font-size:.75rem;color:#fff;background:#191b1bce;padding:3px 9px}.card-body{padding:27px 30px 31px;position:relative}.card-number{font-size:.8rem;color:#7b6850;position:absolute;right:29px;top:32px}.card-body h3{padding-right:35px;margin-bottom:15px}.card-body p{color:#606958;margin-bottom:17px;max-width:490px}.card-body .inline-link{color:#2b3624}.project-callout{border-top:1px solid var(--light-line);margin-top:45px;padding-top:34px;display:flex;gap:40px;justify-content:space-between;align-items:center}.project-callout .eyebrow{margin-bottom:10px}.project-callout h3{margin-bottom:12px}.project-callout p:not(.eyebrow){color:#626b59}.project-callout .button{flex-shrink:0}.split-feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split-feature figure>img{width:100%;aspect-ratio:1.02;object-fit:cover}.split-feature figcaption{font-size:.75rem;color:#aeb7a5;margin-top:9px}.split-feature>div>p:not(.eyebrow){color:var(--muted);margin:22px 0}.feature-list{list-style:none;padding:0;margin:26px 0 33px}.feature-list li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.feature-list li:before{content:'+';color:var(--gold);font-size:1.2rem}.map-section{background:#eceee8;color:var(--ink)}.map-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}.map-copy>p:not(.eyebrow){margin:23px 0;color:#5f6956}.city-list{padding:0;margin:26px 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;font-weight:500}.city-list li{display:flex;align-items:center;gap:9px}.city-list li:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold-dark);flex-shrink:0}.map-figure{min-width:0;background:#e1e9e6;border:1px solid #cbd6cd}.map-figure img{width:100%;height:auto}.map-figure figcaption{padding:13px 17px;display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;font-size:.75rem;color:#4d5f48;border-top:1px solid #cbd6cd}.map-figure figcaption a{text-decoration:underline;text-underline-offset:3px}.cta{padding:66px 0;border-top:1px solid var(--line)}.cta-row{display:flex;align-items:center;justify-content:space-between;gap:50px}.cta h2{font-size:clamp(1.7rem,2.3vw,2.4rem);margin-bottom:17px}.cta p:not(.eyebrow){color:var(--muted);max-width:620px}.cta .eyebrow{margin-bottom:12px}.cta .button{flex-shrink:0}.site-footer{padding:44px 0 22px;background:#121514;border-top:1px solid #333b30}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:55px}.footer-brand{display:block;width:155px}.footer-brand img{width:155px}.footer-grid>div>p{font-size:.875rem;color:#a9b49e;margin-top:12px}.footer-grid h2{font-size:1rem;font-weight:600;letter-spacing:0;margin:15px 0 20px}.footer-grid>div>a:not(.footer-brand){display:block;margin:10px 0;font-size:.875rem;color:#b9c3ae;overflow-wrap:anywhere}.footer-grid a:hover{color:var(--gold)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;border-top:1px solid #32392d;padding-top:24px;margin-top:36px;font-size:.75rem;color:#99a58d}
@media(max-width:1150px){.wrap{width:calc(100% - 56px)}.header-row{gap:22px}.site-header nav{gap:20px}.header-phone{padding:10px 12px}.hero-grid{gap:35px}.hero-photo img{aspect-ratio:.95}.hero-copy h1{font-size:3.2rem}.split-feature{gap:40px}.map-layout{gap:35px}.section{padding:76px 0}}
@media(max-width:980px){.header-row{flex-wrap:wrap;justify-content:space-between;min-height:90px;gap:12px}.brand{width:120px;flex-basis:120px}.brand img{width:120px}.nav-toggle{display:inline-flex;align-items:center;gap:10px;border:1px solid #727a6a;background:none;min-height:44px;padding:8px 13px;font-size:.875rem;order:3}.header-phone{margin-left:auto}.site-header nav{width:100%;margin:0;flex-direction:column;align-items:stretch;gap:0;order:4;padding-bottom:18px}.js .site-header nav:not(.is-open){display:none}.site-header nav>a,.nav-services>summary{padding:12px 10px;display:block}.nav-dropdown{position:static;width:auto;margin:0 0 12px;box-shadow:none;border:0;border-left:1px solid var(--gold);padding:0 0 0 14px}.nav-dropdown a{padding:10px}.hero-grid{gap:28px;grid-template-columns:1fr 1fr}.hero-copy h1{font-size:2.6rem}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero-area{margin-top:24px}.actions{gap:12px}.hero-photo img{aspect-ratio:.85}.section-heading{gap:30px}.split-feature{gap:30px}.map-layout{grid-template-columns:1fr}.map-copy{max-width:690px}.map-layout .map-figure{max-width:850px;width:100%}.city-list{grid-template-columns:repeat(3,1fr)}.footer-grid{gap:30px}.footer-grid>div:first-child{grid-column:1/-1;display:flex;align-items:center;gap:28px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child>p{margin:0}.cta-row{align-items:flex-start;flex-direction:column;gap:25px}}
@media(max-width:680px){html{scroll-padding-top:92px}.wrap{width:calc(100% - 36px)}.section{padding:58px 0}.header-row{min-height:82px;gap:10px}.brand{width:105px;flex-basis:105px}.brand img{width:105px}.header-phone{font-size:.875rem;padding:8px 11px;min-height:44px}.phone-number{display:none}.phone-label{display:inline}.header-phone>span:last-child{display:none}.nav-toggle{padding:8px 11px}.home-hero{padding:0 0 34px}.hero-grid{width:100%;grid-template-columns:1fr;gap:0}.hero-photo{grid-row:1;display:flex;flex-direction:column}.hero-photo img{aspect-ratio:1.65;object-position:center;width:100%}.hero-photo figcaption{padding:0 18px;margin:8px 0 0;font-size:.75rem}.hero-copy{padding:29px 22px 0}.hero-copy h1{font-size:clamp(2.2rem,8.3vw,3.25rem)}.hero-copy h1 br{display:none}.hero-copy h1 em{display:block}.hero-copy .eyebrow{margin-bottom:17px;font-size:.75rem}.hero-copy>p:not(.eyebrow){margin:20px 0 22px}.hero-area{font-size:.75rem;margin-top:24px}.actions{gap:18px}.button{padding:12px 17px;gap:20px;font-size:.875rem}.inline-link{font-size:.875rem}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.section-heading h2 br{display:none}h2{font-size:2.2rem}.service-grid{grid-template-columns:1fr;gap:25px}.card-photo>img{aspect-ratio:1.5}.card-body{padding:23px 21px 25px}.card-number{top:28px;right:21px}.card-body h3{font-size:1.4rem}.card-body p{margin-bottom:12px}.project-callout{flex-direction:column;align-items:flex-start;gap:23px;margin-top:32px}.split-feature{grid-template-columns:1fr;gap:32px}.split-feature figure>img{aspect-ratio:1.25}.feature-list{margin:20px 0 28px}.map-layout{gap:24px}.city-list{grid-template-columns:1fr 1fr;gap:12px}.map-figure{margin:0 -8px}.map-figure figcaption{font-size:.75rem;padding:12px}.cta{padding:48px 0}.footer-grid{gap:20px;grid-template-columns:1fr}.footer-grid>div:first-child{display:block}.footer-grid>div:first-child>p{margin-top:8px}.footer-grid h2{margin-bottom:13px}.footer-grid>div>a:not(.footer-brand){margin:9px 0}.footer-bottom{gap:12px;margin-top:25px}.footer-bottom>p:nth-child(2){width:100%;order:3}.footer-brand{width:140px}.footer-brand img{width:140px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.8rem;color:#aab4a0;padding-top:27px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.service-hero{padding:27px 0 66px}.service-hero h1{font-size:clamp(2.45rem,4.5vw,4.25rem)}.service-hero .hero-photo img{aspect-ratio:1.35}.scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 55px}.scope-grid article{padding:28px 0 32px;border-top:1px solid var(--light-line)}.scope-number{font-size:.8rem;color:var(--gold-dark);display:block;margin-bottom:17px}.scope-grid h3{margin-bottom:14px}.scope-grid p{color:#626a5b;max-width:550px}.preparation{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.preparation>div>p:not(.eyebrow){color:var(--muted);margin-top:22px;max-width:500px}.preparation ol{list-style:none;counter-reset:steps;margin:0;padding:0}.preparation li{counter-increment:steps;display:flex;gap:22px;border-bottom:1px solid var(--line);padding:20px 0}.preparation li:before{content:'0' counter(steps);font-size:.8rem;color:var(--gold);padding-top:3px}.area-ribbon{background:var(--panel);padding:24px 0}.area-ribbon>.wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.area-ribbon p{font-size:.875rem;color:var(--muted)}.area-ribbon a{flex-shrink:0}.page-intro{padding-top:48px;padding-bottom:58px}.page-intro h1{max-width:950px;font-size:clamp(2.4rem,4.1vw,4.25rem)}.page-intro>p:not(.eyebrow){max-width:740px;color:var(--muted);margin-top:24px;font-size:1.08rem}.page-intro>.button{margin-top:25px}.gallery-section{padding-top:70px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:43px 32px}.gallery-grid figure>a{display:block;position:relative;overflow:hidden}.gallery-grid img{width:100%;aspect-ratio:1.5;object-fit:cover}.zoom-label{position:absolute;right:14px;bottom:14px;background:#191b1be8;color:#fff;padding:8px 13px;font-size:.8rem}.gallery-grid figcaption{padding-top:20px}.gallery-grid figcaption h3{font-size:1.25rem;margin-bottom:9px}.gallery-grid figcaption p{color:#626b59}.standalone-map{padding-top:45px}.standalone-map .map-figure{max-width:1100px;margin-inline:auto}.city-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:30px}.city-links a{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #b4c2ae;padding:14px 19px}.city-links a:hover{background:#e4e9de}.map-source{color:#67745f;font-size:.8rem;margin-top:22px;max-width:900px}.map-source a{text-decoration:underline}.contact-section{padding-top:58px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-methods>a{display:grid;grid-template-columns:1fr auto;gap:6px 15px;padding:24px 0;border-bottom:1px solid #d6ddd0}.contact-methods>a>span:first-child{color:#607053;grid-column:1}.contact-methods strong{font-family:var(--heading);font-size:2.25rem;font-weight:500;line-height:1.4;letter-spacing:-.02em;grid-column:1}.contact-methods>a>span:last-child{grid-column:2;grid-row:1/3;align-self:center;font-size:1.5rem;color:var(--gold-dark)}.contact-methods .email-contact strong{font-family:var(--body);font-size:1.35rem;overflow-wrap:anywhere}.enquiry h2{font-size:2rem}.enquiry ul{padding-left:20px;margin:25px 0;line-height:2;color:#59674f}.small-note{font-size:.8rem;line-height:1.7;color:#6c7863;margin-top:15px;max-width:430px}#photo-viewer{position:fixed;max-width:calc(100vw - 32px);width:1100px;max-height:calc(100dvh - 32px);padding:18px;background:#191b1b;color:#fff;border:1px solid #626d59;overflow:auto}#photo-viewer::backdrop{background:#090c0bdc}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:15px}.dialog-top p{font-size:1rem}.dialog-close{border:1px solid #748367;background:transparent;padding:8px 13px;font-size:.875rem;min-height:44px}.dialog-note{font-size:.75rem;color:#c3cdb8;margin-top:12px}#photo-large{width:100%;height:auto;max-height:calc(100dvh - 165px);object-fit:contain}
@media(max-width:980px){.preparation{gap:40px}.contact-grid{gap:35px}.contact-methods strong{font-size:2rem}.area-ribbon>.wrap{align-items:flex-start;flex-direction:column;gap:10px}.enquiry h2{font-size:1.8rem}}
@media(max-width:680px){.breadcrumb{padding-top:19px;font-size:.75rem}.service-hero{padding-top:20px;padding-bottom:35px}.service-hero .hero-grid{width:calc(100% - 36px);gap:18px}.service-hero .hero-copy{padding:0}.service-hero .hero-photo img{aspect-ratio:1.5}.service-hero .hero-photo figcaption{padding:0}.service-hero .hero-photo{margin-top:6px}.service-hero .hero-copy>p:not(.eyebrow){margin:17px 0 20px}.service-hero h1{font-size:2.4rem}.scope-grid,.preparation,.gallery-grid,.contact-grid{grid-template-columns:1fr}.scope-grid article{padding:23px 0}.scope-number{margin-bottom:12px}.preparation{gap:20px}.preparation li{padding:17px 0}.page-intro{padding-top:30px;padding-bottom:38px}.page-intro h1{font-size:2.45rem}.page-intro>p:not(.eyebrow){font-size:1rem;margin-top:20px}.page-intro h1 br{display:none}.gallery-section{padding-top:45px}.gallery-grid{gap:30px}.gallery-grid figcaption{padding-top:15px}.standalone-map{padding-top:25px}.city-links{grid-template-columns:1fr 1fr;gap:10px}.city-links a{font-size:.875rem;padding:12px}.contact-grid{gap:35px}.contact-section{padding-top:24px}.contact-methods strong{font-size:2.1rem}.contact-methods .email-contact strong{font-size:1.17rem}.enquiry h2{font-size:1.9rem}.dialog-top p{font-size:.875rem}.dialog-top{gap:10px}.dialog-close{white-space:nowrap}#photo-viewer{padding:12px}.dialog-note{font-size:.75rem}}
