html.brutal-root{background:var(--brutal-ink);scroll-behavior:smooth}.brutal-root,.home-brutal-root{--brutal-neon:#39ff14;--brutal-green-ink:#145214;--brutal-neon-slab-ink:var(--brutal-ink);--brutal-yellow:#ffe600;--brutal-cream:#f0ebe0;--brutal-ink:#0a0a0a;--brutal-border:3px solid var(--brutal-ink);--brutal-shadow:5px 5px 0 0 var(--brutal-ink);--brutal-shadow-sm:3px 3px 0 0 var(--brutal-ink);--brutal-display:"Archivo Black", "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--brutal-mono:"IBM Plex Mono", ui-monospace, monospace;--home-neon:var(--brutal-neon);--home-yellow:var(--brutal-yellow);--home-cream:var(--brutal-cream);--home-ink:var(--brutal-ink);--home-brutal-border:var(--brutal-border);--home-shadow:var(--brutal-shadow);--home-shadow-sm:var(--brutal-shadow-sm);--home-display:var(--brutal-display);--home-mono:var(--brutal-mono);--brutal-chrome-nav-link-bg:var(--brutal-neon);--brutal-chrome-nav-link-fg:var(--brutal-neon-slab-ink);--brutal-chrome-footer-bg:var(--brutal-cream);--brutal-chrome-footer-link-bg:#fff;--brutal-chrome-footer-link-fg:var(--brutal-ink)}.brutal-body,.home-brutal-body{background:var(--brutal-ink);min-height:100svh;color:var(--brutal-ink);font-family:var(--brutal-mono);margin:0}.brutal-body ::selection,.home-brutal-body ::selection{background:color-mix(in srgb, var(--brutal-neon) 55%, transparent);color:var(--brutal-ink)}.brutal-root a:focus-visible,.brutal-root button:focus-visible,.brutal-root summary:focus-visible,.brutal-root input:focus-visible,.brutal-root textarea:focus-visible,.home-brutal-root a:focus-visible,.home-brutal-root button:focus-visible,.home-brutal-root summary:focus-visible,.home-brutal-root input:focus-visible,.home-brutal-root textarea:focus-visible{outline:3px solid var(--brutal-yellow);outline-offset:3px}.brutal-header{z-index:50;background:var(--brutal-ink);border-bottom:var(--brutal-border);position:sticky;top:0}.brutal-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;max-width:72rem;margin:0 auto;padding:1rem 1.25rem;display:flex}@media (width>=640px){.brutal-header__inner{padding:1.15rem 1.5rem}}.home-logo{background:var(--brutal-yellow);border:var(--brutal-border);width:3rem;height:3rem;box-shadow:var(--brutal-shadow-sm);flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.home-logo__mark{font-family:var(--brutal-display);color:var(--brutal-ink);font-size:1.125rem;line-height:1}.home-nav{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.home-nav a{background:var(--brutal-chrome-nav-link-bg);border:var(--brutal-border);box-shadow:var(--brutal-shadow-sm);font-family:var(--brutal-display);letter-spacing:.06em;text-transform:uppercase;color:var(--brutal-chrome-nav-link-fg);padding:.45rem .75rem;font-size:.65rem;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-block}@media (width>=640px){.home-nav a{padding:.5rem .85rem;font-size:.72rem}}.home-nav a:hover{box-shadow:6px 6px 0 0 var(--brutal-ink);transform:translate(-2px,-2px)}.home-nav a:focus-visible{outline:3px solid var(--brutal-yellow);outline-offset:3px}.brutal-nav-mobile{width:100%;position:relative}@media (width>=768px){.brutal-nav-mobile{display:none}}.brutal-nav-mobile summary{background:var(--brutal-yellow);border:var(--brutal-border);box-shadow:var(--brutal-shadow-sm);font-family:var(--brutal-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:.45rem .75rem;font-size:.65rem;list-style:none;display:inline-block}.brutal-nav-mobile summary::-webkit-details-marker{display:none}.brutal-nav-mobile__panel{z-index:60;background:var(--brutal-cream);border:var(--brutal-border);min-width:11rem;box-shadow:var(--brutal-shadow);padding:.5rem;position:absolute;top:calc(100% + .5rem);right:0}.brutal-nav-mobile__panel a{color:var(--brutal-ink);text-transform:uppercase;font-size:.72rem;font-family:var(--brutal-display);letter-spacing:.04em;padding:.5rem .65rem;text-decoration:none;display:block}.brutal-nav-mobile__panel a:hover{background:var(--brutal-neon)}.brutal-nav-desktop{display:none}@media (width>=768px){.brutal-nav-desktop{display:flex}}.brutal-main{overflow-x:clip}.brutal-page-hero{color:#f5f5f0;border-bottom:var(--brutal-border);background:#121212;padding:2.5rem 1.25rem 2.75rem}@media (width>=640px){.brutal-page-hero{padding:3rem 1.5rem 3.25rem}}.brutal-page-hero__inner{max-width:72rem;margin:0 auto}.brutal-page-hero .home-section-label{color:var(--brutal-neon)}.brutal-page-hero__title{font-family:var(--brutal-display);letter-spacing:-.02em;text-transform:uppercase;color:#fff;text-shadow:3px 3px 0 var(--brutal-ink);margin:.35rem 0 0;font-size:clamp(2rem,6vw,3.25rem);line-height:1}.brutal-page-hero__lede{color:#f5f5f0d1;max-width:40rem;margin:1rem 0 0;font-size:.85rem;line-height:1.55}.brutal-content{background:var(--brutal-cream);color:var(--brutal-ink);--brutal-muted-fg:color-mix(in srgb, var(--brutal-ink) 72%, transparent);padding:2.5rem 1.25rem 3.5rem}@media (width>=640px){.brutal-content{padding:3rem 1.5rem 4rem}}.brutal-content__inner{max-width:72rem;margin:0 auto}.brutal-content__inner--narrow{max-width:42rem}.brutal-prose{font-size:.85rem;line-height:1.6}.brutal-prose p{margin:.85rem 0 0}.brutal-prose p:first-child{margin-top:0}.brutal-prose--lead{font-family:var(--brutal-display);text-transform:uppercase;font-size:.95rem;line-height:1.35}.brutal-muted{color:var(--brutal-muted-fg,color-mix(in srgb, var(--brutal-ink) 62%, transparent))}.brutal-link-row{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}.brutal-inline-link{color:var(--brutal-ink);text-decoration:underline;text-decoration-color:var(--brutal-green-ink);text-underline-offset:3px;font-weight:600}.brutal-inline-link:hover{background:var(--brutal-neon);text-decoration:none}.brutal-page-hero .brutal-inline-link{color:var(--brutal-neon);text-decoration-color:currentColor}.brutal-page-hero .brutal-inline-link:hover{color:var(--brutal-ink)}.brutal-card-list{gap:1rem;margin-top:1.75rem;margin-bottom:0;padding:0;list-style:none;display:grid}@media (width>=1024px){.brutal-card-list--2{grid-template-columns:repeat(2,1fr)}}.brutal-card{border:var(--brutal-border);box-shadow:var(--brutal-shadow);background:#fff;flex-direction:column;padding:1rem;display:flex}.brutal-card__status{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--brutal-ink) 72%, transparent);font-size:.62rem}.brutal-card__title{font-family:var(--brutal-display);text-transform:uppercase;margin:.5rem 0 0;font-size:1.15rem;line-height:1.15}.brutal-card__title a{color:inherit;text-decoration:none}.brutal-card__title a:hover{background:var(--brutal-neon)}.brutal-card__body{color:color-mix(in srgb, var(--brutal-ink) 82%, transparent);margin:.65rem 0 0;font-size:.78rem;line-height:1.5}.brutal-card__tags{letter-spacing:.04em;margin:.75rem 0 0;font-size:.68rem}.brutal-card__img{border:2px solid var(--brutal-ink);box-shadow:var(--brutal-shadow-sm);width:100%;height:auto;margin-top:.85rem}.brutal-card__actions{flex-wrap:wrap;gap:.75rem;margin-top:auto;padding-top:1rem;display:flex}.brutal-btn{background:var(--brutal-neon);border:var(--brutal-border);box-shadow:var(--brutal-shadow-sm);font-family:var(--brutal-display);letter-spacing:.04em;text-transform:uppercase;color:var(--brutal-ink);cursor:pointer;padding:.5rem .85rem;font-size:.7rem;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-block}.brutal-btn:hover{box-shadow:6px 6px 0 0 var(--brutal-ink);transform:translate(-2px,-2px)}.brutal-btn--ghost{background:#fff}.brutal-btn--yellow{background:var(--brutal-yellow)}.brutal-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.brutal-resume-block{margin-top:2.5rem}.brutal-resume-block h2{letter-spacing:.12em;text-transform:uppercase;color:var(--brutal-muted-fg,color-mix(in srgb, var(--brutal-ink) 50%, transparent));margin:0;font-size:.65rem}.brutal-resume-block h3{font-family:var(--brutal-display);text-transform:uppercase;margin:0;font-size:.88rem}.brutal-resume-block ul{margin:.75rem 0 0;padding-left:1.15rem;font-size:.78rem;line-height:1.5}.brutal-resume-block li{margin-top:.35rem}.brutal-resume-block li:first-child{margin-top:0}.brutal-resume-role{border:2px solid var(--brutal-ink);box-shadow:var(--brutal-shadow-sm);background:#fff;margin-top:1.25rem;padding:.85rem}.brutal-resume-role:first-of-type{margin-top:.85rem}.brutal-resume-meta{color:var(--brutal-muted-fg,color-mix(in srgb, var(--brutal-ink) 65%, transparent));margin:.35rem 0 0;font-size:.72rem}.brutal-skills-grid{gap:.75rem;margin-top:.85rem;display:grid}@media (width>=640px){.brutal-skills-grid{grid-template-columns:repeat(2,1fr)}}.brutal-skill-tile{background:var(--brutal-neon);border:2px solid var(--brutal-ink);box-shadow:var(--brutal-shadow-sm);color:var(--brutal-neon-slab-ink);padding:.75rem}.brutal-skill-tile dt{font-family:var(--brutal-display);text-transform:uppercase;letter-spacing:.04em;color:var(--brutal-neon-slab-ink);font-size:.68rem}.brutal-skill-tile dd{color:var(--brutal-neon-slab-ink);margin:.4rem 0 0;font-size:.72rem;line-height:1.45}.brutal-form-panel{border:var(--brutal-border);box-shadow:var(--brutal-shadow);background:#fff;margin-top:2rem;padding:1.15rem}.brutal-form-panel h2{font-family:var(--brutal-display);text-transform:uppercase;margin:0;font-size:1.1rem}.brutal-form-panel p{color:color-mix(in srgb, var(--brutal-ink) 70%, transparent);margin:.65rem 0 0;font-size:.78rem;line-height:1.5}.brutal-form{flex-direction:column;gap:.85rem;margin-top:1.15rem;display:flex}.brutal-form label{font-family:var(--brutal-display);letter-spacing:.06em;text-transform:uppercase;font-size:.65rem;display:block}.brutal-form input,.brutal-form textarea{width:100%;font-family:var(--brutal-mono);color:var(--brutal-ink);background:var(--brutal-cream);border:2px solid var(--brutal-ink);box-shadow:2px 2px 0 0 var(--brutal-ink);margin-top:.35rem;padding:.55rem .65rem;font-size:.78rem;display:block}.brutal-form textarea{resize:vertical;min-height:6rem}.brutal-form-status{font-size:.78rem}.brutal-form-status.is-hidden{display:none}.brutal-form-status.is-error{color:var(--brutal-ink);background:var(--brutal-yellow);border:2px solid var(--brutal-ink);padding:.35rem .5rem}.brutal-form-status.is-muted{color:color-mix(in srgb, var(--brutal-ink) 60%, transparent)}.brutal-form-status.is-success{color:var(--brutal-ink);background:var(--brutal-neon);border:2px solid var(--brutal-ink);padding:.35rem .5rem}.brutal-dl-block{border:var(--brutal-border);box-shadow:var(--brutal-shadow-sm);background:#fff;margin-top:2rem;padding:1rem}.brutal-dl-block dt{letter-spacing:.12em;text-transform:uppercase;color:var(--brutal-green-ink);font-size:.62rem}.brutal-dl-block dd{margin:.5rem 0 0;font-size:.85rem;line-height:1.55}.brutal-dl-block+.brutal-dl-block{margin-top:1rem}.brutal-footer-wrap{border-top:var(--brutal-border);background:var(--brutal-chrome-footer-bg)}.home-footer{background:var(--brutal-chrome-footer-bg);border-top:var(--brutal-border);padding:1.5rem 1.25rem 2.5rem}.home-footer ul{margin:0;flex-wrap:wrap;gap:.5rem;max-width:72rem;margin-inline:auto;padding:0;list-style:none;display:flex}.home-footer a{background:var(--brutal-chrome-footer-link-bg);border:2px solid var(--brutal-ink);box-shadow:2px 2px 0 0 var(--brutal-ink);color:var(--brutal-chrome-footer-link-fg);padding:.4rem .65rem;font-size:.72rem;text-decoration:none;display:inline-block}.home-footer a:hover{background:var(--brutal-yellow)}.brutal-footer-meta{max-width:72rem;color:color-mix(in srgb, var(--brutal-ink) 72%, transparent);text-align:center;margin:.85rem auto 0;padding:0 1.25rem;font-size:.68rem}@media (width>=640px){.brutal-footer-meta{text-align:left;padding-inline:1.5rem}}.brutal-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media print{.brutal-header,.brutal-footer-wrap,.brutal-form-panel{display:none!important}.brutal-body{color:#111;background:#fff}.brutal-content{background:#fff;padding:0}.brutal-resume-role,.brutal-skill-tile{box-shadow:none;break-inside:avoid}}.home-page{overflow-x:clip}.home-brutal-slab{border:var(--home-brutal-border);box-shadow:var(--home-shadow)}.home-brutal-slab--sm{box-shadow:var(--home-shadow-sm)}.home-hero{isolation:isolate;flex-direction:column;min-height:min(92svh,920px);display:flex;position:relative}.home-hero__backdrop{z-index:0;filter:saturate(.35)contrast(1.08);background:linear-gradient(#00000059 0%,#000000b8 55%,#000000eb 100%),url(/images/home-hero-concrete.jpg) 50%/cover no-repeat;position:absolute;inset:0}.home-hero__grain{z-index:1;pointer-events:none;opacity:.35;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");position:absolute;inset:0}.home-hero__inner{z-index:2;flex-direction:column;flex:1;width:100%;max-width:72rem;margin:0 auto;padding:1rem 1.25rem 2.5rem;display:flex;position:relative}@media (width>=640px){.home-hero__inner{padding:1.25rem 1.5rem 3rem}}.home-hero__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.home-hero__content{max-width:42rem;margin-top:auto;padding-top:2.5rem}.home-kicker{background:var(--home-neon);border:var(--home-brutal-border);box-shadow:var(--home-shadow-sm);font-family:var(--home-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brutal-neon-slab-ink);margin:0 0 1rem;padding:.35rem .6rem;font-size:.65rem;display:inline-block}.home-hero__title{font-family:var(--home-display);letter-spacing:-.02em;text-transform:uppercase;color:#fff;text-shadow:4px 4px 0 var(--home-ink);margin:0 0 1.25rem;font-size:clamp(2.5rem,10vw,4.5rem);line-height:.95}.home-slab--yellow{background:var(--home-yellow);color:var(--home-ink);margin:0;padding:1.1rem 1.15rem}.home-slab__lead{font-family:var(--home-display);text-transform:uppercase;margin:0 0 .65rem;font-size:.95rem;line-height:1.25}.home-slab__body{margin:0;font-size:.85rem;line-height:1.55}.home-badges{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.home-badge{background:var(--home-neon);border:2px solid var(--home-ink);box-shadow:2px 2px 0 0 var(--home-ink);max-width:18rem;color:var(--brutal-neon-slab-ink);padding:.35rem .55rem;font-size:.68rem;line-height:1.35}.home-cta{background:var(--home-neon);border:var(--home-brutal-border);box-shadow:var(--home-shadow);font-family:var(--home-display);letter-spacing:.04em;text-transform:uppercase;color:var(--brutal-neon-slab-ink);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding:.85rem 1rem;font-size:.78rem;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex}.home-cta:hover{box-shadow:8px 8px 0 0 var(--home-ink);transform:translate(-2px,-2px)}.home-cta__arrow{flex-shrink:0;width:2rem;height:2rem}.home-hero__actions{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.home-hero__actions a{box-shadow:3px 3px 0 0 var(--home-ink);color:#fff;background:#00000073;border:2px solid #fff;padding:.45rem .7rem;font-size:.72rem;text-decoration:none}.home-hero__actions a:hover{background:var(--home-yellow);color:var(--home-ink);border-color:var(--home-ink)}.home-cream{background:var(--home-cream);color:var(--home-ink);--brutal-muted-fg:color-mix(in srgb, var(--home-ink) 72%, transparent);padding:2.5rem 1.25rem 3rem;scroll-margin-top:1rem}@media (width>=640px){.home-cream{padding:3rem 1.5rem 3.5rem}}.home-cream__inner{max-width:72rem;margin:0 auto}.home-section-label{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--home-ink) 68%, transparent);margin:0;font-size:.7rem}.home-section-title{font-family:var(--home-display);text-transform:uppercase;margin:.35rem 0 0;font-size:clamp(1.5rem,4vw,2.25rem)}.home-section-lede{max-width:38rem;margin:.75rem 0 0;font-size:.82rem;line-height:1.55}.home-table-wrap{border-top:2px solid var(--home-ink);margin-top:1.75rem}.home-table{border-collapse:collapse;width:100%;font-size:.78rem}.home-table thead th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--home-ink) 50%, transparent);border-bottom:2px solid var(--home-ink);padding:.65rem .35rem;font-size:.62rem;font-weight:500}.home-table tbody tr{border-bottom:1px solid var(--home-ink)}.home-table tbody td{vertical-align:top;padding:.85rem .35rem}.home-table a{color:var(--home-ink);text-underline-offset:3px;font-weight:600;text-decoration:underline}.home-table a:hover{background:var(--home-neon);text-decoration:none}.home-table__meta{color:color-mix(in srgb, var(--home-ink) 72%, transparent)}.home-link-bar{background:var(--home-neon);border:var(--home-brutal-border);box-shadow:var(--home-shadow-sm);font-family:var(--home-display);text-transform:uppercase;color:var(--brutal-neon-slab-ink);margin-top:1.25rem;padding:.5rem .85rem;font-size:.72rem;text-decoration:none;display:inline-flex}.home-dark{color:#f5f5f0;background:#121212;padding:2.75rem 1.25rem;scroll-margin-top:1rem}@media (width>=640px){.home-dark{padding:3rem 1.5rem}}.home-dark__inner{max-width:72rem;margin:0 auto}.home-dark .home-section-label{color:var(--home-neon)}.home-dark .home-section-title{color:#fff}.home-card-grid{gap:1rem;margin-top:1.5rem;display:grid}@media (width>=768px){.home-card-grid--3{grid-template-columns:repeat(3,1fr)}.home-card-grid--2{grid-template-columns:repeat(2,1fr)}}.home-card{border:var(--home-brutal-border);box-shadow:var(--home-shadow);background:#1a1a1a;flex-direction:column;padding:1rem;display:flex}.home-card--yellow{background:var(--home-yellow);color:var(--home-ink)}.home-card__index{color:var(--home-neon);font-size:.65rem}.home-card--yellow .home-card__index{color:var(--brutal-green-ink)}.home-card__title{font-family:var(--home-display);text-transform:uppercase;margin:.5rem 0 0;font-size:1.05rem}.home-card__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.home-card__body{color:#f5f5f0d9;margin:.75rem 0 0;font-size:.78rem;line-height:1.5}.home-card--yellow .home-card__body{color:var(--home-ink)}.home-card dl{margin:.85rem 0 0;font-size:.72rem;line-height:1.45}.home-card dt{letter-spacing:.12em;text-transform:uppercase;color:var(--home-neon);margin-top:.65rem;font-size:.6rem}.home-card--yellow dt{color:var(--brutal-green-ink)}.home-card dd{color:#f5f5f0cc;margin:.2rem 0 0}.home-card--yellow dd{color:var(--home-ink)}.home-card__link{font-family:var(--home-display);text-transform:uppercase;color:var(--home-neon);margin-top:auto;padding-top:1rem;font-size:.7rem;text-decoration:none}.home-card--yellow .home-card__link{color:var(--brutal-green-ink);text-underline-offset:3px;text-decoration:underline}.home-card--yellow .home-card__link:hover{background:var(--home-neon);color:var(--home-ink);text-decoration:none}.home-skills-grid{gap:1rem;margin-top:1.5rem;display:grid}@media (width>=640px){.home-skills-grid{grid-template-columns:repeat(2,1fr)}}.home-skill-block{background:var(--home-neon);border:var(--home-brutal-border);box-shadow:var(--home-shadow-sm);color:var(--brutal-neon-slab-ink);padding:.85rem}.home-skill-block h3{font-family:var(--home-display);letter-spacing:.06em;text-transform:uppercase;color:var(--brutal-neon-slab-ink);margin:0;font-size:.72rem}.home-skill-block p{font-family:var(--home-mono);color:var(--brutal-neon-slab-ink);margin:.5rem 0 0;font-size:.75rem;line-height:1.5}@media (width<=639px){.home-table thead{display:none}.home-table tbody tr{padding:.75rem 0;display:block}.home-table tbody td{padding:.15rem 0;display:block}.home-table tbody td:before{content:attr(data-label);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--home-ink) 50%, transparent);margin-bottom:.15rem;font-size:.58rem;display:block}}
