:root{--ink:#252d28;--paper:#f7f5ef;--sand:#e9e4d9;--line:#cfcec3;--muted:#5d635c;--accent:#876a43}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ab7e40;outline-offset:5px}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:50}.skip:focus{top:0}.topline{display:flex;justify-content:space-between;padding:9px 4%;font-size:10px;letter-spacing:1.6px;background:var(--ink);color:var(--paper)}.topline small{font-size:9px}header{display:flex;align-items:center;justify-content:space-between;padding:22px 4%;gap:25px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(247,245,239,.98)}.brand{font-family:Georgia,serif;font-size:29px;letter-spacing:1px;line-height:1.1;white-space:nowrap}.brand i{font-weight:400;font-size:.8em;color:var(--accent)}.brand small{display:block;font:8px Arial,sans-serif;letter-spacing:3px;margin-top:10px}nav{display:flex;align-items:center;gap:24px;font-size:12px}nav a{padding:8px 0}nav a:hover,nav a[aria-current]{color:var(--accent)}.navcta{border-bottom:1px solid var(--ink)}.menu{display:none}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1;margin:0 0 24px;letter-spacing:-1.5px}h1{font-size:clamp(46px,5.7vw,88px)}h2{font-size:clamp(37px,4vw,60px)}h3{font-size:29px;letter-spacing:-.6px;margin:12px 0}em{font-weight:400;color:#807455}p{margin:0 0 20px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.7;margin-bottom:22px}.hero{height:min(760px,78vh);min-height:520px;position:relative;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,17,.64),rgba(10,20,17,.05)),linear-gradient(0deg,rgba(0,0,0,.2),transparent)}.hero-copy{position:absolute;left:7%;top:50%;transform:translateY(-46%);max-width:1000px}.hero h1{font-size:clamp(48px,6.3vw,96px);line-height:1.04}.hero em{color:#e5d5b5}.hero-copy p:not(.eyebrow){font-size:16px;line-height:1.65;color:#f5f3e9}.hero-note{position:absolute;right:4%;bottom:25px;font-size:9px;letter-spacing:2px}.button{display:inline-block;background:var(--ink);color:white;padding:16px 24px;border:1px solid var(--ink);font-size:12px;letter-spacing:.3px}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button:hover{background:#746245;color:white}.textlink{display:inline-block;border-bottom:1px solid currentColor;padding:6px 0;font-size:13px}.statement{padding:100px 7%;display:grid;grid-template-columns:.55fr 1.1fr 1fr;gap:5%}.statement>div{padding-top:6px;color:var(--muted)}.statement h2{font-size:45px}.section{padding:80px 7%}.section.tight{padding-top:20px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:40px}.section-head h2{margin:0}.section-head .textlink{white-space:nowrap}.grid{display:grid;gap:38px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card img{width:100%;height:auto;aspect-ratio:1.42;object-fit:cover;transition:transform .4s}.image-link{display:block;overflow:hidden}.image-link:hover img{transform:scale(1.025)}.card .eyebrow{margin:22px 0 8px;color:var(--muted)}.card p{color:var(--muted);max-width:42em}.card h3{margin:0 0 12px}.split{display:grid;grid-template-columns:1fr 1fr}.split>div>img,.split>img{width:100%;height:100%;object-fit:cover;min-height:500px}.split-copy{padding:70px 12%;align-self:center}.dark{background:var(--ink);color:var(--paper)}.dark em{color:#b5a787}.dark p{color:#d2d6ca}.closing{text-align:center;background:var(--ink);color:var(--paper);padding:90px 20px}.closing em{color:#c7b48e}.closing h2{font-size:clamp(42px,5vw,72px)}footer{padding:65px 7% 25px;display:grid;grid-template-columns:1.3fr 1fr .6fr;gap:35px;font-size:13px}footer b{font-size:10px;letter-spacing:1.6px}footer p{margin-top:20px}footer>div:nth-child(3)>a{display:block;margin-top:10px}.fine{border-top:1px solid var(--line);padding-top:20px;grid-column:1/-1;font-size:10px;display:flex;justify-content:space-between;gap:30px;color:var(--muted)}.fine span{display:flex;gap:20px}.intro{padding:80px 7% 50px;max-width:1200px}.intro .lead{max-width:660px;font-size:18px;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:5px 0 35px}.filters button,.outline{background:transparent;border:1px solid #aaa99c;padding:11px 20px;color:var(--ink);font-size:12px}.filters button[aria-pressed=true],.save[aria-pressed=true]{background:var(--ink);color:white}.breadcrumb{padding:25px 7% 0;font-size:11px;color:var(--muted)}.wide-image{margin:0 7%}.wide-image img{width:100%;height:600px;object-fit:cover}.service{display:grid;grid-template-columns:.2fr 1fr 1fr;gap:40px;padding:45px 0;border-top:1px solid var(--line)}.service h2{font-size:43px}.service>span,.number{font-family:Georgia,serif;font-size:32px;color:var(--accent)}.sand{background:var(--sand)}.palette{margin:20px 0 60px;background:var(--sand)}.swatches{display:flex;gap:12px;margin:28px 0 20px}.swatches span{height:50px;width:50px;border-radius:50%;border:1px solid #0002}.saved{padding:28px;border:1px solid var(--line)}.saved .textlink{margin-left:20px}.saved small{color:var(--muted)}input,select,textarea{width:100%;padding:13px;border:1px solid #a9ad9f;border-radius:0;background:#fffcf6;color:var(--ink);min-height:48px}#article-search{max-width:620px;margin:5px 0 15px}.search-label{display:block;font-size:12px}#search-status{font-size:12px;color:var(--muted);min-height:20px}.article-image{margin:0 auto;max-width:1000px;padding:0 7%}.article-image img{width:100%;height:400px;object-fit:cover}.prose{max-width:800px;margin:auto;padding:60px 7% 90px;box-sizing:content-box}.prose h2{font-size:34px;margin-top:30px}.prose p{font-size:18px;color:var(--muted)}.prose aside{background:var(--sand);padding:20px;font-size:12px;margin:30px 0}.team-grid{display:grid;gap:50px}.person{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;border-top:1px solid var(--line);padding-top:40px}.monogram{background:var(--sand);min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:95px;color:#817963}.person:nth-child(even) .monogram{background:#354039;color:#cabc9e}.monogram span{font:9px Arial,sans-serif;letter-spacing:3px;margin-top:20px}.person h2{font-size:40px;margin:10px 0}.person .eyebrow{margin:0}.experience{font-size:12px;color:var(--accent)}.sample-contact{font-size:12px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:9%}.contact-grid aside{font-size:14px}.contact-grid h3{font-size:26px;line-height:1.3}.notice{background:var(--sand);padding:20px;font-size:12px}label{display:block;font-size:12px;margin-bottom:20px}label input,label select,label textarea{margin-top:8px;font-size:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}#form-result:not(:empty){padding:25px;background:var(--sand);margin-top:20px;white-space:pre-line;overflow-wrap:anywhere}[hidden]{display:none!important}
@media(min-width:1600px){body{max-width:2000px;margin:auto}}@media(max-width:1150px){nav{gap:14px;font-size:11px}header{padding:20px 3%;gap:15px}.brand{font-size:25px}.statement{grid-template-columns:1fr 1fr}.statement>.eyebrow{grid-column:1/-1;margin:0}.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.menu{display:block;background:none;border:0;font-size:13px;padding:12px}header{padding:16px 6%;flex-wrap:wrap}nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;font-size:14px;max-height:70vh;overflow:auto}nav.open{display:flex}nav a{padding:13px 0;border-top:1px solid var(--line)}.topline span{display:none}.hero{height:70vh;min-height:520px}.statement{padding:65px 7%;gap:30px}.split-copy{padding:40px 9%}.service{grid-template-columns:.15fr 1fr}.service>div{grid-column:2}.split>img,.split>div>img{min-height:430px}.person{gap:30px}.section-head{align-items:start;flex-direction:column}}@media(max-width:620px){.topline{font-size:8px;letter-spacing:1px;padding:8px 6%}.topline small{font-size:8px}.hero{height:650px;max-height:82svh;min-height:500px}.hero-copy{left:7%;right:7%}.hero h1{font-size:48px}.hero-copy p:not(.eyebrow){font-size:14px}.hero-note{font-size:8px}.statement,.split,.two,.three,.person,.contact-grid{grid-template-columns:1fr}.statement{gap:20px}.statement h2{font-size:40px}.section{padding:55px 7%}.section-head{margin-bottom:30px}.grid{gap:30px}.split>img,.split>div>img{min-height:0;height:350px}.split-copy{padding:40px 7%}.intro{padding:55px 7% 35px}.intro h1{font-size:47px}.intro .lead{font-size:16px}.closing{padding:65px 7%}footer{grid-template-columns:1fr 1fr;padding-top:45px}footer>div:first-child{grid-column:1/-1}.fine{flex-direction:column;gap:15px}.wide-image img{height:330px}.service{gap:20px}.service h2{font-size:34px}.palette{margin-bottom:35px}.saved .textlink{margin:15px 0 0}.monogram{min-height:240px;font-size:80px}.person{gap:25px}.form-grid{grid-template-columns:1fr;gap:0}.contact-grid{gap:30px}.article-image img{height:260px}.prose{padding-top:25px}.prose h2{font-size:31px}.prose p{font-size:16px}.filters button{padding:10px 14px}.brand{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* UI/UX review: clearer controls, robust reflow and visible customer context. */
nav a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}nav a{min-height:44px;display:flex;align-items:center}button,.textlink{min-height:44px}button:disabled{cursor:not-allowed;opacity:.65}.form-heading{font-size:32px;margin:0 0 15px}#form-help,#inquiry-context{font-size:14px}#inquiry-context{padding:16px;background:var(--sand);border-left:3px solid var(--accent)}label input,label select,label textarea{font-size:16px}#clear-search{margin:0 0 15px 10px}#project-status{font-size:14px;color:var(--muted)}.filters{margin-bottom:15px}.breadcrumb a{display:inline-block;padding:10px 0;text-decoration:underline;text-underline-offset:4px}.fine a{display:inline-flex;align-items:center;min-height:44px}#form-result:focus,main:focus{outline:none}#form-result:focus-visible{outline:3px solid var(--accent);outline-offset:4px}#form-result{scroll-margin-top:130px}.person,.contact-grid,.split,.statement{min-width:0}.person>*,.contact-grid>*,.split>*,.statement>*{min-width:0}h1,h2,h3,.sample-contact{overflow-wrap:break-word}.hero{height:auto;min-height:min(760px,78vh);display:grid;align-items:center;padding:100px 7%}.hero>img{position:absolute;inset:0}.hero-copy{position:relative;left:auto;top:auto;transform:none;max-width:1000px;z-index:1}.hero-copy .button{margin-bottom:30px}.hero-note{z-index:1}body{overflow-wrap:break-word}
@media(max-width:900px){header{position:sticky}.menu{display:none}.js .menu{display:block}nav{display:flex;max-height:none}.js nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:0 6% 16px;max-height:calc(100dvh - 110px);overflow-y:auto;border-bottom:1px solid var(--line)}.js nav.open{display:flex}.hero{min-height:520px}.hero-copy{right:auto}.hero-shade{background:linear-gradient(90deg,rgba(10,20,17,.75),rgba(10,20,17,.3))}}
@media(max-width:620px){.hero{height:auto;max-height:none;min-height:500px;padding:65px 7% 80px}.hero h1{font-size:clamp(36px,10vw,48px)}.intro h1{font-size:clamp(36px,10vw,47px)}.hero-note{left:7%;right:7%;letter-spacing:1px}.hero-copy .button{margin-bottom:0}.topline{flex-wrap:wrap;gap:4px 12px}#clear-search{margin-left:0}.intro{padding-top:40px}.form-heading{font-size:28px}.brand{font-size:clamp(22px,7vw,28px)}header{gap:12px}.brand small{letter-spacing:2px}}
@media(max-height:500px) and (max-width:900px){header{padding-top:10px;padding-bottom:10px}.brand small{display:none}.js nav{max-height:calc(100dvh - 65px)}}
