@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/_astro/nunito-latin-ext-wght-normal.CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/_astro/nunito-latin-wght-normal.BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:italic;font-display:swap;font-weight:200 1000;src:url(/_astro/nunito-latin-ext-wght-italic.CmZo11nB.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:italic;font-display:swap;font-weight:200 1000;src:url(/_astro/nunito-latin-wght-italic.ZB3Aladm.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ambrogio-neutral-900:#0b0b0b;--ambrogio-neutral-800:#1f1e1b;--ambrogio-neutral-700:#35332e;--ambrogio-neutral-600:#5a574f;--ambrogio-neutral-500:#8a867c;--ambrogio-neutral-400:#c9c5ba;--ambrogio-neutral-300:#e4e1d8;--ambrogio-neutral-200:#f3f1ea;--ambrogio-neutral-100:#fbfaf7;--ambrogio-neutral-0:#fff;--ambrogio-gold-200:#ffe8a3;--ambrogio-gold-500:#ffc414;--ambrogio-gold-700:#8a5a00;--ambrogio-gold-800:#5c3c00;--ambrogio-font:"Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ambrogio-font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--ambrogio-radius-pill:999px;--ambrogio-radius-card:1.75rem;--ambrogio-radius-small:.75rem}.tile[data-astro-cid-yx7m3lgj]{fill:var(--surface);stroke:var(--line);stroke-width:2px}.tile[data-astro-cid-yx7m3lgj].filled{stroke:none}.tile[data-astro-cid-yx7m3lgj].soon{stroke-dasharray:6 6}.icon[data-astro-cid-yx7m3lgj],.icon[data-astro-cid-yx7m3lgj] [data-astro-cid-yx7m3lgj]{fill:none;stroke:var(--ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.homelab[data-astro-cid-cvglqsvq]{margin:0}.wide[data-astro-cid-cvglqsvq]{width:100%;height:auto;display:block}.lab[data-astro-cid-cvglqsvq]{fill:var(--surface);stroke:var(--line);stroke-width:2px}.lab-label[data-astro-cid-cvglqsvq]{fill:var(--muted);font-size:18px;font-weight:800}.link[data-astro-cid-cvglqsvq]{stroke:var(--gold);stroke-width:3px;stroke-linecap:round;stroke-dasharray:2 9}.client-link[data-astro-cid-cvglqsvq]{stroke:var(--ambrogio-neutral-400)}.client-link[data-astro-cid-cvglqsvq].soon{opacity:.5}.name[data-astro-cid-cvglqsvq],.job[data-astro-cid-cvglqsvq],.centre-label[data-astro-cid-cvglqsvq]{paint-order:stroke;stroke:var(--surface);stroke-width:6px;stroke-linejoin:round}.name[data-astro-cid-cvglqsvq]{text-anchor:middle;fill:var(--ink);font-size:16px;font-weight:800}.job[data-astro-cid-cvglqsvq]{text-anchor:middle;fill:var(--muted);font-size:14px}.centre-label[data-astro-cid-cvglqsvq]{text-anchor:middle;fill:var(--ink);font-size:22px;font-weight:900}.narrow[data-astro-cid-cvglqsvq]{display:none}@media (width<=720px){.wide[data-astro-cid-cvglqsvq]{display:none}.narrow[data-astro-cid-cvglqsvq]{flex-direction:column;align-items:center;display:flex}}.items[data-astro-cid-cvglqsvq]{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem .75rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.items[data-astro-cid-cvglqsvq] li[data-astro-cid-cvglqsvq]{align-items:center;gap:.6rem;min-width:0;display:flex}.items[data-astro-cid-cvglqsvq] li[data-astro-cid-cvglqsvq].soon{color:var(--muted)}.mini[data-astro-cid-cvglqsvq]{flex-shrink:0;width:2.75rem;height:2.75rem;overflow:visible}.items[data-astro-cid-cvglqsvq] span[data-astro-cid-cvglqsvq]{flex-direction:column;min-width:0;font-size:.9rem;line-height:1.25;display:flex}.items[data-astro-cid-cvglqsvq] small[data-astro-cid-cvglqsvq]{color:var(--muted)}.arrow[data-astro-cid-cvglqsvq]{background:repeating-linear-gradient(var(--gold) 0 3px, transparent 3px 10px);width:3px;height:1.75rem;margin:.75rem 0}.box[data-astro-cid-cvglqsvq]{border-radius:var(--ambrogio-radius-card);width:100%;padding:1.25rem 1rem 1.5rem}.home[data-astro-cid-cvglqsvq]{border:1px solid var(--line);background:var(--surface);flex-direction:column;align-items:center;display:flex}.outside[data-astro-cid-cvglqsvq]{border:1px dashed var(--ambrogio-neutral-400);padding-top:1.25rem}.box-label[data-astro-cid-cvglqsvq]{color:var(--muted);align-self:flex-start;font-weight:800}.centre[data-astro-cid-cvglqsvq]{flex-direction:column;align-items:center;gap:.4rem;font-size:1.15rem;font-weight:900;display:flex}.centre[data-astro-cid-cvglqsvq] .centre-logo{width:5.5rem;height:auto}:root{--ink:var(--ambrogio-neutral-900);--muted:var(--ambrogio-neutral-600);--bg:var(--ambrogio-neutral-100);--surface:var(--ambrogio-neutral-0);--line:var(--ambrogio-neutral-300);--gold:var(--ambrogio-gold-500);--link:var(--ambrogio-gold-700)}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:17px/1.6 var(--ambrogio-font);margin:0}a{color:var(--link)}code{font-size:.85em}h2{margin:0 0 1.5rem;font-size:1.8rem}h3{margin:0 0 .5rem;font-size:1.1rem}.wrap{max-width:64rem;margin:0 auto;padding:0 1rem}main>section.wrap{padding-top:5rem}main>section.wrap:last-child{padding-bottom:5rem}.hero[data-astro-cid-lcdefpme]{text-align:center;border-bottom:1px solid var(--line);padding:2rem 0 3rem}h1[data-astro-cid-lcdefpme]{margin:0 0 1.5rem;line-height:0}.hero[data-astro-cid-lcdefpme] .logo{width:min(16rem,70vw);height:auto}@media (width<=720px){.hero[data-astro-cid-lcdefpme] .logo{width:10rem}}.tagline[data-astro-cid-lcdefpme]{max-width:40rem;margin:0 auto 2rem;font-size:clamp(1.2rem,3.5vw,1.5rem)}.lede[data-astro-cid-lcdefpme]{color:var(--muted);max-width:40rem;margin:1.5rem auto 0}.actions[data-astro-cid-lcdefpme]{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.topbar[data-astro-cid-lcdefpme]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem 1.25rem;max-width:64rem;margin:0 auto;padding:1rem 1rem 0;display:flex}.topbar[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]{color:var(--ink);align-items:center;gap:.4rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.topbar[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover{color:var(--link)}.topbar[data-astro-cid-lcdefpme] .pill[data-astro-cid-lcdefpme]{border-radius:var(--ambrogio-radius-pill);background:var(--ambrogio-gold-200);padding:.25rem .8rem;font-size:.85rem}.topbar[data-astro-cid-lcdefpme] .icon{flex-shrink:0;width:1.1em;height:1.1em}.topbar[data-astro-cid-lcdefpme] .line[data-astro-cid-lcdefpme]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round}.button[data-astro-cid-lcdefpme]{border:1px solid var(--line);border-radius:var(--ambrogio-radius-pill);background:var(--surface);color:var(--ink);align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-weight:600;text-decoration:none;display:inline-flex}.button[data-astro-cid-lcdefpme]:hover{border-color:var(--gold)}.button[data-astro-cid-lcdefpme].primary{background:var(--gold);border-color:var(--gold);color:var(--ink)}.grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.card[data-astro-cid-lcdefpme]{background:var(--surface);border:1px solid var(--line);border-radius:var(--ambrogio-radius-card);flex-direction:column;padding:1.5rem;display:flex}.card[data-astro-cid-lcdefpme]:before{content:"";border-radius:var(--ambrogio-radius-pill);background:var(--gold);width:2.5rem;height:.4rem;margin-bottom:1rem}.card[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{color:var(--muted);flex:1;margin:0 0 1rem}.demo[data-astro-cid-lcdefpme]{border-radius:var(--ambrogio-radius-card);background:var(--ink);width:100%;height:auto;margin-top:3rem;display:block}.intro[data-astro-cid-lcdefpme]{color:var(--muted);max-width:44rem;margin:0 0 2rem}.note[data-astro-cid-lcdefpme]{color:var(--muted);margin:1rem 0 0;font-size:.85rem}footer[data-astro-cid-lcdefpme]{border-top:1px solid var(--line);gap:1.5rem;padding-top:2rem;padding-bottom:3rem;display:flex}
