@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--paper:#f6f4ef;--ink:#262d28;--muted:#697069;--line:#dcded5;--bronze:#9b8160}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b69870;outline-offset:5px}img{display:block;width:100%;object-fit:cover}header{height:106px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);gap:24px}.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:58px;line-height:1}.brandtext{font-family:Manrope,Arial,sans-serif;font-size:25px;letter-spacing:5px;font-weight:500}.brand small{display:block;font-size:9px;letter-spacing:6px;margin-top:9px}nav{display:flex;gap:34px;font-size:13px}nav a:hover,.textlink:hover{color:var(--bronze)}.navcta{border-bottom:1px solid var(--ink);font-size:13px;padding:10px 0;display:flex;gap:25px}.menu{display:none}.hero{position:relative;min-height:680px;height:calc(100svh - 106px);max-height:960px;background:#303a31;color:white}.hero>img{height:100%;position:absolute}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,25,18,.66),rgba(12,25,18,.08) 85%),linear-gradient(0deg,rgba(12,25,18,.45),transparent 35%)}.herocontent{position:relative;z-index:1;padding:10% 7%;max-width:1000px}.eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:2.4px;line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15;letter-spacing:-1.7px}h1{font-size:clamp(50px,5.5vw,88px);margin:24px 0}h2{font-size:clamp(36px,3.4vw,54px);margin:15px 0 25px}h3{font-weight:500;line-height:1.4}em{font-weight:400;color:var(--bronze)}.hero em{color:#e1d8c8}.hero p{font-size:16px;line-height:1.9;color:#eee9df;margin-bottom:34px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ink);color:white;padding:16px 24px;font-size:12px;letter-spacing:.4px;transition:background .2s}.btn:hover{background:#4a554c}.btn.light{background:var(--paper);color:var(--ink)}.btn.light:hover{background:#e1d8c8}.btn.outline{background:transparent;border:1px solid var(--ink);color:var(--ink)}.herobottom{position:absolute;z-index:1;bottom:30px;left:7%;right:7%;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:2px}.ribbon{padding:25px 7%;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.7px}.ribbon span:before{content:'✧';margin-right:15px;color:var(--bronze)}.wrap{width:86%;max-width:1440px;margin:0 auto}section.wrap{padding-top:95px;padding-bottom:35px}.statement{display:grid;grid-template-columns:1fr 2.2fr;gap:55px}.statement>span{padding-top:25px}.statement p{max-width:680px;color:var(--muted);font-size:16px}.textlink{display:inline-block;font-size:12px;padding-bottom:5px;border-bottom:1px solid #aaad9f}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.sectionhead h2{margin-bottom:0}.featured{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.servicecard{display:block}.servicecard img{aspect-ratio:4/4.5;height:auto;transition:filter .3s}.servicecard:hover img{filter:brightness(.88)}.servicecard>div{display:flex;justify-content:space-between;align-items:center;padding:19px 0;border-bottom:1px solid var(--line);font-size:17px}.servicecard b{font-size:20px;font-weight:400}.split{display:grid;grid-template-columns:1fr 1fr;margin:100px 0 0;background:#e9e9e0}.splitimage{position:relative;min-height:650px}.splitimage img{height:100%;position:absolute}.caption{position:absolute;left:25px;bottom:20px;color:white;letter-spacing:2px;font-size:9px;background:#26332999;padding:5px 10px}.splitcopy{padding:75px 12%}.splitcopy>p{color:var(--muted)}.steps{list-style:none;padding:0;margin:35px 0 0}.steps li{display:flex;gap:25px;padding:20px 0;border-top:1px solid #cdd0c4}.steps b{font-family:Georgia,serif;font-size:25px;color:var(--bronze);font-weight:400}.steps h3{font-size:16px;margin:0 0 6px}.steps p{font-size:13px;color:var(--muted);margin:0}.bloggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.blogcard img{aspect-ratio:1.5;height:auto;margin-bottom:23px}.blogcard .eyebrow{color:var(--bronze);font-size:9px}.blogcard h3{font-family:Georgia,serif;font-size:26px;margin:12px 0 18px}.conceptnote{font-size:11px;color:var(--muted);padding-top:35px;padding-bottom:30px}.contactband{margin-top:85px;background:var(--ink);color:var(--paper);padding:65px 7%;display:flex;justify-content:space-between;align-items:center;gap:30px}.contactband h2{font-size:48px;margin:13px 0}.contactband p{color:#b8bfb5;margin:0}footer{padding:65px 7% 20px;background:#eeeee7}.footgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px}.footgrid p{font-size:13px;color:var(--muted);margin:25px 0 20px}.footgrid>div>a:not(.brand){display:block;font-size:13px;margin-top:8px}.footgrid>div>.eyebrow{margin-bottom:25px}.footbottom{border-top:1px solid #d4d6cc;display:flex;justify-content:space-between;gap:20px;margin-top:45px;padding-top:20px;font-size:10px;color:var(--muted)}.floating{position:fixed;bottom:24px;right:24px;z-index:8;background:#304c3c;color:white;padding:11px 20px;border:1px solid #ffffff44;box-shadow:0 4px 24px #0002;font-size:12px}.pageintro{padding-top:65px!important;padding-bottom:45px!important}.pageintro h1{font-size:clamp(42px,5vw,72px);max-width:1000px}.pageintro p{font-size:17px;color:var(--muted);max-width:720px}.servicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 28px;padding-top:0!important}.servicegrid img{aspect-ratio:1.25}.servicehero{position:relative;padding-top:0!important;padding-bottom:0!important}.servicehero img{max-height:660px;aspect-ratio:2.1}.contentcols{display:grid;grid-template-columns:minmax(0,2.5fr) 1fr;gap:85px;align-items:start}.contentcols article{max-width:850px}.contentcols article h2{font-size:34px;letter-spacing:-.7px;margin-top:45px}.contentcols article h2:first-of-type{margin-top:18px}.contentcols p,.prose p{color:#60685f;font-size:16px;line-height:1.95}.scope{padding-left:20px;line-height:2.2}.contentcols aside{background:#e9e9e0;padding:30px;position:sticky;top:30px}.contentcols aside h3{font-family:Georgia,serif;font-size:34px;margin-top:20px}.contentcols aside p{font-size:13px}.contentcols aside .btn{display:flex;margin:12px 0}.contentcols aside>a:not(.btn){display:block;font-size:14px}.contentcols summary{cursor:pointer;font-size:15px;padding:20px 0}.contentcols details{border-bottom:1px solid var(--line)}.contentcols details p{font-size:14px}.prose{max-width:850px;padding-top:55px!important}.prose h2{font-size:33px;letter-spacing:-.5px;margin:40px 0 20px}.contactgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;padding-top:30px!important}.phoneblock{border-top:1px solid var(--line);padding:25px 0}.phoneblock>a:first-child{display:block;font-family:Georgia,serif;font-size:38px;line-height:1.5}.addresscard{background:#e9e9e0;padding:40px}.addresscard hr{border:0;border-top:1px solid #cdd0c4;margin:35px 0}.addresscard p{color:var(--muted)}
@media(min-width:1700px){.herocontent{padding-top:8%}}@media(max-width:1000px){header{padding:0 5%;height:90px}nav{gap:20px;font-size:12px}.navcta{display:none}.hero{height:740px;min-height:0}.herocontent{padding-top:160px}.splitcopy{padding:50px 9%}.splitimage{min-height:600px}.contentcols{gap:35px}.footgrid{gap:25px}.servicecard>div{font-size:15px}.contactgrid{gap:7%}.contactband h2{font-size:38px}}
@media(max-width:700px){header{height:82px;position:relative;z-index:10}.brand{font-size:43px;gap:8px}.brandtext{font-size:20px;letter-spacing:4px}.brand small{font-size:8px;letter-spacing:4px;margin-top:7px}.menu{display:block;border:0;background:transparent;font-size:23px;padding:10px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:25px 7%;box-shadow:0 12px 15px #0001}nav.open{display:flex;flex-direction:column;gap:20px}.hero{height:660px}.hero>img{object-position:62% center}.herocontent{padding:130px 7% 0}.hero h1{font-size:53px}.hero p{font-size:14px}.hero .eyebrow{font-size:9px}.herobottom{font-size:8px;letter-spacing:1px}.herobottom>span:nth-child(2){display:none}.ribbon{padding:20px 7%;flex-wrap:wrap;gap:12px 20px;font-size:10px}.ribbon span:before{margin-right:7px}.ribbon a{width:100%}.wrap{width:86%}section.wrap{padding-top:60px;padding-bottom:20px}.statement{display:block}.statement>span{padding:0 0 15px}h2{font-size:36px;letter-spacing:-1px}.statement p{font-size:14px}.sectionhead{align-items:start;flex-direction:column;gap:20px}.featured{grid-template-columns:1fr;gap:30px}.servicecard img{aspect-ratio:1.3}.servicecard>div{padding:15px 0;font-size:18px}.split{grid-template-columns:1fr;margin-top:60px}.splitimage{min-height:370px}.splitcopy{padding:45px 7%}.bloggrid{grid-template-columns:1fr;gap:40px}.blogcard img{aspect-ratio:1.5}.blogcard h3{font-size:26px}.contactband{padding:45px 7%;margin-top:55px;display:block}.contactband h2{font-size:38px}.contactband .btn{margin-top:25px}.footgrid{grid-template-columns:1fr;gap:35px}.footgrid>div>.eyebrow{margin-bottom:15px}.footbottom{flex-direction:column;gap:6px;padding-bottom:55px}.floating{right:14px;bottom:14px;font-size:11px;padding:10px 17px}.pageintro{padding-top:45px!important}.pageintro h1{font-size:43px;letter-spacing:-1px}.pageintro p{font-size:15px}.servicegrid{grid-template-columns:1fr;gap:35px}.servicehero img{aspect-ratio:1.2}.contentcols{grid-template-columns:1fr;gap:35px}.contentcols article h2{font-size:30px}.contentcols p,.prose p{font-size:15px}.contentcols aside{position:static}.contactgrid{grid-template-columns:1fr;gap:40px}.phoneblock>a:first-child{font-size:32px}.addresscard{padding:30px}.prose h2{font-size:29px}.caption{font-size:8px;left:15px;bottom:15px}.conceptnote{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.process { padding-top: 55px !important; padding-bottom: 0 !important; }
.process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.process-grid figure { margin: 0; }
.process-grid img { height: auto; aspect-ratio: 3 / 2; }
.process-grid figcaption { border-bottom: 1px solid var(--line); padding: 12px 0; font-weight: 600; }
.process > p { color: var(--muted); font-size: 12px; margin: 14px 0 0; }
.footgrid { align-items: start; grid-template-columns: 1fr 1.4fr 1fr; }
.footgrid > div > .eyebrow { margin-bottom: 14px; }
.footer-office p { margin-top: 0; }
.footer-phone { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 15px; padding: 7px 0; }
.footer-phone a, .footgrid .footer-mail { display: inline-flex !important; align-items: center; gap: 8px; font-size: 13px; }
.footer-phone a + a { color: #345441; text-decoration: underline; text-underline-offset: 3px; }
.footer-contact svg { width: 16px; height: 16px; flex: 0 0 16px; }
@media(max-width: 700px) {
  .process-grid, .footgrid { grid-template-columns: 1fr; }
  .process-grid { gap: 20px; }
}

.transformation > p { max-width: 760px; font-size: 14px; margin: 0 0 22px; }
.transformation .process-grid + p { margin: 14px 0; font-size: 12px; }
.transformation figcaption .eyebrow { color: #70604a; margin-bottom: 4px; }
.brands-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; padding-top: 0 !important; }
.brand-card { display: block; background: #fff; border: 1px solid var(--line); padding: 24px; }
.brand-card:hover { border-color: var(--bronze); }
.brand-card img, .brand-word { width: 160px; max-width: 100%; height: 62px; object-fit: contain; object-position: left center; margin-bottom: 18px; }
.brand-word { display: flex; align-items: center; font-size: 21px; }
.brand-card p { margin: 9px 0 0; color: var(--muted); font-size: 14px; }
@media(max-width: 1100px) { header nav { gap: 16px; } header .navcta { display: none; } }
@media(max-width: 700px) { .brands-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; } .brand-card { padding: 16px; } }
@media(max-width: 380px) { .brands-grid { grid-template-columns: 1fr; } }
.contentcols aside .btn { padding-inline: 12px; }
.zoom-image { display: block; cursor: zoom-in; }
.photo-dialog { max-width: 94vw; max-height: 94vh; border: 0; padding: 12px; background: #252b27; color: white; }
.photo-dialog::backdrop { background: #171b18dd; }
.photo-dialog form { display: flex; justify-content: end; margin-bottom: 8px; }
.photo-dialog button { background: #f6f4ef; color: #252b27; padding: 4px 14px; border: 0; cursor: pointer; }
.photo-dialog img { width: auto; max-width: 100%; max-height: 79vh; object-fit: contain; }
.variations .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media(max-width: 700px) { .variations .process-grid { grid-template-columns: 1fr; } }
.related-specialties { padding-top: 45px !important; }
.related-specialties h2 { font-size: clamp(28px,3vw,38px); }
.related-specialties a { margin: 0 18px 12px 0; }
.finished-rooms .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media(max-width: 700px) { .finished-rooms .process-grid { grid-template-columns: 1fr; } }
.portfolio-section .sectionhead p { color: var(--muted); margin: 12px 0 0; }
.portfolio-section .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.portfolio-section figure:first-child img { object-position: center; }
@media(max-width: 700px) { .portfolio-section .process-grid { grid-template-columns: 1fr; } }
@media(min-width: 701px) and (max-width: 940px) { header nav { gap: 11px; flex-wrap: wrap; } }
.portfolio-cover img { aspect-ratio: 3 / 2; max-height: none; height: auto; }
