:root{--bg:#07111f;--surface:#0c192a;--surface2:#112238;--text:#eff7ff;--muted:#9bb0c7;--line:#20344c;--accent:#5eead4;--accent2:#60a5fa;--shadow:0 24px 80px rgba(0,0,0,.28)}
html[data-theme="light"]{--bg:#f4f8fc;--surface:#fff;--surface2:#edf4fa;--text:#0c1b2d;--muted:#52657a;--line:#d4e0ec;--accent:#087f74;--accent2:#2563eb;--shadow:0 20px 60px rgba(14,34,57,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;left:16px;top:-100px;background:var(--text);color:var(--bg);padding:10px 14px;z-index:100}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid transparent}.site-header.scrolled{border-color:var(--line)}.nav{height:76px;display:flex;align-items:center;gap:28px}.brand{font-size:1.35rem;font-weight:900;letter-spacing:-.05em}.brand span{color:var(--accent)}.nav-links{display:flex;gap:26px;margin-left:auto}.nav-links a{font-size:.88rem;color:var(--muted);font-weight:700}.nav-links a:hover{color:var(--text)}.theme-toggle,.nav-toggle{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;width:42px;height:42px;cursor:pointer}.nav-toggle{display:none}.hero{min-height:720px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px;position:relative;padding:90px 0 70px}.hero-grid{position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 85%)}.hero-copy,.terminal-card{position:relative}.eyebrow,.section-title p,.project-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--accent)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 18%,transparent);margin-right:10px}.hero h1{font-size:clamp(3.1rem,6.8vw,6.3rem);line-height:.94;letter-spacing:-.065em;margin:24px 0}.hero h1 span{display:block;color:transparent;-webkit-text-stroke:1px var(--muted)}.lede{font-size:1.17rem;color:var(--muted);max-width:700px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:34px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 20px;border:1px solid var(--line);border-radius:10px;font-weight:800;font-size:.88rem}.btn.primary{background:var(--accent);border-color:var(--accent);color:#06201d}.btn.secondary{background:var(--surface)}.btn:hover{transform:translateY(-2px)}.social-row{display:flex;flex-wrap:wrap;gap:22px;color:var(--muted);font-size:.88rem}.social-row a:hover{color:var(--accent)}.terminal-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;transform:rotate(1.5deg)}.terminal-head{height:48px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:7px;padding:0 16px}.terminal-head span{width:9px;height:9px;border-radius:50%;background:var(--line)}.terminal-head small{margin-left:auto;color:var(--muted)}.terminal-card pre{margin:0;padding:34px;white-space:pre-wrap;color:var(--muted);font-size:.9rem}.terminal-card b{color:var(--accent2)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-bottom:80px}.metrics article{padding:25px 28px;border-right:1px solid var(--line)}.metrics article:last-child{border:0}.metrics strong{display:block;font-size:2rem;letter-spacing:-.05em}.metrics span{color:var(--muted);font-size:.82rem}.section{padding:110px 0}.section-title{display:grid;grid-template-columns:220px 1fr;gap:40px;margin-bottom:62px}.section-title p{margin:8px 0}.section-title h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1.05;letter-spacing:-.045em;margin:0;max-width:830px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.large-copy{font-size:1.35rem;color:var(--muted);margin:0}.capability-list{display:grid;gap:12px}.capability-list div{display:flex;gap:16px;padding:18px;border-bottom:1px solid var(--line)}.capability-list i{color:var(--accent);margin-top:5px}.capability-list b{display:block;margin-bottom:3px}.capability-list span{color:var(--muted)}.projects-section,.experience-section{background:var(--surface)}.case-study{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:42px;box-shadow:var(--shadow)}.case-top{display:flex;justify-content:space-between;gap:20px}.case-top h3{font-size:2.5rem;letter-spacing:-.045em;margin:10px 0}.text-link{color:var(--accent);font-weight:800}.case-intro{font-size:1.2rem;color:var(--muted);max-width:900px}.case-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:35px 0}.case-columns div{border-top:1px solid var(--line);padding-top:20px}.case-columns small{color:var(--accent2);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.case-columns p{color:var(--muted)}.tech-tags{display:flex;flex-wrap:wrap;gap:9px}.tech-tags span{border:1px solid var(--line);background:var(--surface);padding:7px 11px;border-radius:99px;font-size:.76rem;color:var(--muted)}.repo-heading{display:flex;align-items:end;justify-content:space-between;margin:80px 0 24px}.repo-heading h3{font-size:1.7rem;margin:0}.repo-heading p,.repo-heading span{color:var(--muted);margin:5px 0}.repo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.repo-card{min-height:245px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:25px;display:flex;flex-direction:column}.repo-card:hover{border-color:var(--accent);transform:translateY(-3px)}.repo-card .repo-icon{color:var(--accent);font-size:1.3rem}.repo-card h4{font-size:1.2rem;margin:16px 0 8px}.repo-card p{color:var(--muted);font-size:.88rem}.repo-meta{display:flex;gap:15px;margin-top:auto;color:var(--muted);font-size:.77rem}.skeleton{background:linear-gradient(90deg,var(--bg),var(--surface2),var(--bg));background-size:200% 100%;animation:shimmer 1.4s infinite}.center-action{text-align:center;margin-top:32px}.pipeline{display:flex;align-items:center;gap:12px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow-x:auto}.node{min-width:165px;flex:1;text-align:center;padding:25px 12px;background:var(--bg);border:1px solid var(--line);border-radius:12px}.node i{display:block;color:var(--accent);font-size:1.5rem;margin-bottom:12px}.node b,.node span{display:block}.node span{color:var(--muted);font-size:.77rem}.flow{color:var(--accent2);animation:pulse 1.8s infinite}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.principles article{padding:28px;border:1px solid var(--line);border-radius:14px}.principles span{color:var(--accent);font-weight:900}.principles h3{margin:12px 0}.principles p{color:var(--muted)}.timeline article{display:grid;grid-template-columns:200px 30px 1fr;gap:20px;padding-bottom:60px}.date{font-weight:800;color:var(--muted)}.line{position:relative;border-left:1px solid var(--line)}.line span{position:absolute;left:-6px;top:7px;width:11px;height:11px;background:var(--accent);border-radius:50%}.role small{color:var(--accent2);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.role h3{font-size:1.7rem;margin:8px 0}.role p,.role li{color:var(--muted)}.skills-board{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.skills-board article{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.skills-board h3{margin-top:0}.skills-board p{color:var(--muted)}.contact-section{padding:60px 0 100px}.contact-box{background:var(--accent);color:#05201c;border-radius:20px;padding:55px;display:grid;grid-template-columns:1.2fr .8fr;gap:50px}.contact-box .eyebrow{color:#124e48}.contact-box h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1;margin:15px 0}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.btn.light{background:#07111f;color:#fff;border:0}.contact-links>a:not(.btn){font-weight:800}footer{display:flex;justify-content:space-between;padding:28px 0 45px;color:var(--muted);font-size:.8rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}@keyframes shimmer{to{background-position:-200% 0}}@keyframes pulse{50%{opacity:.35;transform:translateX(3px)}}
@media(max-width:900px){.nav-links{position:fixed;inset:76px 20px auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;display:none;flex-direction:column}.nav-links.open{display:flex}.nav-toggle{display:block;margin-left:auto}.hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.terminal-card{max-width:620px}.metrics{grid-template-columns:1fr 1fr}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-title,.about-grid,.contact-box{grid-template-columns:1fr;gap:28px}.case-columns,.repo-grid,.principles,.skills-board{grid-template-columns:1fr 1fr}.pipeline{align-items:stretch}.timeline article{grid-template-columns:150px 20px 1fr}}
@media(max-width:620px){.shell{width:min(100% - 26px,1180px)}.hero h1{font-size:3.45rem}.metrics,.case-columns,.repo-grid,.principles,.skills-board{grid-template-columns:1fr}.metrics article{border-right:0;border-bottom:1px solid var(--line)!important}.metrics article:last-child{border:0!important}.section{padding:78px 0}.case-study{padding:25px}.case-top,.repo-heading,footer{align-items:flex-start;flex-direction:column}.pipeline{flex-direction:column}.flow{transform:rotate(90deg)}.timeline article{grid-template-columns:1fr}.line{display:none}.contact-box{padding:30px}.social-row{gap:14px}.theme-toggle{margin-left:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
