:root{--paper: #fafaf8;--surface: #ffffff;--ink: #17171b;--ink-soft: #5f5f6b;--ink-faint: #9a9aa5;--line: rgba(23, 23, 27, .1);--blue: #c3d9f0;--pink: #f5cedd;--green: #d3ead0;--grey: #e2e3e9;--blue-ink: #4d7198;--pink-ink: #9d6a80;--green-ink: #5f8160;--radius: 14px;--radius-lg: 22px;--shadow-soft: 0 1px 2px rgba(23, 23, 27, .04), 0 8px 24px rgba(23, 23, 27, .06);--shadow: 0 2px 4px rgba(23, 23, 27, .05), 0 16px 40px rgba(23, 23, 27, .1);--container: 1080px;--header-height: 4.5rem;--accent-color: var(--grey);--accent-ink: var(--ink-soft)}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1rem)}body{margin:0;font-family:Atkinson,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:1.0625rem;line-height:1.7;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line);transition:color .2s ease,text-decoration-color .2s ease}a:hover{text-decoration-color:var(--accent-color)}h1,h2,h3,h4{line-height:1.15;letter-spacing:-.02em;margin:0;font-weight:700}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em;padding:.15em .4em;border-radius:6px;background:var(--grey);color:var(--ink)}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 1.5rem}main{display:block}.section{position:relative;padding:6rem 0}.section__title{font-size:clamp(1.6rem,3.5vw,2.25rem);margin:0 0 2.5rem;display:flex;align-items:center;gap:.65rem}.section__title:before{content:"";flex:0 0 auto;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--blue),var(--pink) 70%);box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--line)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:#fafaf88c;-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid rgba(23,23,27,.06)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height);padding-top:.9rem;padding-bottom:.9rem}.site-header__brand{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.site-header__nav{display:flex;align-items:center;gap:1.5rem;list-style:none;margin:0;padding:0}.site-header__link{color:var(--ink);text-decoration:none;font-size:.95rem;padding-bottom:.25rem;border-bottom:2px solid transparent;transition:border-color .2s ease}.site-header__link:hover{border-bottom-color:var(--pink)}.site-footer{border-top:1px solid var(--line);padding:2.5rem 0}.site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--ink-soft);font-size:.9rem}.hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:100svh;padding-top:var(--header-height)}.hero__inner{position:relative;z-index:1}.hero__eyebrow{margin:0 0 1.25rem;font-size:.85rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink, var(--ink-soft))}.hero__name{font-size:clamp(2.75rem,9vw,5.5rem);letter-spacing:-.04em;margin:0 0 1.25rem}.hero__tagline{max-width:34rem;margin:0;font-size:clamp(1.15rem,2.5vw,1.4rem);line-height:1.5;color:var(--ink-soft)}.blob{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;z-index:0}.blob--blue{background:var(--blue);width:42rem;height:42rem;top:-14rem;right:-10rem;opacity:.55}.blob--pink{background:var(--pink);width:30rem;height:30rem;bottom:-12rem;left:-8rem;opacity:.4}.blob--green{background:var(--green);width:22rem;height:22rem;top:24%;left:34%;opacity:.28}.about__text{max-width:46rem;margin:0;font-size:1.15rem;color:var(--ink-soft)}.about__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.card{--accent-color: var(--grey);--accent-ink: var(--ink-soft);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.85rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.75rem 1.5rem 1.5rem;box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent-color)}.card:hover{transform:translateY(-4px);border-color:var(--accent-color);box-shadow:var(--shadow)}.card__top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.card__title{font-size:1.25rem}.card__year{font-size:.85rem;font-weight:700;color:var(--accent-ink)}.card__desc{margin:0;color:var(--ink-soft)}.card__links{display:flex;gap:1rem;margin-top:auto;padding-top:.5rem;font-size:.95rem;font-weight:700}.card__links a{text-decoration:none}.card__links a:hover{color:var(--accent-ink)}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}.tag{font-size:.8rem;padding:.25rem .8rem;border-radius:999px;background:var(--accent-color);color:var(--ink)}.pill{display:inline-block;padding:.55rem 1.25rem;border-radius:999px;border:1px solid var(--ink);color:var(--ink);text-decoration:none;font-weight:700;transition:background .2s ease,color .2s ease,transform .2s ease}.pill:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--line)}.timeline__item{--accent-color: var(--grey);--accent-ink: var(--ink-soft);position:relative;padding:0 0 2.5rem 2.25rem}.timeline__item:last-child{padding-bottom:0}.timeline__item:before{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--accent-color);box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--line)}.timeline__period{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:.5rem}.timeline__role{font-size:1.3rem}.timeline__company{margin:.1rem 0 .75rem;color:var(--ink-soft)}.timeline__desc{margin:0 0 1rem;color:var(--ink-soft);max-width:42rem}.contact{text-align:center}.contact .section__title{justify-content:center}.contact__email{display:inline-block;font-size:1.3rem;font-weight:700;text-decoration:none;margin-bottom:1.5rem}.contact__email:hover{color:var(--accent-ink)}.contact__links{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin:0;padding:0}.accent-blue{--accent-color: var(--blue);--accent-ink: var(--blue-ink)}.accent-pink{--accent-color: var(--pink);--accent-ink: var(--pink-ink)}.accent-green{--accent-color: var(--green);--accent-ink: var(--green-ink)}.accent-grey{--accent-color: var(--grey);--accent-ink: var(--ink-soft)}.empty{color:var(--ink-faint);border:1px dashed var(--line);border-radius:var(--radius);padding:1.25rem 1.5rem;margin:0}.empty code{background:transparent;padding:0;color:var(--ink-soft);font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:720px){.section{padding:4rem 0}.site-header__nav{gap:1rem}.site-footer__inner{flex-direction:column;align-items:flex-start}.hero{min-height:88svh}}
