@font-face{font-family:poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-600.woff2)format("woff2")}:root{color-scheme:light dark;--text:light-dark(#1f1f1f, #e8e6e1);--muted:light-dark(#6b6b6b, #9a9893);--bg:light-dark(#fdfdfb, #161615);--accent:light-dark(#00796b, #4db6ac);--accent-deco:light-dark(#009688, #26a69a);--rule:light-dark(#e4e4e0, #2e2e2c);--surface:light-dark(#e2f2ee, #1f2b29);--banner:#00796b;--font-heading:"Poppins", system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--measure:62ch}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{display:flex;flex-direction:column;min-height:100vh;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:18px;line-height:1.6}p,ul{margin:0 0 1em}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.15em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent-deco);outline-offset:3px;border-radius:2px}main{flex:1}h1,h2,h3,.site-name{font-family:var(--font-heading);font-weight:600}.container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:24px}.site-header{background:var(--banner);color:#fff;padding:32px 0 64px}.site-header a{color:#fff}.site-header :focus-visible,.site-footer :focus-visible{outline-color:#fff}.site-name{display:inline-block;font-size:20px;line-height:1.2;text-decoration:none}.site-name:hover{text-decoration:underline}.site-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.site-nav{display:flex;gap:20px;margin-block:-10px;white-space:nowrap}.site-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;line-height:1.2;text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible{text-decoration:underline}.site-header h1{margin:48px 0 0;font-size:clamp(44px,7vw,92px);line-height:1.1;text-wrap:balance}.subtitle{max-width:36em;margin:16px 0 0;font-size:clamp(20px,2.2vw,26px);line-height:1.4;text-wrap:balance}.site-header--compact{padding:16px 0}.intro{display:flex;align-items:flex-start;gap:24px;margin:56px 0}.intro p{max-width:36em;margin:0;font-size:21px;line-height:1.5}.avatar{flex:none;width:96px;height:96px;border-radius:50%}.avatar--missing{display:grid;place-items:center;border:2px dashed var(--muted);color:var(--muted);font-size:13px}.cards{display:grid;gap:24px;margin:0 0 56px}.card{display:flex;flex-direction:column;padding:32px;border-radius:8px;background:var(--surface)}.card p{max-width:var(--measure)}.eyebrow{margin:0 0 4px;color:var(--accent);font-size:15px;font-weight:700;line-height:1.4}.card h2{margin:0 0 16px;font-size:28px;line-height:1.2;text-wrap:balance}.card .actions{margin:auto 0 0;padding-top:8px}.cta{padding:48px 0;border-top:1px solid var(--rule)}.cta h2{margin:0 0 12px;font-size:28px;line-height:1.2}.cta p{max-width:var(--measure)}.cta-text>:last-child{margin-bottom:0}.cta .actions{margin:20px 0 0}.tags{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0;padding:0;list-style:none}.tags li{display:inline-flex;align-items:center;min-height:32px;padding:4px 14px;border-radius:999px;background:var(--surface);color:var(--accent);font-size:14px;font-weight:700;line-height:1.3}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px;padding:0;border:0;min-width:0}.filters legend{margin:0 0 10px;padding:0;color:var(--muted);font-size:15px}.filters label{display:inline-flex;align-items:center;min-height:32px;padding:4px 14px;border:1px solid var(--rule);border-radius:999px;color:var(--text);font-size:14px;font-weight:700;line-height:1.3;cursor:pointer}.filters label:hover{border-color:var(--text)}.filters input:checked+label{border-color:var(--banner);background:var(--banner);color:#fff}.filters input:focus-visible+label{outline:3px solid var(--accent-deco);outline-offset:3px}.page:has(#filter-1:checked) .project:not(.has-tag-1),.page:has(#filter-2:checked) .project:not(.has-tag-2),.page:has(#filter-3:checked) .project:not(.has-tag-3),.page:has(#filter-4:checked) .project:not(.has-tag-4),.page:has(#filter-5:checked) .project:not(.has-tag-5),.page:has(#filter-6:checked) .project:not(.has-tag-6),.page:has(#filter-7:checked) .project:not(.has-tag-7),.page:has(#filter-8:checked) .project:not(.has-tag-8),.page:has(#filter-9:checked) .project:not(.has-tag-9),.page:has(#filter-10:checked) .project:not(.has-tag-10),.page:has(#filter-11:checked) .project:not(.has-tag-11),.page:has(#filter-12:checked) .project:not(.has-tag-12){display:none}.projects{display:grid;gap:24px;margin:0;padding:0;list-style:none}.project{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--rule);border-radius:8px}.project img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.project-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:20px}.project .tags{margin:0 0 12px}.projects .project h2{margin:0 0 8px;font-size:22px;line-height:1.25;text-wrap:balance;overflow-wrap:anywhere}.project-text{margin:0}.projects .project .actions{align-self:flex-end;margin:auto 0 0;padding-top:24px}.btn{display:inline-block;max-width:100%;min-height:48px;padding:11px 24px;border:2px solid transparent;border-radius:6px;font-size:19px;font-weight:700;line-height:1.3;text-decoration:none}.btn::after{content:"\00a0\00a0→";content:"\00a0\00a0→"/""}.btn:hover{opacity:.9}.btn-primary{background:var(--banner);color:#fff}.btn-outline{border-color:var(--accent);color:var(--accent)}.btn-outline:hover{opacity:1;border-color:var(--banner);background:var(--banner);color:#fff}.btn-quiet{min-height:40px;padding:7px 16px;border-width:1px;border-color:var(--rule);color:var(--text);font-size:16px;font-weight:600}.btn-quiet:hover{opacity:1;border-color:var(--text)}.page{max-width:var(--measure);margin:48px 0 56px}.page h1{margin:0 0 32px;font-size:clamp(32px,4vw,44px);line-height:1.15}.page--wide{max-width:none}.page--wide>:not(.projects,.filters){max-width:var(--measure)}.page h1:has(+.lead){margin-bottom:12px}.lead{margin:0 0 32px;color:var(--accent);font-size:21px;line-height:1.5}.page .actions{margin-top:40px}.page h2{margin:2em 0 .5em;font-size:22px;line-height:1.25}.site-footer{background:var(--banner);color:#fff;font-size:15px;padding:24px 0}.site-footer .container{display:flex;align-items:flex-start;gap:24px}.site-footer nav{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:8px 24px}.social-link{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-10px -12px}.social-link svg{display:block}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{text-decoration:underline}@media(min-width:600px){.projects{grid-template-columns:repeat(2,minmax(0,1fr))}.project-body{padding:24px}}@media(min-width:768px){.intro{align-items:center}}@media(min-width:900px){.cards{grid-template-columns:repeat(3,1fr)}.card{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}.card hgroup{display:contents}.card .actions{align-self:end}.cta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"title title" "text tags" "button tags";gap:0 64px}.cta h2{grid-area:title}.cta-text{grid-area:text;align-self:start}.cta .tags{grid-area:tags;align-self:start;margin:0 0 0 32px}.cta .actions{grid-area:button;align-self:start}.projects{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:360px){.text-nowrap{white-space:nowrap}}@media(max-width:899px){.card h2{font-size:clamp(20px,6.2vw,28px)}}@media(max-width:479px){.intro{display:flow-root}.avatar{float:left;font-size:19px;line-height:1.5;width:64px;height:64px;width:calc(3lh - .4em);height:calc(3lh - .4em);margin:.25em 14px .15em 0}.intro p{max-width:none;font-size:19px}.card,.project-body{padding:28px 24px}}