:root{--cobalt:#1d4ed8;--cobalt-dark:#1736a8;--yellow:#f6c700;--white:#fff;--ink:#0a0a0a;--paper:#fbf7ee;--paper-blue:#dfe7ff;--border-w:3px;--border:var(--border-w) solid var(--ink);--radius:6px;--shadow:5px 5px 0 0 var(--ink);--shadow-sm:4px 4px 0 0 var(--ink);--shadow-lg:8px 8px 0 0 var(--ink);--display:"Archivo Black", system-ui, sans-serif;--body:"Archivo", system-ui, sans-serif;--mono:"Space Mono", ui-monospace, Consolas, monospace;font-family:var(--body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth;font-size:18px;line-height:1.5}@media (width<=1024px){:root{font-size:16px}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);background-image:radial-gradient(var(--ink) 1px, transparent 1px);background-position:-13px -13px;background-size:26px 26px;margin:0}#root{width:100%;min-height:100svh}h1,h2,h3{font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;margin:0;font-weight:400;line-height:1.02}h1{font-size:clamp(2.4rem,6vw,4.2rem)}h2{font-size:clamp(1.6rem,3.5vw,2.4rem)}h3{font-size:1.25rem}p{margin:0}a{color:inherit}.panel{background:var(--white);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;background:var(--yellow);border:var(--border);border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-block}.btn{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;border:var(--border);border-radius:var(--radius);background:var(--white);color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer;align-items:center;gap:8px;padding:12px 20px;font-size:.92rem;text-decoration:none;transition:transform 80ms,box-shadow 80ms,background .12s;display:inline-flex}.btn:hover{box-shadow:6px 6px 0 0 var(--ink);transform:translate(-2px,-2px)}.btn:active{box-shadow:1px 1px 0 0 var(--ink);transform:translate(2px,2px)}.btn:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}.btn--primary{background:var(--cobalt);color:var(--white)}.btn--accent{background:var(--yellow);color:var(--ink)}.tag,.badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;border:2px solid var(--ink);background:var(--white);color:var(--ink);white-space:nowrap;align-items:center;padding:4px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.tag{border-radius:999px}.badge{background:var(--paper-blue);border-radius:4px}@media (prefers-reduced-motion:reduce){html,:root{scroll-behavior:auto}.btn:hover,.btn:active{transform:none}}.nav{z-index:100;background:var(--white);border-bottom:var(--border);position:sticky;top:0}.nav__inner{justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:0 auto;padding:12px 20px;display:flex}.nav__brand{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.nav__monogram{width:40px;height:40px;font-family:var(--display);color:var(--white);background:var(--cobalt);border:var(--border);border-radius:6px;place-items:center;font-size:1rem;display:grid}.nav__name{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:.95rem}.nav__links{align-items:center;gap:22px;display:flex}.nav__links a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);border-bottom:3px solid #0000;padding:4px 2px;font-size:.82rem;font-weight:700;text-decoration:none;transition:border-color .12s}.nav__links a:not(.nav__cta):hover{border-bottom-color:var(--cobalt)}.nav__cta{padding:9px 16px;font-size:.82rem}.nav__toggle{background:var(--yellow);border:var(--border);width:44px;height:44px;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:6px;font-size:1.3rem;line-height:1;display:none}@media (width<=860px){.nav__name{display:none}.nav__toggle{place-items:center;display:grid}.nav__links{background:var(--white);border-bottom:var(--border);flex-direction:column;align-items:stretch;gap:0;max-height:0;padding:0;transition:max-height .25s;position:absolute;top:100%;left:0;right:0;overflow:hidden}.nav__links.is-open{max-height:420px}.nav__links a{border-bottom:2px solid var(--ink);padding:16px 20px}.nav__cta{box-shadow:var(--shadow-sm);justify-content:center;margin:16px 20px}}.hero{padding:56px 0 24px}.hero__grid{grid-template-columns:380px 1fr;align-items:center;gap:32px;display:grid}.hero__avatar{background:var(--cobalt);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:18px;padding:24px;display:flex}.hero__photo{border:var(--border);border-radius:6px;width:100%;height:auto;display:block}.hero__avatar-tags{flex-direction:column;gap:8px;width:100%;display:flex}.hero__avatar-tags .tag{white-space:normal;text-align:center;justify-content:center;width:100%;font-size:.68rem}.hero__status{background:var(--yellow)}.hero__intro{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.hero__tagline{background:var(--paper);max-width:49ch;font-size:1.05rem;line-height:1.55}.hero__cta{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}@media (width<=768px){.hero{padding:32px 0 8px}.hero__grid{grid-template-columns:1fr;gap:24px}.hero__avatar{max-width:320px}}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 8px;display:grid}.stats__chip{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:18px 12px;display:flex}.stats__chip:nth-child(2n){background:var(--yellow)}.stats__value{font-family:var(--display);font-size:clamp(1.4rem,3vw,2rem)}.stats__label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700}@media (width<=620px){.stats{grid-template-columns:repeat(2,1fr)}}.exp__list{flex-direction:column;gap:22px;display:flex}.exp__card{border-left:8px solid var(--cobalt);padding:24px 26px;transition:transform .1s,box-shadow .1s}.exp__card:hover{box-shadow:var(--shadow-lg);transform:translate(-2px,-2px)}.exp__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.exp__role{font-size:1.15rem}.exp__org{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--cobalt);margin-top:4px;font-size:.85rem;font-weight:700}.exp__date{flex-shrink:0}.exp__meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.exp__youtube{border:var(--border);width:54px;height:38px;box-shadow:var(--shadow-sm);cursor:pointer;background:red;border-radius:10px;place-items:center;transition:transform 80ms,box-shadow 80ms;display:inline-grid}.exp__youtube:hover{box-shadow:6px 6px 0 0 var(--ink);transform:translate(-2px,-2px)}.exp__youtube:active{box-shadow:1px 1px 0 0 var(--ink);transform:translate(2px,2px)}.exp__youtube:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}.exp__youtube-play{border:7px solid #0000;border-left:12px solid #fff;border-right-width:0;width:0;height:0;margin-left:2px}@media (prefers-reduced-motion:reduce){.exp__youtube:hover,.exp__youtube:active{transform:none}}.exp__bullets{flex-direction:column;gap:10px;margin:0;padding-left:1.1rem;display:flex}.exp__bullets li{line-height:1.5}.exp__bullets li::marker{color:var(--cobalt)}@media (prefers-reduced-motion:reduce){.exp__card:hover{transform:none}}.projects__grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.project__card{flex-direction:column;gap:14px;padding:24px 26px;transition:transform .1s,box-shadow .1s;display:flex}.project__card:hover{box-shadow:var(--shadow-lg);transform:translate(-3px,-3px)}.project__card--link{color:inherit;text-decoration:none}.project__card:nth-child(3n+1){background:var(--paper-blue)}.project__head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.project__title{font-size:1.1rem;line-height:1.1}.project__date{flex-shrink:0}.project__blurb{flex-grow:1;font-size:.96rem;line-height:1.5}.project__tags{flex-wrap:wrap;gap:8px;display:flex}@media (width<=768px){.projects__grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.project__card:hover{transform:none}}.skills__grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.skills__group{padding:22px 24px}.skills__category{border-bottom:3px solid var(--ink);margin-bottom:16px;padding-bottom:10px;font-size:1rem}.skills__items{flex-wrap:wrap;gap:8px;display:flex}@media (width<=768px){.skills__grid{grid-template-columns:1fr}}.edu__card{border-left:8px solid var(--yellow);padding:24px 26px}.edu__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.edu__school{font-size:1.2rem}.edu__degree{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--cobalt);margin-bottom:14px;font-size:.85rem;font-weight:700}.edu__notes{flex-direction:column;gap:8px;margin:0;padding-left:1.1rem;display:flex}.edu__notes li::marker{color:var(--yellow)}.footer{max-width:1180px;margin:0 auto;padding:40px 20px 56px}.footer__panel{background:var(--cobalt);color:var(--white);box-shadow:var(--shadow-lg);flex-direction:column;align-items:flex-start;gap:14px;padding:40px 36px;display:flex}.footer__panel .eyebrow{color:var(--ink)}.footer__title{font-size:clamp(1.8rem,4vw,2.8rem)}.footer__sub{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}.footer__links{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.footer__copy{text-align:center;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;background:var(--paper);margin-top:28px;font-size:.78rem}.page{max-width:1180px;margin:0 auto;padding:0 20px}.section{padding:48px 0;scroll-margin-top:84px}.section__title{margin:12px 0 28px}.about__panel{padding:28px 30px;font-size:1.05rem;line-height:1.6}@media (width<=768px){.section{padding:36px 0}}
