:root{--paper:#f5f5f1;--ink:#20221f;--muted:#656760;--line:#d8d9d1;--lime:#d7fb53;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:var(--lime);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #43780b;outline-offset:6px}button{touch-action:manipulation}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.05;letter-spacing:-.055em}.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.062em}.section-wrap{max-width:1440px;padding-left:64px;padding-right:64px;margin:0 auto}.section-space{padding-top:112px;padding-bottom:112px}.eyebrow{font-size:0.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.6}.header{height:100px;padding:0 64px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.identity{display:flex;align-items:center;gap:18px}.monogram{font-weight:700;font-size:2.75rem;letter-spacing:-.085em;line-height:1}.monogram span{color:#66891c}.identity-name{font-size:0.9375rem;letter-spacing:-.02em}nav{display:flex;align-items:center;gap:34px;font-size:0.875rem}nav a{padding:10px 0}nav a:hover{text-decoration:underline;text-underline-offset:6px}.nav-contact{display:flex;align-items:center;gap:34px;border:1px solid var(--ink);border-radius:50px;padding:10px 20px}.nav-contact:hover{background:var(--ink);color:var(--paper);text-decoration:none}.nav-contact span{font-size:1.25rem}.menu-toggle{display:none}.hero{position:relative;padding-top:70px;display:grid;grid-template-columns:1.35fr 1fr;gap:60px 35px;align-items:center}.hero .eyebrow{display:flex;gap:10px;align-items:center}.small-cross{font-size:1.5625rem;color:#557908;font-weight:400;line-height:1}.hero h1{font-size:clamp(4.5rem,7.8vw,7.125rem);line-height:.99;margin:32px 0 28px;letter-spacing:-.075em}.hero-intro{font-size:1.125rem;line-height:1.65;max-width:420px;color:#5e605a}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:34px}.button{border-radius:50px;padding:15px 22px;display:inline-flex;align-items:center;justify-content:center;gap:25px;font-size:0.875rem;font-weight:500;transition:background .2s,transform .2s}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#41483b;transform:translateY(-2px)}.button span{font-size:1.3125rem;line-height:1}.text-link{font-size:0.875rem;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-flex;align-items:center;gap:20px}.text-link:hover{color:#526d1c}.hero-note{display:flex;align-items:center;gap:14px;margin-top:40px;color:var(--muted);font-size:0.8125rem;line-height:1.5}.note-line{height:1px;width:30px;background:#969a8d}.portrait{position:relative;background:#e4e6de;border-radius:3px;align-self:center;margin:10px 0 0 10px}.portrait-top{position:absolute;left:24px;right:24px;top:20px;z-index:1;display:flex;justify-content:space-between;font-size:0.75rem;color:#53584c}.portrait img{width:100%;aspect-ratio:1/1.08;object-fit:cover;filter:grayscale(1);mix-blend-mode:multiply;object-position:center 47%;border-radius:3px}.portrait figcaption{position:absolute;left:24px;bottom:22px;right:24px;color:white;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:0.875rem;text-shadow:0 1px 7px #000}.portrait-label{font-size:0.75rem}.portrait-stamp{background:var(--lime);color:var(--ink);position:absolute;right:-18px;bottom:64px;transform:rotate(-8deg);width:154px;height:154px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 7px 16px #0000000b}.portrait-stamp span{font-size:0.75rem}.portrait-stamp strong{font-size:1.5625rem;letter-spacing:-.05em}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 0 27px;font-size:0.75rem;color:var(--muted);letter-spacing:.015em}.hero-bottom a{display:flex;gap:16px;align-items:center}.hero-bottom a span{font-size:1.25rem;color:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:48px}.section-heading h2,h2{font-size:clamp(2.5rem,4.1vw,3.75rem);line-height:1.07;margin-top:21px}.section-heading>p{max-width:310px;color:var(--muted);line-height:1.65;font-size:1rem;padding-bottom:5px}.featured-project{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#eceee6;transition:border-color .2s}.featured-project:hover{border-color:var(--ink)}.project-visual{background:var(--lime);padding:32px 35px;min-height:350px;display:flex;flex-direction:column;justify-content:center;position:relative}.project-overline{position:absolute;top:28px;left:35px;font-size:0.75rem;text-transform:uppercase;letter-spacing:.1em}.sharingful-wordmark{font-size:clamp(2.75rem,5.3vw,4.5625rem);font-weight:700;letter-spacing:-.065em;line-height:1;position:relative}.sharingful-wordmark span{font-size:0.9375rem;vertical-align:super;letter-spacing:0;margin-left:4px}.project-visual>p{font-size:1rem;letter-spacing:-.02em;margin-top:14px}.visual-bottom{position:absolute;left:35px;right:30px;bottom:25px;display:flex;justify-content:space-between;align-items:center;font-size:0.75rem}.project-round{border:1px solid #20221f50;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:1.375rem;transition:transform .25s}.featured-project:hover .project-round{transform:rotate(45deg)}.project-content{padding:35px 40px;display:flex;flex-direction:column}.project-number{font-size:0.75rem;display:flex;justify-content:space-between;color:var(--muted)}.project-content h3{font-size:2.25rem;letter-spacing:-.04em;margin-top:31px;margin-bottom:14px}.project-content>p{color:#5a5f54;font-size:1rem;line-height:1.6;max-width:370px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:23px 0 27px}.tags span{padding:4px 10px;border:1px solid #cbcec1;border-radius:30px;font-size:0.75rem}.project-link{font-size:0.875rem;margin-top:auto;display:flex;gap:20px;align-items:center}.project-list{margin-top:30px}.project-list>a{display:grid;grid-template-columns:55px 1fr 170px 30px;gap:16px;align-items:center;padding:27px 5px;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.project-list>a:hover{padding-left:16px;padding-right:16px;background:#eceedf}.list-number{font-size:0.75rem;color:var(--muted)}.project-list h3{font-size:1.625rem;letter-spacing:-.035em;line-height:1.2}.list-type{font-size:0.8125rem;color:var(--muted);text-align:right}.list-arrow{font-size:1.5625rem;text-align:right}.approach{background:var(--ink);color:var(--paper)}.approach .eyebrow{color:var(--lime)}.approach .section-heading>p{color:#b8bdb0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:65px}.services article{border-top:1px solid #ffffff33;padding-top:32px}.service-symbol{height:80px;display:block;font-size:2.3125rem;font-weight:400;line-height:1;color:var(--lime);letter-spacing:-.06em}.design-symbol{font-family:var(--serif);font-style:italic;font-size:2.8125rem}.service-top{display:flex;gap:15px;align-items:baseline}.service-top>span{font-size:0.75rem;color:#909786}.service-top h3{font-size:1.6875rem;letter-spacing:-.035em}.services p{color:#b8bdb0;font-size:1rem;line-height:1.65;margin:21px 0 28px;max-width:325px}.tech{color:#e5e9db;font-size:0.75rem;padding-top:15px;border-top:1px solid #ffffff1c}.about{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-title h2{font-size:clamp(3rem,5vw,4.5rem)}.about-mark{display:inline-block;font-size:7.5rem;font-weight:700;line-height:1;letter-spacing:-.09em;margin-top:50px;color:#d6daca}.about-copy{padding-top:40px}.about-copy>p{font-size:1rem;line-height:1.8;color:var(--muted);margin-bottom:23px}.about-copy .about-lead{font-size:1.5625rem;line-height:1.45;letter-spacing:-.035em;color:var(--ink)}.education{margin-top:32px;margin-bottom:30px;border-top:1px solid var(--line)}.education>div{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:120px 1fr;gap:20px}.education>div>span{font-size:0.75rem;color:var(--muted)}.education p{font-size:0.875rem;line-height:1.5}.education small{font-size:0.75rem;display:block;color:var(--muted);margin-top:3px}.notes{border-top:1px solid var(--line);padding-top:70px}.compact{align-items:flex-end}.compact h2{font-size:2.8125rem}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.articles>a{border-top:1px solid #252920;padding:23px 0 0;display:flex;flex-direction:column;transition:color .2s}.article-category{text-transform:uppercase;letter-spacing:.07em;font-size:0.75rem;color:var(--muted)}.articles h3{font-size:1.5625rem;line-height:1.25;letter-spacing:-.035em;margin:18px 0 34px;max-width:310px}.read-more{display:flex;align-items:center;justify-content:space-between;font-size:0.875rem;margin-top:auto}.read-more>span{font-size:1.375rem}.articles>a:hover{color:#54781b}.contact{background:var(--lime);padding:56px 0 48px}.contact-top{display:flex;justify-content:space-between;gap:30px}.contact-top>span{font-size:0.8125rem;max-width:230px;line-height:1.5}.contact h2{font-size:clamp(4.5rem,10vw,9rem);letter-spacing:-.075em;line-height:.96;margin-top:44px;margin-bottom:43px;position:relative}.contact-arrow{position:absolute;right:0;bottom:10px;font-size:6.25rem;font-family:Arial,sans-serif;font-weight:400;width:142px;height:142px;border:1px solid #20221f6b;border-radius:50%;display:grid;place-items:center;line-height:1;transition:background .2s,color .2s}.contact-arrow:hover{background:var(--ink);color:var(--lime)}.contact-bottom{border-top:1px solid #20221f40;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.email{font-size:clamp(1.1875rem,2.4vw,2rem);letter-spacing:-.04em;overflow-wrap:anywhere}.email:hover{text-decoration:underline;text-underline-offset:7px}.copy-email{background:transparent;border:1px solid #20221f50;display:flex;align-items:center;gap:9px;border-radius:40px;padding:10px 15px;font-size:0.8125rem;white-space:nowrap}.copy-email:hover{background:#20221f0d}.footer{padding-top:35px;padding-bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:0.8125rem}.footer-brand{display:flex;gap:17px;align-items:center}.footer-brand span{font-size:0.75rem;color:var(--muted)}.socials{display:flex;gap:25px}.socials a{display:flex;gap:10px}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.back-top{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:100;top:-70px;left:15px;background:var(--ink);color:white;padding:12px 20px}.skip:focus{top:10px}
@media(min-width:1500px){.hero{padding-top:90px}.portrait{max-width:490px;margin-left:auto;width:100%}}
@media(max-width:1100px){.section-wrap{padding-left:40px;padding-right:40px}.header{padding:0 40px}.hero{gap:40px 25px;padding-top:45px}.hero h1{font-size:5.125rem}.hero-actions{gap:17px;flex-wrap:wrap}.hero-intro{font-size:1rem}.portrait-stamp{width:125px;height:125px;right:-10px}.portrait-stamp strong{font-size:1.4375rem}.portrait-stamp span{font-size:0.75rem}.portrait-label{display:none}.section-space{padding-top:85px;padding-bottom:85px}.project-content{padding:28px}.services{gap:25px}.about{gap:60px}.education>div{grid-template-columns:95px 1fr;gap:14px}.contact-arrow{width:110px;height:110px;font-size:5rem}.contact h2{font-size:6.5625rem}.compact h2{font-size:2.5rem}}
@media(max-width:800px){html{scroll-padding-top:30px}.section-wrap{padding-left:26px;padding-right:26px}.header{height:86px;padding:0 26px;position:relative}.identity-name{font-size:0.875rem}.monogram{font-size:2.4375rem}.menu-toggle{display:flex;align-items:center;gap:13px;background:transparent;border:1px solid var(--line);border-radius:30px;padding:10px 16px;font-size:0.875rem}.menu-icon{width:15px;height:10px;border-top:1px solid;border-bottom:1px solid;display:inline-block}.menu-toggle[aria-expanded=true] .menu-icon{transform:rotate(-45deg);height:0;border-bottom:0}.header nav{display:none;position:absolute;left:16px;right:16px;top:78px;padding:24px;background:var(--paper);z-index:10;border:1px solid var(--line);box-shadow:0 10px 20px #20221f12;align-items:stretch;gap:12px;font-size:1.0625rem}.header nav.open{display:flex;flex-direction:column}.nav-contact{margin-top:5px;justify-content:space-between;padding:10px 20px}.hero{grid-template-columns:1fr 1fr;gap:36px 20px;padding-top:35px}.hero h1{font-size:4rem;margin-top:24px}.hero .eyebrow{font-size:0.75rem;letter-spacing:.035em}.hero-intro{font-size:1rem}.hero-actions{gap:20px}.button{padding:13px 17px;gap:12px}.hero-note{margin-top:28px}.portrait img{aspect-ratio:1/1.25}.portrait{margin:0;align-self:center}.portrait-top{left:15px;right:15px;top:14px;font-size:0.75rem}.portrait-stamp{width:108px;height:108px;bottom:45px;right:-8px}.portrait-stamp span:last-child{display:none}.portrait-stamp strong{font-size:1.25rem}.portrait figcaption{left:15px;bottom:13px}.hero-bottom{margin-top:10px;font-size:0.75rem}.section-heading{gap:25px;margin-bottom:35px}.section-heading>p{max-width:240px;font-size:0.9375rem}.section-heading h2{font-size:2.5rem}.featured-project{grid-template-columns:1fr 1fr}.project-visual{padding:25px;min-height:370px}.project-overline{left:25px}.sharingful-wordmark{font-size:2.8125rem}.project-visual>p{font-size:0.875rem}.visual-bottom{left:25px;right:20px;gap:10px}.project-content{padding:25px}.project-content>p{font-size:0.9375rem}.project-content h3{font-size:1.9375rem}.project-number{flex-wrap:wrap;gap:10px}.tags{margin:20px 0}.project-list>a{grid-template-columns:30px 1fr 95px 20px;gap:12px}.project-list h3{font-size:1.4375rem}.list-type{font-size:0.75rem}.services{gap:22px}.services p{font-size:0.9375rem}.service-top{gap:10px}.service-top h3{font-size:1.375rem}.tech{line-height:1.8}.about{gap:35px}.about-title h2{font-size:3rem}.about-copy{padding-top:32px}.about-copy .about-lead{font-size:1.4375rem}.education>div{grid-template-columns:1fr;gap:4px}.articles{gap:22px}.articles h3{font-size:1.375rem}.contact h2{font-size:5.625rem}.contact-top>span{font-size:0.75rem}.contact-arrow{width:95px;height:95px;font-size:4.0625rem}.footer{flex-wrap:wrap;gap:18px}.back-top{display:none}}
@media(max-width:600px){.section-wrap{padding-left:22px;padding-right:22px}.header{padding:0 22px;height:80px}.identity{gap:12px}.hero{grid-template-columns:1fr;padding-top:32px;gap:32px}.hero .eyebrow{font-size:0.75rem;letter-spacing:.035em}.hero h1{font-size:clamp(3.5625rem,13.8vw,5.125rem);margin:25px 0 24px;letter-spacing:-.065em}.hero-intro{max-width:370px;font-size:1.0625rem}.hero-actions{margin-top:28px;gap:22px}.hero-note{margin-top:30px}.portrait{margin:8px 8px 0 0}.portrait img{aspect-ratio:1.12;object-position:50% 40%}.portrait-top{top:20px;left:20px;right:20px;font-size:0.75rem}.portrait figcaption{left:20px;bottom:19px;right:20px;font-size:0.875rem}.portrait-label{display:block;font-size:0.75rem}.portrait-stamp{width:118px;height:118px;right:-15px;bottom:50px}.portrait-stamp strong{font-size:1.375rem}.hero-bottom{gap:25px;align-items:center;margin:0;padding-bottom:24px}.hero-bottom>span{max-width:160px}.hero-bottom>a{gap:10px;white-space:nowrap}.section-space{padding-top:68px;padding-bottom:68px}.eyebrow{font-size:0.75rem;letter-spacing:.08em}.section-heading{display:block;margin-bottom:30px}.section-heading h2,h2{font-size:2.625rem;margin-top:17px}.section-heading>p{max-width:340px;margin-top:23px;font-size:1rem}.featured-project{display:block}.project-visual{min-height:285px;padding:28px}.sharingful-wordmark{font-size:3.75rem}.project-overline{left:28px;top:25px}.project-visual>p{font-size:0.9375rem}.visual-bottom{left:28px;right:25px;bottom:20px}.project-content{padding:25px 28px 29px}.project-content h3{margin-top:25px;font-size:2.125rem}.project-content>p{font-size:1rem;max-width:none}.project-number{flex-wrap:nowrap}.tags{margin:20px 0 25px}.project-list{margin-top:19px}.project-list>a{grid-template-columns:25px 1fr 20px;gap:12px;padding:24px 0}.project-list h3{font-size:1.375rem}.list-type{display:none}.list-arrow{font-size:1.375rem}.services{grid-template-columns:1fr;gap:35px;margin-top:40px}.services article{position:relative;padding-top:24px}.service-symbol{font-size:1.875rem;height:auto;position:absolute;right:0;top:21px}.design-symbol{font-size:2.1875rem}.service-top h3{font-size:1.75rem}.services p{font-size:1rem;max-width:none;margin:21px 0}.tech{font-size:0.8125rem}.about{grid-template-columns:1fr;gap:25px}.about-title h2{font-size:3.3125rem}.about-mark{display:none}.about-copy{padding-top:0}.about-copy .about-lead{font-size:1.5625rem}.about-copy>p{font-size:1rem}.education>div{grid-template-columns:110px 1fr;gap:15px}.notes{padding-top:58px}.compact h2{font-size:2.5rem}.compact>.text-link{margin-top:22px}.articles{grid-template-columns:1fr;gap:30px}.articles>a{padding-top:20px}.articles h3{font-size:1.625rem;max-width:360px;margin:16px 0 24px}.read-more{justify-content:flex-start;gap:20px}.contact{padding-top:37px;padding-bottom:31px}.contact-top{display:block}.contact-top>span{display:block;font-size:0.8125rem;max-width:260px;margin-top:13px}.contact h2{font-size:clamp(3.875rem,14.4vw,5.375rem);margin-top:36px;margin-bottom:33px}.contact-arrow{width:64px;height:64px;font-size:2.75rem;right:0;bottom:4px}.contact-bottom{flex-wrap:wrap;gap:20px;padding-top:23px}.email{font-size:1.4375rem}.copy-email{font-size:0.8125rem}.footer{padding-top:25px;padding-bottom:25px;gap:19px;align-items:flex-start}.footer-brand{flex-direction:column;align-items:flex-start;gap:3px;font-size:0.875rem}.socials{gap:18px;padding-top:2px;font-size:0.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.portrait figcaption{background:var(--paper);color:var(--ink);text-shadow:none;padding:9px 12px;border-radius:2px;left:16px;right:16px;bottom:16px;gap:8px}.portrait-label{font-size:.75rem}
