@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{color:#17191d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--accent:#284ff0;--ink:#17191d;--muted:#606671;--line:#dce0e7;--surface:#fff;background:#f8f9fb;font-family:DM Sans,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{min-width:320px;margin:0}main{flex:1;min-width:0}a{color:inherit;text-underline-offset:.3em}a:hover{color:var(--accent)}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{color:#fff;background:var(--accent)}img{max-width:100%;display:block}figure,p{margin:0}h1,h2,h3,h4{text-wrap:balance;margin:0;font-family:Manrope,Arial,sans-serif}h1{letter-spacing:-.065em;font-size:clamp(3.25rem,6.3vw,6rem);font-weight:600;line-height:1.1}h2{letter-spacing:-.05em;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:600;line-height:1.2}h3{letter-spacing:-.035em;font-size:1.35rem;font-weight:700;line-height:1.35}.accent{color:var(--accent)}.muted-heading{color:#727883}.site-shell{flex-direction:column;width:min(1440px,100%);min-height:100svh;margin:auto;padding:0 clamp(24px,6vw,88px);display:flex}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:104px;display:flex}.wordmark{letter-spacing:-.05em;white-space:nowrap;font-family:Manrope,Arial,sans-serif;font-size:1.2rem;font-weight:800;text-decoration:none}.main-nav{align-items:center;gap:clamp(20px,3vw,40px);font-size:.9375rem;display:flex}.main-nav a{padding:10px 0;text-decoration:none}.main-nav a[aria-current=page]{color:var(--accent);text-underline-offset:8px;text-decoration:underline}.github-link{color:var(--muted)}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.8125rem;font-weight:600;line-height:1.65}.index-label{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.8125rem}.home-hero{padding:48px 0 0}.hero-topline{justify-content:space-between;gap:16px;margin-bottom:56px;display:flex}.place-label{color:var(--muted);white-space:nowrap;font-size:.875rem}.hero-bottom{justify-content:space-between;align-items:end;gap:40px;margin-top:40px;display:flex}.hero-description{color:var(--muted);max-width:48ch;font-size:1.1875rem;line-height:1.75}.button-link{background:var(--ink);color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;gap:32px;min-height:54px;padding:18px 24px;font-size:.9375rem;text-decoration:none;display:inline-flex}.button-link:hover{color:#fff;background:var(--accent)}.hero-footnote{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:24px;margin-top:64px;padding:20px 0;font-size:.8125rem;display:flex}.section-block{border-bottom:1px solid var(--line);padding:88px 0}.section-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:44px;display:flex}.section-heading .eyebrow{margin-bottom:20px}.text-link{align-items:center;gap:12px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.section-heading>.text-link{flex-shrink:0;padding-bottom:4px}.section-description{max-width:30ch;color:var(--muted);font-size:1rem;line-height:1.7}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px;display:grid}.project-card{min-width:0}.project-card-link{height:100%;text-decoration:none;display:block}.project-card-link:hover{color:var(--ink)}.project-art{aspect-ratio:1.65;border:1px solid #0000;justify-content:center;align-items:center;min-height:260px;padding:64px;display:flex;position:relative;overflow:hidden}.project-art img{object-fit:contain;width:65%;max-width:260px;height:160px;transition:transform .22s}.project-card-link:hover .project-art img{transform:scale(1.035)}.project-card-link:hover .art-arrow{color:var(--accent);background:#fff}.project-art--banana{background:#e8ebee}.project-art--cuppa{color:#fff;background:#203a3b}.project-art--cuppa img{width:115px}.project-art--ooowee{background:#eeeeef}.project-art--vargsten{border-color:var(--line);background:#fff}.project-art--vargsten img{width:125px}.art-index{letter-spacing:.08em;font-size:.75rem;position:absolute;top:24px;left:24px}.art-arrow{border:1px solid;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.125rem;transition:color .18s,background .18s;display:grid;position:absolute;bottom:24px;right:24px}.project-status{border:1px solid var(--line);color:var(--muted);background:#fff;padding:7px 10px;font-size:.75rem;position:absolute;bottom:24px;left:24px}.project-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin:22px 0 12px;display:flex}.project-card-heading h3{font-size:1.5rem}.project-category{color:var(--muted);font-size:.8125rem}.project-card p{color:var(--muted);max-width:49ch;font-size:1rem;line-height:1.75}.project-card .text-link{margin-top:18px}.principle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;display:grid}.principle-grid article{border-top:1px solid var(--line);padding-top:22px}.principle-grid h3{margin:24px 0 16px}.principle-grid p{color:var(--muted);font-size:1rem;line-height:1.8}.about-strip{color:#fff;background:#1c212a;margin:72px 0;padding:clamp(32px,4vw,56px)}.about-strip .eyebrow{color:#bdc4d0;margin-bottom:30px}.about-strip>div{justify-content:space-between;align-items:end;gap:32px;display:flex}.about-strip h2{font-size:clamp(1.9rem,3vw,2.75rem)}.button-link--light{color:var(--ink);background:#fff}.page-intro{padding:64px 0}.page-intro .eyebrow{margin-bottom:36px}.page-description{color:var(--muted);max-width:50ch;margin-top:28px;font-size:1.1875rem;line-height:1.8}.project-index{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:24px 0;display:grid}.project-index a{align-items:center;gap:14px;min-height:32px;font-size:.875rem;text-decoration:none;display:flex}.project-index a span:first-child{color:var(--muted);font-size:.75rem}.project-index a span:last-child{margin-left:auto}.case-study{border-bottom:1px solid var(--line);padding:76px 0;scroll-margin-top:24px}.case-study-heading .eyebrow{margin-bottom:16px}.case-study-grid{grid-template-columns:1fr 1fr;gap:64px;margin-top:40px;display:grid}.case-art{aspect-ratio:1.25;min-height:300px}.case-art img{max-width:300px;height:190px}.case-study-copy h3{margin-bottom:20px;font-size:1.6rem}.case-study-copy p{color:var(--muted);margin-bottom:18px;font-size:1rem;line-height:1.85}.case-study-copy h4{margin:28px 0 12px;font-size:.875rem}.capability-list{color:var(--muted);margin:0;padding-left:20px;font-size:.9375rem;line-height:1.8}.capability-list li{margin:8px 0;padding-left:3px}.capability-list li::marker{color:var(--accent)}.technology-list{flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none;display:flex}.technology-list li{border:1px solid var(--line);color:var(--muted);padding:7px 11px;font-size:.8125rem}.page-outro{padding:80px 0}.page-outro h2{margin:22px 0 28px}.about-intro h1{font-size:clamp(3rem,5.7vw,5.4rem)}.biography{border-bottom:1px solid var(--line);grid-template-columns:.75fr 1.25fr;gap:clamp(40px,7vw,104px);padding:0 0 88px;display:grid}.identity-panel{border:1px solid var(--line);background:#fff;align-self:start;padding:24px}.identity-panel img{width:100%;height:auto;margin:24px 0}.identity-panel>div{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;font-size:.8125rem;display:flex}.biography-copy h2{margin-bottom:28px;font-size:clamp(1.6rem,2.3vw,2.2rem);line-height:1.45}.biography-copy p{color:var(--muted);margin-top:18px;font-size:1.0625rem;line-height:1.85}.profile-link{margin-top:24px}.experience-row{border-top:1px solid var(--line);grid-template-columns:40px .8fr 1.2fr;align-items:start;gap:24px;padding:30px 0;display:grid}.experience-row h3{font-size:1.5rem}.experience-row p{color:var(--muted);margin-bottom:18px;font-size:1rem;line-height:1.8}.experience-row .text-link{font-size:.875rem}.vision-section{background:var(--accent);color:#fff;margin:72px 0;padding:clamp(32px,5vw,64px)}.vision-section .eyebrow{color:#e2e8ff;margin-bottom:30px}.vision-section h2{max-width:29ch;line-height:1.35}.vision-footer{border-top:1px solid #7b91fa;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-top:48px;padding-top:24px;font-size:.875rem;display:flex}.vision-footer a:hover{color:#fff}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:28px;padding:32px 0 40px;font-size:.8125rem;display:flex}.footer-name{color:var(--ink);letter-spacing:-.05em;font-family:Manrope,Arial,sans-serif;font-size:1.2rem;font-weight:800;text-decoration:none}.site-footer p{margin-top:10px}.footer-details{flex-direction:column;align-items:end;gap:10px;display:flex}.skip-link{background:var(--ink);color:#fff;z-index:10;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.not-found{padding:96px 0}.not-found .eyebrow{margin-bottom:24px}.not-found h1{max-width:12ch;font-size:clamp(3rem,6vw,6rem)}.not-found p:not(.eyebrow){color:var(--muted);margin:32px 0;font-size:1.125rem;line-height:1.6}.back-link{font-size:1rem;display:inline-block}@media (width<=1000px){.case-study-grid{gap:36px}.project-index{grid-template-columns:repeat(2,minmax(0,1fr))}.project-art{padding:44px}.project-card-heading{display:block}.project-category{margin-top:8px;display:block}.about-strip>div{flex-direction:column;align-items:start}}@media (width<=720px){.site-header{min-height:88px}.main-nav{gap:20px;font-size:.875rem}.main-nav .github-link{display:none}h1{font-size:clamp(2.75rem,7.7vw,4.3rem)}.home-hero{padding-top:32px}.hero-topline{align-items:start;margin-bottom:40px}.hero-topline .eyebrow{max-width:24ch;font-size:.75rem}.hero-bottom{flex-direction:column;align-items:start;gap:24px;margin-top:28px}.hero-description{font-size:1.0625rem}.hero-footnote{margin-top:40px;font-size:.75rem;line-height:1.6}.section-block{padding:56px 0}.section-heading{flex-direction:column;align-items:start;gap:24px;margin-bottom:32px}.project-grid{grid-template-columns:1fr;gap:40px}.project-art{min-height:230px}.project-art img{height:145px}.principle-grid{grid-template-columns:1fr;gap:32px}.principle-grid h3{margin-top:16px}.about-strip{margin:48px 0}.page-intro{padding:48px 0}.page-intro .eyebrow{margin-bottom:24px}.page-description{font-size:1.0625rem}.project-index{gap:12px 24px}.project-index a{gap:8px;font-size:.8125rem}.case-study{padding:48px 0}.case-study-grid{grid-template-columns:1fr;gap:32px;margin-top:28px}.case-art{aspect-ratio:1.5;min-height:240px}.biography{grid-template-columns:1fr;gap:32px;padding-bottom:56px}.identity-panel{max-width:400px}.about-intro h1{font-size:clamp(2.6rem,7.5vw,4rem)}.experience-row{grid-template-columns:24px 1fr;gap:16px}.experience-row>div{grid-column:2}.experience-row h3{font-size:1.3rem}.vision-section{margin:48px 0}.vision-section h2{font-size:1.8rem}.vision-footer{margin-top:32px;line-height:1.7}.page-outro{padding:56px 0}.footer-details{align-items:start}}@media (width<=380px){.wordmark{font-size:1.05rem}.main-nav{gap:16px}.place-label{font-size:.8125rem}.project-index{grid-template-columns:1fr}.hero-footnote span:last-child{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}
