:root{--ink: #17212B;--ink-2: #4A5560;--ink-3: #8A939B;--paper: #F5F6F3;--raised: #FFFFFF;--line: #E4E7E2;--line-2: #D3D7D0;--accent: #2A44C9;--accent-ink: #1E33A0;--accent-weak:rgba(42, 68, 201, .09);--grid-color: rgba(23, 33, 43, .035);--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--maxw: 1080px;--prose: 64ch}html.dark{--ink: #EDEDE8;--ink-2: #B0B0A8;--ink-3: #6E6E66;--paper: #0B0B0C;--raised: #151516;--line: #222224;--line-2: #2E2E30;--accent: #E11414;--accent-ink: #FF3B3B;--accent-weak:rgba(225, 20, 20, .12);--grid-color: rgba(255, 255, 255, .025)}*,*:before,*:after{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font:400 1.0625rem/1.62 var(--font-sans);color:var(--ink);background-color:var(--paper);background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,3rem)}section{padding-block:clamp(3.25rem,8vw,5.5rem);border-top:1px solid var(--line)}.prose{max-width:none}p{margin:0 0 1rem;color:var(--ink-2);text-align:justify}a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s ease}a:hover{color:var(--ink)}.hand-title{font-family:var(--font-hand);font-weight:400;color:var(--accent);font-size:clamp(2.25rem,6vw,3.5rem);line-height:1;margin:0 0 1.75rem}.site-head{position:sticky;top:0;z-index:20;backdrop-filter:saturate(140%) blur(6px);background:color-mix(in srgb,var(--paper) 80%,transparent);border-bottom:1px solid var(--line)}.site-head .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:.9rem}.brand-mark{font-family:var(--font-hand);font-size:1.5rem;color:var(--ink);text-decoration:none;line-height:1}.site-nav{display:flex;gap:1.4rem}.site-nav a{color:var(--ink-2);text-decoration:none;font-size:.95rem}.site-nav a:hover{color:var(--accent)}@media(max-width:620px){.site-nav{display:none}}.hero{padding-block:0;border-top:0;position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}.hero-cover{position:absolute;inset:0;z-index:0}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:grayscale(1) contrast(1.15) brightness(.95)}.hero-tint{position:absolute;inset:0;background:var(--accent);mix-blend-mode:color;opacity:.12}.hero-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--paper) 0%,color-mix(in srgb,var(--paper) 70%,transparent) 40%,color-mix(in srgb,var(--paper) 20%,transparent) 100%)}.hero-content{position:relative;z-index:1;padding-bottom:clamp(2.5rem,6vw,5rem);padding-top:clamp(6rem,20vw,12rem)}.hero-greet{font-family:var(--font-hand);font-size:clamp(1.5rem,4vw,2.25rem);color:var(--ink-2);margin:0 0 .4rem}.hero-name{font-family:var(--font-hand);color:var(--ink);font-size:clamp(4rem,13vw,8rem);line-height:.88;margin:0 0 1.25rem;text-shadow:0 2px 30px color-mix(in srgb,var(--paper) 60%,transparent);animation:sign-in .9s cubic-bezier(.2,.7,.2,1) both}.hero-role{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;font-size:clamp(1rem,2.2vw,1.4rem);color:var(--accent);font-weight:600;margin:0 0 1.1rem}.hero-lede{font-size:1.1rem}.hero-meta{margin-top:1.4rem;font-family:var(--font-mono);font-size:1rem;color:var(--ink-3)}.hero-cta{margin-top:2rem;display:flex;gap:.75rem;flex-wrap:wrap}@media(max-width:480px){.hero-cta{flex-direction:column}.hero-cta .btn{justify-content:center;width:100%}}.hero-hand-note{display:inline-block;font-family:var(--font-hand);color:var(--accent);font-size:clamp(.85rem,1.5vw,1rem);margin-top:.5rem;opacity:.8;transform:rotate(-2deg)}.btn{display:inline-flex;align-items:center;gap:.5rem;font:600 .85rem var(--font-sans);text-decoration:none;text-transform:uppercase;letter-spacing:.08em;padding:.75rem 1.5rem;border:1px solid var(--ink);color:var(--ink);background:transparent;transition:all .2s ease}.btn:hover{background:var(--ink);color:var(--paper)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}@keyframes sign-in{0%{opacity:0;transform:translateY(14px) rotate(-.6deg)}to{opacity:1;transform:none}}.skill-groups{display:grid;gap:1.6rem;grid-template-columns:repeat(2,1fr)}@media(max-width:620px){.skill-groups{grid-template-columns:1fr}}.skill-group h3{margin:0 0 .7rem;font-size:.95rem;font-weight:600;color:var(--ink);letter-spacing:.01em}.tags{display:flex;flex-wrap:wrap;gap:.45rem}.tag{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-2);padding:.28rem .55rem;border:1px solid var(--line-2);background:var(--raised);transition:color .2s,border-color .2s}.tag:hover{color:var(--accent);border-color:var(--accent)}.skill-groups{display:none}.skill-ticker{display:block;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.ticker-track{display:flex;gap:2rem;width:max-content;animation:ticker 30s linear infinite}.ticker-item{font-family:var(--font-hand);font-size:clamp(1.5rem,3vw,2.5rem);color:var(--ink-3);white-space:nowrap;letter-spacing:.03em;transition:color .2s}.ticker-item:hover{color:var(--accent)}@keyframes ticker{to{transform:translate(-50%)}}.entry{display:grid;grid-template-columns:160px 1fr;gap:1.5rem;padding-block:1.8rem;border-top:1px solid var(--line)}.entry:first-of-type{border-top:0}@media(max-width:680px){.entry{grid-template-columns:1fr;gap:.5rem}}.entry-index{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-3)}.entry-index .yr{color:var(--ink-2);display:block}.entry-body h3{margin:0 0 .5rem;font-size:1.35rem;font-weight:600;color:var(--ink)}.entry-links{display:flex;gap:1.1rem;margin-top:.6rem;font-size:.95rem}.job{padding-block:1.5rem;border-top:1px solid var(--line)}.job:first-of-type{border-top:0}.job-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;justify-content:space-between}.job-org{font-weight:600;color:var(--ink);font-size:1.1rem}.job-org .sep{color:var(--ink-3);font-weight:400;margin:0 .35rem}.job-dates{font-style:italic;color:var(--ink-2);font-size:.95rem}.job-role{color:var(--ink-2);font-size:.98rem;margin:.15rem 0 .7rem}.job ul{margin:0;padding-left:1.1rem}.job li{color:var(--ink-2);margin-bottom:.35rem}.contact-lede{font-family:var(--font-hand);font-size:clamp(1.6rem,4vw,2.5rem);color:var(--ink);max-width:18ch;margin:0 0 1.5rem;line-height:1.25}.contact-links{display:flex;flex-direction:column;gap:.6rem;font-size:1.05rem}.contact-links a{color:var(--ink)}.contact-links a:hover{color:var(--accent)}.contact-links .k{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-3);display:inline-block;width:5.5rem}.site-foot{border-top:1px solid var(--line);padding-block:2rem;font-size:.85rem;color:var(--ink-3)}.site-foot .wrap{text-align:center}.hand-note{display:inline-block;font-family:var(--font-hand);color:var(--accent);font-size:.95rem;margin-top:.6rem;opacity:.85;transform:rotate(-1.5deg);transform-origin:left center}.film-grain{position:fixed;inset:0;z-index:999;width:100%;height:100%;pointer-events:none;opacity:.04;mix-blend-mode:overlay}html.dark .film-grain{opacity:.06}.theme-toggle{background:none;border:1px solid var(--line-2);border-radius:4px;cursor:pointer;padding:.4rem;line-height:0;color:var(--ink-2);transition:color .15s ease,border-color .15s ease}.theme-toggle:hover{color:var(--ink);border-color:var(--ink)}.theme-toggle svg{width:18px;height:18px;display:block}.theme-toggle .icon-sun,html.dark .theme-toggle .icon-moon{display:none}html.dark .theme-toggle .icon-sun{display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ticker-track{animation:none!important}}@font-face{font-family:Brandon Hand;src:url(/fonts/brandon-nino-quiroga.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Brandon Hand;src:url(/fonts/brandon-enye.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+00D1,U+00F1}:root{--font-hand: "Brandon Hand", "Segoe Script", cursive}
