@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;550;600&display=swap');
:root{--bg:#fafafa;--ink:#242424;--muted:#656565;--line:#e8e8e8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased}.wrap{width:calc(100% - 48px);max-width:560px;margin:auto}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}a:focus-visible{outline:2px solid #555;outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-size:16px;font-weight:550;line-height:1.5;letter-spacing:-.02em}p{color:#505050}header{display:flex;align-items:center;justify-content:space-between;padding:42px 0 0;font-size:12px;gap:20px}.identity{font-weight:500}nav{display:flex;gap:20px;color:var(--muted)}.hero{padding-top:64px}.avatar{width:57.6px;height:57.6px;object-fit:cover;object-position:50% 26%;border-radius:50%;margin-bottom:20px}.hero h1{font-size:20px;font-weight:600;margin-bottom:14px}.hero p{font-size:16px;line-height:1.75;margin-top:12px}.inline-link{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#aaa}.work{padding-top:56px}.work>h2,.home-about>h2,footer>h2{font-size:14px;font-weight:500;color:var(--muted);margin-bottom:20px}.work-list{display:flex;flex-direction:column;gap:36px}.project{display:flex;flex-direction:column;gap:16px}.project-caption h3{font-size:16px;font-weight:550;margin-bottom:3px}.project-meta{font-size:12px;color:var(--muted);margin-bottom:8px}.project-caption>p:last-child{font-size:14px;line-height:1.7}.project-visual{display:block;border-radius:4px;overflow:hidden;background:#eee}.project-visual img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.home-about{padding-top:56px}.home-about p{margin-bottom:14px;font-size:15px}.text-link{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#bbb}footer{padding-top:56px;padding-bottom:32px}footer p{font-size:15px;margin-bottom:16px}.social-links{display:flex;gap:22px;font-size:14px}.social-links a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#bbb}.footer-bottom{margin-top:48px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}.back{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:32px}.case,.about-page{padding-top:48px}.eyebrow{font-size:11px;letter-spacing:.04em;color:var(--muted);line-height:1.6}.case>.eyebrow{margin-bottom:12px}.case h1,.about-title h1{font-size:28px;font-weight:550;line-height:1.4;letter-spacing:-.035em}.case-intro{font-size:16px;margin:18px 0 28px}.case-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:12px;padding:20px 0 24px;border-top:1px solid var(--line)}.case-meta span{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.case-cover{margin:0 0 40px}.case-cover img{width:100%;border-radius:4px}.case-layout aside{display:none}.case-story section{margin-bottom:38px}.case-story .eyebrow{margin-bottom:12px}.case-story h2{font-size:19px;font-weight:550;margin-bottom:14px}.case-story p{font-size:15px;line-height:1.8}.decision{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:18px 0;border-top:1px solid var(--line)}.decision>span{font-size:11px;color:var(--muted)}.decision h3{font-size:15px;margin-bottom:7px}.decision p{font-size:14px}.reflection{margin-top:25px;padding:18px 0 0;border-top:1px solid var(--line)}.reflection h3{font-size:15px;margin-bottom:8px}.reflection p{font-size:14px}.case-story .text-link{margin-top:14px}.next-project{border-top:1px solid var(--line);padding:24px 0 0;display:flex;justify-content:space-between;align-items:center;font-size:16px;gap:20px}.next-project .eyebrow{font-size:10px}.about-page>.eyebrow{margin-bottom:14px}.about-title{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:32px}.about-title img{width:60px;height:75px;object-fit:cover;border-radius:4px}.about-grid{display:grid;grid-template-columns:1fr;gap:16px}.about-grid h2{font-size:17px}.about-grid h2 br{display:none}.about-grid p{font-size:15px;margin-bottom:16px}.about-section{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}.about-section h3{font-size:15px;margin-bottom:8px}.about-section p{font-size:14px;margin-bottom:20px}.serif{font:inherit}.blue{color:inherit}@media(max-width:600px){header{padding-top:26px;font-size:11px}nav{gap:16px}.hero{padding-top:42px}.hero h1{font-size:20px}.hero p{font-size:15px}.work,.home-about,footer{padding-top:44px}.work-list{gap:30px}.project-visual img{aspect-ratio:4/3}.case,.about-page{padding-top:36px}.case h1,.about-title h1{font-size:25px}.case-intro{font-size:15px}.case-story h2{font-size:18px}.footer-bottom{margin-top:36px;font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Quiet navigation and secondary sections */
header{display:block;padding-top:32px}.identity{display:inline-block;font-size:12px;margin-bottom:18px}nav{display:flex;flex-wrap:wrap;gap:5px 20px;font-size:12px;line-height:2.2}nav a{min-height:32px;display:inline-flex;align-items:center}nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.hero{padding-top:46px}.home-work{padding-top:42px}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-label h2{font-size:14px;font-weight:500;color:var(--muted)}.section-label>a{font-size:12px;color:var(--muted)}.work-row{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.work-row>img{width:76px;height:57px;object-fit:cover;border-radius:3px;flex-shrink:0}.work-row div{flex:1;min-width:0}.work-row h3{font-size:14px;font-weight:500}.work-row p{font-size:12px;margin-top:3px;color:var(--muted)}.work-row>span{font-size:14px;color:var(--muted)}.work-row:hover{text-decoration:none}.work-row:hover h3{text-decoration:underline;text-underline-offset:4px}.section-page{padding-top:46px}.section-page>h1{font-size:20px;font-weight:600;margin-bottom:12px}.page-intro{font-size:15px;margin-bottom:32px}.section-page+.work{padding-top:0}.timeline-item{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}.timeline-heading{margin-bottom:20px}.timeline-heading h2,.timeline-item>h2{font-size:16px;margin-bottom:5px}.timeline-heading>span{font-size:12px;color:var(--muted)}.timeline-item h3{font-size:14px;margin-top:18px}.timeline-item p{font-size:14px;margin-top:8px}.timeline-item .project-meta{font-size:12px;margin-top:3px}.note{border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.note h2{font-size:17px;margin-bottom:16px}.note p:not(.project-meta){font-size:15px;margin-bottom:14px}.lab-study{border-top:1px solid var(--line);padding-top:24px}.lab-study h2{font-size:16px;margin-bottom:10px}.lab-study>p{font-size:14px}.lab-controls{display:flex;align-items:center;gap:16px;font-size:12px;margin:24px 0}.lab-controls input{min-width:0;flex:1;accent-color:#555;min-height:32px}.lab-controls output{width:32px}.type-sample{padding:22px;background:#f0f0f0;border-radius:3px;font-size:16px;line-height:1.75}.type-sample h3{font-size:1.1em;margin-bottom:12px}.type-sample p{font-size:inherit;line-height:inherit}.lab-caption{font-size:11px!important;color:var(--muted);margin-top:12px}.empty-gallery{border-top:1px solid var(--line);padding-top:24px;margin-bottom:45px}.empty-gallery h2{font-size:16px;margin-bottom:10px}.empty-gallery p{font-size:14px}@media(max-width:600px){header{padding-top:24px}nav{gap:2px 17px;font-size:12px}.hero,.section-page{padding-top:34px}.home-work{padding-top:32px}.work-row{gap:12px}.work-row>img{width:64px;height:48px}.work-row p{font-size:11px}.lab-controls{gap:10px}}

.hero .avatar{object-fit:contain;object-position:center;border-radius:0}

/* Soft squircle portrait, with a rounded fallback. */
.hero .avatar{object-fit:cover;object-position:center;border-radius:50%;corner-shape:round}

/* Route headings receive focus for screen readers, without a decorative ring. */
main h1[tabindex="-1"]:focus{outline:none}
