:root{--color-accent:#5b3dbf;--color-accent-hover:#472ba7;--color-background:#f6f7f9;--color-surface:#fff;--color-border:#d9dce2;--color-muted:#656975;--color-text:#1f2328;--font-sans:"Helvetica Neue", "Inter", "Avenir Next", Arial, sans-serif;--font-mono:"SFMono-Regular", "Roboto Mono", Consolas, monospace;--shell:1140px;--gutter:clamp(1.25rem, 4vw, 3.5rem);--section-gap:clamp(4.5rem, 9vw, 8rem);--focus:0 0 0 3px var(--color-background), 0 0 0 5px var(--color-accent)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{color:var(--color-text);background:var(--color-background);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.65}body:before{z-index:-1;pointer-events:none;content:"";opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{box-shadow:var(--focus);outline:0}.shell{width:min(100% - (2 * var(--gutter)), var(--shell));margin-inline:auto}.skip-link{z-index:100;color:#fff;background:var(--color-accent);padding:.7rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;transition:background-color .18s,box-shadow .18s;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled,.site-header:has(.mobile-nav:not([hidden])){box-shadow:0 1px 0 var(--color-border);backdrop-filter:blur(16px);background:#f6f7f9f0}.header-inner{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;min-height:5.25rem;display:flex}.wordmark{letter-spacing:-.03em;font-size:1.25rem;font-weight:700}.desktop-nav,.site-footer nav{align-items:center;gap:clamp(1.4rem,3vw,2.75rem);font-size:.84rem;font-weight:600;display:flex}.desktop-nav a,.site-footer nav a{transition:color .15s}.desktop-nav a:hover,.site-footer nav a:hover{color:var(--color-accent)}.menu-toggle,.mobile-nav{display:none}.hero{grid-template-columns:minmax(0,1fr) clamp(250px,27vw,340px);align-items:center;gap:clamp(3rem,7vw,7rem);min-height:min(760px,100svh);padding-top:11rem;padding-bottom:4rem;display:grid}.hero-copy{width:100%;min-width:0}.hero-portrait{width:100%;margin:0}.hero-portrait-desktop{align-self:start;transform:translate(clamp(-7.5rem,-8vw,-3rem))}.hero-portrait-mobile{display:none}.hero-portrait img{aspect-ratio:1;object-fit:cover;object-position:50% 43%;border:1px solid #1f23281f;border-radius:50%;width:100%;height:auto;display:block;box-shadow:0 1.5rem 4rem #1f23281f}.hero h1{letter-spacing:-.07em;margin:0;font-size:clamp(4rem,10vw,8.4rem);font-weight:500;line-height:.92}.hero h1 span{color:var(--color-accent)}.hero-lede{letter-spacing:-.045em;max-width:740px;margin:clamp(2rem,4vw,3rem) 0 0;font-size:clamp(1.75rem,4vw,3.2rem);line-height:1.2}.hero-support{max-width:590px;color:var(--color-muted);margin:1.8rem 0 0;font-size:clamp(1rem,1.8vw,1.2rem)}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:2.6rem;display:flex}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:1.4rem;min-height:3.25rem;padding:.8rem 1.4rem;font-size:.9rem;font-weight:650;line-height:1;transition:color .15s,background-color .15s,border-color .15s,transform .15s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:var(--color-accent)}.button-primary:hover{background:var(--color-accent-hover)}.button-secondary{background:#ffffff6b;border-color:#9a9fab}.button-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.social-links{flex-wrap:wrap;gap:2rem;margin:2.5rem 0 0;padding:0;list-style:none;display:flex}.social-links a{align-items:center;gap:.65rem;min-height:2.75rem;font-size:.85rem;font-weight:650;transition:color .15s;display:flex}.social-links a:hover{color:var(--color-accent)}.content-sections{border-top:1px solid var(--color-border)}.section-grid{padding-block:var(--section-gap);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(150px,.7fr) minmax(0,1.8fr);gap:clamp(2rem,7vw,7rem);display:grid}.section-grid h2{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,3.25rem);font-weight:500;line-height:1}.section-copy{max-width:640px}.section-copy p{margin:0;font-size:clamp(1.05rem,2vw,1.3rem)}.section-copy p+p{margin-top:1.7rem}.section-date,.timeline-date{color:var(--color-muted);font-family:var(--font-mono);font-size:.76rem;line-height:1.5}.section-date{margin:1rem 0 0}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline-item{grid-template-columns:145px 1rem minmax(0,1fr);gap:1rem;min-height:7.5rem;display:grid;position:relative}.timeline-item:not(:last-child):after{z-index:0;content:"";background:#bdc1ca;width:1px;position:absolute;top:.7rem;bottom:-.02rem;left:calc(160px + .34rem)}.timeline-item:last-child{min-height:auto}.timeline-date{margin:.1rem 0 0}.timeline-marker{z-index:1;border:2px solid var(--color-background);background:var(--color-accent);width:.72rem;height:.72rem;box-shadow:0 0 0 1px var(--color-accent);border-radius:50%;margin-top:.34rem;position:relative}.timeline-content h3,.education-content h3{letter-spacing:-.02em;margin:0;font-size:clamp(1.1rem,2vw,1.38rem);font-weight:650;line-height:1.3}.timeline-content p,.education-content .degree{color:var(--color-muted);margin:.35rem 0 0}.education-content ul{color:var(--color-muted);margin:1.3rem 0 0;padding:0;list-style:none}.education-content li+li{margin-top:.35rem}.text-link{color:var(--color-accent);align-items:center;gap:1rem;margin-top:1.7rem;font-weight:650;display:inline-flex}.email-address{color:var(--color-text);font-family:var(--font-mono);text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:.3em;font-size:.92em}.email-address:hover{color:var(--color-accent);text-decoration-color:currentColor}.text-link:hover{color:var(--color-accent-hover)}.site-footer{color:var(--color-muted);justify-content:space-between;align-items:center;padding-block:2.4rem 3rem;font-size:.76rem;display:flex}.site-footer p{margin:0}.site-footer .footer-name{color:var(--color-text);margin-bottom:.15rem;font-size:1rem;font-weight:700}.site-footer nav a:last-child{color:var(--color-accent)}@media (width<=760px){html{scroll-padding-top:5rem}body.menu-open{overflow:hidden}.header-inner{min-height:4.6rem}.desktop-nav{display:none}.menu-toggle{width:2.75rem;height:2.75rem;color:var(--color-text);background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid}.menu-toggle span{place-items:center;display:grid}.menu-toggle span[hidden]{display:none}.mobile-nav:not([hidden]){background:var(--color-background);flex-direction:column;align-items:flex-start;gap:0;height:calc(100svh - 4.6rem);padding-top:1.4rem;display:flex}.mobile-nav a{border-bottom:1px solid var(--color-border);letter-spacing:-.04em;width:100%;padding:1rem 0;font-size:clamp(1.4rem,8vw,2rem);font-weight:500}.mobile-nav a:last-child{color:var(--color-accent);margin-top:1rem}.hero{grid-template-columns:1fr;gap:3.25rem;min-height:auto;padding-top:11rem;padding-bottom:5rem}.hero-copy{width:100%}.hero h1{font-size:clamp(4rem,21vw,6rem)}.hero h1 span{display:block}.hero-portrait{justify-self:center;width:min(72vw,280px)}.hero-portrait-desktop{display:none}.hero-portrait-mobile{margin:2.5rem auto 0;display:block}.hero-lede{font-size:clamp(1.7rem,8vw,2.35rem)}.hero-actions{flex-direction:column;align-items:stretch}.button{justify-content:space-between;width:100%}.social-links{justify-content:space-between;gap:.75rem}.social-links a{flex-direction:column;gap:.25rem;font-size:.72rem}.section-grid{grid-template-columns:1fr;gap:2.2rem}.timeline-item{grid-template-columns:1rem minmax(0,1fr);gap:1.15rem;min-height:9rem}.timeline-item:not(:last-child):after{left:.34rem}.timeline-date{grid-area:1/2;margin:0}.timeline-marker{grid-area:1/1/span 2}.timeline-content{grid-area:2/2;margin-top:-.25rem}.site-footer{flex-direction:column;align-items:flex-start;gap:2rem}.site-footer nav{grid-template-columns:repeat(2,1fr);gap:.8rem 2rem;width:100%;display:grid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
