@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#151515;--muted:#636363;--line:#dedede;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.7 var(--sans)}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3a79b9;outline-offset:5px}header{height:112px;margin:0 4%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{font:800 32px/.9 var(--sans);letter-spacing:-1.8px}.brand span{display:block;font-size:10px;letter-spacing:3.7px;line-height:1;margin-top:12px}header nav{display:flex;gap:38px;font-size:14px;font-weight:600}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:18px 23px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;border:1px solid var(--ink);min-height:54px}.button span{font-size:20px;line-height:1}.button:hover{background:#3a3a3a}.hero{padding:60px 4% 0}.hero-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;line-height:1.5;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(45px,5.4vw,84px);font-weight:800;line-height:1.01;letter-spacing:-4px;margin-bottom:0}h2{font-size:clamp(36px,3.7vw,56px);line-height:1.06;font-weight:800;letter-spacing:-2.4px;margin-bottom:30px}.hero-intro{min-width:235px;max-width:290px;padding-bottom:4px}.hero-intro p{font-size:14px;line-height:1.65;margin-bottom:27px}.text-link{display:inline-flex;gap:28px;justify-content:space-between;align-items:center;padding-bottom:9px;border-bottom:1px solid var(--ink);font-size:11px;font-weight:800;letter-spacing:.6px}.text-link span{font-size:19px;line-height:1}.hero-image{height:600px;position:relative;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 56%}.image-label{position:absolute;bottom:25px;left:28px;color:white;font-size:11px;letter-spacing:1.6px;font-weight:700;text-shadow:0 1px 7px black}.hero-foot{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:20px 0;font-size:10px;letter-spacing:1.1px;font-weight:600}.section{padding:105px 6%}.intro{display:grid;grid-template-columns:1fr 2.4fr;gap:55px}.intro>.eyebrow{padding-top:7px}.intro-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:50px}.intro-bottom p{max-width:580px;color:var(--muted);margin-bottom:0}.intro-bottom a{white-space:nowrap}.work{padding-top:35px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:42px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);font-size:14px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photo{display:block;position:relative;padding:0;border:0;background:#e9e9e9;overflow:hidden;text-align:left;color:white;min-width:0;width:100%}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.photo:hover img{transform:scale(1.025)}.photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0007);pointer-events:none}.photo>span{position:absolute;z-index:1;bottom:24px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px;letter-spacing:1px;font-weight:700}.photo b{font-size:22px;font-weight:400}.gallery .photo{height:330px}.gallery .wide{grid-column:span 2;height:420px}.gallery .tall{grid-row:span 2;height:772px}.gallery .photo:last-child{grid-column:span 3;height:530px}.detail-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px}.detail-strip .photo{height:340px}.featured{padding-top:0}.project-story{max-width:425px}.project-story h3{font-size:14px;letter-spacing:.2px;margin-bottom:15px}.project-story p{color:var(--muted);font-size:15px;margin-bottom:23px}.hearth-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.hearth-grid>.photo:first-child{grid-column:span 2;height:580px}.hearth-grid>.photo{height:330px}.values{background:#f4f4f4}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px}.values article{border-top:1px solid #bcbcbc;padding-top:23px}.values article>span{font-size:12px;font-weight:700}.values h3{font-size:31px;line-height:1.15;letter-spacing:-1px;margin:32px 0 24px;font-weight:800}.values p{font-size:15px;color:var(--muted);margin:0}.process{display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.process>div>p:not(.eyebrow){color:var(--muted);max-width:420px}.process .text-link{margin-top:14px}.steps details{border-bottom:1px solid var(--line);padding:25px 0}.steps details:first-child{border-top:1px solid var(--line)}summary{display:flex;align-items:center;cursor:pointer;list-style:none;font-size:17px;font-weight:800;gap:22px}summary::-webkit-details-marker{display:none}summary span{font-size:11px;color:var(--muted);font-weight:500}summary:after{content:'+';margin-left:auto;font-size:23px;font-weight:400}details[open] summary:after{content:'−'}details p{padding:16px 32px 0 36px;font-size:15px;color:var(--muted);margin-bottom:0}.testimonial{text-align:center;padding:75px 15% 100px;border-top:1px solid var(--line);margin:0 6%}.testimonial blockquote{font-size:clamp(25px,2.7vw,39px);font-weight:700;letter-spacing:-1.3px;line-height:1.4;margin:0 0 32px}.testimonial>p:last-child{font-size:11px;font-weight:700;letter-spacing:1px}.testimonial>p>span{color:var(--muted);font-weight:400}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#f4f4f4;align-items:center;padding-top:65px;padding-bottom:65px}.contact h2{font-size:clamp(45px,4.8vw,75px);letter-spacing:-3px;margin-bottom:35px}.contact>img{width:100%;height:480px;object-fit:cover}.contact .button{font-size:11px}footer{padding:65px 6% 24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:55px}.footer-top>p{font-size:17px;font-weight:600;margin:0}.footer-top>div{display:grid;gap:5px;font-size:14px}.footer-top>div>span{color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:23px;font-size:11px;color:var(--muted)}.footer-bottom p{margin:0}.menu-toggle{display:none}[hidden]{display:none!important}.skip{position:absolute;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:75px 6% 25px;background:#111;color:#fff}.lightbox::backdrop{background:#111}.lightbox>img{width:100%;height:calc(100% - 65px);object-fit:contain}.close{position:absolute;top:22px;right:6%;border:1px solid #666;color:white;background:none;padding:7px 14px;font-size:12px}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:15px}.lightbox-bottom button{background:none;color:white;border:1px solid #777;font-size:22px;width:45px;height:42px}.lightbox-bottom p{margin:0;font-size:14px;text-align:center}
@media(min-width:1650px){header,.hero,main>.section,footer,.testimonial{max-width:1800px;margin-left:auto;margin-right:auto}}@media(max-width:1100px){h1{letter-spacing:-2.7px;font-size:5.5vw}.hero-intro{min-width:205px}.hero-heading{gap:25px}.intro{grid-template-columns:1fr 3fr;gap:25px}.intro-bottom{display:block}.intro-bottom a{margin-top:24px}.gallery .tall{height:662px}.gallery .wide{height:350px}.gallery .photo{height:290px}.gallery .photo:last-child{height:440px}.values-grid{gap:30px}.values h3{font-size:26px}.process{gap:6%}summary{font-size:14px}.contact{gap:35px}}
@media(max-width:760px){header{height:90px;margin:0 6%}header nav,.header-cta{display:none}.brand{font-size:28px}.menu-toggle{display:block;background:white;border:1px solid var(--line);padding:8px 15px;font-size:14px}#mobile-nav{padding:20px 6%;display:grid;gap:15px;border-bottom:1px solid var(--line);font-size:14px}.hero{padding:40px 6% 0}.hero-heading{display:block;margin-bottom:28px}.hero h1{font-size:clamp(32px,6.4vw,49px);letter-spacing:-1.5px;line-height:1.08}.hero-intro{max-width:none;display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-top:28px}.hero-intro p{font-size:12px;margin:0}.hero-intro .text-link{font-size:9px;gap:12px}.eyebrow{font-size:10px;margin-bottom:20px}.hero-image{height:440px}.hero-image img{object-position:48% 50%}.image-label{font-size:9px;left:16px;bottom:18px}.hero-foot{font-size:9px;gap:15px}.hero-foot>span:last-child{display:none}.section{padding:65px 6%}.intro{grid-template-columns:1fr;gap:15px}h2{font-size:36px;letter-spacing:-1.5px}.intro-bottom p{font-size:15px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin:22px 0 0;font-size:13px}.work{padding-top:5px}.gallery{grid-template-columns:1fr 1fr;gap:14px}.gallery .wide{grid-column:span 2;height:310px}.gallery .tall{grid-row:auto;grid-column:span 1;height:280px}.gallery .photo{height:280px}.gallery .photo:nth-child(4){grid-column:span 2;height:300px}.gallery .photo:last-child{grid-column:span 2;height:310px}.photo>span{left:14px;right:14px;bottom:14px;font-size:9px;letter-spacing:.4px;gap:10px}.photo b{font-size:18px}.detail-strip{gap:14px;margin-top:14px;grid-template-columns:1fr 1fr}.detail-strip .photo{height:240px}.detail-strip .photo:last-child{grid-column:span 2;height:300px}.featured{padding-top:0}.project-story{margin-top:28px}.project-story p{font-size:14px}.hearth-grid{gap:14px}.hearth-grid>.photo:first-child{height:340px}.hearth-grid>.photo{height:230px}.values-grid{grid-template-columns:1fr;gap:38px}.values h3{font-size:30px;margin-top:22px}.values article>span{font-size:11px}.process{grid-template-columns:1fr;gap:40px}.process>div>p:not(.eyebrow){font-size:15px}summary{font-size:16px}.testimonial{padding:65px 0}.testimonial blockquote{font-size:27px;letter-spacing:-.7px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:52px;letter-spacing:-2px}.contact>img{height:350px}.footer-top{flex-wrap:wrap;align-items:flex-start}.footer-top>p{font-size:14px}.footer-top>div{width:100%}.footer-bottom{display:block}.footer-bottom>span{display:block;margin-top:12px}.lightbox{padding:70px 3% 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep display type spacious and the image grid aligned at tablet widths. */
h1{letter-spacing:-2px}@media(min-width:761px) and (max-width:1100px){h1{letter-spacing:-1.5px}.gallery .wide{height:350px}.gallery .tall{height:662px}.gallery .photo:last-child{height:440px}}@media(max-width:760px){.hero h1{letter-spacing:-1px}}
