@charset "UTF-8";
:root{--bg:#171918;--surface:#202321;--surface-deep:#121413;--text:#f1eee7;--muted:#b5b9b2;--copper:#d3a478;--line:#3b3f3a;--ink:#1a211c;--paper:#eae7dd;--max:1248px;color-scheme:dark;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.6}
body.dialog-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
a,button{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%;object-fit:contain;filter:none}
figure,p,h1,h2,h3{margin:0}
button,a{touch-action:manipulation}
:focus-visible{outline:3px solid var(--copper);outline-offset:6px}
::selection{background:var(--copper);color:var(--ink)}
.wrap{width:calc(100% - 112px);max-width:var(--max);margin-inline:auto}
.skip-link{position:fixed;left:20px;top:-100px;z-index:10;padding:12px 20px;background:var(--paper);color:var(--ink)}
.skip-link:focus{top:12px}
.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}
.brand{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:700;letter-spacing:.11em;white-space:nowrap}
.brand-mark{font-size:22px;letter-spacing:-.09em;font-weight:500;border:1px solid #6c6a59;display:grid;place-content:center;position:relative;width:47px;height:47px;padding-right:5px}
.brand-mark span{position:absolute;right:5px;bottom:3px;color:var(--copper);font-size:16px}
nav{display:flex;align-items:center;gap:32px;font-size:13px;color:var(--muted)}
nav a,.header-contact{padding-block:13px}
nav a:hover,.text-link:hover,.email-address:hover{color:var(--copper)}
.header-contact{font-size:14px;display:flex;gap:24px;align-items:center}
.header-contact span{color:var(--copper);font-size:23px}
.hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);gap:70px;align-items:center;padding-block:76px 84px}
.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:600;line-height:1.6;color:var(--copper);display:flex;align-items:center;gap:12px}
.small-line{display:inline-block;width:30px;height:1px;background:var(--copper)}
h1{font-size:clamp(66px,7.5vw,108px);font-weight:500;letter-spacing:-.065em;line-height:.99;margin-top:30px}
h1 span{color:var(--copper)}
.hero-service{font-size:20px;letter-spacing:-.02em;margin-top:32px}
.hero-description{font-size:17px;line-height:1.75;color:var(--muted);max-width:395px;margin-top:12px}
.hero-actions{display:flex;flex-wrap:wrap;gap:26px;align-items:center;margin-top:34px}
.button{display:inline-flex;gap:34px;justify-content:space-between;align-items:center;min-height:54px;padding:14px 22px;color:var(--ink);background:var(--copper);font-size:14px;font-weight:600;border:1px solid var(--copper);transition:background .18s ease}
.button:hover{background:#e6bb92}
.button span{font-size:21px;line-height:1}
.text-link{display:inline-flex;align-items:center;gap:16px;font-size:13px;min-height:44px}
.text-link span{font-size:20px;color:var(--copper)}
.hero-note{font-size:12px;color:var(--muted);line-height:1.75;margin-top:34px;padding-left:14px;border-left:1px solid #74624f}
.hero-project{width:100%;max-width:408px;justify-self:end}
.hero-mat{padding:14px;border:1px solid #504b41;background:#222521}
.photo-link{display:block;position:relative;background:#101210}
.photo-link img{width:100%;height:100%;object-fit:contain}
.hero-mat img{aspect-ratio:3/4;height:auto}
.photo-open{position:absolute;bottom:10px;right:10px;width:32px;height:32px;border:1px solid #555c51;display:grid;place-items:center;background:var(--bg);color:var(--text);font-size:21px;opacity:0;transition:opacity .18s}
.photo-link:hover .photo-open,.photo-link:focus-visible .photo-open{opacity:1}
.hero-project figcaption{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-top:18px}
.caption-kicker{display:block;font-size:10px;font-weight:600;letter-spacing:.12em;line-height:1.6;color:var(--muted)}
.hero-project strong{display:block;margin-top:4px;font-size:15px;font-weight:400}
.figure-number{font-family:Georgia,serif;font-size:29px;color:var(--copper);line-height:1}
.services-section{background:var(--paper);color:var(--ink);padding-block:76px 84px;color-scheme:light}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}
h2{font-size:clamp(34px,3.4vw,48px);font-weight:400;letter-spacing:-.045em;line-height:1.12;margin-top:14px}
.section-heading>p{font-size:14px;color:var(--muted);line-height:1.75;max-width:350px;padding-bottom:3px}
.services-section .eyebrow{color:#7d4924}
.services-section .section-heading>p{color:#525a52}
.services-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #b9bdb1}
.service{padding:32px 52px 0 0}
.service+ .service{border-left:1px solid #b9bdb1;margin-top:32px;padding:0 0 0 52px}
.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.service-number{font-size:11px;letter-spacing:.13em;color:#615d4e}
.service svg{width:42px;height:42px;fill:none;stroke:#926039;stroke-width:1.25;stroke-linejoin:round}
.service h3{font-size:36px;letter-spacing:-.04em;line-height:1.2;font-weight:400}
.service>p{color:#525a52;font-size:15px;line-height:1.8;margin-top:16px;max-width:440px}
.service-examples{list-style:none;padding:0;display:flex;gap:9px 20px;flex-wrap:wrap;margin:23px 0 15px;font-size:11px;letter-spacing:.02em;font-weight:600}
.service-examples li{border-bottom:1px solid #b9bdb1;padding-bottom:5px}
.service .text-link{font-weight:600}.service .text-link span{color:#86522c}.service .text-link:hover{color:#86522c}
.services-section :focus-visible{outline-color:#86522c}
.work-section{padding-block:100px 96px}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:52px 32px}
.project{min-width:0;scroll-margin-top:28px}
.project .portrait{aspect-ratio:3/4;max-height:580px}
.project .landscape{aspect-ratio:4/3}
.project .square{aspect-ratio:1}
.project figcaption{padding-top:19px}
.project h3{font-size:22px;font-weight:400;letter-spacing:-.025em;margin-top:7px;line-height:1.3}
.project figcaption>p{font-size:13px;color:var(--muted);margin-top:7px}
.project-feature{display:grid;grid-template-columns:1fr 1fr;grid-column:1/-1;background:var(--surface);border:1px solid var(--line)}
.project-feature figcaption{padding:45px;align-self:center}
.project-feature h3{font-size:clamp(30px,3vw,44px);letter-spacing:-.045em;line-height:1.12;margin-top:18px}
.project-feature figcaption>p{font-size:15px;line-height:1.8;margin-top:22px;max-width:330px}
.material-note{display:block;font-size:9px;letter-spacing:.1em;color:var(--copper);margin-top:38px}
.process-section{background:var(--surface-deep);padding-block:76px 80px;border-block:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;list-style:none;margin:0;padding:0}
.steps li{border-top:1px solid var(--line);padding-top:24px}
.step-number{font-size:12px;color:var(--copper)}
.steps h3{font-size:21px;letter-spacing:-.025em;font-weight:400;margin-top:20px}
.steps p{font-size:14px;line-height:1.85;color:var(--muted);margin-top:12px;max-width:300px}
.about-section{display:grid;grid-template-columns:170px minmax(0,1fr) 360px;gap:48px;align-items:center;padding-block:90px}
.portrait-wrap{padding:8px;border:1px solid var(--line)}
.portrait-wrap img{width:100%;height:auto;object-fit:contain}
.about-copy{max-width:610px}
.about-copy h2{font-size:39px}
.about-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.85;margin-top:18px}
.location-note{justify-self:end;border-left:1px solid var(--line);padding-left:28px}
.location-cross{color:var(--copper);font-size:31px;line-height:1;font-weight:300}
.location-note p{font-size:10px;letter-spacing:.15em;line-height:1.9;margin-top:15px}
.location-note>span:last-child{display:block;font-size:12px;color:var(--muted);line-height:1.7;margin-top:20px}
.contact-section{background:#262b26;border-block:1px solid #454c40;padding-block:74px 82px}
.contact-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:center}
.contact-section h2{font-size:clamp(48px,5.5vw,76px);letter-spacing:-.055em;margin-top:22px;line-height:1.04}
.contact-section h2 span{color:var(--copper)}
.contact-copy>p:first-child{font-size:16px;line-height:1.8;color:#c7cbc2;max-width:360px}
.contact-copy .button{margin-top:28px;min-width:190px}
.email-address{display:block;width:fit-content;font-size:14px;margin-top:19px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#6b7567}
.contact-note{color:var(--muted);font-size:12px;margin-top:16px}
.site-footer{min-height:100px;display:flex;justify-content:space-between;align-items:center;gap:26px;color:var(--muted);font-size:11px}
.site-footer a{padding-block:13px;white-space:nowrap}.site-footer a span{padding-left:13px;color:var(--copper)}
dialog{padding:22px;background:var(--bg);color:var(--text);border:1px solid var(--line);width:min(960px,94vw);max-height:94dvh;overflow:auto}
dialog::backdrop{background:rgba(0,0,0,.88)}
.dialog-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:var(--muted);font-size:12px}
.dialog-close,.dialog-controls button{border:1px solid #626b5e;color:var(--text);background:var(--surface);min-width:44px;min-height:44px;padding:7px 14px}
.dialog-close span{font-size:21px;margin-left:12px}.dialog-close:hover,.dialog-controls button:hover{background:#394134}
#dialog-image{max-height:64dvh;width:100%;height:auto;object-fit:contain}
.dialog-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:20px}
.dialog-bottom h2{font-size:23px;margin-top:0}.dialog-bottom p{font-size:13px;color:var(--muted);margin-top:5px}
.dialog-controls{display:flex;gap:8px;flex-shrink:0}
@media(min-width:1500px){.hero{gap:100px}.hero-project{max-width:426px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{gap:40px}.hero-actions{gap:14px}.button{gap:22px}nav{gap:22px}.about-section{grid-template-columns:150px minmax(0,1fr);gap:32px}.location-note{display:none}.service{padding-right:30px}.service+.service{padding-left:30px}.project-feature figcaption{padding:28px}.contact-inner{gap:40px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:84px;gap:16px}.brand{font-size:11px;gap:10px;letter-spacing:.08em}.brand-mark{width:38px;height:38px;font-size:19px}.brand-mark span{bottom:1px;right:3px}nav{display:none}.header-contact{font-size:12px;gap:10px}.hero{grid-template-columns:1fr;padding-block:48px 50px;gap:43px}.hero .eyebrow{font-size:9px;letter-spacing:.14em}h1{font-size:clamp(62px,12vw,89px);margin-top:24px}.hero-service{font-size:18px;margin-top:25px}.hero-description{font-size:15px;max-width:380px}.hero-actions{gap:15px 24px;margin-top:27px}.button{padding:13px 18px;font-size:13px;min-height:50px}.hero-note{margin-top:25px}.hero-project{max-width:440px;justify-self:center}.hero-mat{padding:10px}.hero-project figcaption{margin-top:14px}.caption-kicker{font-size:9px}.hero-project strong{font-size:14px}.figure-number{font-size:25px}.services-section{padding-block:49px 54px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:13px}h2{font-size:35px}.eyebrow{font-size:10px}.services-grid{grid-template-columns:1fr}.service{padding:25px 0 0}.service+.service{margin-top:30px;padding:27px 0 0;border-left:0;border-top:1px solid #b9bdb1}.service h3{font-size:32px}.service-top{margin-bottom:16px}.service>p{font-size:14px}.service-examples{gap:9px 16px}.work-section{padding-block:55px}.gallery{gap:32px 20px}.project h3{font-size:19px}.project figcaption{padding-top:14px}.project-feature{grid-template-columns:1fr}.project-feature figcaption{padding:28px}.project-feature h3{font-size:32px}.material-note{margin-top:24px}.process-section{padding-block:49px 52px}.steps{grid-template-columns:1fr;gap:25px}.steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:0 16px;padding-top:21px}.step-number{padding-top:5px}.steps h3{margin-top:0}.steps p{grid-column:2;margin-top:9px;max-width:none}.about-section{grid-template-columns:110px minmax(0,1fr);align-items:start;gap:25px;padding-block:52px}.about-copy .eyebrow{font-size:9px;letter-spacing:.1em}.about-copy h2{font-size:32px}.about-copy>p:not(.eyebrow){font-size:13px}.contact-section{padding-block:49px 52px}.contact-inner{grid-template-columns:1fr;gap:28px}.contact-section h2{font-size:54px}.contact-copy>p:first-child{font-size:14px}.contact-copy .button{margin-top:22px}.site-footer{align-items:start;flex-wrap:wrap;gap:14px;padding-block:26px}.site-footer>span:nth-child(2){order:3;flex-basis:100%;font-size:10px}.site-footer a{padding:0;margin-left:auto}dialog{padding:14px}.dialog-bottom{align-items:start;flex-direction:column}.dialog-bottom h2{font-size:21px}}
@media(max-width:480px){.gallery{grid-template-columns:1fr;gap:32px}.project-feature{grid-column:auto}.project .portrait{max-height:none}.project h3{font-size:21px}.about-section{grid-template-columns:1fr}.portrait-wrap{width:126px}.about-copy h2{font-size:35px}.about-copy>p:not(.eyebrow){font-size:14px}.hero-actions{gap:10px 19px}.hero-actions .text-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Services palette only. Layout and typography remain unchanged. */
.services-section{background-color:#292824;color:#f1eee7;color-scheme:dark}
.services-section .section-heading>p,.services-section .service>p{color:#c9c6bd}
.services-section .eyebrow,.services-section .service-number,.services-section .service .text-link{color:#d3a478}
.services-section .service .text-link:hover{color:#e6bb92}
.services-section .service svg{stroke:#d3a478}
.services-section .services-grid,.services-section .service+.service,.services-section .service-examples li{border-color:#7c786e}
.services-section :focus-visible{outline-color:#e6bb92}

/* About location map sizing only. Existing city label is retained. */
.about-section .location-note{display:block;width:100%;min-width:0}
.about-section .location-map{display:block;width:100%;height:330px;margin-top:18px;border:0}
@media(max-width:1100px){
  .about-section .location-note{grid-column:1/-1;justify-self:stretch;padding-left:0;border-left:0;padding-top:24px;border-top:1px solid var(--line)}
  .about-section .location-map{height:280px}
}
@media(max-width:760px){.about-section .location-map{height:260px}}
