@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&display=swap";:root{color:#f7f7f2;font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;--bg:#050505;--ink:#f7f7f2;--muted:#aaa8a0;--line:#ffffff21;--soft:#ffffff12;--softer:#ffffff0b;background:#050505;font-family:Geist,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 20% 0%, #ffffff1c, transparent 26rem), linear-gradient(135deg, #ffffff0f 0 1px, transparent 1px 70px), var(--bg);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}body:before{z-index:-2;pointer-events:none;content:"";background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:54px 54px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}a{color:inherit;text-decoration:none}button{font:inherit}.scroll-progress{z-index:80;background:var(--ink);transform-origin:0;width:100%;height:3px;position:fixed;top:0;left:0}.cursor-glow{z-index:-1;pointer-events:none;filter:blur(8px);background:radial-gradient(circle,#ffffff21,#0000 66%);border-radius:50%;width:34rem;height:34rem;margin:-17rem 0 0 -17rem;position:fixed}.site-header{z-index:60;border:1px solid var(--line);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#050505b8;border-radius:999px;justify-content:space-between;align-items:center;width:min(1120px,100% - 32px);padding:10px;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 70px #00000059}.wordmark,.menu-button,.icon-link{border:1px solid var(--line);background:var(--soft);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.wordmark{font-size:.83rem;font-weight:800}.nav{gap:6px;display:flex}.nav a{color:var(--muted);border-radius:999px;padding:11px 16px;font-size:.9rem;transition:all .22s}.nav a:hover{color:var(--ink);background:var(--soft)}.menu-button{color:var(--ink);display:none}.hero{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:center;gap:48px;width:min(1180px,100% - 40px);min-height:100svh;margin:0 auto;padding:140px 0 88px;display:grid}.eyebrow,.section-kicker{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:inline-flex}.hero h1{letter-spacing:0;max-width:790px;margin:18px 0 0;font-size:clamp(4rem,10vw,9.6rem);line-height:.86}.hero h1 span{color:#0000;-webkit-text-stroke:1.5px #ffffffb8;display:block}.hero-summary{color:#d6d4ca;max-width:650px;margin:28px 0 0;font-size:clamp(1.05rem,2vw,1.38rem);line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:34px;display:flex}.primary-cta{background:var(--ink);color:#080808;border:1px solid #f2f2eb;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-weight:800;transition:all .24s;display:inline-flex;box-shadow:0 18px 58px #ffffff24}.primary-cta:hover{transform:translateY(-2px);box-shadow:0 26px 70px #fff3}.icon-link{transition:all .22s}.icon-link:hover{background:var(--ink);color:#050505}.hero-panel{perspective:1200px;min-height:600px;position:relative}.panel-orbit{border:1px solid var(--line);border-radius:50%;animation:16s linear infinite orbit;position:absolute;inset:34px}.panel-orbit:before,.panel-orbit:after{content:"";background:var(--ink);border-radius:50%;width:14px;height:14px;position:absolute}.panel-orbit:before{top:54px;left:28px}.panel-orbit:after{background:#777;bottom:38px;right:46px}.terminal-card{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:linear-gradient(145deg,#ffffff26,#ffffff0b);border:1px solid #ffffff38;border-radius:8px;width:min(430px,100%);min-height:430px;padding:18px;position:absolute;inset:86px 0 0 auto;box-shadow:inset 0 1px #fff3,0 34px 110px #00000070}.terminal-top{gap:8px;padding-bottom:5px;display:flex}.terminal-top span{border:1px solid #ffffff8c;border-radius:50%;width:9px;height:9px}.terminal-line{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace}.terminal-title{max-width:330px;margin:14px 0 42px;font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:.97}.terminal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.terminal-grid div,.project-card,.skill-card,.education-card,.proof-card,.timeline-card{border:1px solid var(--line);background:var(--softer);border-radius:8px}.terminal-grid div{min-height:112px;padding:18px}.terminal-grid strong{font-size:2rem;line-height:1;display:block}.terminal-grid span{color:var(--muted);margin-top:12px;font-size:.88rem;line-height:1.4;display:block}.ticker{border-block:1px solid var(--line);color:#050505;background:#f7f7f2;width:100%;overflow:hidden}.ticker div{width:max-content;display:flex}.ticker span{text-transform:uppercase;white-space:nowrap;align-items:center;min-height:58px;padding:0 26px;font-size:.94rem;font-weight:800;display:inline-flex}.section{width:min(1180px,100% - 40px);margin:0 auto;padding:124px 0}.two-column,.proof-section{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:46px;display:grid}.section h2{max-width:880px;margin:12px 0 0;font-size:clamp(2.3rem,5vw,5rem);line-height:.98}.section-heading{margin-bottom:34px}.timeline-card{padding:26px}.timeline-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:24px;display:flex}.timeline-head h3,.project-card h3,.skill-card h3{margin:0;font-size:1.35rem}.timeline-head p,.timeline-head span{color:var(--muted);margin:8px 0 0}.timeline-head span{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.timeline-list{margin-top:12px;display:grid}.timeline-item{border-bottom:1px solid #ffffff14;grid-template-columns:44px 1fr;gap:16px;padding:18px 0;display:grid}.timeline-item:last-child{border-bottom:0}.timeline-item span{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace}.timeline-item p{color:#dedbd1;margin:0;line-height:1.6}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.project-card{min-height:470px;padding:26px;transition:all .32s;position:relative;overflow:hidden}.project-image{object-fit:cover;border:1px solid var(--line);filter:saturate(.85);border-radius:6px;width:100%;height:190px;margin-bottom:24px;transition:all .32s;display:block}.project-card:hover .project-image{filter:saturate();transform:scale(1.015)}.project-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff21,#0000 62%);height:65%;transition:all .32s;position:absolute;inset:auto -20% -46%}.project-card>*{z-index:1;position:relative}.project-card:hover{background:#ffffff13;border-color:#ffffff57;transform:translateY(-8px)}.project-card:hover:before{transform:translateY(-28px)scale(1.12)}.project-meta{flex-wrap:wrap;gap:10px;margin-bottom:62px;display:flex}.project-meta span,.skill-card span{border:1px solid var(--line);color:#e9e7de;background:#ffffff0b;border-radius:999px;align-items:center;min-height:34px;padding:0 12px;font-size:.84rem;display:inline-flex}.project-card h3{font-size:clamp(2.5rem,5vw,4.4rem);line-height:.92}.project-impact{color:#dfddd3;max-width:560px;font-size:1.08rem;line-height:1.6}.stack{color:var(--muted);line-height:1.5}.project-card ul{gap:12px;margin:28px 0 0;padding:0;list-style:none;display:grid}.project-card li{color:#e9e7de;align-items:flex-start;gap:10px;line-height:1.45;display:flex}.project-card li svg{flex:none;margin-top:2px}.project-links{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.project-links a{border:1px solid var(--line);color:#e9e7de;background:#ffffff0b;border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:.84rem;transition:all .22s;display:inline-flex}.project-links a:hover{background:var(--ink);color:#050505;border-color:#ffffff57}.skills-section{padding-top:64px}.skill-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.skill-card{min-height:270px;padding:22px}.skill-card svg{margin-bottom:48px}.skill-card div{flex-wrap:wrap;gap:8px;margin-top:26px;display:flex}.education-card,.proof-card{padding:28px}.education-card svg,.proof-card svg{margin-bottom:42px}.education-card p:last-child{color:var(--muted);font-size:1.06rem;line-height:1.6}.proof-card{align-content:start;display:grid}.proof-row{color:#e7e5dc;border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:18px 0;display:flex}.proof-row:last-child{border-bottom:0}.proof-row svg{flex:none;margin:0}.footer{border:1px solid var(--line);color:#050505;background:#f7f7f2;border-radius:8px;justify-content:space-between;align-items:flex-end;gap:28px;width:min(1180px,100% - 40px);margin:0 auto 28px;padding:42px;display:flex}.footer .section-kicker{color:#555}.footer h2{max-width:720px;margin:10px 0 0;font-size:clamp(2rem,4vw,4.3rem);line-height:.98}.footer .primary-cta{color:#f7f7f2;background:#050505;border-color:#050505;flex:none}@keyframes orbit{to{transform:rotate(360deg)}}@media (width<=900px){.nav{border:1px solid var(--line);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#050505eb;border-radius:8px;min-width:210px;padding:10px;display:none;position:absolute;top:calc(100% + 10px);right:0}.nav.open,.menu-button{display:grid}.hero,.two-column,.proof-section{grid-template-columns:1fr}.hero{padding-top:124px}.hero-panel{height:max-content;min-height:0}.terminal-card{width:100%;height:max-content;min-height:0;margin:50px 0 0;position:relative;inset:auto}.project-grid,.skill-grid{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start}}@media (width<=560px){.hero,.section,.footer{width:min(100% - 24px,1180px)}.hero h1{font-size:clamp(3.2rem,18vw,5.2rem)}.hero-panel{height:max-content;min-height:0}.terminal-card{height:max-content;min-height:0;margin-top:30px}.terminal-grid{grid-template-columns:1fr}.timeline-head{display:grid}.project-card{min-height:auto}.project-meta{margin-bottom:38px}.footer{padding:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.cursor-glow{display:none}}
