:root{--paper:#ebebeb;--paper-light:#f5f5f5;--ink:#272727;--muted:#6f6f6f;--line:#d1d1d1;--forest:#363636;--forest-dark:#2b2b2b;--lime:#dfdfdf;--font-heading:'Syne',Arial,sans-serif;--font-body:'Inter',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
[hidden]{display:none!important}
button:focus-visible,a:focus-visible{outline:2px solid #b7b7b7;outline-offset:4px}
.skip-link{position:absolute;top:-100px;left:12px;padding:10px;background:#fff;z-index:1000}.skip-link:focus{top:12px}
.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4.1vw,74px);border-bottom:1px solid rgba(39, 39, 39,.12);position:sticky;top:0;z-index:20;background:var(--paper);transition:box-shadow .25s ease,border-color .25s ease}
.site-header.is-scrolled{box-shadow:0 8px 26px rgba(38, 38, 38,.1);border-color:rgba(39, 39, 39,.08)}
.wordmark{font-family:var(--font-heading);font-size:21px;font-weight:800;letter-spacing:-.075em;white-space:nowrap}.mark-dot{color:#989898}
.logo-link{display:block;width:clamp(285px,25vw,360px);line-height:0;flex:none}.logo-link img{width:100%;height:auto;transition:opacity .25s ease,transform .25s ease}.logo-link:hover img{opacity:.76;transform:translateY(-1px)}
.site-nav{display:flex;align-items:center;gap:clamp(22px,2.6vw,47px);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.095em}.site-nav>a:not(.nav-contact){transition:color .2s}.site-nav>a:not(.nav-contact):hover{color:#878787}.nav-contact{padding:14px 20px;border:1px solid var(--ink);display:flex;gap:30px;align-items:center;transition:background .2s,color .2s}.nav-contact:hover{background:var(--ink);color:#fff}.menu-toggle{display:none}
.hero{min-height:min(760px,calc(100svh - 82px));display:grid;grid-template-columns:51% 49%;overflow:hidden}.hero-copy{padding:clamp(55px,8vh,110px) clamp(30px,6vw,112px) 28px clamp(24px,4.1vw,74px);display:flex;flex-direction:column}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 30px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.eyebrow-line{display:block;width:27px;height:1px;background:currentColor}.hero h1,h2{font-family:var(--font-heading);letter-spacing:-.075em;font-weight:500}.hero h1{font-size:clamp(49px,5.1vw,92px);line-height:1.08;margin:0 0 27px;max-width:900px}.hero h1 em,h2 em{font-family:var(--font-heading);font-weight:400;letter-spacing:-.065em}.hero-intro{font-size:clamp(15px,1.35vw,19px);line-height:1.65;color:#575757;max-width:510px;margin:0}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:17px 20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;min-width:240px;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--forest);color:#fff}.button-light{border:1px solid rgba(255,255,255,.7);color:#fff}.button-cream{background:#ebebeb;color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:7px;transition:gap .2s}.text-link:hover{gap:24px}.hero-index{margin-top:auto;padding-top:45px;display:flex;justify-content:space-between;gap:20px;color:#777777;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero-image-wrap{position:relative;min-height:600px;background:#717171}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.image-caption{position:absolute;bottom:22px;left:25px;right:25px;display:flex;justify-content:space-between;color:white;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 1px 4px #000}
.intro-band{display:grid;grid-template-columns:1fr 3fr auto;gap:30px;align-items:start;background:#e1e1e1;padding:90px clamp(24px,6vw,112px)}.section-number{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;padding-top:15px}.intro-band p{font-family:var(--font-heading);font-size:clamp(27px,3.2vw,52px);line-height:1.26;letter-spacing:-.04em;max-width:950px;margin:0}.intro-symbol{font-size:58px;line-height:1;color:#8b8b8b}
.section{padding:110px clamp(24px,6vw,112px)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:55px}.section h2,.contact-section h2{font-size:clamp(46px,5.1vw,86px);line-height:1.12;margin:0}.section-lead{max-width:310px;line-height:1.65;color:var(--muted);font-size:15px;margin:0 0 5px}.work-section{background:var(--paper-light)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 24px}.project-card{appearance:none;border:0;background:transparent;text-align:left;padding:0;cursor:pointer;color:var(--ink);min-width:0}.project-card-large{grid-column:1/-1}.project-card-wide{grid-column:1/-1}.project-image{display:block;overflow:hidden;background:#cccccc;aspect-ratio:1.57}.project-card-large .project-image{aspect-ratio:2.17}.project-card-wide .project-image{aspect-ratio:2.17}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover img{transform:scale(1.045)}.project-meta{display:flex;align-items:center;justify-content:space-between;padding-top:15px}.project-meta>span:first-child{display:flex;flex-direction:column;gap:4px}.project-meta small{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:#7c7c7c}.project-meta strong{font-family:var(--font-heading);font-weight:600;font-size:clamp(22px,2.5vw,36px);letter-spacing:-.055em}.circle-arrow{display:grid;place-items:center;width:39px;height:39px;border:1px solid #a5a5a5;border-radius:50%;font-size:19px;transition:background .2s,color .2s}.project-card:hover .circle-arrow{background:var(--forest);color:#fff}
.approach-section{display:grid;grid-template-columns:1fr 1fr;gap:12vw;background:var(--forest);color:#f3f3f3}.eyebrow.light{color:#e0e0e0}.approach-main h2{margin-bottom:30px}.approach-main>p:not(.eyebrow){font-size:16px;line-height:1.7;max-width:485px;color:#d8d8d8;margin:0 0 35px}.approach-steps{align-self:center}.approach-steps>div{display:grid;grid-template-columns:65px 1fr;gap:15px;border-top:1px solid #7b7b7b;padding:27px 0}.approach-steps>div:last-child{border-bottom:1px solid #7b7b7b}.approach-steps>div>span{font-size:12px;letter-spacing:.1em;color:#c8c8c8}.approach-steps h3{font-family:var(--font-heading);font-weight:500;font-size:27px;letter-spacing:-.05em;margin:0 0 7px}.approach-steps p{color:#cecece;line-height:1.6;font-size:14px;margin:0;max-width:330px}
.reviews-section{background:#e1e1e1}.reviews-heading{margin-bottom:58px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.review-grid figure{margin:0;background:#f0f0f0;padding:36px;min-height:370px;display:flex;flex-direction:column}.quote-mark{font-family:var(--font-heading);font-size:70px;line-height:.8;color:#9d9d9d}.review-grid blockquote{font-family:var(--font-heading);font-size:clamp(20px,2vw,31px);letter-spacing:-.04em;line-height:1.37;margin:20px 0 38px}.review-grid figcaption{margin-top:auto;display:flex;flex-direction:column;gap:5px;border-top:1px solid #d0d0d0;padding-top:17px}.review-grid figcaption strong{font-size:14px}.review-grid figcaption span{font-size:12px;color:var(--muted)}
.contact-section{background:var(--forest-dark);color:#f4f4f4;padding:90px clamp(24px,6vw,112px) 100px}.contact-top{display:flex;justify-content:space-between;align-items:start}.contact-top span{font-size:13px;color:#cfcfcf}.contact-section h2{font-size:clamp(58px,8vw,136px);line-height:1.08;margin:10px 0 75px}.contact-bottom{border-top:1px solid #7a7a7a;padding-top:27px;display:flex;justify-content:space-between;align-items:end;gap:40px}.contact-bottom p{font-size:15px;color:#d1d1d1;line-height:1.65;max-width:540px;margin:0}.site-footer{background:var(--paper);padding:55px clamp(24px,6vw,112px) 25px}.footer-top{display:flex;align-items:end;justify-content:space-between;padding-bottom:70px}.footer-top .wordmark{font-size:clamp(28px,4vw,56px)}.footer-top p{font-size:14px;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;gap:30px;align-items:center;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.footer-bottom>div{display:flex;gap:25px}.footer-bottom a:hover{text-decoration:underline}
.project-dialog{border:0;padding:0;width:min(970px,calc(100vw - 32px));max-height:min(90vh,900px);background:var(--paper-light);box-shadow:0 30px 90px #0005;color:var(--ink)}.project-dialog::backdrop{background:#141414bb;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:15px;right:15px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:#f7f7f7;color:var(--ink);font-size:27px;cursor:pointer}.dialog-image{aspect-ratio:2.1;overflow:hidden}.dialog-image img{width:100%;height:100%;object-fit:cover}.dialog-content{padding:35px 45px 45px}.dialog-content .eyebrow{margin-bottom:12px}.dialog-content h2{font-size:clamp(35px,5vw,58px);margin:0 0 13px}.dialog-content>p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.6;max-width:690px;margin:0 0 26px}
@media(max-width:1100px){.site-nav{gap:18px}.hero{grid-template-columns:52% 48%}.hero-copy{padding-right:35px}.hero h1{font-size:clamp(46px,5.4vw,65px)}.approach-section{gap:5vw}}
@media(max-width:980px){.site-header{height:68px}.logo-link{width:clamp(215px,31vw,285px)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;border:0;background:transparent;padding:7px;cursor:pointer}.menu-toggle span{height:2px;background:var(--ink);width:100%;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:15px 24px 25px;box-shadow:0 12px 20px #0002;flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav>a{padding:15px 0;border-bottom:1px solid var(--line)}.site-nav .nav-contact{margin-top:16px;padding:15px}}
@media(max-width:480px){.logo-link{width:min(62vw,250px)}}
@media(max-width:760px){.site-header{height:68px}.wordmark{font-size:19px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;border:0;background:transparent;padding:7px;cursor:pointer}.menu-toggle span{height:2px;background:var(--ink);width:100%;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:15px 24px 25px;box-shadow:0 12px 20px #0002;flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav>a{padding:15px 0;border-bottom:1px solid var(--line)}.site-nav .nav-contact{margin-top:16px;padding:15px}.hero{display:flex;flex-direction:column}.hero-copy{min-height:570px;padding:58px 24px 25px}.hero h1{font-size:clamp(45px,10vw,72px)}.hero-image-wrap{min-height:0;aspect-ratio:1.13}.hero-index{padding-top:55px}.intro-band{grid-template-columns:1fr;gap:18px;padding:65px 24px}.intro-symbol{display:none}.section{padding:76px 24px}.section-heading{display:block;margin-bottom:37px}.section h2{font-size:clamp(45px,10vw,68px)}.section-lead{margin-top:22px}.project-grid{gap:30px;grid-template-columns:1fr}.project-card-large,.project-card-wide{grid-column:auto}.project-image,.project-card-large .project-image,.project-card-wide .project-image{aspect-ratio:1.35}.approach-section{display:block}.approach-steps{margin-top:65px}.tool-list>a{grid-template-columns:30px 1fr 30px;gap:10px;padding:21px 3px}.tool-description{grid-column:2;grid-row:2}.tool-arrow{grid-column:3;grid-row:1}.review-grid{grid-template-columns:1fr}.review-grid figure{min-height:300px;padding:28px}.contact-section{padding:70px 24px}.contact-section h2{font-size:clamp(57px,11vw,90px);margin:25px 0 50px}.contact-bottom{align-items:start;flex-direction:column}.footer-top{align-items:start;flex-direction:column;gap:10px;padding-bottom:45px}.footer-bottom{flex-direction:column;align-items:start;gap:22px}.footer-bottom>div{flex-wrap:wrap}.dialog-content{padding:25px}.dialog-image{aspect-ratio:1.5}}
@media(max-width:400px){.hero-copy{min-height:600px}.hero-actions{align-items:start;flex-direction:column;gap:22px}.contact-top>span{display:none}.section h2{font-size:42px}.contact-section h2{font-size:53px}}
@media(max-width:760px){html{scroll-padding-top:76px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
