@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{color-scheme:dark;--bg:#080a13;--ink:#f2f0f7;--muted:#a6a9ba;--line:rgba(205,205,241,.16);--violet:#b8a5f4;--cyan:#9de1e5;--mono:'DM Mono',monospace;--sans:'Space Grotesk',Arial,sans-serif;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);overflow-x:hidden}body:before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse 38% 36% at 81% 23%,rgba(105,74,173,.22),transparent 90%),radial-gradient(ellipse 28% 32% at 18% 64%,rgba(39,84,119,.14),transparent 90%),linear-gradient(160deg,#080a13 10%,#0c0c1c 55%,#080a13)}body:after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;background-image:radial-gradient(circle,#e9ecff 0 .7px,transparent 1.2px),radial-gradient(circle,#aaa1ef 0 .8px,transparent 1.2px),radial-gradient(circle,#b1dde5 0 .6px,transparent 1.2px);background-size:143px 169px,239px 217px,307px 283px;background-position:17px 33px,104px 69px,53px 147px}::selection{background:var(--violet);color:#080a13}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}.container{width:min(calc(100% - 88px),var(--max));margin:auto}.skip{position:absolute;top:-100px;left:10px;z-index:100;padding:12px;background:var(--ink);color:var(--bg)}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(8,10,19,.82);backdrop-filter:blur(18px)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{font-size:26px;font-weight:700;letter-spacing:-.08em}.logo span{color:var(--violet)}.nav{display:flex;align-items:center;gap:36px}.nav a{font:12px var(--mono);color:var(--muted);transition:color .2s}.nav a:hover,.nav a[aria-current]{color:var(--ink)}.nav .github{border:1px solid var(--line);border-radius:100px;padding:11px 17px;color:var(--ink)}.nav .github:hover{border-color:var(--violet)}.menu-toggle{display:none}.eyebrow{font:11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--violet)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.065em;line-height:1.07}.hero{min-height:690px;padding:125px 0 116px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:80px;align-items:center}.hero h1{font-size:clamp(76px,10vw,150px);line-height:.91;letter-spacing:-.085em;margin:28px 0 38px}.hero h1 span{color:var(--violet)}.lead{max-width:580px;font-size:clamp(19px,2vw,24px);color:#c6c8d9;line-height:1.5;letter-spacing:-.025em}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:15px 20px;border:1px solid rgba(184,165,244,.5);border-radius:100px;font:12px var(--mono);background:rgba(184,165,244,.11);transition:background .2s,transform .2s}.button:hover{background:rgba(184,165,244,.24);transform:translateY(-2px)}.plain-link{font:12px var(--mono);border-bottom:1px solid var(--line);padding-bottom:7px}.plain-link:hover{color:var(--cyan)}.hero-art{position:relative;aspect-ratio:1;display:grid;place-items:center}.hero-art:before{content:'';position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 30% 28%,rgba(200,180,255,.46),rgba(89,72,145,.4) 19%,rgba(25,25,51,.94) 52%,#090b18 74%);box-shadow:0 0 90px rgba(134,105,211,.15),inset -25px -24px 60px rgba(0,0,0,.62)}.hero-art:after{content:'';position:absolute;inset:2%;border:1px solid rgba(189,180,235,.3);border-radius:50%;transform:rotate(-22deg) scaleY(.47);box-shadow:0 0 35px rgba(184,165,244,.09)}.hero-art .ring{position:absolute;inset:0;border:1px solid rgba(190,199,234,.12);border-radius:50%}.hero-art .orbit-label{position:absolute;right:-10px;bottom:9px;font:10px var(--mono);color:var(--muted)}.rule{height:1px;background:var(--line)}.section{padding:105px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:43px}.section-head h2,.page-intro h1,.contact h2{font-size:clamp(49px,6vw,88px);margin:14px 0 0}.section-head h2 em{font-style:normal;color:var(--violet)}.project-list{border-top:1px solid var(--line)}.project{display:grid;grid-template-columns:72px minmax(0,1fr) 35px;align-items:center;gap:28px;padding:34px 0;border-bottom:1px solid var(--line);transition:padding .2s,background .2s}.project:hover{padding-left:12px;background:rgba(184,165,244,.035)}.project .index,.project .type{font:11px var(--mono);color:var(--violet)}.project .index{color:var(--muted)}.project h3{font-size:clamp(27px,3vw,43px);margin:8px 0}.project p{font-size:15px;color:var(--muted);margin:0;max-width:670px}.project .arrow{font-size:25px;color:var(--violet);transition:transform .2s}.project:hover .arrow{transform:translate(4px,-4px)}.quote-section{padding:105px 0;background:rgba(10,11,25,.72);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote-section .container{display:grid;grid-template-columns:220px 1fr;gap:40px}.quote-section h2{font-size:clamp(47px,6vw,83px);margin:0 0 22px}.quote-section h2 span{color:var(--violet)}.quote-section p:not(.eyebrow){color:var(--muted);max-width:570px;font-size:18px}.contact{padding:125px 0 135px}.contact h2{max-width:900px}.contact h2 span{color:var(--violet)}.contact p:not(.eyebrow){max-width:610px;color:var(--muted);font-size:18px;margin:24px 0 30px}.footer{border-top:1px solid var(--line);padding:40px 0}.footer-inner{display:flex;justify-content:space-between;align-items:end;gap:30px}.footer .logo{font-size:22px}.tagline{color:var(--muted);font-size:13px;margin:10px 0 0}.footer-links{display:flex;gap:25px;font:11px var(--mono);color:var(--muted)}.footer-links a:hover{color:var(--cyan)}.page-intro{padding:125px 0 85px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(66px,9vw,126px);margin:22px 0 27px}.page-intro h1 span{color:var(--violet)}.page-intro .lead{margin:0}.work-list{padding-top:64px}.work-item{display:grid;grid-template-columns:230px minmax(0,1fr);gap:50px;padding:45px 0;border-bottom:1px solid var(--line)}.work-item:first-child{padding-top:0}.work-item .type{font:11px var(--mono);color:var(--violet);text-transform:uppercase;letter-spacing:.1em}.work-item h2{font-size:clamp(31px,4vw,52px);margin:0 0 16px}.work-item p{color:var(--muted);max-width:690px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.chips span{border:1px solid var(--line);padding:6px 11px;border-radius:100px;font:11px var(--mono);color:#c1c5db}.work-link{display:inline-block;margin-top:8px;border-bottom:1px solid var(--violet);padding-bottom:6px;color:var(--cyan);font:12px var(--mono)}.aside-note{font-size:13px;color:var(--muted);padding:34px 0 0}.skill-group{display:grid;grid-template-columns:270px minmax(0,1fr);gap:50px;padding:55px 0;border-bottom:1px solid var(--line)}.skill-group:first-child{padding-top:0}.skill-group h2{font-size:32px;margin:14px 0}.skill-group .note{color:var(--muted);font-size:14px}.skill-row{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:20px;border-bottom:1px solid var(--line);padding:21px 0}.skill-row:first-child{padding-top:0}.skill-row:last-child{border-bottom:0}.skill-row h3{font-size:19px;margin:0 0 5px;letter-spacing:-.035em}.skill-row p{font-size:14px;color:var(--muted);margin:0}.skill-row .level{font:10px var(--mono);color:var(--cyan);text-align:right}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:85px 0 120px}.about-content h2{font-size:clamp(42px,5vw,70px)}.about-content p{color:#c5c7d9;font-size:18px;line-height:1.8}.about-art{min-height:420px;border:1px solid var(--line);border-radius:22px;position:relative;overflow:hidden;background:radial-gradient(circle at 54% 47%,rgba(118,88,189,.32),transparent 38%),radial-gradient(circle at 52% 50%,#11122d 0,#080a13 72%)}.about-art:before{content:'y.';position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(120px,19vw,240px);letter-spacing:-.13em;font-weight:700;text-shadow:0 0 80px rgba(184,165,244,.27)}.about-art:after{content:'';position:absolute;inset:16%;border:1px solid rgba(184,165,244,.29);border-radius:50%;transform:scaleY(.57) rotate(-18deg)}.small-print{font:12px var(--mono);color:var(--muted);margin:26px 0 0}
@media(max-width:900px){.container{width:min(calc(100% - 48px),var(--max))}.hero{grid-template-columns:1fr 220px;gap:35px;min-height:620px}.hero h1{font-size:clamp(65px,10vw,100px)}.quote-section .container{grid-template-columns:160px 1fr}.work-item{grid-template-columns:150px 1fr;gap:25px}.skill-group{grid-template-columns:190px 1fr;gap:25px}.about-content{gap:40px}}
@media(max-width:650px){.container{width:calc(100% - 38px)}.header-inner{height:70px}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:100px;padding:9px 14px;font:12px var(--mono)}.nav{display:none;position:absolute;top:70px;left:0;right:0;padding:15px 19px 25px;background:rgba(8,10,19,.97);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:13px 5px;font-size:13px}.nav .github{text-align:center;margin-top:13px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:90px 0 80px;gap:30px}.hero h1{font-size:clamp(65px,15vw,100px)}.hero-art{width:min(72%,265px);align-self:center}.hero-art .orbit-label{right:-35px}.section{padding:78px 0}.section-head{align-items:start;flex-direction:column}.section-head h2,.contact h2{font-size:clamp(43px,10vw,65px)}.project{grid-template-columns:24px 1fr 22px;gap:13px;padding:29px 0}.project .arrow{font-size:20px}.project h3{font-size:27px}.project p{font-size:13px}.quote-section{padding:75px 0}.quote-section .container{display:block}.quote-section h2{font-size:clamp(42px,10vw,65px)}.contact{padding:90px 0}.footer-inner{align-items:start;flex-direction:column}.page-intro{padding:85px 0 65px}.page-intro h1{font-size:clamp(58px,13vw,86px)}.work-item,.skill-group,.about-content{grid-template-columns:1fr;gap:18px}.work-item{padding:35px 0}.skill-group{padding:43px 0}.about-content{padding:60px 0 85px}.about-art{min-height:300px;order:-1}.small-print{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
