:root{--bg:#171917;--panel:#1e211e;--text:#f2f3ef;--muted:#a8ada5;--accent:#d5ad86;--line:#393d36;color-scheme:dark;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.skip{position:fixed;top:-100px;left:20px;background:var(--accent);color:var(--bg);padding:12px;z-index:10}.skip:focus{top:16px}.header{height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:30px;background:var(--bg);position:relative;z-index:5}.brand{display:flex;flex-direction:column;line-height:1}.wordmark{font-size:38px;font-weight:700;letter-spacing:-2px}.brand-dot{color:var(--accent)}.brand-sub{font-size:10px;letter-spacing:2.1px;margin-top:8px}.desktop-nav{display:flex;gap:32px;font-size:14px}.desktop-nav a{color:#c2c6be;transition:color .2s}.desktop-nav a:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:30px}.languages{display:flex;gap:7px;align-items:center;font-size:14px;color:#71786d}.lang{border:0;background:transparent;padding:6px 3px;color:var(--muted);font-size:14px}.lang.active{color:var(--text)}.nav-contact{font-size:14px;border-bottom:1px solid var(--accent);padding-bottom:4px}.menu-toggle{display:none;background:none;border:0;width:36px;height:36px;padding:7px}.menu-toggle span{display:block;height:1px;background:var(--text);margin:6px 0}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:24px 6%;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:12px 0}.hero{min-height:650px;height:calc(100svh - 110px);max-height:900px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,13,10,.83) 0%,rgba(10,13,10,.62) 35%,rgba(10,13,10,.07) 80%),linear-gradient(0deg,rgba(10,13,10,.7),transparent 25%)}.hero-content{position:relative;margin:0 5%;max-width:850px;padding:60px 0 100px}.eyebrow{font-size:12px;letter-spacing:2px;display:flex;align-items:center;gap:14px;margin:0 0 30px;font-weight:500}.small-line{width:32px;height:1px;background:var(--accent)}h1{font-size:clamp(44px,5.7vw,88px);font-weight:400;line-height:1.16;letter-spacing:-2.5px;margin:0 0 28px}.hero-serif,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}.hero-serif{color:#efdec9}.hero-description{max-width:460px;color:#dbded7;margin:0 0 36px;line-height:1.8;font-size:16px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:53px;background:var(--accent);color:var(--bg);padding:14px 24px;font-size:14px;font-weight:500;border:1px solid var(--accent);transition:background .2s,color .2s}.button:hover{background:#ecc39a}.hero-footer{position:absolute;bottom:27px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;letter-spacing:1.4px}.image-caption{font-size:12px;letter-spacing:0;color:#e0e1dc}.scroll-link{font-size:12px;letter-spacing:0;border-bottom:1px solid #b2b6aa;padding-bottom:5px}.section{padding:110px 7%;max-width:1700px;margin:0 auto}.accent{color:var(--accent)}h2{font-weight:400;font-size:clamp(32px,3.5vw,54px);line-height:1.25;letter-spacing:-1.4px;margin:0 0 30px}.muted{color:var(--muted)}.intro-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:10%}.intro-copy p{color:var(--muted);line-height:1.85;margin:0 0 24px}.intro-copy .lead{color:var(--text);font-size:20px;line-height:1.6}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.principles span{padding:23px 26px;font-size:15px;border-right:1px solid var(--line);text-align:center}.principles span:first-child{padding-left:0;text-align:left}.principles span:last-child{border:0;padding-right:0;text-align:right}.services{background:var(--panel);max-width:none}.section-heading>p:last-child:not(.eyebrow){color:var(--muted);margin:0 0 40px}.service-list{margin-top:54px}.service-list details{border-top:1px solid #41453d}.service-list details:last-child{border-bottom:1px solid #41453d}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:42px;padding:29px 0}summary::-webkit-details-marker{display:none}.service-number{color:var(--accent);font-size:14px}.service-title{font-size:clamp(21px,2.3vw,34px);line-height:1.4;letter-spacing:-.7px}.plus{position:relative;margin-left:auto;flex:0 0 24px;height:24px}.plus:before,.plus:after{content:'';position:absolute;background:var(--accent);top:11px;left:4px;width:16px;height:1px}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}.service-body{margin-left:59px;max-width:780px;padding:0 0 35px}.service-body>p{color:var(--muted);margin:0 0 23px;line-height:1.85}.service-tags{display:flex;gap:10px;flex-wrap:wrap}.service-tags span{border:1px solid #464b41;color:#d0d4cb;padding:5px 12px;font-size:13px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;margin-top:58px}.step-index{color:var(--accent);font-size:14px;display:block;border-top:1px solid var(--line);padding-top:22px;margin-bottom:35px}.steps h3{font-size:23px;font-weight:400;margin:0 0 16px}.steps p{color:var(--muted);margin:0;line-height:1.8}.office{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line);align-items:center}.office-wordmark{font-size:clamp(66px,7vw,112px);line-height:1.2;font-weight:700;letter-spacing:-6px;margin-top:35px}.office-wordmark span{color:var(--accent)}.office-sub{font-size:12px;letter-spacing:2px;color:var(--muted)}.office-copy h2{font-size:33px;letter-spacing:-.8px}.office-copy>p{color:var(--muted);line-height:1.85}.signature{display:flex;flex-direction:column;margin-top:30px;border-left:2px solid var(--accent);padding-left:20px;gap:5px}.signature span:first-child{font-size:18px}.signature span:last-child{color:var(--muted);font-size:14px}.contact{background:var(--accent);color:var(--bg);max-width:none}.contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;align-items:start}.contact h2{font-size:clamp(40px,4.5vw,68px)}.contact h2 .serif{color:#4a3b2b}.contact-layout>div>p{max-width:450px;color:#463f34;line-height:1.8}.contact-info{padding-top:9px}.contact-label{font-size:12px;letter-spacing:1.8px}.contact-info h3{font-size:25px;font-weight:400;margin:24px 0 7px}.contact-info>p{font-size:16px;margin:0 0 25px}.button-dark{background:var(--bg);border-color:var(--bg);color:var(--text)}.button-dark:hover{background:#32372e;color:var(--text)}.meeting-note{border-top:1px solid #a88a6c;margin-top:35px;padding-top:23px}.meeting-note>span{font-size:14px;font-weight:700}.meeting-note p{font-size:15px;color:#463f34;max-width:400px;margin:8px 0 0}footer{display:flex;align-items:center;gap:35px;padding:35px 5%;font-size:12px;color:var(--muted);flex-wrap:wrap}.footer-brand{font-size:24px;letter-spacing:-1px;color:var(--text);font-weight:700}footer p{margin:0 auto 0 0;font-size:14px}.back-top{border-bottom:1px solid var(--line);padding-bottom:3px}@media(min-width:1700px){.services,.contact{padding-left:max(7%,calc((100vw - 1462px)/2));padding-right:max(7%,calc((100vw - 1462px)/2))}}@media(max-width:1050px){.desktop-nav{gap:18px}.header-actions{gap:18px}.steps{grid-template-columns:repeat(2,1fr);row-gap:45px}.office{gap:6%}.office-copy h2{font-size:30px}.hero-footer .scroll-link{display:none}}@media(max-width:780px){.header{height:90px;padding:0 6%}.wordmark{font-size:31px}.brand-sub{font-size:9px;letter-spacing:1.4px}.desktop-nav,.nav-contact{display:none}.menu-toggle{display:block}.header-actions{gap:14px}.hero{height:auto;min-height:680px;max-height:none}.hero-image{object-position:66% center}.hero-shade{background:linear-gradient(90deg,rgba(10,13,10,.81),rgba(10,13,10,.29)),linear-gradient(0deg,rgba(10,13,10,.74),transparent 45%)}.hero-content{margin:0 6%;padding:90px 0 140px;width:88%}h1{font-size:clamp(38px,8.1vw,60px);letter-spacing:-1.6px}.hero-description{max-width:400px}.hero-footer{left:6%;right:6%;align-items:start;flex-direction:column;gap:12px;bottom:27px;letter-spacing:1px}.section{padding:75px 6%}.intro-layout,.office,.contact-layout{grid-template-columns:1fr;gap:25px}.intro-copy .lead{font-size:19px}.principles{grid-template-columns:1fr;margin-top:28px}.principles span,.principles span:first-child,.principles span:last-child{text-align:left;padding:15px 0;border-right:0;border-bottom:1px solid var(--line)}.principles span:last-child{border-bottom:0}.eyebrow{font-size:12px;letter-spacing:1.5px}.hero .eyebrow{font-size:11px;letter-spacing:1px}h2{font-size:36px;letter-spacing:-1px}.service-list{margin-top:34px}summary{gap:20px;padding:25px 0}.service-title{font-size:22px}.service-body{margin-left:36px}.service-tags span{font-size:12px}.steps{gap:30px}.steps p{font-size:15px}.steps h3{font-size:21px}.step-index{margin-bottom:24px}.office-wordmark{font-size:82px;letter-spacing:-4px;margin-top:15px}.office-copy h2{font-size:30px}.contact-info{margin-top:15px}.contact h2{font-size:44px}.contact .eyebrow{margin-bottom:25px}footer{padding:30px 6%;gap:20px}footer p{flex-basis:calc(100% - 110px);font-size:12px}footer>span{margin-right:auto}}@media(max-width:380px){.hero-content{padding-top:70px}.hero{min-height:660px}.steps{grid-template-columns:1fr}.service-title{font-size:20px}.hero .eyebrow{font-size:10px}.small-line{width:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* The supplied logo is preserved; its outer whitespace is framed in the layout. */
.logo-frame{position:relative;display:block;overflow:hidden;background:#fff;width:var(--logo-width);height:calc(var(--logo-width)*.925);flex-shrink:0}.logo-frame img{position:absolute;width:150%;height:auto;max-width:none;left:-25%;top:-40.54%}.header-logo{--logo-width:116px}.header{height:143px}.hero{height:calc(100svh - 143px)}.office-logo{--logo-width:360px;max-width:100%;margin-top:30px}.footer-logo{--logo-width:80px}.office-name{min-width:0}html{scroll-padding-top:143px}@media(max-width:780px){.header{height:124px}.header-logo{--logo-width:102px}.hero{height:auto}.office-logo{--logo-width:min(360px,84vw)}html{scroll-padding-top:124px}footer p{flex-basis:calc(100% - 110px)}}

.team-bio{border-top:1px solid var(--line);margin-top:32px;padding-top:28px}.team-bio h3{font-size:23px;font-weight:400;margin:0 0 16px;line-height:1.4}.team-bio p{color:var(--muted);line-height:1.85;margin:0}.team-members{display:grid;grid-template-columns:1fr;gap:22px;margin-top:30px}.team-members .signature{margin-top:0}.office{align-items:start}.office-name{position:sticky;top:36px}@media(max-width:780px){.office-name{position:static}}

/* Project showcase, planning updates and the two offices. */
[hidden]{display:none!important}.desktop-nav{gap:25px}.projects{border-bottom:1px solid var(--line)}.editorial-empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0;margin-top:40px}.editorial-empty p{font-family:Georgia,serif;font-size:25px;line-height:1.5;margin:0 0 10px}.editorial-empty span{color:var(--muted);font-size:16px}.news{background:var(--panel);max-width:none}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px}.project-card{min-width:0}.project-cover{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.project-meta{font-size:14px;color:var(--accent);margin:22px 0 9px}.project-card h3{font-size:27px;font-weight:400;margin:0 0 14px;line-height:1.4}.project-card p{color:var(--muted);line-height:1.8}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:16px}.project-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.project-card details{border-top:1px solid var(--line);margin-top:20px}.project-card summary{padding:16px 0;font-size:15px;color:var(--accent)}.news-list details{border-top:1px solid var(--line)}.news-list details:last-child{border-bottom:1px solid var(--line)}.news-list summary{display:block}.news-date{font-size:14px;color:var(--accent)}.news-list h3{font-size:28px;font-weight:400;line-height:1.4;margin:12px 0}.news-list summary p{color:var(--muted);margin:0}.news-body{max-width:850px;padding-bottom:28px}.news-body p{color:#d0d4cb;line-height:1.8;white-space:pre-line}.news-source{color:var(--accent);font-size:15px;border-bottom:1px solid var(--accent)}.partner-contacts{padding-top:12px}.partner-contacts .contact-label{margin:0 0 20px}.partner-phone{display:flex;flex-direction:column;gap:6px;padding:16px 0;border-top:1px solid #ac8b69}.partner-phone>span{font-size:16px}.partner-phone>a{font-size:25px;line-height:1.5;width:fit-content}.partner-phone>a:hover,.landline:hover{text-decoration:underline}.office-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:50px}.office-location{border:1px solid #a88c70;padding:30px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.location-heading{width:100%;border-bottom:1px solid #ac8b69;padding-bottom:20px;margin-bottom:20px}.location-heading h3{font-size:27px;font-weight:400;line-height:1.4;margin:0 0 12px}.location-schedule{display:inline-block;background:var(--bg);color:var(--text);font-size:14px;padding:5px 12px}.office-address{font-size:18px;margin:0 0 16px;line-height:1.6}.landline{font-size:23px;margin-bottom:20px}.office-mobile-note{font-size:16px;color:#463f34;margin:0 0 20px}.map-link{font-size:15px;border-bottom:1px solid #463f34;padding-bottom:3px;margin-top:auto}.contact>.meeting-note{margin-top:32px}.contact>.meeting-note p{max-width:none}.services .service-body p+p{margin-top:20px}@media(min-width:1700px){.news{padding-left:max(7%,calc((100vw - 1462px)/2));padding-right:max(7%,calc((100vw - 1462px)/2))}}@media(max-width:1200px){.desktop-nav{gap:18px}.desktop-nav a{font-size:13px}.header-actions{gap:18px}}@media(max-width:1050px){.desktop-nav,.nav-contact{display:none}.menu-toggle{display:block}}@media(max-width:780px){.projects-grid,.office-locations{grid-template-columns:1fr}.office-locations{gap:20px;margin-top:35px}.office-location{padding:24px}.editorial-empty{margin-top:26px;padding:28px 0}.editorial-empty p{font-size:23px}.partner-contacts{padding-top:0}.project-card h3,.news-list h3{font-size:24px}.project-gallery{gap:8px}}

.company-email{display:block;width:fit-content;font-size:clamp(18px,2.1vw,25px);line-height:1.5;margin-bottom:27px;overflow-wrap:anywhere;border-bottom:1px solid #463f34;padding-bottom:5px}.company-email:hover{color:#4a3b2b}

.hero-image{object-position:60% 65%}@media(max-width:780px){.hero-image{object-position:65% 65%}}

/* Supplied charcoal-and-gold brand artwork, displayed without white framing. */
:root{--bg:#2d2e2b;--panel:#252724;--text:#f2f1eb;--muted:#b8bab1;--accent:#d2a85f;--line:#484b43}.header{height:128px}.hero{height:calc(100svh - 128px)}.hero-serif{color:#f1dfbb}.logo-frame{background:transparent;height:auto;aspect-ratio:1744/901;overflow:visible}.logo-frame img{position:static;display:block;width:100%;height:auto;max-width:100%;transform:none}.header-logo{--logo-width:185px}.office-logo{--logo-width:400px}.footer-logo{--logo-width:120px}.hero-shade{background:linear-gradient(90deg,rgba(16,18,15,.83),rgba(16,18,15,.56) 38%,rgba(16,18,15,.06) 80%),linear-gradient(0deg,rgba(16,18,15,.68),transparent 25%)}.contact h2 .serif{color:#4a391d}.partner-phone,.location-heading{border-color:#a27d42}.office-location{border-color:#9f7b43}html{scroll-padding-top:128px}.header-actions{flex-shrink:0}@media(max-width:780px){.header{height:108px}.header-logo{--logo-width:154px}.hero{height:auto}.office-logo{--logo-width:min(400px,88vw)}.footer-logo{--logo-width:100px}.hero-shade{background:linear-gradient(90deg,rgba(16,18,15,.81),rgba(16,18,15,.27)),linear-gradient(0deg,rgba(16,18,15,.74),transparent 45%)}html{scroll-padding-top:108px}footer p{flex-basis:calc(100% - 120px)}}

/* Service detail pages */
.service-detail-link{display:inline-flex;align-items:center;gap:12px;color:var(--accent);font-size:15px;border-bottom:1px solid currentColor;margin:24px 0 0;padding-bottom:4px;line-height:1.7}
.service-detail-link:hover{color:var(--text)}
.service-detail-link:focus-visible,.service-related-links a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.service-page-intro{padding-bottom:60px;border-bottom:1px solid var(--line)}
.service-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;color:var(--muted);margin-bottom:38px}
.service-breadcrumb a{color:var(--accent)}
.service-page-intro h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,4.6vw,72px);line-height:1.2;letter-spacing:-1px;max-width:1100px;margin:18px 0 30px;text-wrap:balance}
.service-page-lead{font-size:20px;line-height:1.8;max-width:920px;color:var(--muted);margin:0}
.service-page-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:80px;padding-top:70px;padding-bottom:70px}
.service-page-block+.service-page-block{border-top:1px solid var(--line);padding-top:30px;margin-top:32px}
.service-page-block h2{font-size:27px;font-weight:400;line-height:1.4;margin:0 0 18px}
.service-page-block p{color:var(--muted);line-height:1.9;margin:0}
.service-page-aside{background:var(--panel);border:1px solid var(--line);padding:34px;align-self:start;min-width:0}
.service-page-aside h2{font-family:Georgia,serif;font-size:30px;line-height:1.35;font-weight:400;margin:18px 0}
.service-page-aside>p:not(.eyebrow){color:var(--muted)}
.service-page-aside .button{margin:16px 0 24px;width:100%}
.service-page-phone,.service-page-email{display:block;width:fit-content;color:var(--accent);overflow-wrap:anywhere}
.service-page-phone{font-size:24px;margin-bottom:8px}
.service-page-email{font-size:15px;margin-bottom:28px}
.service-page-aside .service-page-office{color:var(--text);margin:16px 0 4px;font-size:15px}
.service-page-days{font-size:14px;margin:0}
.service-page-related{padding-top:0;padding-bottom:80px}
.service-page-related h2{font-size:25px;font-weight:400;margin:0 0 24px}
.service-related-links{display:flex;flex-wrap:wrap;gap:20px 36px}
.service-related-links a{color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:6px}
@media(max-width:900px){.service-page-layout{grid-template-columns:1fr;gap:40px}.service-page-aside{max-width:620px;width:100%}}
@media(max-width:780px){.service-page-intro{padding-top:48px;padding-bottom:40px}.service-breadcrumb{margin-bottom:30px}.service-page-intro h1{font-size:38px;letter-spacing:-.5px}.service-page-lead{font-size:18px}.service-page-layout{padding-top:42px;padding-bottom:50px}.service-page-aside{padding:25px}.service-page-block h2{font-size:24px}.service-page-related{padding-bottom:55px}}
