:root{--bg:#07110e;--surface:#0b1713;--ink:#e8eee6;--muted:#89958d;--line:#24312c;--acid:#b8f34a;--mono:"DM Mono",monospace;--sans:"Manrope",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.noise{position:fixed;inset:0;opacity:.025;pointer-events:none;z-index:5;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='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px;text-transform:uppercase}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font-weight:500}.brand-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--acid);color:#07110e;font-weight:500}.site-header nav{display:flex;gap:34px}.site-header nav a,.status{color:var(--muted);text-decoration:none;transition:.2s}.site-header nav a:hover,.status:hover{color:var(--acid)}.status{display:flex;align-items:center;gap:9px}.status span{width:7px;height:7px;background:var(--acid);border-radius:50%;box-shadow:0 0 10px var(--acid)}.hero{min-height:760px;padding:74px 0 0;display:flex;flex-direction:column}.eyebrow,.kicker{font:11px var(--mono);letter-spacing:.12em;color:var(--muted)}.eyebrow span:first-child{color:var(--acid);margin-right:18px}.hero h1{font-size:clamp(54px,8vw,112px);font-weight:500;letter-spacing:-.065em;line-height:.9;margin:60px 0}.hero h1 em,.about h2 em{color:var(--acid);font-style:normal}.hero-bottom{display:flex;justify-content:flex-end;gap:90px;align-items:center}.hero-bottom p{max-width:460px;font-size:17px;line-height:1.7;color:#b0bbb4}.round-link{width:58px;height:58px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--acid);text-decoration:none;font-size:24px;transition:.25s}.round-link:hover{background:var(--acid);color:var(--bg);transform:translateY(4px)}.system-line{margin-top:auto;border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;color:#64716a;font:10px var(--mono);letter-spacing:.1em}.section{padding:130px 0}.section-title{display:grid;grid-template-columns:180px 1fr 330px;align-items:end;margin-bottom:60px}.section-title>span{font:11px var(--mono);color:var(--acid);letter-spacing:.1em}.section-title h2{font-size:46px;letter-spacing:-.04em;margin:0}.section-title p{margin:0;color:var(--muted);line-height:1.6;font-size:14px}.post{display:grid;grid-template-columns:90px 1fr 110px 40px;gap:20px;align-items:center;border-top:1px solid var(--line);padding:34px 10px;color:inherit;text-decoration:none;transition:.25s}.post:last-child{border-bottom:1px solid var(--line)}.post:hover{background:#0c1915;padding-left:20px}.post-no,.tag,.post time,.soon,.stack,.project-top{font:10px var(--mono);letter-spacing:.1em;color:var(--muted)}.tag{color:var(--acid)}.post h3{font-size:22px;margin:10px 0 6px}.post p{margin:0;color:var(--muted);font-size:14px}.arrow{font-size:24px;color:var(--acid)}.post.muted{opacity:.43}.post.muted:hover{padding-left:10px;background:none}.soon{color:var(--acid)}.blink{animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.projects{border-top:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}.project-card{min-height:500px;padding:28px;background:#101e18;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.project-card.outline{background:transparent;border:1px solid var(--line)}.project-top{position:absolute;left:28px;right:28px;top:28px;display:flex;justify-content:space-between}.project-card h3{font-size:36px;margin:0 0 10px}.project-card p{max-width:420px;color:var(--muted);line-height:1.6}.stack{color:var(--acid);margin-top:18px}.orb{position:absolute;left:50%;top:43%;width:250px;height:250px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9ff8e 0,#71c939 18%,#173c26 54%,#07110e 75%);box-shadow:0 0 80px #71c93944}.orb:after{content:"";position:absolute;inset:-30px;border:1px solid #b8f34a33;border-radius:50%;transform:skewX(-25deg)}.code-art{position:absolute;top:100px;left:50%;transform:translateX(-50%);font:22px/1.8 var(--mono);color:#b8f34a55}.about{padding:140px 0;background:var(--acid);color:#07110e}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:120px}.about .kicker{color:#385317}.about h2{font-size:60px;letter-spacing:-.055em;line-height:1.02;margin:45px 0 0}.about h2 em{color:#07110e;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}.about-copy{padding-top:40px}.about-copy>p:first-child{font-size:20px;line-height:1.75;margin:0 0 36px}.about-copy .mono{font:12px/1.7 var(--mono);padding:20px 0;border-top:1px solid #07110e44;border-bottom:1px solid #07110e44}.links{display:flex;gap:28px;margin-top:42px}.links a{color:#07110e;font:12px var(--mono);font-weight:500}footer{height:110px;display:flex;align-items:center;justify-content:space-between;font:10px var(--mono);color:var(--muted);letter-spacing:.1em}footer a{color:var(--acid);text-decoration:none}
@media(max-width:760px){.wrap{width:min(100% - 28px,1180px)}.site-header{height:72px}.site-header nav{display:none}.status{font-size:0}.hero{min-height:680px;padding-top:55px}.hero h1{font-size:15vw;margin:70px 0 48px}.hero-bottom{justify-content:space-between;gap:20px}.hero-bottom p{font-size:14px;max-width:75%}.system-line span:nth-child(2),.system-line span:nth-child(3){display:none}.section{padding:90px 0}.section-title{grid-template-columns:1fr}.section-title h2{font-size:38px;margin:18px 0}.section-title p{max-width:330px}.post{grid-template-columns:42px 1fr 24px;padding:26px 0}.post time,.soon{display:none}.post h3{font-size:17px}.post p{font-size:12px}.post:hover{padding-left:8px}.project-grid{grid-template-columns:1fr}.project-card{min-height:430px}.about{padding:90px 0}.about-inner{grid-template-columns:1fr;gap:40px}.about h2{font-size:46px}.about-copy{padding-top:0}.about-copy>p:first-child{font-size:17px}.links{flex-wrap:wrap}footer span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.blink{animation:none}}

/* CV / portfolio */
.cv-hero{position:relative}.availability{position:absolute;right:0;top:74px;padding:9px 12px;border:1px solid var(--line);color:var(--acid);font:9px var(--mono);letter-spacing:.12em}.profile{border-top:1px solid var(--line)}.profile-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:120px}.profile-statement{font-size:43px;line-height:1.2;letter-spacing:-.045em}.profile-statement em{color:var(--acid);font-style:normal}.profile-copy>p{color:#b4beb7;font-size:17px;line-height:1.8;margin:0 0 50px}.profile-copy dl{margin:0;border-top:1px solid var(--line)}.profile-copy dl div{display:grid;grid-template-columns:110px 1fr;padding:17px 0;border-bottom:1px solid var(--line);font:11px var(--mono)}.profile-copy dt{color:var(--muted)}.profile-copy dd{margin:0;color:var(--ink)}.experience{border-top:1px solid var(--line)}.timeline{border-bottom:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:120px 1fr 240px;gap:40px;padding:35px 8px;border-top:1px solid var(--line);align-items:start}.timeline h3{font-size:21px;margin:0 0 9px}.timeline p{color:var(--muted);font-size:14px;line-height:1.65;margin:0;max-width:520px}.year,.tech{font:10px var(--mono);letter-spacing:.08em;color:var(--acid)}.tech{color:var(--muted);text-align:right}.loading,.empty-posts{padding:50px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font:11px var(--mono);letter-spacing:.1em}.instagram-section{padding:120px 0;background:#0c1814;border-top:1px solid var(--line)}.instagram-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:42px}.instagram-head h2{font-size:46px;letter-spacing:-.04em;margin:18px 0 0}.instagram-head a{color:var(--acid);font:12px var(--mono)}.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.insta-tile{aspect-ratio:1;color:white;text-decoration:none;display:flex;align-items:flex-end;padding:18px;position:relative;overflow:hidden;filter:saturate(.8);transition:.3s}.insta-tile:hover{filter:saturate(1.2);transform:translateY(-4px)}.insta-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#07110ecc,transparent 60%)}.insta-tile span{position:relative;font:9px var(--mono);letter-spacing:.12em}.i1{background:radial-gradient(circle at 35% 35%,#c9ff6a,#397f43 27%,#07110e 68%)}.i2{background:linear-gradient(145deg,#d5794b,#342c4d 48%,#08130f)}.i3{background:repeating-linear-gradient(135deg,#14251e 0 18px,#b8f34a 19px 20px)}.i4{background:radial-gradient(circle at 70% 20%,#b8f34a44,transparent 28%),linear-gradient(145deg,#233a49,#09120e)}.insta-note{font:10px var(--mono);color:var(--muted);margin:20px 0 0}.article{max-width:760px;padding:100px 0 140px}.back{font:11px var(--mono);color:var(--acid);text-decoration:none}.article h1{font-size:clamp(42px,7vw,76px);line-height:1;letter-spacing:-.055em;margin:60px 0 24px}.meta{font:11px var(--mono);color:var(--muted);padding-bottom:35px;border-bottom:1px solid var(--line)}.article-body{font-size:18px;line-height:1.85;color:#bdc7c0}.article-body h2{font-size:30px;color:var(--ink);margin-top:60px;letter-spacing:-.03em}.article-body blockquote{margin:40px 0;padding:24px;border-left:2px solid var(--acid);background:var(--surface);color:var(--ink)}
@media(max-width:760px){.availability{display:none}.profile-grid{grid-template-columns:1fr;gap:45px}.profile-statement{font-size:32px}.timeline article{grid-template-columns:70px 1fr;gap:15px}.tech{display:none}.insta-grid{grid-template-columns:1fr 1fr}.instagram-head h2{font-size:36px}.instagram-section{padding:85px 0}.article{padding-top:60px}.article-body{font-size:16px}}
