:root{--paper:#f6f3eb;--ink:#263e35;--muted:#68726a;--line:#d6d9cf;--clay:#b56a49}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--clay);outline-offset:5px}header{max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:30px 5%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:700;letter-spacing:2px;line-height:1.4}.brand small{display:block;font-size:8px;letter-spacing:2.1px;font-weight:400;margin-top:6px}.monogram{position:relative;font:28px Georgia,serif;letter-spacing:-3px;border:1px solid var(--ink);width:49px;height:49px;border-radius:50%;display:grid;place-items:center;padding-right:4px}.monogram span{position:absolute;right:-3px;bottom:-5px;font-size:17px;background:var(--paper);letter-spacing:0}nav{display:flex;gap:30px;align-items:center;font-size:12px}.nav-cta{border:1px solid var(--ink);padding:12px 18px}.nav-cta span{margin-left:16px}.hero{max-width:1440px;margin:auto;padding:68px 7% 80px;display:grid;grid-template-columns:1.05fr 1fr;gap:5%;min-height:740px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 23px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--clay);margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2.7px;line-height:1.05}h1{font-size:clamp(53px,5.8vw,84px);margin-bottom:27px}h1 em,h2 em{font-weight:400;color:var(--clay)}.intro{font-size:16px;max-width:375px;color:var(--muted);line-height:1.8}.actions{display:flex;align-items:center;gap:25px;margin:30px 0}.button{background:var(--ink);color:var(--paper);display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 22px;border:1px solid var(--ink);cursor:pointer;font-size:12px}.button:hover{background:#3b574a}.text-link{font-size:12px;border-bottom:1px solid;padding:0 0 6px}.hero-note{display:flex;align-items:center;gap:15px;margin-top:42px;font-size:11px;color:var(--muted)}.hero-note>span{font-size:36px;color:var(--clay)}.hero-note p{margin:0}.hero-art{position:relative;padding:0 0 25px 38px}.hero-photo{width:100%;height:510px;object-fit:cover;display:block;border-radius:46% 46% 0 0}.photo-label{font-size:8px;letter-spacing:2px;margin:0 0 17px;text-align:center}.inset{position:absolute;left:-15px;bottom:10px;background:var(--paper);padding:8px 8px 10px;transform:rotate(-7deg);box-shadow:0 3px 20px #263e3517;width:44%}.inset img{width:100%;height:170px;object-fit:cover}.inset span{font:italic 14px Georgia,serif;display:block;text-align:center;padding:6px 0 0}.roundel{position:absolute;right:-20px;top:30px;border-radius:50%;background:var(--ink);color:var(--paper);width:100px;height:100px;text-align:center;font-size:8px;line-height:1.2;letter-spacing:2px;padding-top:20px;transform:rotate(14deg)}.roundel span{font-size:25px;line-height:1.4}.photo-caption{font-size:8px;letter-spacing:1.8px;float:right;margin-top:13px}.materials{background:var(--ink);color:var(--paper);padding:24px 6%;display:flex;justify-content:space-around;align-items:center;font-size:10px;letter-spacing:2px;gap:20px}.materials b{color:#d4b197;font-size:20px}.section{padding:90px 7%;max-width:1440px;margin:auto}h2{font-size:clamp(39px,4.3vw,62px);margin-bottom:25px}.section-top{display:flex;justify-content:space-between;align-items:end}.section-top>p{color:var(--muted);font-size:13px;margin-bottom:30px}.filters{display:flex;gap:9px;margin:20px 0 35px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 19px;border-radius:24px;font-size:11px;cursor:pointer}.filters button:hover{border-color:var(--ink)}.filters button.active{color:var(--paper);background:var(--ink);border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}.project{background:none;border:0;padding:0;text-align:left;color:var(--ink);cursor:pointer;min-width:0}.project[hidden]{display:none}.image{height:320px;position:relative;overflow:hidden;background:#e7e4da}.image img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.035)}.expand{position:absolute;right:14px;bottom:14px;background:var(--paper);border-radius:50%;width:32px;height:32px;text-align:center;line-height:32px}.project-caption{padding-top:15px}.project h3{font:20px/1.25 Georgia,serif;margin-bottom:7px;letter-spacing:-.4px}.project-caption>span{font-size:8px;letter-spacing:1.6px;color:var(--muted)}.portfolio-note{font-size:11px;color:var(--muted);margin:35px 0 0}.capabilities{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;border-top:1px solid var(--line);background:#e9ece3}.cap-intro>p:not(.eyebrow){max-width:330px;color:var(--muted);font-size:14px;margin-bottom:27px}.service-list article{display:flex;gap:24px;border-top:1px solid #c7cec0;padding:27px 0}.service-list article>span{font-size:10px;padding-top:7px;color:var(--clay)}.service-list h3{font:28px Georgia,serif;margin-bottom:12px}.service-list p{font-size:13px;color:#59675b;max-width:360px;margin:0}.process{text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;text-align:left;margin-top:50px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps span{font-size:9px;letter-spacing:1.6px;color:var(--clay)}.steps h3{font:27px Georgia,serif;margin:20px 0 13px}.steps p{font-size:13px;color:var(--muted);max-width:310px}.contact{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:85px;padding-bottom:85px}.contact h2 em{color:#d6b195}.contact>div>p:not(.eyebrow){color:#c7d0c4;font-size:14px}.email{display:inline-block;margin-top:30px;border-bottom:1px solid #9fae9c;font-size:16px;padding-bottom:8px}.contact label{display:block;font-size:11px;letter-spacing:.4px;margin-bottom:8px}.contact input,.contact select,.contact textarea{border:1px solid #6a7d6e;border-radius:0;background:#ffffff05;color:var(--paper);padding:12px 14px;width:100%;margin-bottom:19px;font-size:12px}.contact select option{color:var(--ink);background:var(--paper)}.contact textarea{resize:vertical;min-height:110px}.contact input::placeholder,.contact textarea::placeholder{color:#bcc8bb}.contact .button{background:var(--paper);color:var(--ink);width:100%}.contact .button:hover{background:#dedfd2}.form-note,#email-status{font-size:10px;color:#c0cbbb;line-height:1.6;margin-top:12px}footer{max-width:1440px;padding:38px 7%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-brand{display:block;font-size:10px}footer p{font:italic 15px Georgia,serif;margin:0}footer>a:not(.brand),footer>small{font-size:10px;color:var(--muted)}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-width:900px;width:90%;max-height:90vh;overflow:auto;box-shadow:0 20px 100px #0004}dialog[open]{display:grid;grid-template-columns:1.1fr 1fr}dialog::backdrop{background:#10251dd9}dialog>img{width:100%;height:100%;max-height:75vh;object-fit:contain;background:#e6e3d9}.lightbox-copy{padding:60px 32px 35px;align-self:center}.lightbox-copy h2{font-size:35px;letter-spacing:-1px}.lightbox-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.close{position:absolute;right:10px;top:10px;border:0;border-radius:50%;background:var(--paper);color:var(--ink);width:36px;height:36px;font-size:25px;cursor:pointer}.skip{position:absolute;left:10px;top:-80px;padding:10px;background:var(--paper);z-index:10}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1500px){body{max-width:1600px;margin:auto}}@media(max-width:1000px){header{padding:24px 5%}nav{gap:18px}.hero{padding:60px 5%;gap:4%;min-height:650px}.hero-photo{height:450px}.hero-art{padding-left:20px}.actions{gap:16px;flex-wrap:wrap}.roundel{right:-10px;width:80px;height:80px;font-size:7px;padding-top:12px}.inset img{height:135px}.section{padding:70px 5%}.image{height:270px}.capabilities{gap:6%}.contact{gap:7%}.materials{font-size:8px;letter-spacing:1px}}@media(max-width:700px){header{padding:20px 6%;align-items:center}.brand{font-size:10px;letter-spacing:1.3px;gap:10px}.brand small{font-size:7px;letter-spacing:1px}.monogram{width:38px;height:38px;font-size:23px}nav>a:not(.nav-cta){display:none}.nav-cta{font-size:10px;padding:9px 11px}.nav-cta span{margin-left:6px}.hero{padding:44px 7% 40px;grid-template-columns:1fr;gap:40px}.hero h1{font-size:63px}.intro{font-size:14px;max-width:350px}.hero-note{margin-top:24px}.hero-art{max-width:430px;width:100%;margin:auto;padding-left:28px}.hero-photo{height:440px}.inset{left:0;width:44%}.inset img{height:145px}.photo-label{font-size:7px}.roundel{right:-8px;top:40px}.materials{display:grid;grid-template-columns:1fr 20px 1fr;gap:12px;text-align:center;padding:20px 6%}.materials b:nth-of-type(2){display:none}.materials b{font-size:15px}.section{padding:58px 7%}.section-top{display:block}.section-top>p{margin:0 0 25px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.image{height:225px}.project h3{font-size:18px}.project-caption>span{font-size:7px;letter-spacing:1px}.filters{gap:7px}.filters button{padding:8px 12px;font-size:10px}.capabilities,.contact{grid-template-columns:1fr;gap:35px}.service-list h3{font-size:25px}.steps{grid-template-columns:1fr;gap:20px;margin-top:30px}.steps p{max-width:none}.process{text-align:left}.steps h3{margin-top:12px}.contact h2{font-size:47px}.email{margin-top:10px}footer{padding:30px 7%;display:grid;grid-template-columns:1fr 1fr}footer p{font-size:13px}dialog[open]{grid-template-columns:1fr}dialog>img{height:43vh}.lightbox-copy{padding:25px}.lightbox-copy h2{font-size:29px}.lightbox-copy .eyebrow{margin-bottom:12px}}@media(max-width:380px){.hero h1{font-size:54px}.nav-cta{font-size:9px}.image{height:195px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.image img{transition:none}}
