@font-face{font-family:Inter;src:url('../fonts/Inter-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('../fonts/Inter-500.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Inter;src:url('../fonts/Inter-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Inter;src:url('../fonts/Inter-900.woff2') format('woff2');font-weight:900;font-display:swap}
:root{--ink:#1f2022;--gold:#d0a066;--paper:#faf7f3;--sand:#f0e4d5;--taupe:#a99177;--muted:#625d56;--line:#dcd3c8;--wrap:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure{margin:0}p{margin:0 0 1.3em;color:var(--muted)}h1,h2,h3{margin:0;font-weight:700;line-height:1.04;letter-spacing:-.055em}h1{font-size:clamp(54px,6.5vw,112px);font-weight:900}h2{font-size:clamp(36px,4.15vw,66px)}h3{font-size:25px;line-height:1.2;letter-spacing:-.035em}em{font-weight:400;font-style:normal;color:#8e6035}::selection{background:var(--gold);color:var(--ink)}:focus-visible{outline:3px solid #98662f;outline-offset:5px}[hidden]{display:none!important}.wrap{width:calc(100% - 112px);max-width:var(--wrap);margin-inline:auto}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.18em;line-height:1.6;margin-bottom:25px}.utility{height:36px;background:var(--ink);color:#f7f2e9;display:flex;justify-content:space-between;align-items:center;padding-inline:56px;font-size:9px;letter-spacing:.14em}.utility a{display:flex;gap:25px}.site-header{position:sticky;top:0;z-index:30;background:rgba(250,247,243,.98);border-bottom:1px solid var(--line)}.header-inner{height:100px;margin:auto;max-width:1552px;padding-inline:56px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:flex;align-items:center;width:245px;gap:5px;flex-shrink:0}.brand img{width:178px;height:auto}.brand img.brand-symbol{width:62px;aspect-ratio:4/3;object-fit:contain}.header-inner nav{display:flex;align-items:center;gap:37px;font-size:12px;font-weight:500}.header-inner nav>a,.expertise-toggle{padding-block:18px}.header-inner a[aria-current=page]{border-bottom:1px solid var(--ink)}.expertise-toggle{border:0;background:none;display:flex;align-items:center;gap:12px;padding-inline:0;font-size:12px;font-weight:500}.expertise-toggle[aria-expanded=true] span{transform:rotate(45deg)}.header-inner nav .nav-contact{padding:13px 21px;border:1px solid var(--ink);display:flex;gap:28px;align-items:center}.menu-toggle{display:none}.mega{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 25px 35px #1f202214;padding:48px max(56px,calc((100vw - 1440px)/2));display:grid;grid-template-columns:1fr 1.6fr;gap:80px}.mega h2{font-size:43px}.mega p{font-size:13px;max-width:280px;margin:20px 0}.mega-links{display:grid;grid-template-columns:1fr 1fr;column-gap:38px;align-content:center}.mega-links a{border-bottom:1px solid var(--line);padding:19px 0;font-size:13px;display:flex;gap:12px;align-items:center}.mega-links a span:first-child{font-size:9px;color:var(--muted)}.mega-links a span:last-child{margin-left:auto}.mega-links a:hover{color:#8e6035}.skip{position:fixed;top:-80px;left:20px;background:var(--ink);color:white;padding:12px;z-index:100}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:.92fr 1.08fr;min-height:650px;padding-top:34px;padding-bottom:30px;gap:40px}.hero-copy{padding-top:40px;display:flex;align-items:flex-start;flex-direction:column}.hero h1{font-size:clamp(55px,7.2vw,116px);line-height:1.02}.hero p{margin:30px 0;font-size:16px;line-height:1.8}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.button{display:inline-flex;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:16px 24px;font-size:11px;letter-spacing:.015em;gap:40px;align-items:center;justify-content:space-between;line-height:1.5;min-height:53px}.button:hover{background:#45382b;border-color:#45382b}.button span{font-size:19px;line-height:1}.text-link{display:inline-block;border-bottom:1px solid currentColor;font-size:11px;line-height:2.2;font-weight:500}.hero-bottom{width:100%;display:flex;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:.1em;border-top:1px solid var(--line);padding-top:25px;margin-top:auto}.hero-photo{position:relative;min-width:0}.hero-photo>img{height:100%;min-height:595px;object-fit:cover;width:100%}.hero-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#16110b80);pointer-events:none}.hero-photo figcaption{position:absolute;bottom:19px;left:22px;color:#fff;font-size:9px;letter-spacing:.06em;z-index:1}.image-note{position:absolute;bottom:60px;left:22px;z-index:1;color:white;font-size:24px;line-height:1.1;letter-spacing:-.04em}.introduction{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:115px}.intro-text{max-width:565px;padding-top:15px}.intro-text p{font-size:14px}.intro-text .lead{font-size:24px;color:var(--ink);line-height:1.4;letter-spacing:-.035em}.section{padding-block:105px}.no-top{padding-top:0}.sand-section{background:var(--sand);padding-block:100px}.section-heading{display:grid;grid-template-columns:1.1fr .7fr auto;gap:40px;align-items:end;margin-bottom:52px}.section-heading p{font-size:13px;max-width:310px;margin-bottom:2px}.section-heading>.text-link{justify-self:end;white-space:nowrap}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 28px}.service-card .image-link{display:block;overflow:hidden}.service-card img{width:100%;height:290px;object-fit:cover;transition:transform .45s}.service-card .image-link:hover img{transform:scale(1.035)}.card-top{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted);line-height:1.5;margin:20px 0 12px;letter-spacing:.06em}.service-card h3{font-size:25px;margin-bottom:12px}.service-card h3 a{display:flex;justify-content:space-between;gap:12px}.service-card h3 span{font-size:21px;font-weight:400}.service-card p{font-size:12px;max-width:360px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 30px}.project-card:nth-child(even){padding-top:65px}.project-image{position:relative;display:block;border:0;padding:0;width:100%;background:var(--sand);overflow:hidden;text-align:left}.project-image img{width:100%;height:420px;object-fit:cover;transition:transform .45s}.project-image:hover img{transform:scale(1.035)}.view-label{position:absolute;bottom:16px;right:16px;background:var(--paper);padding:9px 13px;font-size:9px}.project-card h3{font-size:12px;font-weight:500;letter-spacing:0}.project-card .card-top{align-items:center}.dark-section{background:var(--ink);color:var(--paper);padding-block:100px}.dark-section p{color:#c3bdb6}.dark-section .eyebrow{color:var(--gold)}.approach{display:grid;grid-template-columns:1fr 1fr;gap:120px}.approach>div>p{max-width:360px;font-size:14px;margin-block:27px}.steps{margin:0;padding:0;list-style:none}.steps li{display:flex;gap:35px;padding:24px 0;border-top:1px solid #ffffff29}.steps li>span{font-size:11px;color:var(--gold)}.steps li h3{font-size:26px;margin-bottom:12px}.steps li p{font-size:12px;margin-bottom:0;max-width:390px}.client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.client-grid>div{background:white;min-height:145px;display:flex;align-items:center;justify-content:center;padding:28px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.client-grid img{max-height:70px;max-width:165px;object-fit:contain}.closing{border-top:1px solid var(--line);padding-block:85px}.closing>div{display:flex;align-items:center;justify-content:space-between;gap:40px}.closing h2{font-size:clamp(45px,5.5vw,90px)}footer{background:var(--ink);color:var(--paper);padding-top:70px}.footer-main{display:grid;grid-template-columns:1.35fr .6fr 1fr;gap:80px;padding-bottom:65px}.footer-brand .brand{width:270px}.footer-brand .brand img{width:200px}.footer-brand p{font-size:12px;margin-top:25px;color:#d0c9c0}.footer-brand>span{font-size:9px;letter-spacing:.15em;color:#c3bdb6}.footer-main h2{font-size:10px;letter-spacing:.14em;font-weight:500;margin-bottom:25px;line-height:1.6;color:var(--gold)}.footer-main>div>a:not(.brand){display:block;font-size:12px;margin-bottom:10px}.footer-main>div>p{font-size:12px;max-width:280px;color:#c3bdb6}.footer-bottom{display:flex;align-items:center;gap:30px;border-top:1px solid #ffffff29;padding-block:22px;font-size:9px;color:#c3bdb6}.footer-bottom>span{margin-right:auto}.page-intro{padding-block:85px 75px}.page-intro h1{max-width:1100px}.page-intro>p{max-width:520px;font-size:15px;margin-top:32px}.page-intro .intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-top:35px}.intro-bottom p{max-width:600px;font-size:14px;margin-bottom:0}.split-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split-intro h1{font-size:clamp(42px,5.3vw,86px)}.split-intro p{font-size:14px;max-width:480px;margin-block:30px}.split-intro figure img{width:100%;height:550px;object-fit:cover}.split-intro figcaption{font-size:9px;color:var(--muted);margin-top:12px}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}.principles article{border-top:1px solid var(--taupe);padding-top:25px}.principles span{font-size:10px;letter-spacing:.12em}.principles h3{margin-block:27px 18px;font-size:29px}.principles p{font-size:13px}.scope-list{padding:0;list-style:none;margin-block:30px}.scope-list li{border-top:1px solid var(--line);padding:16px 0;font-size:14px}.detail-copy{max-width:900px}.detail-copy p{margin-top:30px;white-space:pre-line;font-size:14px}.gallery-meta{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line);font-size:10px;letter-spacing:.08em}.pagination{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:60px 0 30px}.pagination a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);font-size:12px}.pagination a[aria-current=page]{background:var(--ink);color:white;border-color:var(--ink)}.archive-note{font-size:11px;max-width:620px;text-align:center;margin:auto}.faq-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:100px}.faq-layout aside h2{font-size:44px;margin-bottom:30px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:26px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;list-style:none;font-size:15px;line-height:1.5;font-weight:500}summary::-webkit-details-marker{display:none}.plus{font-size:24px;font-weight:400}details[open] .plus{transform:rotate(45deg)}.faq-list details p{font-size:13px;padding-bottom:15px}.contact-layout{display:grid;grid-template-columns:.85fr 1.2fr;gap:100px}.contact-layout aside h2{font-size:47px;margin-bottom:40px}dl{margin:0}dt{font-size:9px;letter-spacing:.15em;margin-top:28px}dd{font-size:14px;margin:9px 0;color:var(--muted);overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 25px}label{display:block;font-size:11px}label>span{color:#8e6035}input,textarea,select{display:block;border:0;border-bottom:1px solid var(--taupe);background:transparent;border-radius:0;color:var(--ink);padding:15px 0;width:100%;font-size:13px;min-height:48px;resize:vertical}select{padding-right:25px}textarea{min-height:145px}label.full{grid-column:1/-1}.form-note{font-size:10px;margin:25px 0}.form-note a{text-decoration:underline}.hp{display:none}.button:disabled{opacity:.6;cursor:wait}#form-status{font-size:13px;margin-top:20px;max-width:560px}#form-status.success{border-left:3px solid #407549;padding:15px}#form-status.error{border-left:3px solid #a33f2f;padding:15px}.policy{max-width:850px}.policy h2{font-size:28px;margin:35px 0 18px}.policy p{font-size:14px}.policy a{text-decoration:underline}.error{min-height:65vh}.error p{margin:30px 0}dialog{border:0;background:var(--ink);color:white;width:min(1200px,96vw);max-height:94dvh;padding:60px 24px 20px;overflow:auto}dialog::backdrop{background:#111d}dialog>img{width:100%;max-height:75dvh;object-fit:contain}dialog p{color:#ddd;font-size:11px;margin:18px 0 0}.viewer-close{position:absolute;top:15px;right:20px;background:none;color:white;border:1px solid #fff5;padding:8px 13px;font-size:12px}.viewer-open{overflow:hidden}
@media(min-width:1500px){.hero{min-height:740px}.hero-photo>img{min-height:675px}.hero-copy{padding-top:65px}.hero h1{font-size:116px}}
@media(max-width:1100px){.wrap{width:calc(100% - 70px)}.header-inner{padding-inline:35px;gap:25px}.header-inner nav{gap:22px}.brand{width:215px}.brand img{width:154px}.brand img.brand-symbol{width:56px}.utility{padding-inline:35px}.hero{gap:25px}.hero-copy{padding-top:30px}.hero h1{font-size:70px}.hero p{font-size:14px}.hero .actions{gap:18px}.hero .button{gap:18px;padding-inline:18px}.hero-photo>img{min-height:570px}.section-heading{grid-template-columns:1fr .7fr}.section-heading>.text-link{grid-column:2;justify-self:start}.section-heading p{grid-column:2}.introduction,.approach,.contact-layout,.faq-layout{gap:60px}.service-card img{height:235px}.project-image img{height:350px}.footer-main{gap:40px}.mega{padding-inline:35px;gap:40px}}
@media(max-width:899px){.wrap{width:calc(100% - 48px)}.utility{padding-inline:24px}.header-inner{height:84px;padding-inline:24px}.menu-toggle{display:flex;align-items:center;gap:22px;padding:12px 0;border:0;background:transparent;font-size:12px;min-width:65px}.menu-toggle span{font-size:19px}.header-inner nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 24px 30px;border-bottom:1px solid var(--line);max-height:calc(100dvh - 90px);overflow:auto;gap:0;align-items:stretch;flex-direction:column}.header-inner nav.is-open{display:flex}.header-inner nav>a,.expertise-toggle{padding:18px 0;font-size:17px;border-bottom:1px solid var(--line)}.expertise-toggle{justify-content:space-between}.header-inner nav .nav-contact{margin-top:20px;padding:14px 18px;align-self:flex-start;font-size:13px;gap:45px}.mega{position:static;padding:20px 0 8px;box-shadow:none;border:0;display:block;order:0}.mega-intro{display:none}.mega-links{display:block}.mega-links a{font-size:13px;padding:16px 0}.hero{grid-template-columns:1fr 1fr;min-height:auto;gap:25px;padding-block:28px}.hero h1{font-size:62px}.hero-copy{padding-top:20px}.hero-photo>img{min-height:520px}.hero .actions{align-items:flex-start;flex-direction:column;gap:15px}.hero-bottom{font-size:7px;padding-top:16px;margin-top:35px;flex-direction:column;gap:7px}.hero .eyebrow{font-size:8px}.hero p{margin-block:25px}.hero .button{font-size:10px}.image-note{font-size:21px}.hero-photo figcaption{font-size:8px;left:15px}.introduction{padding-block:80px;gap:40px}.introduction h2{font-size:38px}.section{padding-block:80px}.no-top{padding-top:0}.sand-section,.dark-section{padding-block:80px}.section-heading{gap:25px;margin-bottom:35px}.section-heading h2{font-size:42px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 22px}.service-card img{height:270px}.service-grid .service-card:last-child:nth-child(odd){grid-column:auto}.approach{gap:50px}.approach h2{font-size:42px}.steps li{gap:20px}.client-grid>div{min-height:110px;padding:20px}.client-grid img{max-width:100%;max-height:50px}.split-intro{gap:35px}.split-intro h1{font-size:49px}.split-intro figure img{height:450px}.principles{gap:28px}.principles h3{font-size:25px}.project-image img{height:300px}.footer-main{grid-template-columns:1.2fr .65fr 1fr;gap:28px}.footer-brand .brand{width:200px}.footer-brand .brand img{width:145px}.footer-brand .brand .brand-symbol{width:50px}.footer-main>div>a:not(.brand){font-size:11px;overflow-wrap:anywhere}.contact-layout{gap:40px;grid-template-columns:.8fr 1.1fr}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.contact-layout aside h2{font-size:38px}.faq-layout{gap:45px}.faq-layout aside h2{font-size:35px}}
@media(max-width:599px){body{font-size:14px}.wrap{width:calc(100% - 40px)}.utility{height:28px;padding-inline:20px;font-size:7px;letter-spacing:.1em}.utility a{gap:0}.utility a span{display:none}.header-inner{height:78px;padding-inline:20px}.brand{width:205px}.brand img{width:150px}.brand img.brand-symbol{width:50px}.header-inner nav{padding-inline:20px}.hero{display:flex;flex-direction:column;gap:32px;padding-top:30px;padding-bottom:0}.hero-copy{padding-top:0}.hero .eyebrow{font-size:8px;margin-bottom:20px}.hero h1{font-size:clamp(58px,15.3vw,88px);line-height:1.02}.hero p{font-size:14px;line-height:1.8;margin:23px 0}.hero .actions{flex-direction:row;align-items:center;gap:21px}.hero .button{padding:15px 17px;gap:23px;min-height:50px;font-size:10px}.hero .text-link{font-size:10px}.hero-bottom{display:none}.hero-photo{width:100%;height:410px}.hero-photo>img{height:100%;min-height:0;object-position:45% center}.hero-photo figcaption{bottom:15px;font-size:8px}.image-note{bottom:50px;left:15px;font-size:23px}.introduction{grid-template-columns:1fr;gap:28px;padding-block:65px}.introduction h2{font-size:38px}.eyebrow{font-size:8px;margin-bottom:20px}.intro-text{padding:0}.intro-text p{font-size:13px}.intro-text .lead{font-size:21px}.section,.sand-section,.dark-section{padding-block:65px}.no-top{padding-top:0}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:39px}.section-heading p{font-size:12px;margin:25px 0 18px;max-width:350px}.section-heading>.text-link{margin-top:20px}.service-grid{grid-template-columns:1fr;gap:34px}.service-card img{height:290px}.service-card h3{font-size:26px}.service-card p{font-size:12px}.card-top{font-size:8px;margin-top:18px}.project-grid{grid-template-columns:1fr;gap:30px}.project-card:nth-child(even){padding-top:0}.project-image img{height:330px}.project-card h3{font-size:12px}.approach{grid-template-columns:1fr;gap:35px}.approach h2{font-size:40px}.approach>div>p{font-size:13px;margin-block:25px}.steps li{padding-block:22px;gap:25px}.steps li h3{font-size:27px}.steps li p{font-size:12px}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-grid>div{min-height:115px;padding:23px}.client-grid img{max-height:55px;max-width:130px}.closing{padding-block:60px}.closing>div{align-items:flex-start;flex-direction:column;gap:30px}.closing h2{font-size:48px}footer{padding-top:55px}.footer-main{grid-template-columns:1fr 1fr;gap:40px 25px;padding-bottom:40px}.footer-brand{grid-column:1/-1}.footer-brand .brand{width:240px}.footer-brand .brand img{width:180px}.footer-brand .brand .brand-symbol{width:55px}.footer-brand p{margin-block:18px 10px}.footer-main h2{font-size:9px;margin-bottom:20px}.footer-main>div>a:not(.brand){font-size:11px}.footer-main>div>p{font-size:11px}.footer-bottom{flex-wrap:wrap;gap:12px 25px;font-size:8px;padding-block:22px}.footer-bottom>span{width:100%}.page-intro{padding-block:60px 45px}.page-intro h1{font-size:clamp(43px,10.9vw,64px);line-height:1.08}.page-intro>p{font-size:13px;margin-top:25px}.page-intro .intro-bottom{display:block;margin-top:25px}.intro-bottom p{font-size:13px}.intro-bottom .text-link{margin-top:20px}.split-intro{display:flex;flex-direction:column;align-items:stretch;gap:35px}.split-intro h1{font-size:47px}.split-intro p{font-size:13px;margin-block:25px}.split-intro figure img{height:365px}.split-intro figcaption{font-size:8px}.principles{grid-template-columns:1fr;gap:15px}.principles article{padding-top:20px}.principles h3{font-size:27px;margin-top:20px}.principles p{font-size:13px}.gallery-meta{font-size:8px;letter-spacing:.035em;gap:12px}.pagination{margin-top:35px}.archive-note{font-size:10px}.faq-layout{grid-template-columns:1fr;gap:35px}.faq-layout aside h2{font-size:37px}.faq-layout aside .button{font-size:10px}.faq-list summary{font-size:14px;padding-block:23px;gap:25px}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-layout aside h2{font-size:40px;margin-bottom:30px}.contact-layout dl{display:grid;grid-template-columns:60px 1fr;gap:16px 14px;align-items:baseline}.contact-layout dt,.contact-layout dd{margin:0}.contact-layout dd{font-size:12px}.form-grid{gap:25px}.form-grid label{font-size:11px}.form-note{font-size:10px}.policy h2{font-size:26px}.policy p{font-size:13px}dialog{padding:60px 12px 16px;width:96vw}.viewer-close{right:12px}.error{min-height:60vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
