@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap');
:root{--paper:#f4f1e9;--ink:#292d27;--muted:#62665c;--line:#d5d5c9;--earth:#77563e;--light:#e9e5da;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,6.5vw,7rem)}h2{font-size:clamp(2.5rem,4.5vw,4.75rem)}h3{font-size:1.5rem;line-height:1.3}p+p{margin-top:1rem}.wrap{width:calc(100% - 112px);max-width:1440px;margin:auto}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:var(--ink);color:white;padding:14px}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--earth);outline-offset:5px}.header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{font-family:'Manrope',Arial,sans-serif;font-size:29px;font-weight:600;letter-spacing:-1.8px;line-height:1}.brand small{display:block;font:10px/1.5 var(--sans);letter-spacing:3px;margin-top:9px;text-transform:uppercase}.nav{display:flex;gap:31px;align-items:center;font-size:14px}.nav a{padding:9px 0}.nav a[aria-current=page]{border-bottom:1px solid var(--ink)}.nav .contact-link{border:1px solid var(--ink);padding:10px 20px;margin-left:10px}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:8px 15px}.eyebrow{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:2px}.hero-top{padding:58px 0 38px;display:grid;grid-template-columns:1.7fr 1fr;gap:55px;align-items:end}.hero-top .eyebrow{margin-bottom:22px}.hero-copy{max-width:345px;justify-self:end;padding-bottom:8px}.hero-copy p{color:var(--muted);font-size:17px}.text-link{display:inline-block;border-bottom:1px solid;padding:4px 0;margin-top:23px;font-size:14px}.hero-photo{position:relative;margin:0}.hero-photo img{height:clamp(340px,44vw,640px)}.photo-label{position:absolute;bottom:25px;left:27px;color:white;text-shadow:0 1px 8px #000;background:#24241fe0;padding:9px 15px;font-size:13px}.caption{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px;line-height:1.5;padding:13px 0}.section{padding:95px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}.section-head .eyebrow{margin-bottom:16px}.section-head p{max-width:350px;color:var(--muted)}.projects{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.project:nth-child(2){padding-top:100px}.project img{aspect-ratio:1.18;transition:filter .3s}.project:nth-child(2) img{aspect-ratio:.85}.project:hover img{filter:brightness(.93)}.project-title{display:flex;justify-content:space-between;gap:20px;margin-top:20px;align-items:center}.project-title span{font-size:13px;color:var(--muted)}.project p{font-size:14px;color:var(--muted);margin-top:8px}.wide-project{margin-top:60px}.wide-project img{aspect-ratio:2.15}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.split img{aspect-ratio:.94}.split .eyebrow{margin-bottom:24px}.split h2{margin-bottom:28px}.split p{color:var(--muted);max-width:490px}.band{background:var(--light)}.services{margin-top:45px}.service-row{border-top:1px solid var(--line);padding:26px 0;display:grid;grid-template-columns:55px 1fr 1.1fr;gap:30px}.service-row:last-child{border-bottom:1px solid var(--line)}.number{font-size:13px;color:var(--earth)}.service-row p{color:var(--muted);max-width:470px}.cta{padding:74px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:40px;align-items:center}.cta h2{font-size:clamp(2.5rem,4vw,4rem)}.button{display:inline-block;border:1px solid var(--ink);padding:15px 28px;font-size:14px;white-space:nowrap}.button:hover,.contact-link:hover{background:var(--ink);color:var(--paper)}footer{background:var(--ink);color:var(--paper);padding:48px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:40px;margin-bottom:48px}.footer-top p{font-size:14px;color:#c6c9bc;max-width:340px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #55594e;padding-top:20px;font-size:12px;color:#c6c9bc}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}.page-intro{padding:66px 0 54px;max-width:980px}.page-intro .eyebrow{margin-bottom:22px}.page-intro p{font-size:18px;color:var(--muted);max-width:620px;margin-top:25px}.breadcrumb{font-size:13px;color:var(--muted);margin:34px 0 0}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.detail-hero{height:clamp(340px,49vw,720px)}.project-meta{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0;border-bottom:1px solid var(--line);gap:25px}.project-meta dt{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.project-meta dd{margin:7px 0 0}.story{display:grid;grid-template-columns:1fr 1.25fr;gap:11%;padding:85px 0}.story h2{font-size:3.3rem}.story p{color:var(--muted)}.material-list{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.material-list span{font-size:13px;border:1px solid var(--line);padding:8px 15px}.note{font-size:14px;color:var(--muted);border-left:2px solid var(--earth);padding:8px 0 8px 20px;margin-top:30px}.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 70px;margin-top:40px}.step{border-top:1px solid var(--line);padding-top:22px}.step h3{margin:12px 0}.step p{color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding-bottom:100px}.contact-state{background:var(--light);padding:35px}.contact-state h2{font-size:2.5rem;margin-bottom:23px}.contact-state p{color:var(--muted)}.contact-state .eyebrow{color:var(--earth);margin-bottom:20px}.checklist{padding-left:23px}.checklist li{padding:8px 0}.credits a{text-decoration:underline}.credits p{margin-top:15px}.empty-space{padding-top:20px}
@media(min-width:1600px){.hero-top{padding-top:70px}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.nav{gap:18px}.nav .contact-link{margin:0;padding:8px 12px}.hero-top{gap:30px}.hero-copy p{font-size:16px}.section{padding:70px 0}.split{gap:40px}.service-row{grid-template-columns:30px 1fr 1.2fr;gap:20px}.brand{font-size:26px}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}.header{height:89px;position:relative}.menu-toggle{display:block}.nav{display:none;position:absolute;z-index:10;top:88px;left:-20px;right:-20px;background:var(--paper);padding:20px;box-shadow:0 12px 16px #0001}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:6px}.nav a{padding:12px}.nav .contact-link{margin-top:8px;text-align:center}.hero-top{padding:37px 0 29px;grid-template-columns:1fr;gap:25px}.hero-top .eyebrow{margin-bottom:18px}.hero-copy{justify-self:start;max-width:400px}.hero-copy .text-link{margin-top:13px}h1{font-size:3.5rem}.hero-photo img{height:400px}.photo-label{bottom:17px;left:17px}.caption{font-size:12px;gap:20px}.caption span:last-child{max-width:160px;text-align:right}.section{padding:57px 0}.section-head{display:block;margin-bottom:30px}.section-head p{margin-top:20px}.projects{grid-template-columns:1fr;gap:36px}.project:nth-child(2){padding:0}.project:nth-child(2) img{aspect-ratio:1.18}.project-title h3{font-size:1.3rem}.wide-project{margin-top:36px}.wide-project img{aspect-ratio:1.18}.split{grid-template-columns:1fr;gap:35px}.split img{aspect-ratio:1.15}.service-row{grid-template-columns:25px 1fr;gap:10px 18px}.service-row p{grid-column:2}.service-row h3{font-size:1.25rem}.cta{display:block;padding:50px 0}.cta .button{margin-top:26px}.footer-top,.footer-bottom{flex-direction:column;gap:25px}.footer-top{margin-bottom:32px}.page-intro{padding:45px 0 35px}.page-intro h1{font-size:3.2rem}.page-intro p{font-size:16px}.project-meta{gap:18px;grid-template-columns:1fr}.project-meta div{display:flex;gap:15px;justify-content:space-between}.project-meta dd{margin:0;text-align:right}.story{grid-template-columns:1fr;gap:28px;padding:50px 0}.story h2{font-size:2.7rem}.steps{grid-template-columns:1fr;gap:30px}.contact-layout{grid-template-columns:1fr;gap:35px;padding-bottom:60px}.contact-state{padding:26px}.detail-hero{height:380px}.breadcrumb{margin-top:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
