.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:root{--bg: #ffffff;--ink: #1a1a1a;--muted: #4a4a4a;--faint: #8a8a8a;--line: #c8c8c8;--block: #e6e6e6;--page: 160px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}html.lenis,html.lenis body{height:auto}body{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button,input,textarea{font:inherit}.page{min-height:100vh;display:flex;flex-direction:column}.wrap{width:100%;padding-left:var(--page);padding-right:var(--page)}.nav{display:flex;align-items:center;justify-content:space-between;padding-top:24px;padding-bottom:24px;border-bottom:1px solid var(--line);background:var(--bg)}.logo{font-size:16px;font-weight:600;letter-spacing:-.04em}.nav-links{display:flex;gap:32px;font-size:14px;color:var(--muted)}.nav-links a.active,.nav-links a:hover{color:var(--ink)}.hero,.section,.contact-body,.case-body{padding-top:80px;padding-bottom:80px}.hero{padding-right:var(--page);max-width:58rem}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-bottom:16px}h1{font-size:clamp(36px,5vw,56px);font-weight:600;line-height:1.15;letter-spacing:-.05em}h2{font-size:32px;font-weight:600;letter-spacing:-.045em}.lede,.subhead,.hero-bio,.quote-attr{margin-top:16px;font-size:18px;color:var(--muted);max-width:42rem}.quote-attr{margin-top:12px;font-size:15px}.hero-bio{display:flex;flex-direction:column;gap:12px;margin-top:28px}.hero-bio p{margin:0}.actions{display:flex;gap:12px;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;border-radius:12px;font-size:14px;font-weight:500;border:1px solid transparent}.btn-fill{background:var(--ink);color:#fff}.btn-ghost{border-color:var(--line)}.work-header{margin-bottom:32px}.project-row{display:grid;grid-template-columns:32px 220px 1fr auto;gap:28px;align-items:center;padding:28px 0;border-top:1px solid var(--line)}.project-list .reveal:last-child .project-row{border-bottom:1px solid var(--line)}.index{font-size:14px;font-weight:500;color:var(--faint)}.thumb{width:220px;height:132px;background:var(--block);border-radius:10px;overflow:hidden;color:var(--faint);font-size:12px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(26,26,26,.08);box-shadow:0 6px 20px #1a1a1a0f}.thumb img{width:100%;height:100%;object-fit:cover}.project-copy h3{font-size:24px;font-weight:600;letter-spacing:-.035em}.project-copy p{margin-top:8px;font-size:16px;color:var(--muted)}.view{font-size:14px;font-weight:500}.contact-grid,.case-cols,.meta,.steps,.cards{display:grid;gap:24px}.contact-grid,.case-cols{grid-template-columns:1fr 1fr;gap:80px}.meta{grid-template-columns:repeat(3,1fr);margin:40px 0}.meta p:first-child,.field label,.block-label{font-size:12px;font-weight:500;color:var(--faint);margin-bottom:6px}.form{display:flex;flex-direction:column;gap:16px}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:4px;padding:12px 14px;background:#fff}.field textarea{min-height:140px;resize:vertical}.placeholder{background:var(--block);border-radius:10px;color:var(--faint);font-size:14px;display:flex;align-items:center;justify-content:center;min-height:220px}.hero-image{height:auto;background:#fff;border-radius:12px;overflow:hidden;border:1px solid rgba(26,26,26,.08);box-shadow:0 10px 32px #1a1a1a12}.hero-image img{width:100%;height:auto;object-fit:contain;display:block}.media-reveal+.media-reveal{margin-top:16px}.steps{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.step,.card{background:var(--block);border-radius:4px;padding:20px}.step strong,.card strong{display:block;margin:8px 0}.step p,.card p{font-size:14px;color:var(--muted)}.case-next{display:flex;justify-content:space-between;align-items:center;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.case-next span{color:var(--faint);font-size:14px}.case-next a{font-size:18px;font-weight:600}.work-list{margin-top:32px;padding-top:32px;border-top:1px solid var(--line)}.work-list a,.work-list p{display:block;font-size:18px;padding:6px 0}.work-list .muted{color:var(--faint)}.back{display:inline-block;margin-bottom:24px;font-size:14px;font-weight:500;color:var(--muted)}.footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:24px;padding-bottom:24px;background:var(--ink);color:#fff;font-size:13px}.footer nav{display:flex;gap:24px}.footer .year{color:var(--faint)}.form-note{margin-top:12px;font-size:14px;color:var(--muted)}.nav{animation:nav-in .9s cubic-bezier(.22,1,.36,1) both}.reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .9s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0ms),transform .9s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal.is-in{opacity:1;transform:none}.reveal-text .reveal-word{display:inline-block;overflow:hidden;vertical-align:bottom;margin-right:.28em;padding-right:.12em}.reveal-text .reveal-word>span{display:inline-block;transform:translate3d(0,115%,0);transition:transform 1s cubic-bezier(.22,1,.36,1);will-change:transform}.reveal-text.is-in .reveal-word>span{transform:none}.reveal-text.hero-title,.reveal-text.hero-title .reveal-word>span{letter-spacing:-.055em}.reveal-text.hero-title .reveal-word{margin-right:.08em;padding-right:.1em}.page-enter{animation:page-in .45s ease both}.breathe-in{animation:breathe-in .85s cubic-bezier(.22,1,.36,1) both}@keyframes breathe-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}@keyframes page-in{0%{opacity:0}to{opacity:1}}@keyframes nav-in{0%{opacity:0;transform:translate3d(0,-8px,0)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.nav,.page-enter,.breathe-in,.reveal,.reveal-text .reveal-word>span{animation:none;transition:none;opacity:1;transform:none}}@media(max-width:900px){:root{--page: 24px}.hero{padding-right:var(--page)}.project-row,.contact-grid,.case-cols,.meta,.steps{grid-template-columns:1fr}.project-row{gap:16px}.thumb{width:100%}.nav-links{gap:16px}.footer{flex-direction:column;gap:12px;align-items:flex-start}}
