@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#080b16;--bg2:#0d1120;--ink:#f1f1ed;--muted:#a5a9b5;--line:rgba(241,241,237,.14);--lime:#d6ff63;--violet:#a78bfa;--card:rgba(255,255,255,.045);--max:1240px;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}body.light{--bg:#f5f5f1;--bg2:#fff;--ink:#101116;--muted:#656875;--line:rgba(16,17,22,.14);--card:rgba(16,17,22,.045);color-scheme:light}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:20;background:var(--lime);color:#111;padding:.7rem 1rem}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:auto;padding:0 28px;position:relative;z-index:4}.mark{font-weight:800;font-size:1.35rem;letter-spacing:-.08em}.mark span{color:var(--lime)}.nav{display:flex;gap:26px;color:var(--muted);font-size:.78rem}.nav a:hover{color:var(--ink)}.header-actions{display:flex;align-items:center;gap:15px}.theme-toggle{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent}.header-cta,.button{border-radius:999px;padding:11px 17px;font-size:.78rem;font-weight:700}.header-cta{background:var(--ink);color:var(--bg)}.section,.contact,.band{max-width:var(--max);margin:auto;padding-left:28px;padding-right:28px}.section{padding-top:150px}.hero{min-height:calc(100vh - 88px);max-width:var(--max);margin:auto;padding:108px 28px 45px;position:relative;display:grid;grid-template-columns:1.35fr .65fr;align-items:center;isolation:isolate}.aurora{position:absolute;border-radius:50%;filter:blur(55px);opacity:.34;z-index:-1;animation:drift 11s ease-in-out infinite}.aurora-one{width:36vw;height:36vw;background:#553bcc;top:2%;left:8%}.aurora-two{width:24vw;height:24vw;background:#9ace59;right:9%;bottom:15%;animation-delay:-6s}.eyebrow{font:500 .67rem 'DM Mono',monospace;letter-spacing:.12em;color:var(--muted);margin:0 0 23px}.status-dot{width:7px;height:7px;background:var(--lime);display:inline-block;border-radius:50%;margin-right:9px;box-shadow:0 0 14px var(--lime)}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.07em;line-height:.98}h1{font-size:clamp(3.5rem,7.1vw,7.25rem);max-width:800px}h2{font-size:clamp(2.8rem,5.1vw,5.7rem)}em{font-style:normal;color:var(--lime)}.hero-intro{color:var(--muted);font-size:1.05rem;line-height:1.7;max-width:565px;margin:32px 0}.hero-actions{display:flex;align-items:center;gap:25px}.button{display:inline-block;background:var(--lime);color:#17200a;padding:14px 20px}.text-link{font-size:.8rem;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:5px}.signal-card{border:1px solid var(--line);background:linear-gradient(145deg,var(--card),transparent);backdrop-filter:blur(14px);border-radius:2px;padding:22px;aspect-ratio:.81;max-width:340px;justify-self:end;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 35px 70px rgba(0,0,0,.24)}.signal-top,.signal-bottom{display:flex;justify-content:space-between;font:500 .58rem 'DM Mono',monospace;color:var(--muted);letter-spacing:.08em}.signal-bottom strong{font:700 1.42rem Manrope,sans-serif;letter-spacing:-.06em;color:var(--ink);line-height:1.05}.signal-orbit{margin:auto;width:155px;height:155px;border:1px solid var(--line);border-radius:50%;position:relative;display:grid;place-items:center;animation:spin 20s linear infinite}.orbit-core{width:59px;height:59px;background:var(--lime);color:#17200a;border-radius:50%;display:grid;place-items:center;font-weight:800}.signal-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--violet)}.signal-orbit i:nth-child(2){top:21px;left:15px}.signal-orbit i:nth-child(3){right:-4px;top:73px;background:var(--lime)}.signal-orbit i:nth-child(4){bottom:17px;left:35px;background:#fff}.scroll-cue{position:absolute;bottom:28px;font:500 .58rem 'DM Mono',monospace;color:var(--muted);letter-spacing:.12em;display:flex;align-items:center;gap:10px}.scroll-cue span{width:38px;height:1px;background:var(--lime)}.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:none;padding-top:68px;padding-bottom:68px}.band p{max-width:970px;font-size:clamp(1.7rem,3.2vw,3.7rem);letter-spacing:-.06em;line-height:1.12}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:11vw;margin-top:68px}.about-copy p{font-size:1.22rem;line-height:1.7;color:var(--muted);margin-bottom:22px}.fact-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.fact-grid div{min-height:148px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.fact-grid strong{font-size:2.7rem;letter-spacing:-.08em}.fact-grid span,.side-note{font-size:.72rem;color:var(--muted);line-height:1.5}.experience-layout{margin-top:75px;display:grid;grid-template-columns:25% 1fr;gap:9%}.timeline{list-style:none;margin:0;padding:0}.timeline li{border-top:1px solid var(--line);padding:25px 0 30px;display:grid;grid-template-columns:70px 1fr;gap:15px}.timeline li:last-child{border-bottom:1px solid var(--line)}.timeline span{font:500 .68rem 'DM Mono',monospace;color:var(--lime)}h3{font-size:1.5rem;letter-spacing:-.05em;margin:0 0 8px}.timeline p{color:var(--muted);max-width:600px;line-height:1.6}.skills-grid{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.skill{padding:21px 19px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:112px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(120deg,transparent,var(--card));transition:transform .25s,background .25s}.skill:hover{transform:translateY(-4px);background:rgba(214,255,99,.07)}.skill b{font-size:.92rem;letter-spacing:-.03em}.skill small{font:500 .65rem 'DM Mono',monospace;color:var(--muted)}.meter{height:2px;width:100%;background:var(--line);margin-top:14px}.meter i{display:block;height:100%;background:var(--lime)}.projects-heading{display:flex;justify-content:space-between;align-items:end}.project-grid{margin-top:65px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project{border:1px solid var(--line);min-height:330px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:var(--card);transition:transform .3s}.project:hover{transform:translateY(-7px)}.project:nth-child(3n+1){background:linear-gradient(135deg,#242a55,#0d1120)}.project:nth-child(3n+2){background:linear-gradient(135deg,#324327,#0d1120)}.project:nth-child(3n){background:linear-gradient(135deg,#453154,#0d1120)}.project:nth-child(3),.project:nth-child(6){grid-column:span 2}.project-num{font:500 .67rem 'DM Mono',monospace;color:var(--lime)}.project h3{font-size:clamp(1.6rem,3vw,2.5rem);max-width:460px}.project p{color:#d2d3dc;max-width:360px;font-size:.85rem}.project:after{content:'↗';position:absolute;right:25px;bottom:24px;width:32px;height:32px;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;border-radius:50%}.resume-card{min-height:500px;padding:56px;position:relative;overflow:hidden;background:var(--lime);color:#17200a}.resume-card h2{max-width:650px}.resume-card em{color:#5740be}.resume-card>p:not(.eyebrow){max-width:470px;margin:24px 0;color:#34401c}.button.light{background:#17200a;color:var(--lime)}.resume-lines{position:absolute;right:-45px;bottom:-40px;width:43%;height:95%;opacity:.2;transform:rotate(22deg);display:flex;gap:13px}.resume-lines i{display:block;width:2px;background:#17200a;height:100%}.cert-list{margin-top:62px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.cert-list span{padding:20px 10px 20px 0;color:var(--muted);font-size:.86rem}.contact{max-width:none;margin-top:150px;background:var(--bg2);padding-top:130px;padding-bottom:130px}.contact-inner{max-width:var(--max);margin:auto}.contact h2{font-size:clamp(3.2rem,6vw,6.8rem)}.contact-inner>p:not(.eyebrow){color:var(--muted);margin:24px 0 34px}.contact-link{font-size:clamp(1.2rem,2vw,1.7rem);font-weight:700;border-bottom:2px solid var(--lime);padding-bottom:7px}footer{max-width:var(--max);margin:auto;padding:31px 28px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.72rem}footer a:last-child:hover{color:var(--ink)}.cursor-glow{position:fixed;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(214,255,99,.06),transparent 70%);transform:translate(-50%,-50%);pointer-events:none;z-index:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}.delay-1{transition-delay:.13s}@keyframes drift{50%{transform:translate(7vw,5vh) scale(1.15)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.site-header{height:70px;padding:0 18px}.nav{display:none}.header-cta{display:none}.hero{padding:75px 22px 40px;grid-template-columns:1fr;min-height:auto}.signal-card{margin-top:70px;justify-self:start;width:230px}.scroll-cue{display:none}.section,.contact,.band{padding-left:22px;padding-right:22px}.section{padding-top:95px}.about-grid,.experience-layout{grid-template-columns:1fr;gap:35px;margin-top:43px}.skills-grid{grid-template-columns:repeat(2,1fr);margin-top:43px}.project-grid{grid-template-columns:1fr;margin-top:40px}.project,.project:nth-child(3),.project:nth-child(6){grid-column:auto;min-height:270px}.projects-heading{align-items:start;gap:25px;flex-direction:column}.resume-card{padding:32px 25px;min-height:430px}.cert-list{grid-template-columns:1fr 1fr}.contact{margin-top:95px;padding-top:90px;padding-bottom:90px}footer{padding:25px 22px}.cursor-glow{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
