@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#202a25;--muted:#6c726c;--paper:#f5f3ed;--accent:#d7e3af}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);gap:30px}.brand{font-weight:800;display:flex;align-items:center;gap:13px;font-size:21px;letter-spacing:-.7px}.brand>span:last-child{font-size:14px;letter-spacing:1.5px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px}.brand-line{height:30px;width:1px;background:#aaa}nav{display:flex;gap:30px;font-size:13px}.nav-cta{font-size:12px;border-bottom:1px solid var(--ink);padding:10px 0}.hero{height:min(770px,83vh);min-height:570px;position:relative;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,25,21,.83),rgba(13,25,21,.28) 65%),linear-gradient(0deg,rgba(13,25,21,.5),transparent 40%)}.hero-content{position:absolute;left:8%;top:15%;max-width:640px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.8}.hero .eyebrow{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Manrope',sans-serif;font-weight:500;letter-spacing:-3px;line-height:1.1}h1{font-size:clamp(45px,5.7vw,84px);margin:30px 0 24px}em{font-style:normal;color:var(--accent)}.hero-content>p:not(.eyebrow){font-size:15px;line-height:1.9;max-width:420px;color:#e0e3dc}.button{display:inline-flex;gap:45px;align-items:center;background:var(--accent);color:var(--ink);padding:19px 24px;font-size:12px;font-weight:700;margin-top:18px}.button:hover{background:#e5edcf}.hero-bottom{position:absolute;bottom:30px;left:8%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px}.section{padding:100px 8%}h2{font-size:clamp(36px,4vw,58px);margin:20px 0 30px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:45px 80px}.intro-copy{padding-top:30px;font-size:14px;line-height:1.9;color:var(--muted)}.intro-copy .lead{font-size:22px;line-height:1.5;color:var(--ink);max-width:430px}.disciplines{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cccec5}.disciplines>a{position:relative;padding:30px 30px 15px 0;border-bottom:1px solid #cccec5}.disciplines>a+ a{padding-left:30px;border-left:1px solid #cccec5}.disciplines span{font-size:11px;color:#7b8273}.disciplines h3{font-size:20px;font-weight:500;margin:28px 0 12px}.disciplines p{font-size:12px;color:var(--muted);line-height:1.7}.disciplines b{position:absolute;right:20px;top:30px;font-weight:400}.portfolio{padding-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading>p{font-size:13px;line-height:1.8;color:var(--muted);padding-bottom:16px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 35px}.filters button{border:1px solid #d4d6cd;background:transparent;padding:12px 20px;font-size:11px;border-radius:30px;color:var(--ink)}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.filters span{font-size:9px;margin-left:8px;opacity:.7}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 24px}.card{border:0;background:none;padding:0;text-align:left;color:var(--ink);width:100%}.card[hidden]{display:none}.card-image{overflow:hidden;aspect-ratio:4/3;background:#e0e1d8;position:relative}.card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover img{transform:scale(1.045)}.card-image>span{position:absolute;right:15px;bottom:15px;background:var(--paper);border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.card h3{font-size:15px;font-weight:500;margin:16px 0 8px}.card p{font-size:10px;color:var(--muted);letter-spacing:.8px}.gallery-status{font-size:11px;color:var(--muted);margin:30px 0 0}.process{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}.process-image img{width:100%;height:100%;object-fit:cover;min-height:700px}.process-copy{padding:75px 13%}.process-copy>.eyebrow{color:var(--accent)}.process-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#bfc7be}.process-copy h2{font-size:40px}.process ol{list-style:none;padding:10px 0 0}.process li{border-top:1px solid #506055;display:flex;gap:25px;padding:22px 0}.process li>span{font-size:10px;color:var(--accent)}.process h3{font-size:15px;font-weight:500;margin-bottom:8px}.process li p{font-size:12px;line-height:1.7;color:#bfc7be;margin:0}.closing{text-align:center;padding-top:90px;padding-bottom:90px}.closing h2{font-size:clamp(40px,5vw,70px)}.closing em{color:#78845d}.dark{background:var(--ink);color:white}.dark:hover{background:#3e4e41}footer{border-top:1px solid #cccec5;margin:0 5%;padding:35px 3%;display:flex;justify-content:space-between;gap:30px;align-items:center}footer .brand{font-size:13px;letter-spacing:1px}footer p,footer>a:last-child{font-size:10px;line-height:1.8;color:var(--muted);margin:0}dialog{border:0;background:#15201df7;color:white;max-width:100vw;width:100vw;height:100dvh;max-height:100dvh;padding:60px 80px;overflow:hidden}dialog[open]{display:flex;align-items:center;justify-content:center}dialog::backdrop{background:#15201d}dialog figure{margin:0;max-width:100%;text-align:center}dialog img{max-height:78dvh;max-width:80vw;object-fit:contain}dialog figcaption{font-size:13px;padding:18px}dialog button{position:absolute;background:transparent;border:1px solid #ffffff55;color:white;width:44px;height:44px;border-radius:50%;font-size:24px}#close{top:18px;right:20px}#prev{left:15px;top:48%}#next{right:15px;top:48%}:focus-visible{outline:3px solid #a9b67d;outline-offset:5px}@media(min-width:1600px){.section{padding-left:max(8%,calc((100vw - 1350px)/2));padding-right:max(8%,calc((100vw - 1350px)/2))}}@media(max-width:900px){header{height:80px}nav{gap:16px;font-size:11px}.nav-cta{display:none}.hero-content{left:6%;right:6%;top:16%}.section{padding:70px 6%}.intro{gap:30px}.gallery{grid-template-columns:repeat(2,1fr)}.process-copy{padding:50px 9%}.process-copy h2{font-size:32px}.process-image img{min-height:650px}.disciplines h3{font-size:16px}}@media(max-width:600px){header{height:75px}.brand{gap:8px}.brand>span:last-child{font-size:11px}nav a:first-child,nav a:last-child{display:none}.hero{height:78svh;min-height:560px}.hero>img{object-position:60% center}.hero-content{top:13%}h1{font-size:49px;letter-spacing:-2px}.hero-content>p:not(.eyebrow){font-size:14px;max-width:310px}.hero-bottom{left:6%;right:6%;font-size:8px}.hero-bottom>a{display:none}.intro{grid-template-columns:1fr;gap:5px}.intro-copy{padding-top:0}.disciplines{grid-template-columns:1fr;margin-top:30px}.disciplines>a,.disciplines>a+a{padding:22px 0;border-left:0}.disciplines h3{margin:10px 0}.disciplines p{margin:0}.section-heading{display:block}.section-heading>p{padding:0}.filters{gap:7px}.filters button{padding:10px 12px;font-size:10px}.gallery{gap:24px 14px}.card h3{font-size:13px;line-height:1.5;margin-top:10px}.card p{font-size:8px;line-height:1.6}.process{grid-template-columns:1fr}.process-image{height:300px}.process-image img{min-height:0}.process-copy{padding:50px 6%}.closing{padding:65px 6%}footer{flex-wrap:wrap;margin:0 6%;padding:30px 0}footer p{order:3;flex-basis:100%}dialog{padding:60px 0}dialog img{max-width:100vw;max-height:72dvh}#prev,#next{top:auto;bottom:20px}h2{letter-spacing:-1.8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card img{transition:none}}

.contact-hours{line-height:1.9;font-size:14px;margin:28px 0 12px}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--ink);color:white;padding:12px 18px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}@media(max-width:600px){nav a:last-child{display:inline}nav{gap:15px;font-size:11px}.closing a[href^="mailto:"]{overflow-wrap:anywhere}}
