:root{--bg:#13140f;--text:#fcfdf8;--muted:#b7b8b0;--lime:#f0f850;--violet:#a078f8;--border:#2a2a26;--display:"Bricolage Grotesque", "Arial Black", Impact, sans-serif;--body:"Instrument Sans", "Segoe UI", Helvetica, Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--text);font-family:var(--body);margin:0;font-size:1.0625rem;line-height:1.6}*,:before,:after{box-sizing:border-box}img{max-width:100%;height:auto}h1,h2{font-family:var(--display);letter-spacing:-.035em;margin:0;font-weight:800;line-height:.95}h1{max-width:8ch;font-size:clamp(3.4rem,9vw,6.5rem)}h2{font-size:clamp(2rem,4vw,3rem)}.eyebrow{color:var(--lime);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.5rem;font-size:.78rem;font-weight:400;line-height:1.4}p{margin:0}a{color:inherit}:focus{outline:none}:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.button-primary:focus-visible{outline-color:var(--text)}.skip-link{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{clip:auto;background:var(--lime);width:auto;height:auto;color:var(--bg);outline:3px solid var(--text);outline-offset:3px;border-radius:999px;margin:.75rem 0 0 1.25rem;padding:.7rem 1.1rem;font-weight:600;text-decoration:none;display:inline-flex;position:static;overflow:visible}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{width:min(1240px,100% - 2.5rem);margin-inline:auto}.site-header{z-index:10;background:var(--bg);border-top:4px solid var(--lime);border-bottom:1px solid var(--border);position:sticky;top:0}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;min-height:4.75rem;padding-block:.85rem;display:flex}.logo{color:var(--text);font-family:var(--mono);letter-spacing:.02em;flex:none;align-items:center;gap:.35rem;font-size:1rem;font-weight:800;text-decoration:none;display:inline-flex}.logo img,.site-footer img{width:auto;display:block}.logo img{height:42px}.nav-links{flex-wrap:wrap;gap:.35rem .9rem;margin:0;padding:0;list-style:none;display:flex}.nav-links a{align-items:center;min-height:44px;font-weight:500;text-decoration:none;display:inline-flex}.page-intro{padding-block:3.5rem 2.5rem}.kicker{font-family:var(--mono);letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:.7rem .85rem;margin-bottom:1.15rem;font-size:.84rem;display:flex}.kicker-mark{background:var(--lime);color:var(--bg);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.28rem .7rem;font-size:.72rem;font-weight:800;display:inline-flex}.lede{max-width:38rem;color:var(--muted);margin-top:1.35rem;font-size:1.125rem}.status-line{max-width:38rem;margin-top:1.15rem}.status-line .kicker-mark{white-space:normal;max-width:100%;line-height:1.45;display:inline-block}.cursor{background:var(--lime);vertical-align:baseline;width:.42em;height:.68em;margin-left:.08em;display:inline-block;transform:translateY(.05em)}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.button{border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:48px;padding:.75rem 1.2rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.button svg{flex:none}.button-primary{background:var(--lime);border-color:var(--lime);color:var(--bg)}.button-primary:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.button-secondary{border-color:var(--text);color:var(--text);background:0 0}.button-secondary:hover{border-color:var(--lime);color:var(--lime)}.hero-grid{align-items:center;gap:2.25rem;display:grid}@media (width>=800px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem}}.hero-visuals{width:100%}.hero-art{aspect-ratio:4/3;background:#13140f;width:100%;position:relative}.hero-burst{width:100%;height:100%;display:block;position:absolute;inset:0}.hero-art picture{width:78%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero-art img{width:100%;height:auto;display:block}.band{border-top:1px solid var(--border);padding-block:2.5rem;scroll-margin-top:8.5rem}.skill-groups{gap:1.75rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.skill-groups>li{min-width:0}.skill-groups h3{font-family:var(--display);letter-spacing:-.035em;margin:0 0 .75rem;font-size:clamp(1.45rem,2.2vw,1.85rem);font-weight:800;line-height:.95}.skill-chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.skill-chip{border:1.5px solid var(--border);max-width:100%;min-height:44px;color:var(--text);text-align:center;border-radius:999px;justify-content:center;align-items:center;padding:.4rem .85rem;font-size:.95rem;line-height:1.25;text-decoration:none;display:inline-flex}a.skill-chip{border-color:var(--text);font-weight:600}a.skill-chip:hover{border-color:var(--lime);color:var(--lime)}a.skill-chip:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.skill-practices{max-width:42rem;color:var(--muted);margin:.85rem 0 0;font-size:.95rem}.skill-practices a{color:var(--text);text-underline-offset:.22em;font-weight:600}.skill-practices a:hover{color:var(--lime)}.skill-practices a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.prose{gap:1rem;margin-top:1.25rem;display:grid}.prose p{max-width:62ch;color:var(--muted)}@media (width>=800px){.about-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;gap:3rem;display:grid}.about-layout .prose,.contact-layout .prose{margin-top:.4rem}.contact-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;gap:3rem;display:grid}.skill-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 2.5rem}}@media (width>=1100px){.skill-groups{grid-template-columns:repeat(3,minmax(0,1fr))}}.section-intro{max-width:46rem;color:var(--muted);margin-top:1rem}.project-list{gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.project-card{border:1px solid var(--border);border-radius:1.35rem;flex-direction:column;gap:.85rem;height:100%;padding:1.25rem;display:flex}.project-card h3{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:clamp(1.7rem,2.4vw,2.15rem);font-weight:800;line-height:.95}.project-summary{color:var(--muted)}.badge{color:var(--bg);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-self:flex-start;margin:0;padding:.22rem .65rem;font-size:.72rem;font-weight:800;line-height:1.4}.badge-demo{background:var(--lime)}.badge-notebook{background:var(--violet)}.badge-course{color:var(--lime);box-shadow:inset 0 0 0 1.5px var(--lime);background:0 0}.project-links{flex-wrap:wrap;gap:.85rem 1.25rem;margin-top:auto;padding-top:.4rem;display:flex}.project-links a{color:var(--text);text-underline-offset:.22em;font-weight:600}.project-links a:hover{color:var(--lime)}@media (width>=720px){.project-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.project-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-list-featured{grid-template-columns:1fr}.project-shot{border:1px solid var(--border);background:#1b1c17;border-radius:.9rem;width:100%;height:auto;display:block}.project-body{flex-direction:column;gap:.85rem;min-width:0;height:100%;display:flex}.project-facts{gap:.75rem;margin:0;display:grid}.project-facts div{gap:.15rem;display:grid}.project-facts dt{color:var(--lime);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.project-facts dd{color:var(--muted);margin:0}.project-body .project-links{margin-top:auto}.more-projects{margin:2.75rem 0 0}.project-list-compact{margin-top:.35rem}.project-list-compact .project-card h3{font-size:clamp(1.35rem,2vw,1.7rem)}@media (width>=720px){.project-list-featured{grid-template-columns:1fr}}@media (width>=800px){.project-featured .project-card{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:stretch;gap:1.25rem 1.5rem;display:grid}}@media (width>=1100px){.project-list-featured{grid-template-columns:1fr}}.contact-icons{gap:.85rem}.icon-button{border:1.5px solid var(--text);width:48px;min-width:48px;height:48px;min-height:48px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.icon-button:hover{border-color:var(--lime);color:var(--lime)}.icon-button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.site-footer{border-top:1px solid var(--border)}.site-footer img{height:34px}.site-footer p{color:var(--muted)}
