:root{--paper:#fafaf8;--ink:#252625;--muted:#767872;--line:#e8e8e3;--mint:#8bd6ac;--yellow:#f8dc4c;--blue:#b4dafa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.65 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline-offset:5px;outline:3px solid #387755}header{z-index:10;justify-content:center;align-items:center;gap:10px;padding:22px 16px;display:flex;position:relative}nav{border:1px solid var(--line);background:#f6f6f2;border-radius:50px;gap:26px;padding:12px 23px;display:flex}nav a{align-items:center;gap:8px;font-size:14px;display:flex}nav a:hover{color:#428060}.monogram,.nav-social{border:1px solid var(--line);border-radius:50%;place-content:center;width:49px;height:49px;display:grid}.monogram{font-family:Georgia,serif;font-size:24px;position:relative}.monogram span{color:#68ae83;font-size:17px;position:absolute;top:0;right:8px}.nav-social{background:var(--yellow);border:0;font-size:25px}.skip{position:absolute;top:-100px}.skip:focus{z-index:20;background:#fff;top:0}.hero{text-align:center;padding:112px 20px 72px}.hello{color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:15px;display:flex}.avatar{border-radius:50%;width:40px;height:40px;display:block;position:relative;overflow:hidden}.avatar img{width:178px;max-width:none;height:auto;position:absolute;top:-72px;left:-79px}h1,h2,p{margin:0}h1{letter-spacing:-4px;margin:22px 0;font:clamp(48px,6.1vw,82px)/1.08 Georgia,Times New Roman,serif}h1 em,h2 em{font-weight:400}.hero-copy{color:var(--muted);margin-top:25px;font-size:17px;line-height:1.65}.hero-copy a{color:var(--ink);text-underline-offset:4px;text-decoration:underline}.text-link{margin-top:24px;font-size:14px;display:inline-block}.text-link span{margin-left:10px}.text-link:hover{text-underline-offset:5px;text-decoration:underline}.chip-field{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;max-width:1160px;margin:0 auto 88px;padding:18px 30px 0;display:flex}.chip{border-radius:60px;align-items:center;gap:24px;padding:16px 23px;font:11px/1.2 ui-monospace,SFMono-Regular,monospace;transition:transform .2s;display:flex}.chip span{font:24px/1 Georgia,serif}.chip:hover{transform:translateY(-5px)rotate(-2deg)}.pink{background:#f0cfe2}.mint{background:var(--mint)}.blue{background:var(--blue)}.yellow{background:var(--yellow)}.orange{background:#f5a96f}.white{border:1px solid var(--line);background:#f1f1ec}.lavender{background:#dccbfa}.lime{background:#dff4a2}.tilt{transform:rotate(-13deg)}.tilt-other{transform:rotate(12deg)}.work{max-width:1280px;margin:auto;padding:0 40px}.section-label{color:var(--muted);letter-spacing:1px;justify-content:space-between;margin:0 0 24px;font:11px/1.4 ui-monospace,monospace;display:flex}.build-card{border:1px solid var(--line);background:#fff;border-radius:28px;overflow:hidden}.card-heading{justify-content:space-between;align-items:center;gap:30px;padding:38px 40px;display:flex}.eyebrow{letter-spacing:1.2px;color:var(--muted);margin-bottom:16px;font:11px/1.5 ui-monospace,monospace}.status-dot{background:#74b18d;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}h2{letter-spacing:-1px;font:35px/1.2 Georgia,serif}.card-heading h2{letter-spacing:-.65px;font:500 26px/1.35 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.card-heading p:not(.eyebrow){color:var(--muted);margin-top:16px;font-size:14px}.button{white-space:nowrap;background:var(--ink);color:#fff;border-radius:40px;align-items:center;padding:13px 21px;font-size:13px;transition:transform .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.loop-art{background:#eef4ef;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:330px;margin:0 12px 12px;padding:50px 20px;display:flex;position:relative}.art-caption,.art-bottom{color:#6b7c6e;letter-spacing:1.4px;font:10px ui-monospace,monospace}.art-caption{position:absolute;top:25px;left:26px}.art-bottom{position:absolute;bottom:24px;right:26px}.loop-row{align-items:center;gap:20px;display:flex}.loop-node{border-radius:18px;min-width:185px;padding:25px 22px;font-size:21px;position:relative;box-shadow:0 6px #00000007}.loop-node small{opacity:.6;font:10px ui-monospace,monospace;display:block}.loop-node span{font-size:25px;position:absolute;top:28px;right:19px}.node-mint{background:#b6e4c8;transform:rotate(-4deg)}.node-yellow{background:#f6e68e;transform:rotate(3deg)}.node-blue{background:#b9d9ef;transform:rotate(-3deg)}.connector{color:#6f8474;font-size:28px}.return-path{color:#748879;gap:40px;margin-top:30px;font:12px ui-monospace,monospace;display:flex}.about-preview{grid-template-columns:1fr 1fr;align-items:center;gap:75px;max-width:1080px;margin:115px auto;padding:0 40px;display:grid}.photo-wrap{border-radius:24px;height:360px;overflow:hidden;transform:rotate(-3deg)}.photo-wrap img{object-fit:cover;object-position:57% 50%;width:100%;height:100%}.about-preview p:not(.eyebrow){color:var(--muted);max-width:390px;margin-top:22px}.page-intro{max-width:1060px;margin:100px auto 60px;padding:0 40px}.page-intro h1{letter-spacing:-2.5px;font-size:65px}.lead{color:var(--muted);font-size:19px}.bio-layout{grid-template-columns:1fr 1fr;gap:60px;max-width:1060px;margin:0 auto 100px;padding:0 40px;display:grid}.bio-photo{object-fit:cover;object-position:57% center;border-radius:24px;width:100%;height:480px}.bio-layout p{color:var(--muted);margin-top:20px}.bio-layout p a{text-decoration:underline}.project-empty{text-align:center;background:#eff3ec;border-radius:28px;max-width:980px;margin:0 auto 110px;padding:70px 25px}.empty-icon{color:#679775;margin-bottom:25px;font-size:60px;line-height:1;display:block}.project-empty p{color:var(--muted);margin:20px 0 25px}footer{border-top:1px solid var(--line);grid-template-columns:1.5fr 1fr;gap:40px;max-width:1200px;margin:auto;padding:60px 40px 25px;display:grid}footer h2{font-size:42px}.socials{grid-template-columns:1fr 1fr;align-content:center;gap:14px 30px;display:grid}.socials a{border-bottom:1px solid var(--line);justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.socials a:hover{color:#41805c}.footer-bottom{color:var(--muted);border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;gap:20px;margin-top:45px;padding-top:20px;font-size:11px;display:flex}@media (max-width:700px){nav{gap:15px;padding:12px 15px}nav a{font-size:12px}.monogram,.nav-social{width:42px;height:42px}header{gap:7px}.hero{padding-top:75px;padding-bottom:40px}h1{letter-spacing:-2px}.hero-copy{font-size:15px}.desktop{display:none}.chip-field{gap:7px;margin-bottom:60px;padding:20px 15px}.chip{gap:12px;padding:13px 15px;font-size:9px}.chip span{font-size:18px}.tilt,.tilt-other{transform:none}.work{padding:0 17px}.section-label{font-size:9px}.card-heading{padding:26px 22px;display:block}.card-heading h2{font-size:23px}.card-heading .button{margin-top:22px}.loop-art{min-height:350px}.loop-row{flex-direction:column;gap:10px;margin:25px 0}.loop-node{min-width:205px;padding:13px 20px;font-size:17px}.loop-node span{top:15px}.connector{font-size:17px;line-height:1;transform:rotate(90deg)}.return-path{gap:15px;margin:0 0 20px;font-size:10px}.art-caption,.art-bottom{font-size:8px}.about-preview{grid-template-columns:1fr;gap:40px;margin:75px auto;padding:0 28px}.photo-wrap{height:340px}.about-preview h2{font-size:33px}footer{grid-template-columns:1fr;gap:30px;padding:40px 25px 20px}footer h2{font-size:36px}.footer-bottom{flex-wrap:wrap;gap:8px 15px;margin-top:15px}.page-intro{margin:65px auto 40px;padding:0 25px}.page-intro h1{font-size:46px}.lead{font-size:16px}.bio-layout{grid-template-columns:1fr;gap:30px;margin-bottom:70px;padding:0 25px}.bio-photo{height:360px}.project-empty{margin:0 20px 70px;padding:50px 20px}.project-empty h2{font-size:29px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.avatar img{top:-102px;left:-82px}.sentence-hero{letter-spacing:-2.5px;text-wrap:balance;max-width:1000px;margin:22px auto;font-size:clamp(42px,5.2vw,70px)}@media (max-width:700px){.sentence-hero{letter-spacing:-1.5px}}.about-preview{grid-template-columns:.85fr 1.15fr;gap:60px}.about-preview p:not(.eyebrow){max-width:520px}.about-preview .photo-wrap{height:480px}@media (max-width:700px){.about-preview{grid-template-columns:1fr;gap:40px}.about-preview .photo-wrap{height:340px}}.pill-playground{max-width:1160px;margin:0 auto 70px;padding:0 20px}.pill-hint{text-align:center;color:var(--muted);margin-bottom:8px;font-size:12px}.pill-playground .chip-field{border-bottom:1px solid var(--line);align-content:center;align-items:center;height:270px;margin:0;padding:20px 10px;position:relative;overflow:hidden}.pill-playground .chip{color:var(--ink);white-space:nowrap;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border:0;flex-shrink:0;transition:none}.pill-playground .chip.white{border:1px solid var(--line)}.pill-playground .chip:focus-visible{outline-offset:-4px;outline:3px solid #387755}.chip-field[data-physics=ready] .chip{will-change:transform;position:absolute;top:0;left:0}.pill-playground .chip:hover{transform:none}.is-dragging,.is-dragging .chip{cursor:grabbing!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:700px){.pill-playground{margin-bottom:55px;padding:0 12px}.pill-playground .chip-field{height:340px}.pill-hint{font-size:11px}}@media (prefers-reduced-motion:reduce){.pill-playground .chip-field{border:0;height:auto;min-height:220px}.pill-playground .chip{cursor:default;touch-action:auto}.pill-hint{display:none}}.pill-playground .chip-field[data-physics=ready]{overflow:visible}.chip-field[data-physics=ready] .chip{z-index:11}.projects-note{color:var(--muted);max-width:620px;margin-top:24px;font-size:14px}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1200px;margin:0 auto 100px;padding:0 40px;display:grid}.case-card{border:1px solid var(--line);background:#fff;border-radius:24px;transition:transform .25s,box-shadow .25s;display:block;overflow:hidden}.case-card:hover{transform:translateY(-5px);box-shadow:0 14px 35px #2526250a}.case-card-art{height:250px;padding:24px;position:relative;overflow:hidden}.case-index{opacity:.65;letter-spacing:1px;font:10px ui-monospace,monospace}.mini-loop{justify-content:center;align-items:center;gap:7px;margin-top:30px;display:flex}.mini-node{background:#ffffffb5;border:1px solid #ffffffad;border-radius:15px;flex-direction:column;gap:10px;padding:16px 10px;font:10px ui-monospace,monospace;animation:4s ease-in-out infinite node-float;display:flex;box-shadow:0 6px #00000004}.mini-node b{font:18px Georgia,serif}.art-metric{letter-spacing:-1px;font:45px/1 Georgia,serif;position:absolute;bottom:18px;right:25px}.art-metric small{letter-spacing:0;text-align:right;margin-top:6px;font:10px/1.5 ui-monospace,monospace;display:block}.case-card-copy{padding:28px}.case-card-copy h2{font-size:29px}.case-card-copy>p:not(.eyebrow){color:var(--muted);margin-top:14px;font-size:14px}.case-card-bottom{border-top:1px solid var(--line);justify-content:space-between;gap:15px;margin-top:27px;padding-top:15px;font-size:11px;display:flex}.case-card-bottom>span:first-child{color:var(--muted)}.featured-cases{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.featured-cases .case-card-copy{padding:23px}.featured-cases .case-card-copy h2{font-size:26px}.featured-cases .case-card-art{height:235px;padding:20px}.featured-cases .mini-node{padding:12px 7px;font-size:8px}.featured-cases .mini-loop{gap:4px}.case-page{max-width:1100px;margin:auto;padding:70px 40px 0}.case-back{color:var(--muted);margin-bottom:45px;font-size:13px;display:inline-block}.case-intro{max-width:900px}.case-intro h1{letter-spacing:-2.5px;margin:23px 0;font-size:clamp(44px,5.3vw,68px);line-height:1.13}.case-lead{color:var(--muted);max-width:760px;font-size:19px;line-height:1.7}.tool-tags{flex-wrap:wrap;gap:8px;margin:28px 0 45px;display:flex}.tool-tags span{border:1px solid var(--line);border-radius:25px;padding:8px 13px;font:11px ui-monospace,monospace}.case-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:25px;padding:30px 0 40px;display:grid}.case-metric{animation:.7s both metric-in}.case-metric strong{letter-spacing:-2px;font:56px/1.1 Georgia,serif;display:block}.case-metric>span{margin-top:12px;font-size:14px;display:block}.case-metric p{color:var(--muted);margin-top:10px;font-size:11px;line-height:1.5}.case-workflow{margin:60px 0}.workflow-explorer{border-radius:26px;padding:30px;position:relative;overflow:hidden}.workflow-track{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid;position:relative}.workflow-track:before{content:"";background:#25262525;height:2px;position:absolute;top:50%;left:0;right:0}.workflow-step{color:var(--ink);text-align:left;cursor:pointer;background:#ffffff60;border:1px solid #ffffff80;border-radius:15px;flex-direction:column;gap:12px;padding:18px;font:16px/1.2 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:transform .2s,background .2s;display:flex;position:relative}.workflow-step:hover{transform:translateY(-3px)}.workflow-step.selected{background:#fff;box-shadow:0 6px #00000007}.workflow-step:focus-visible{outline-offset:2px;outline:3px solid #387755}.step-number{opacity:.6;font:10px ui-monospace,monospace}.flow-spark{font:20px Georgia,serif;animation:2.8s ease-in-out infinite spark-pulse;position:absolute;top:13px;right:15px}.workflow-detail{background:#ffffffa8;border-radius:18px;min-height:200px;margin-top:24px;padding:27px}.workflow-detail h3{margin:0 0 12px;font:30px Georgia,serif}.workflow-detail p{color:#555850;max-width:740px;font-size:15px}.workflow-footnote{opacity:.7;margin-top:18px;font-size:10px}.case-story{max-width:820px;margin:70px auto}.case-story section{grid-template-columns:45px 1fr;gap:20px;margin:50px 0;display:grid}.story-number{color:var(--muted);padding-top:8px;font:11px ui-monospace,monospace}.case-story h2{font-size:31px;line-height:1.25}.case-story p{color:#64675f;margin-top:20px;font-size:16px;line-height:1.85}.case-evidence{border:1px solid var(--line);background:#f0f0eb;border-radius:18px;max-width:820px;margin:0 auto;padding:25px 30px}.case-evidence p:not(.eyebrow){color:#64675f;font-size:13px}.case-external{margin:30px 0}.case-next{margin:80px 0}.case-next>div{grid-template-columns:1fr 1fr;gap:20px;display:grid}.case-next a{border:1px solid var(--line);background:#fff;border-radius:18px;padding:25px}.case-next span{color:var(--muted);font:10px ui-monospace,monospace}.case-next h2{margin-top:15px;font-size:25px}@keyframes node-float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-7px)rotate(2deg)}}@keyframes spark-pulse{0%,to{opacity:.4;transform:translate(0)}50%{opacity:1;transform:translate(2px,-2px)}}@keyframes metric-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.featured-cases{grid-template-columns:1fr}.featured-cases .case-card{grid-template-columns:1fr 1fr;display:grid}.featured-cases .case-card-art{height:100%;min-height:245px}}@media (max-width:700px){.case-grid{grid-template-columns:1fr;gap:22px;margin-bottom:70px;padding:0 20px}.case-card-art{height:240px}.case-card-copy{padding:24px}.featured-cases .case-card{display:block}.featured-cases .case-card-art{height:230px;min-height:0}.featured-cases .mini-node{padding:14px 10px;font-size:10px}.featured-cases .mini-loop{gap:7px}.case-page{padding:45px 23px 0}.case-back{margin-bottom:30px}.case-intro h1{letter-spacing:-1.6px}.case-lead{font-size:16px}.case-metrics{grid-template-columns:1fr 1fr;gap:25px 20px}.case-metric strong{font-size:43px}.case-workflow{margin:40px 0}.workflow-explorer{border-radius:20px;padding:18px}.workflow-track{grid-template-columns:1fr 1fr;gap:9px}.workflow-track:before{display:none}.workflow-step{padding:15px;font-size:14px}.workflow-detail{min-height:240px;padding:21px}.workflow-detail p{font-size:14px}.case-story{margin:45px 0}.case-story section{grid-template-columns:24px 1fr;gap:10px;margin:38px 0}.case-story h2{font-size:27px}.case-story p{font-size:15px;line-height:1.75}.case-evidence{padding:22px}.case-next>div{grid-template-columns:1fr}.case-next{margin:55px 0}}@media (prefers-reduced-motion:reduce){.mini-node,.flow-spark,.case-metric{animation:none}}
