@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;650;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f9faf7;--ink:#20241f;--muted:#5b6258;--line:#d9ded3;--accent:#d6f64c;--dark:#222b24}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #456723;outline-offset:6px}a:hover{text-decoration:none}p,h1,h2,h3{margin:0}img{display:block;max-width:100%;height:auto}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.header{display:flex;justify-content:space-between;align-items:center;padding:26px 56px;border-bottom:1px solid var(--line);gap:24px}.wordmark{font-size:21px;font-weight:700;letter-spacing:-.7px}.brand-dot{color:#78920b}.header nav{display:flex;gap:36px;font-size:14px;font-weight:500}.header nav a:hover{border-bottom:1px solid}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.6px;line-height:1.6}.hero{padding-top:79px}.hero h1{font-size:clamp(52px,6.4vw,91px);font-weight:500;letter-spacing:-4px;line-height:1.05;margin:26px 0 32px}.serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-2px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-bottom p{color:var(--muted);max-width:540px;font-size:18px}.round-link{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600;white-space:nowrap}.round-link span{display:grid;place-items:center;border:1px solid var(--ink);width:48px;height:48px;border-radius:50%;font-size:22px;transition:background .2s}.round-link:hover span{background:var(--accent)}.hero-foot{border-top:1px solid var(--line);margin-top:48px;padding:20px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.work{padding:65px 0 96px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.section-heading h2{font-size:44px;letter-spacing:-1.7px;font-weight:500;line-height:1.2;margin-top:10px}.section-heading>p{font-size:14px;color:var(--muted)}.project-visual{background:#d8e6d2;padding:54px 65px 0;overflow:hidden}.browser-strip{background:#fff;display:flex;gap:5px;align-items:center;border-radius:8px 8px 0 0;padding:10px 14px}.browser-strip>span{width:6px;height:6px;border-radius:50%;background:#ced2ca}.browser-strip p{flex:1;text-align:center;font-size:12px;color:#70776b}.project-visual img{width:100%;box-shadow:0 0 32px #18201618;transition:transform .4s}.project-link:hover .project-visual img{transform:translateY(-4px)}.project-info{display:flex;align-items:center;justify-content:space-between;padding-top:27px;gap:24px}.project-info h3{font-size:31px;font-weight:500;letter-spacing:-1px;margin:9px 0 6px;line-height:1.2}.project-info p:not(.eyebrow){color:var(--muted);max-width:650px}.project-arrow{display:grid;place-items:center;flex:none;width:50px;height:50px;border:1px solid var(--line);border-radius:50%;font-size:24px}.project-link:hover .project-arrow{background:var(--accent);border-color:var(--accent)}.about{background:var(--dark);color:var(--paper);padding:85px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.about h2,.contact h2{font-size:clamp(38px,4.1vw,58px);font-weight:500;line-height:1.13;letter-spacing:-2px;margin-top:25px}.about .eyebrow{color:var(--accent)}.about-copy>p{color:#d5dcd2;font-size:17px;margin-bottom:20px}.education{margin-top:37px}.education>div{display:flex;flex-direction:column;padding:18px 0;border-bottom:1px solid #465044;gap:4px}.education strong{font-weight:500;font-size:15px}.education span{font-size:14px;color:#b3bdb0}.contact{padding:87px 0 80px}.contact>div{display:flex;align-items:end;justify-content:space-between;gap:40px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;background:var(--accent);border-radius:4px;padding:18px 24px;font-size:15px;font-weight:600;flex-shrink:0}.button:hover{background:#c8e83d}.footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding:24px 0 30px;font-size:12px;color:var(--muted)}.skip{position:fixed;top:10px;left:10px;transform:translateY(-200%);background:var(--accent);padding:12px;z-index:100}.skip:focus{transform:none}.case-intro{padding:55px 0}.back{font-size:14px;color:var(--muted);display:inline-block;margin-bottom:40px}.case-intro h1{font-size:clamp(50px,7vw,86px);font-weight:500;letter-spacing:-3px;line-height:1.1;margin:17px 0 25px}.case-deck{font-size:21px;max-width:800px;color:var(--muted)}.case-meta{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin-top:38px;padding:24px 0;gap:20px}.case-meta dt{font-size:12px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.case-meta dd{margin:6px 0 0;font-size:15px}.case-figure{margin:0 auto 60px}.case-figure img{border:1px solid var(--line);width:100%}.case-figure figcaption{font-size:13px;color:var(--muted);padding-top:12px}.case-body{max-width:840px;padding-bottom:70px}.case-section{margin:0 0 50px}.case-section h2{font-size:32px;letter-spacing:-1px;line-height:1.2;font-weight:500;margin:12px 0 20px}.case-section p{font-size:18px;color:var(--muted);margin:16px 0}.case-section ul{padding-left:22px;color:var(--muted);font-size:18px}.case-section li{padding-bottom:12px}.callout{background:#ecf1e7;border-left:3px solid #78920b;padding:22px 28px}.case-bottom{border-top:1px solid var(--line);padding:30px 0;display:flex;justify-content:space-between;align-items:center;gap:25px}
@media(min-width:1600px){.header{padding-inline:max(56px,calc((100vw - 1280px)/2))}}@media(max-width:800px){.wrap{width:calc(100% - 48px)}.header{padding:22px 24px}.header nav{gap:20px}.wordmark{font-size:18px}.hero{padding-top:54px}.hero h1{letter-spacing:-2.5px}.hero-bottom{align-items:start;flex-direction:column}.hero-bottom p{font-size:17px}.hero-foot{gap:15px;flex-direction:column;margin-top:34px}.work{padding:40px 0 64px}.project-visual{padding:28px 28px 0}.section-heading h2{font-size:36px}.section-heading>p{display:none}.about-grid{grid-template-columns:1fr;gap:32px}.about{padding:58px 0}.about h2,.contact h2{font-size:44px}.contact{padding:58px 0}.contact>div{align-items:start;flex-direction:column;gap:30px}.case-meta{grid-template-columns:1fr;gap:18px}.case-bottom{align-items:start;flex-direction:column}.case-deck{font-size:18px}}@media(max-width:450px){.wrap{width:calc(100% - 36px)}.header{padding:18px;align-items:start;gap:16px}.header nav{gap:13px;font-size:13px;padding-top:4px}.wordmark{max-width:96px;line-height:1.15}.hero h1{font-size:49px}.hero h1 .serif{letter-spacing:-1.5px}.project-visual{padding:20px 16px 0}.project-info h3{font-size:28px}.project-info p:not(.eyebrow){font-size:15px}.about h2,.contact h2{font-size:39px}.footer{flex-direction:column;gap:12px}.browser-strip p{font-size:11px}.case-intro{padding-top:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.other-projects{display:grid;grid-template-columns:1fr 1fr;gap:55px 32px;margin-top:60px}.type-cover{height:310px;padding:28px 32px;display:flex;flex-direction:column;justify-content:space-between;transition:filter .2s}.type-cover.lime{background:#e1f5a7}.type-cover.blue{background:#cbdfe9}.type-cover.peach{background:#f2d6c6}.type-cover.gray{background:#dce0d6}.cover-meta{display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:1px}.type-cover>p{font-size:42px;line-height:1.08;letter-spacing:-1.8px;font-weight:500}.cover-caption{font-size:13px}.small-project .project-info{align-items:start}.small-project .project-info h3{font-size:26px}.small-project .project-info p:not(.eyebrow){font-size:15px}.small-project .project-arrow{width:40px;height:40px;font-size:20px}.small-project:hover .type-cover{filter:brightness(.97)}.process-flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:28px 0}.process-flow li{padding:20px 15px;background:#edf1e7;font-size:14px;font-weight:500}.approach-steps article{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:25px 0;border-bottom:1px solid var(--line)}.approach-steps article>span{font-size:13px;color:var(--muted);padding-top:4px}.approach-steps h3{font-size:22px;line-height:1.3;font-weight:500}.approach-steps p{margin-bottom:0}.project-note{font-size:14px;color:var(--muted);margin-bottom:35px}.case-body .button{margin-top:8px}@media(max-width:800px){.other-projects{gap:40px 22px}.type-cover{height:260px;padding:22px}.type-cover>p{font-size:32px}.cover-caption{font-size:12px}.cover-meta{font-size:12px}.process-flow{grid-template-columns:1fr 1fr}}@media(max-width:600px){.other-projects{grid-template-columns:1fr}.type-cover{height:270px}.type-cover>p{font-size:40px}.case-bottom .button{font-size:14px;white-space:normal;gap:15px}}
