@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap);:root{--bg:#0b0c0e;--bg-tint:#0e1013;--surface:#111317;--surface-raised:#15181d;--border:#1e2126;--border-strong:#2d323b;--fg:#e8e9eb;--fg-muted:#9aa0a8;--fg-subtle:#6b7179;--accent:#6e8bff;--accent-bright:#8ca1ff;--accent-soft:rgba(110,139,255,.12);--accent-ring:rgba(110,139,255,.35);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:22px;--r-full:999px;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 10px 30px -12px rgba(0,0,0,.7);--shadow-lg:0 24px 60px -20px rgba(0,0,0,.8);--nav-h:68px;--container:1120px;--container-narrow:760px;--section-y:clamp(64px,9vw,112px);--gutter:clamp(20px,5vw,40px);--ease:cubic-bezier(0.22,0.61,0.36,1);--dur:220ms}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:92px;scroll-padding-top:calc(var(--nav-h) + 24px)}body{-webkit-font-feature-settings:"cv11","ss01";font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0b0c0e;background-color:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font-sans);font-size:16px;line-height:1.65}body,h1,h2,h3,h4{color:#e8e9eb;color:var(--fg);margin:0}h1,h2,h3,h4{text-wrap:balance;font-weight:600;letter-spacing:-.022em;line-height:1.15}h1{font-size:clamp(2.25rem,1.3rem + 3.6vw,3.75rem);letter-spacing:-.035em}h2{font-size:clamp(1.75rem,1.2rem + 1.9vw,2.5rem);letter-spacing:-.03em}h3{font-size:1.1875rem}h4{font-size:1rem}p{margin:0 0 1.15em}p:last-child{margin-bottom:0}ul{list-style:none;margin:0;padding:0}a{color:#6e8bff;color:var(--accent);text-decoration:none;transition:color .22s cubic-bezier(.22,.61,.36,1);transition:color var(--dur) var(--ease)}a:hover{color:#8ca1ff;color:var(--accent-bright)}canvas,img,svg{display:block;max-width:100%}button{background:none;border:0;color:inherit;cursor:pointer;font:inherit}b,strong{color:#e8e9eb;color:var(--fg);font-weight:600}em,i{font-style:normal}blockquote{margin:0}:focus-visible{border-radius:6px;border-radius:var(--r-sm);outline:2px solid #6e8bff;outline:2px solid var(--accent);outline-offset:3px}::selection{background:rgba(110,139,255,.35);background:var(--accent-ring);color:#fff}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0b0c0e;background:var(--bg)}::-webkit-scrollbar-thumb{background:#23272e;border:2px solid #0b0c0e;border:2px solid var(--bg);border-radius:999px;border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:#33383f}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.container{margin-inline:auto;max-width:1120px;max-width:var(--container);padding-inline:clamp(20px,5vw,40px);padding-inline:var(--gutter);width:100%}.container--narrow{max-width:760px;max-width:var(--container-narrow)}.section{padding-block:clamp(64px,9vw,112px);padding-block:var(--section-y)}.section+.section{padding-top:0}.section__head{margin-bottom:clamp(32px,5vw,52px);max-width:62ch}.rule{background:#1e2126;background:var(--border);border:0;height:1px;margin:0}.eyebrow{align-items:center;color:#6e8bff;color:var(--accent);display:flex;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.75rem;font-weight:500;gap:10px;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.eyebrow:before{background:currentColor;content:"";flex:none;height:1px;width:18px}.lede{font-size:clamp(1rem,.96rem + .2vw,1.125rem);line-height:1.7;margin:18px 0 0}.lede,.prose{color:#9aa0a8;color:var(--fg-muted)}.prose{font-size:1.0625rem;line-height:1.75}.prose strong{color:#e8e9eb;color:var(--fg);font-weight:500}.mono{color:#6b7179;color:var(--fg-subtle);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.02em}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.btn{align-items:center;border:1px solid transparent;border-radius:10px;border-radius:var(--r-md);cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:500;gap:9px;justify-content:center;letter-spacing:-.01em;padding:11px 20px;transition:background-color .22s cubic-bezier(.22,.61,.36,1),border-color .22s cubic-bezier(.22,.61,.36,1),color .22s cubic-bezier(.22,.61,.36,1),-webkit-transform .22s cubic-bezier(.22,.61,.36,1);transition:background-color .22s cubic-bezier(.22,.61,.36,1),border-color .22s cubic-bezier(.22,.61,.36,1),color .22s cubic-bezier(.22,.61,.36,1),transform .22s cubic-bezier(.22,.61,.36,1);transition:background-color .22s cubic-bezier(.22,.61,.36,1),border-color .22s cubic-bezier(.22,.61,.36,1),color .22s cubic-bezier(.22,.61,.36,1),transform .22s cubic-bezier(.22,.61,.36,1),-webkit-transform .22s cubic-bezier(.22,.61,.36,1);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),-webkit-transform var(--dur) var(--ease);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease),-webkit-transform var(--dur) var(--ease);white-space:nowrap}.btn svg{flex:none;font-size:1.05em}.btn:active{-webkit-transform:translateY(1px);transform:translateY(1px)}.btn--primary{background:#6e8bff;background:var(--accent);border-color:#6e8bff;border-color:var(--accent);color:#0a0b14}.btn--primary:hover{background:#8ca1ff;background:var(--accent-bright);border-color:#8ca1ff;border-color:var(--accent-bright);color:#0a0b14}.btn--ghost{background:transparent;border-color:#2d323b;border-color:var(--border-strong);color:#e8e9eb;color:var(--fg)}.btn--ghost:hover{background:#15181d;background:var(--surface-raised);border-color:#3b4149;color:#e8e9eb;color:var(--fg)}.btn--sm{font-size:.875rem;padding:8px 14px}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.link-arrow{align-items:center;color:#e8e9eb;color:var(--fg);display:inline-flex;font-size:.9375rem;font-weight:500;gap:8px}.link-arrow svg{color:#6e8bff;color:var(--accent);transition:-webkit-transform .22s cubic-bezier(.22,.61,.36,1);transition:transform .22s cubic-bezier(.22,.61,.36,1);transition:transform .22s cubic-bezier(.22,.61,.36,1),-webkit-transform .22s cubic-bezier(.22,.61,.36,1);transition:-webkit-transform var(--dur) var(--ease);transition:transform var(--dur) var(--ease);transition:transform var(--dur) var(--ease),-webkit-transform var(--dur) var(--ease)}.link-arrow:hover{color:#e8e9eb;color:var(--fg)}.link-arrow:hover svg{-webkit-transform:translateX(4px);transform:translateX(4px)}.card{background:#111317;background:var(--surface);border:1px solid #1e2126;border:1px solid var(--border);border-radius:14px;border-radius:var(--r-lg);display:flex;flex-direction:column;position:relative;transition:border-color .22s cubic-bezier(.22,.61,.36,1),background-color .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s cubic-bezier(.22,.61,.36,1),-webkit-transform .22s cubic-bezier(.22,.61,.36,1);transition:border-color .22s cubic-bezier(.22,.61,.36,1),background-color .22s cubic-bezier(.22,.61,.36,1),transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s cubic-bezier(.22,.61,.36,1);transition:border-color .22s cubic-bezier(.22,.61,.36,1),background-color .22s cubic-bezier(.22,.61,.36,1),transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s cubic-bezier(.22,.61,.36,1),-webkit-transform .22s cubic-bezier(.22,.61,.36,1);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),-webkit-transform var(--dur) var(--ease);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),-webkit-transform var(--dur) var(--ease)}.card--interactive:hover{background:#15181d;background:var(--surface-raised);border-color:#2d323b;border-color:var(--border-strong);box-shadow:0 10px 30px -12px rgba(0,0,0,.7);box-shadow:var(--shadow-md);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.chip{align-items:center;background:#111317;background:var(--surface);border:1px solid #1e2126;border:1px solid var(--border);border-radius:999px;border-radius:var(--r-full);color:#9aa0a8;color:var(--fg-muted);display:inline-flex;font-size:.8125rem;font-weight:500;gap:8px;letter-spacing:-.005em;padding:7px 13px;transition:border-color .22s cubic-bezier(.22,.61,.36,1),color .22s cubic-bezier(.22,.61,.36,1);transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.chip svg{color:#6b7179;color:var(--fg-subtle);flex:none;font-size:1.05rem;transition:color .22s cubic-bezier(.22,.61,.36,1);transition:color var(--dur) var(--ease)}.chip:hover{border-color:#2d323b;border-color:var(--border-strong);color:#e8e9eb;color:var(--fg)}.chip:hover svg{color:#6e8bff;color:var(--accent)}.chip-list{display:flex;flex-wrap:wrap;gap:10px}.app{display:flex;flex-direction:column;min-height:100vh}.app__main{flex:1 0 auto;padding-top:var(--nav-h)}.page{padding-block:clamp(48px,7vw,88px) var(--section-y)}.page__head{margin-bottom:clamp(36px,6vw,64px);max-width:60ch}.nav{border-bottom:1px solid transparent;height:var(--nav-h);inset:0 0 auto;position:fixed;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease);z-index:100}.nav--open,.nav--scrolled{backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);background:rgba(11,12,14,.76);border-bottom-color:var(--border)}.nav__inner{align-items:center;display:flex;gap:24px;height:var(--nav-h);justify-content:space-between}.nav__brand{align-items:center;display:inline-flex;font-size:.9375rem;font-weight:600;gap:11px;letter-spacing:-.015em}.nav__brand,.nav__brand:hover{color:var(--fg)}.nav__mark{background:#000;border:1px solid var(--border);border-radius:var(--r-sm);flex:none;height:32px;transition:border-color var(--dur) var(--ease);width:32px}.nav__brand:hover .nav__mark{border-color:var(--border-strong)}.nav__links,.nav__menu{align-items:center;display:flex;margin-left:auto}.nav__links{gap:4px}.nav__link{border-radius:var(--r-md);color:var(--fg-muted);display:block;font-size:.9375rem;font-weight:450;padding:8px 14px;position:relative;transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease)}.nav__link:hover{background:hsla(0,0%,100%,.04);color:var(--fg)}.nav__link.is-active{color:var(--fg)}.nav__link.is-active:after{background:var(--accent);border-radius:var(--r-full);bottom:1px;content:"";height:2px;left:50%;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:16px}.nav__actions{align-items:center;border-left:1px solid var(--border);display:flex;gap:10px;margin-left:6px;padding-left:18px}.nav__icon-btn{align-items:center;border:1px solid var(--border);border-radius:var(--r-md);color:var(--fg-muted);display:inline-flex;font-size:1rem;gap:4px;padding:8px 11px;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}.nav__icon-btn:hover{background:var(--surface-raised);border-color:var(--border-strong);color:var(--fg)}.nav__toggle{align-items:center;border:1px solid var(--border);border-radius:var(--r-md);color:var(--fg);display:none;height:40px;justify-content:center;width:40px}.nav__toggle-bars{display:block;height:11px;position:relative;width:17px}.nav__toggle-bars span{background:currentColor;border-radius:2px;height:1.5px;left:0;position:absolute;transition:opacity var(--dur) var(--ease),-webkit-transform var(--dur) var(--ease);transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease);transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease),-webkit-transform var(--dur) var(--ease);width:100%}.nav__toggle-bars span:first-child{top:0}.nav__toggle-bars span:nth-child(2){margin-top:-.75px;top:50%}.nav__toggle-bars span:nth-child(3){bottom:0}.nav--open .nav__toggle-bars span:first-child{margin-top:-.75px;top:50%;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.nav--open .nav__toggle-bars span:nth-child(2){opacity:0}.nav--open .nav__toggle-bars span:nth-child(3){bottom:auto;margin-top:-.75px;top:50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}@media (max-width:767px){.nav__toggle{display:inline-flex}.nav__menu{background:var(--bg);border-bottom:1px solid var(--border);display:none;inset:var(--nav-h) 0 auto;padding:12px var(--gutter) 22px;position:absolute}.nav--open .nav__menu{display:block}.nav__links{align-items:stretch;flex-direction:column;gap:2px;margin:0}.nav__link{font-size:1rem;padding:13px 12px}.nav__link.is-active:after{bottom:auto;height:16px;left:12px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:2px}.nav__actions{border-left:0;border-top:1px solid var(--border);margin:12px 0 0;padding:16px 12px 0}}.hero{overflow:hidden;padding-block:clamp(56px,8vw,104px) clamp(48px,6vw,80px);position:relative}.hero:before{background:radial-gradient(50% 50% at 50% 50%,rgba(110,139,255,.14) 0,rgba(110,139,255,0) 70%);content:"";height:680px;left:50%;pointer-events:none;position:absolute;top:-340px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:1100px}.hero__inner{grid-gap:clamp(32px,6vw,72px);align-items:center;display:grid;gap:clamp(32px,6vw,72px);grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);position:relative}.hero__greeting{align-items:center;color:var(--fg-subtle);display:flex;font-family:var(--font-mono);font-size:.8125rem;gap:10px;letter-spacing:.1em;margin:0 0 18px;text-transform:uppercase}.hero__wave{-webkit-animation:wave 2.4s ease-in-out infinite;animation:wave 2.4s ease-in-out infinite;display:inline-block;font-size:1.1rem;-webkit-transform-origin:70% 70%;transform-origin:70% 70%}@-webkit-keyframes wave{0%,60%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}10%{-webkit-transform:rotate(14deg);transform:rotate(14deg)}20%{-webkit-transform:rotate(-8deg);transform:rotate(-8deg)}30%{-webkit-transform:rotate(14deg);transform:rotate(14deg)}40%{-webkit-transform:rotate(-4deg);transform:rotate(-4deg)}50%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes wave{0%,60%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}10%{-webkit-transform:rotate(14deg);transform:rotate(14deg)}20%{-webkit-transform:rotate(-8deg);transform:rotate(-8deg)}30%{-webkit-transform:rotate(14deg);transform:rotate(14deg)}40%{-webkit-transform:rotate(-4deg);transform:rotate(-4deg)}50%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}.hero__title{margin:0}.hero__title-pre{color:var(--fg-subtle);display:block;font-size:.42em;font-weight:500;letter-spacing:.01em;margin-bottom:4px}.hero__roles{margin-top:22px}.hero__role{color:var(--fg-muted);font-family:var(--font-mono);font-size:.8125rem;position:relative}.hero__role:not(:last-child):after{color:var(--border-strong);content:"·";margin:0 10px}.hero__lede{max-width:50ch}.hero__actions{margin-top:32px}.hero__portrait{aspect-ratio:1;justify-self:center;max-width:320px;position:relative;width:100%}.hero__portrait:after{border:1px solid hsla(0,0%,100%,.07);border-radius:var(--r-xl);content:"";inset:-1px;pointer-events:none;position:absolute}.hero__portrait img{background:linear-gradient(170deg,#191c22,#0f1115);border-radius:var(--r-xl);height:100%;object-fit:cover;object-position:50% 12%;width:100%}@media (max-width:860px){.hero__inner{gap:40px;grid-template-columns:1fr}.hero__portrait{grid-row:1;justify-self:start;max-width:180px}}.facts{grid-gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);display:grid;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.facts__item{background:var(--surface);padding:20px 24px}.facts__label{color:var(--fg-subtle);display:block;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.11em;margin-bottom:6px;text-transform:uppercase}.facts__value{color:var(--fg);font-size:.9375rem;font-weight:500}@media (max-width:700px){.facts{grid-template-columns:1fr}}.about__grid{grid-gap:clamp(28px,5vw,56px);align-items:start;display:grid;gap:clamp(28px,5vw,56px);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.about__quote{border-left:2px solid var(--accent);margin-top:32px;padding-left:22px}.about__quote p{color:var(--fg);font-size:1.125rem;font-weight:500;letter-spacing:-.015em}.about__quote footer{letter-spacing:.08em;margin-top:8px}.about__quote footer,.timeline__heading{color:var(--fg-subtle);font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase}.timeline__heading{font-weight:500;letter-spacing:.1em;margin:36px 0 20px}.timeline{list-style:none;padding-left:26px;position:relative}.timeline:before{background:var(--border);bottom:6px;content:"";left:4px;position:absolute;top:6px;width:1px}.timeline__item{padding-bottom:26px;position:relative}.timeline__item:last-child{padding-bottom:0}.timeline__item:before{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r-full);content:"";height:9px;left:-26px;position:absolute;top:7px;width:9px}.timeline__item:first-child:before{background:var(--accent);border-color:var(--accent)}.timeline__period{color:var(--fg-subtle);display:block;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.timeline__title{color:var(--fg);font-size:.9375rem;font-weight:600;letter-spacing:-.01em;margin-bottom:5px}.timeline__details{color:var(--fg-muted);font-size:.9062rem;line-height:1.6;margin:0}.interests{gap:0;padding:26px}.interests__title{color:var(--fg);font-size:1rem;font-weight:600;letter-spacing:-.015em;line-height:1.4;margin-bottom:18px}.interests__list{display:flex;flex-direction:column}.interests__item{align-items:center;border-top:1px solid var(--border);color:var(--fg);display:flex;font-size:.9375rem;font-weight:500;gap:12px;padding:13px 0}.interests__item svg:first-child{color:var(--accent);flex:none;font-size:.8125rem}.interests__link{align-items:center;border:1px solid var(--border);border-radius:var(--r-full);color:var(--fg-muted);display:inline-flex;font-family:var(--font-mono);font-size:.6875rem;gap:6px;letter-spacing:.06em;margin-left:auto;padding:4px 10px 4px 7px;text-transform:uppercase}.interests__link img{height:16px;width:16px}.interests__link:hover{background:var(--surface-raised);border-color:var(--border-strong);color:var(--fg)}@media (max-width:860px){.about__grid{grid-template-columns:1fr}}.skills__group+.skills__group{margin-top:40px}.skills__label{align-items:baseline;color:var(--fg-subtle);display:flex;font-family:var(--font-mono);font-size:.75rem;font-weight:500;gap:14px;letter-spacing:.1em;margin-bottom:20px;text-transform:uppercase}.skills__label:after{background:var(--border);content:"";flex:1 1;height:1px}.skills__row{grid-gap:20px;align-items:start;border-top:1px solid var(--border);display:grid;gap:20px;grid-template-columns:160px minmax(0,1fr);padding:22px 0}.skills__row:last-of-type{border-bottom:1px solid var(--border)}.skills__row-title{color:var(--fg-subtle);font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.1em;margin:0;padding-top:7px;text-transform:uppercase}@media (max-width:640px){.skills__row{gap:12px;grid-template-columns:1fr}.skills__row-title{padding-top:0}}.card-grid{grid-gap:clamp(18px,2.5vw,26px);display:grid;gap:clamp(18px,2.5vw,26px);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card-grid--wide{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}.pcard,.pcard__media{overflow:hidden}.pcard__media{aspect-ratio:16/10;background:var(--bg-tint);border-bottom:1px solid var(--border);position:relative}.pcard__media img{height:100%;object-fit:cover;object-position:top center;opacity:.88;transition:opacity var(--dur) var(--ease),-webkit-transform .4s var(--ease);transition:opacity var(--dur) var(--ease),transform .4s var(--ease);transition:opacity var(--dur) var(--ease),transform .4s var(--ease),-webkit-transform .4s var(--ease);width:100%}.pcard:hover .pcard__media img{opacity:1;-webkit-transform:scale(1.03);transform:scale(1.03)}.pcard__media--logo{background:var(--surface-raised)}.pcard__media--logo img{object-fit:contain;object-position:center;padding:22px}.pcard__body{display:flex;flex:1 1;flex-direction:column;padding:22px}.pcard__kicker{color:var(--fg-subtle);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.11em;margin-bottom:10px;text-transform:uppercase}.pcard__title{font-size:1.0625rem;letter-spacing:-.02em;margin-bottom:10px}.pcard__text{color:var(--fg-muted);flex:1 1;font-size:.9062rem;line-height:1.65;margin:0 0 20px}.pcard__links{border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:10px;padding-top:18px}.pcard__link{align-items:center;color:var(--fg-muted);display:inline-flex;font-size:.8438rem;font-weight:500;gap:7px;transition:color var(--dur) var(--ease)}.pcard__link:not(:last-child):after{background:var(--border-strong);content:"";height:13px;margin-left:10px;width:1px}.pcard__link svg{color:var(--fg-subtle);font-size:.95rem;transition:color var(--dur) var(--ease)}.pcard__link:hover,.pcard__link:hover svg{color:var(--accent)}.section__footer{display:flex;justify-content:center;margin-top:40px}.work__block+.work__block,.writing__block+.writing__block{margin-top:clamp(56px,8vw,88px)}.writing__head{align-items:flex-end;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:32px;padding-bottom:20px}.writing__head h2{font-size:clamp(1.375rem,1.2rem + .7vw,1.625rem)}.tweets{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.tweets__column{min-width:0}.tweets__column iframe{margin:0 0 12px!important}.tweet-skeleton{-webkit-animation:skeleton 1.6s var(--ease) infinite;animation:skeleton 1.6s var(--ease) infinite;background:linear-gradient(100deg,var(--surface) 0,var(--surface-raised) 50%,var(--surface) 100%);background-size:200% 100%;border:1px solid var(--border);border-radius:var(--r-lg);height:220px;margin-bottom:12px}@-webkit-keyframes skeleton{0%{background-position:150% 0}to{background-position:-50% 0}}@keyframes skeleton{0%{background-position:150% 0}to{background-position:-50% 0}}@media (max-width:1000px){.tweets{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.tweets{grid-template-columns:1fr}}.resume__frame{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:auto;padding:clamp(12px,2vw,24px)}.resume__frame,.resume__frame .react-pdf__Document{display:flex;justify-content:center}.resume__frame .react-pdf__Page{background:transparent!important}.resume__frame .react-pdf__Page__canvas{border-radius:var(--r-sm);box-shadow:var(--shadow-lg);height:auto!important;max-width:100%}.resume__fallback{color:var(--fg-subtle);font-size:.9375rem;padding:60px 20px;text-align:center}.resume__actions{margin-top:24px}.resume__actions--end{justify-content:center;margin-top:32px}.contact{background:linear-gradient(160deg,var(--surface) 0,var(--bg-tint) 100%);border:1px solid var(--border);border-radius:var(--r-xl);padding:clamp(32px,5vw,56px)}.contact__grid{grid-gap:clamp(28px,5vw,56px);align-items:center;display:grid;gap:clamp(28px,5vw,56px);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact__actions{margin-top:28px}.socials{display:flex;flex-direction:column;gap:10px}.social{align-items:center;background:hsla(0,0%,100%,.02);border:1px solid var(--border);border-radius:var(--r-md);color:var(--fg);display:flex;gap:14px;padding:14px 18px;transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),-webkit-transform var(--dur) var(--ease);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),transform var(--dur) var(--ease);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),transform var(--dur) var(--ease),-webkit-transform var(--dur) var(--ease)}.social:hover{background:var(--surface-raised);border-color:var(--border-strong);color:var(--fg);-webkit-transform:translateX(3px);transform:translateX(3px)}.social>svg:first-child{color:var(--fg-muted);flex:none;font-size:1.25rem;transition:color var(--dur) var(--ease)}.social:hover>svg:first-child{color:var(--accent)}.social__meta{min-width:0}.social__name{display:block;font-size:.9375rem;font-weight:500;line-height:1.3}.social__handle{color:var(--fg-subtle);display:block;font-family:var(--font-mono);font-size:.75rem}.social__arrow{color:var(--fg-subtle);flex:none;font-size:.875rem;margin-left:auto;transition:color var(--dur) var(--ease),-webkit-transform var(--dur) var(--ease);transition:transform var(--dur) var(--ease),color var(--dur) var(--ease);transition:transform var(--dur) var(--ease),color var(--dur) var(--ease),-webkit-transform var(--dur) var(--ease)}.social:hover .social__arrow{color:var(--accent);-webkit-transform:translate(2px,-2px);transform:translate(2px,-2px)}@media (max-width:860px){.contact__grid{grid-template-columns:1fr}}.footer{background:var(--bg-tint);border-top:1px solid var(--border);padding-block:40px}.footer__inner{flex-wrap:wrap;gap:24px;justify-content:space-between}.footer__brand,.footer__inner{align-items:center;display:flex}.footer__brand{gap:12px}.footer__brand img{background:#000;border:1px solid var(--border);border-radius:var(--r-sm);height:30px;width:30px}.footer__credit{color:var(--fg-muted);font-size:.8125rem;line-height:1.5}.footer__credit span{color:var(--fg-subtle);display:block}.footer__social-list{display:flex;gap:8px}.footer__social{align-items:center;border:1px solid var(--border);border-radius:var(--r-md);color:var(--fg-muted);display:inline-flex;font-size:1.0625rem;height:38px;justify-content:center;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background-color var(--dur) var(--ease);width:38px}.footer__social:hover{background:var(--surface);border-color:var(--border-strong);color:var(--fg)}@media (max-width:560px){.footer__inner{justify-content:flex-start}}
/*# sourceMappingURL=main.410eb093.css.map*/