:root{--bg:#08080b;--fg:#f5f3f8;--muted:#92909c;--vio:#a578ff;--line:#ffffff14}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}#dataCanvas{position:fixed;inset:0;z-index:-3}.grain{position:fixed;inset:0;pointer-events:none;opacity:.06;z-index:20;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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}#progress{position:fixed;top:0;left:0;height:2px;background:var(--vio);z-index:99;width:0}header{position:fixed;top:0;left:0;width:100%;height:78px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;z-index:30;background:linear-gradient(#08080be8,transparent);backdrop-filter:blur(7px)}.brand{font-size:23px;font-weight:800}.brand span,.code,em{color:var(--vio);font-style:normal}nav{display:flex;gap:28px;color:#bbb;font-size:14px}nav a:hover{color:#fff}.resume,.ghost,.primary{border:1px solid #ffffff35;border-radius:999px;padding:13px 22px}.resume{border-color:#a578ff88}.hero{height:390vh}.pin{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;grid-template-columns:1.05fr .9fr 1fr;align-items:center;padding:80px 4vw 30px}.hero-left{z-index:3}.eyebrow,.code{font-family:ui-monospace,monospace;letter-spacing:.16em;font-size:12px}.eyebrow i{display:inline-block;width:32px;height:2px;background:var(--vio);box-shadow:0 0 16px var(--vio);vertical-align:middle;margin-right:14px}.roles{height:245px;position:relative}.role{position:absolute;left:0;top:0;margin:16px 0 0;font-size:clamp(54px,6vw,100px);line-height:.84;letter-spacing:-.065em;opacity:0;transform:translateY(35px) scale(.98);filter:blur(8px);transition:.7s}.role b{color:#b69aff;text-shadow:0 0 35px #8d5cff33}.role.active{opacity:1;transform:none;filter:none}.role-list{border-left:1px solid var(--vio);padding-left:16px;display:flex;flex-direction:column;gap:8px;color:#85818d;font:12px ui-monospace;letter-spacing:.13em}.portrait-wrap{height:84vh;position:relative;align-self:end;display:flex;align-items:flex-end;justify-content:center}.portrait-wrap img{height:83%;max-width:110%;object-fit:cover;object-position:center top;mask-image:linear-gradient(#000 0 78%,transparent 100%);filter:saturate(.72) contrast(1.07);z-index:2;transition:.25s}.halo{position:absolute;width:85%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#9a68ff36 0,transparent 65%);filter:blur(22px);bottom:12%}.scan{position:absolute;inset:15% 0 5%;background:linear-gradient(transparent 48%,#a578ff22 50%,transparent 52%);background-size:100% 9px;opacity:.2;z-index:4;mix-blend-mode:screen}.hero-right{z-index:3;padding-left:2vw}.lead{font-size:clamp(19px,2vw,29px);line-height:1.35;max-width:530px}.metric{display:flex;align-items:center;gap:16px;margin:25px 0}.metric strong{font-size:36px}.metric span{font:12px ui-monospace;letter-spacing:.15em;color:#aaa}.actions{display:flex;gap:15px}.primary{background:#f6f2ff;color:#111;box-shadow:0 0 35px #a578ff45}.scroll{position:absolute;bottom:35px;left:4vw;font:11px ui-monospace;letter-spacing:.15em;color:#aaa}.cloudrail{position:absolute;right:2vw;top:16%;display:flex;flex-direction:column;gap:14px;color:#5d5a64;font:10px ui-monospace;letter-spacing:.16em}.section{max-width:1440px;margin:auto;padding:150px 6vw;position:relative}.section h2{font-size:clamp(54px,7.5vw,122px);line-height:.88;letter-spacing:-.06em;margin:18px 0 60px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-grid>p{font-size:25px;line-height:1.5;color:#c5c2ca}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats div,.project{border:1px solid var(--line);border-radius:24px;background:#ffffff06;padding:28px}.stats b{font-size:44px;display:block}.stats span{font:10px ui-monospace;color:#999}.timeline{border-top:1px solid var(--line)}.job{display:grid;grid-template-columns:70px 1fr 1.2fr;gap:25px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start}.job>span{color:var(--vio);font:12px ui-monospace}.job h3{font-size:28px;margin:0 0 8px}.job p{color:#aaa;line-height:1.55;margin:0}.jobbody small{display:block;margin-top:14px;color:#8d7ba7;letter-spacing:.08em}.center{text-align:center}.sub{color:#8f8c96}.orbit{height:300px;display:grid;place-items:center;position:relative}.orb-core{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 30% 25%,#a578ff55,#121019 65%);border:1px solid #a578ff55;box-shadow:0 0 70px #8c5dff22;font:12px ui-monospace;letter-spacing:.13em}.orb-core b{font-size:17px}.rings{position:absolute;width:280px;height:280px;border:1px solid #a578ff2c;border-radius:50%;animation:spin 15s linear infinite}.rings:after{content:'';position:absolute;width:9px;height:9px;background:var(--vio);border-radius:50%;top:40px;left:35px;box-shadow:0 0 15px var(--vio)}@keyframes spin{to{transform:rotate(360deg)}}.pills{display:flex;flex-wrap:wrap;gap:11px;justify-content:center}.pills span{padding:12px 18px;border:1px solid var(--line);border-radius:999px;background:#ffffff05;color:#bbb;transition:.25s}.pills span:hover{color:#fff;border-color:#a578ff77;transform:translateY(-3px);box-shadow:0 8px 30px #8c5dff20}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{min-height:320px;position:relative;overflow:hidden}.project:after{content:'';position:absolute;width:180px;height:180px;border-radius:50%;background:#895cff16;right:-50px;bottom:-60px;filter:blur(10px)}.project h3{font-size:30px}.project p{color:#aaa;line-height:1.6}.projnum{font:11px ui-monospace;color:var(--vio)}.flow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:40px}.flow i{font:11px ui-monospace;border:1px solid var(--line);padding:8px 10px;border-radius:999px;color:#aaa}.flow b{color:var(--vio)}.arch{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;padding:55px 25px;border:1px solid var(--line);border-radius:30px;background:#ffffff04;overflow:hidden}.arch div{text-align:center;padding:18px;border:1px solid var(--line);border-radius:16px;min-width:125px;color:#bbb;line-height:1.6}.arch>b{color:var(--vio)}.pulse{position:absolute;width:12px;height:12px;border-radius:50%;background:#b68cff;box-shadow:0 0 22px #a578ff;left:6%;top:50%;animation:pulse 6s linear infinite}@keyframes pulse{to{left:94%}}.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;border:1px solid var(--line);border-radius:34px;background:#ffffff04;margin-bottom:80px;padding:70px}.contact h2{font-size:clamp(45px,5vw,80px);margin-bottom:25px}.contact-left>p{color:#aaa}.contact pre{margin-top:45px;padding:25px;border:1px solid var(--line);border-radius:20px;background:#060609;color:#bba8db;white-space:pre-wrap}form{display:flex;flex-direction:column;gap:20px}label{font:11px ui-monospace;color:#aaa;letter-spacing:.1em}input,textarea{display:block;width:100%;margin-top:8px;padding:15px;background:#09090d;border:1px solid var(--line);border-radius:12px;color:#fff;outline:none}input:focus,textarea:focus{border-color:#a578ff77}button{padding:15px;border:0;border-radius:999px;background:#f4efff;font-weight:700;cursor:pointer}#formStatus{font-size:13px;color:#aaa}footer{padding:35px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#888;font-size:12px}.reveal{opacity:0;transform:translateY(50px);filter:blur(6px);transition:1s}.reveal.on{opacity:1;transform:none;filter:none}@media(max-width:900px){nav{display:none}.pin{grid-template-columns:1fr;padding-top:90px}.hero{height:320vh}.hero-left{align-self:start}.roles{height:180px}.role{font-size:54px}.portrait-wrap{position:absolute;height:55vh;right:-8%;bottom:0;opacity:.58}.hero-right{position:absolute;bottom:90px;left:4vw;right:4vw;padding:0}.lead{font-size:17px;max-width:70%}.metric{display:none}.cloudrail{display:none}.section{padding:100px 6vw}.about-grid,.contact{grid-template-columns:1fr}.stats,.projects{grid-template-columns:1fr}.job{grid-template-columns:40px 1fr}.jobbody{grid-column:2}.arch{overflow-x:auto;justify-content:flex-start}.contact{margin:20px;padding:35px 25px}footer{flex-direction:column;gap:10px}.actions{gap:8px}.primary,.ghost{padding:11px 15px;font-size:13px}}
