@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap";
:root{--paper:#f6f3ec;--ink:#273a33;--muted:#657069;--line:#d8dbce;--rust:#a15436;--white:#fffdf8;--font:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{background:var(--paper);color:var(--ink);font-family:var(--font);margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--rust);outline-offset:6px}a:hover{color:var(--rust)}img{object-fit:cover;width:100%;display:block}figure,p,h1,h2,h3{margin:0}h1,h2,h3{letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.06}em{color:var(--rust);font-weight:400}svg{flex-shrink:0;width:22px;height:22px}.wrap{width:min(1280px,100% - 112px);margin-inline:auto}.local-bar{background:var(--ink);color:var(--paper);text-align:center;letter-spacing:1.9px;padding:9px 20px;font-size:11px;font-weight:500}.local-bar span{color:#bbbd9b;padding:0 16px}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;height:110px;display:flex}.brand{letter-spacing:1.5px;align-items:center;gap:13px;font-size:17px;font-weight:700;line-height:1.35;display:flex}.brand small{letter-spacing:3.3px;font-size:10px;font-weight:500;display:block}.brand-mark{letter-spacing:-4px;padding-right:10px;font-family:Georgia,serif;font-size:52px;font-weight:400;line-height:1;position:relative}.brand-mark span{font-family:var(--font);letter-spacing:-1px;background:var(--paper);padding:0 2px;font-size:10px;position:absolute;bottom:9px;right:0}.header nav{gap:29px;font-size:14px;display:flex}.header-phone{align-items:center;gap:12px;font-size:18px;font-weight:500;display:flex}.header-phone small{letter-spacing:1.1px;font-size:9px;line-height:2;display:block}.hero{padding-top:34px}.hero-top{justify-content:space-between;align-items:center;display:flex}.eyebrow{letter-spacing:1.7px;font-size:11px;font-weight:600;line-height:1.5}.hero-top .eyebrow{align-items:center;gap:10px;display:flex}.hero-top .eyebrow span{background:var(--rust);width:18px;height:1px}.location{letter-spacing:1.3px;color:var(--muted);font-size:11px}.hero-copy{grid-template-columns:1.35fr 1fr;align-items:center;gap:80px;padding:28px 0 43px;display:grid}h1{font-size:clamp(60px,6.9vw,100px)}.hero-intro{justify-self:end;max-width:370px;padding-top:14px}.hero-intro>p{color:#546058;font-size:17px;line-height:1.8}.button{background:var(--ink);color:var(--paper);justify-content:center;align-items:center;gap:28px;margin-top:25px;padding:15px 21px;font-size:14px;transition:background .2s;display:inline-flex}.button:hover{background:var(--rust);color:#fff}.button span{font-size:22px;line-height:1}.hero-note{color:var(--muted);letter-spacing:.25px;margin-top:13px;font-size:11px;display:block}.hero-photo{height:490px;position:relative;overflow:hidden}.hero-photo>img{object-position:center 56%;height:100%}.hero-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0a1913b3);position:absolute;inset:50% 0 0}.hero-photo figcaption{color:#fff;z-index:1;flex-direction:column;gap:7px;display:flex;position:absolute;bottom:28px;left:30px}.hero-photo figcaption span:first-child{letter-spacing:2px;font-size:10px}.hero-photo figcaption span:last-child{font-family:Georgia,serif;font-size:22px}.photo-link{z-index:1;text-align:center;color:#fff;border:1px solid #ffffff80;border-radius:50%;width:45px;height:45px;font-size:22px;line-height:41px;position:absolute;bottom:30px;right:30px}.intro-strip{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:100px;padding:57px 0 61px;display:grid}.intro-strip>p{letter-spacing:-1px;font-family:Georgia,serif;font-size:31px;line-height:1.3}.intro-strip>div{max-width:475px;color:var(--muted);font-size:15px}.work-section{padding:80px 0 90px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:32px;display:flex}.section-heading h2{margin-top:15px;font-size:54px}.section-heading>p{color:var(--muted);font-size:14px}.project-grid{grid-template-columns:repeat(3,1fr);gap:27px;display:grid}.project-image{height:335px;position:relative;overflow:hidden}.project-image img{height:100%;transition:transform .5s}.project:hover img{transform:scale(1.035)}.project-image>span{background:var(--paper);padding:4px 9px;font-size:11px;position:absolute;top:14px;left:14px}.project figcaption{padding-top:21px}.project .eyebrow{color:var(--muted);font-size:10px}.project h3{margin-top:9px;font-size:27px;line-height:1.2}.about-section{background:#eae9df;padding:76px 0}.about-grid{grid-template-columns:.95fr 1.05fr;align-items:center;gap:100px;display:grid}.portrait-placeholder{text-align:center;background:#dcded2;border:1px solid #ccd0c2;flex-direction:column;justify-content:center;align-items:center;min-height:395px;padding:30px;display:flex}.portrait-label{letter-spacing:2px;color:var(--muted);font-size:10px}.portrait-monogram{color:#728071;font-family:Georgia,serif;font-size:120px;line-height:1.4;position:relative}.portrait-monogram>span{font-family:var(--font);letter-spacing:-2px;background:#dcded2;padding:0 4px;font-size:20px;position:absolute;bottom:36px;right:-15px}.portrait-placeholder>p{font-family:Georgia,serif;font-size:27px}.portrait-placeholder small{color:var(--muted);margin-top:8px;font-size:12px}.about-copy h2{margin:18px 0 23px;font-size:49px;line-height:1.14}.about-copy>p:not(.eyebrow){color:#576158;margin-top:15px;font-size:15px}.text-link{border-bottom:1px solid var(--ink);gap:36px;margin-top:16px;padding:9px 0;font-size:14px;display:inline-flex}.services{padding:47px 0 57px}.services>div{letter-spacing:-.6px;justify-content:space-between;gap:24px;margin-top:19px;font-family:Georgia,serif;font-size:25px;line-height:1.3;display:flex}.contact-section{background:var(--ink);color:var(--paper);padding:73px 0 78px}.contact-grid{grid-template-columns:1.25fr 1fr;align-items:center;gap:80px;display:grid}.contact-section .eyebrow{color:#c5cbb9}.contact-section h2{margin:20px 0;font-size:60px}.contact-section em{color:#d0b895}.contact-section p{color:#c5cbb9;font-size:15px}.contact-card{border-left:1px solid #657065;padding-left:58px}.big-phone{align-items:center;gap:15px;margin:17px 0;font-family:Georgia,serif;font-size:34px;line-height:1.3;display:flex}.phone-pending{align-items:center;gap:13px;margin:20px 0;font-family:Georgia,serif;font-size:25px;display:flex}.email-link{overflow-wrap:anywhere;border-bottom:1px solid #657065;justify-content:space-between;align-items:center;gap:12px;padding-bottom:21px;font-size:15px;display:flex}.contact-place{margin-top:24px}.contact-place>span{letter-spacing:1.5px;font-size:10px}.contact-place p{margin-top:8px;font-size:13px}footer{justify-content:space-between;align-items:center;gap:24px;padding:33px 0;display:flex}footer .brand{font-size:12px}footer .brand small{letter-spacing:2px;font-size:8px}footer .brand-mark{font-size:38px}footer .brand-mark span{font-size:8px;bottom:7px}footer>p{font-family:Georgia,serif;font-size:18px}footer>span{color:var(--muted);font-size:10px}.mobile-contact{display:none}@media (min-width:1600px){.hero-photo{height:550px}}@media (max-width:1100px){.wrap{width:calc(100% - 64px)}.header nav{gap:18px}.header-phone small{display:none}.header-phone{font-size:14px}.hero-copy{gap:40px}.hero-photo{height:420px}.about-grid{gap:50px}.project-image{height:285px}.services>div{font-size:22px}.contact-grid{gap:40px}.contact-card{padding-left:35px}footer>p{display:none}}@media (max-width:760px){.wrap{width:calc(100% - 40px)}.local-bar{letter-spacing:1px;padding:9px 12px;font-size:9px}.local-bar span{padding:0 6px}.header{gap:10px;height:88px}.brand{gap:10px;font-size:14px}.brand small{letter-spacing:2.8px;font-size:8px}.brand-mark{font-size:45px}.header nav{display:none}.header-phone{font-size:12px}.header-phone svg{width:18px}.hero{padding-top:24px}.hero-top .eyebrow{letter-spacing:1.2px;font-size:9px}.location{display:none}.hero-copy{grid-template-columns:1fr;gap:20px;padding:24px 0 30px}h1{font-size:clamp(56px,11.7vw,86px)}.hero-intro{justify-self:start;max-width:100%;padding:0}.hero-intro>p{max-width:430px;font-size:15px}.button{margin-top:19px}.hero-photo{height:370px}.hero-photo>img{object-position:52% center}.hero-photo figcaption{max-width:75%;bottom:22px;left:20px}.hero-photo figcaption span:last-child{font-size:18px}.photo-link{width:38px;height:38px;line-height:35px;bottom:20px;right:18px}.intro-strip{grid-template-columns:1fr;gap:20px;padding:35px 0}.intro-strip>p{font-size:30px}.intro-strip>div{font-size:14px}.work-section{padding:48px 0}.section-heading{flex-direction:column;align-items:start;gap:16px}.section-heading h2{margin-top:10px;font-size:43px}.section-heading>p br{display:none}.section-heading>p{font-size:13px}.project-grid{grid-template-columns:1fr;gap:32px}.project-image{height:340px}.project figcaption{padding-top:15px}.project h3{font-size:28px}.about-section{padding:40px 0}.about-grid{grid-template-columns:1fr;gap:33px}.portrait-placeholder{min-height:285px}.portrait-monogram{font-size:95px}.portrait-monogram>span{bottom:28px}.about-copy h2{font-size:43px}.services{padding:36px 0}.services>div{grid-template-columns:1fr 1fr;gap:20px;font-size:22px;display:grid}.contact-section{padding:44px 0}.contact-grid{grid-template-columns:1fr;gap:33px}.contact-section h2{font-size:47px}.contact-card{border-top:1px solid #657065;border-left:0;padding:28px 0 0}.phone-pending{font-size:24px}footer{flex-direction:column;align-items:flex-start;gap:16px;padding:28px 0 100px}.mobile-contact{z-index:5;background:var(--paper);border-top:1px solid var(--line);padding:15px 18px max(15px,env(safe-area-inset-bottom));justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000a}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.header{height:150px}.brand{flex-shrink:0}.brand-logo{object-fit:contain;width:124px;height:auto}.portrait-logo{width:150px;height:auto;margin:22px 0}footer .brand-logo{width:100px}@media (max-width:760px){.header{height:124px}.brand-logo{width:104px}.portrait-logo{width:125px}footer .brand-logo{width:90px}}
