:root{--ink:#f2f2ed;--muted:#9aa3aa;--soft:#6f7a82;--background:#071016;--surface:#0d1a20;--surface-light:#12242a;--line:#e0ece721;--orange:#ff8d52;--mint:#b8e8cf;--blue:#8cc7e8;--purple:#c1a7ef;--yellow:#e8d48b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--ink);margin:0;font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;font-size:16px;line-height:1.5;overflow-x:hidden}body:before{z-index:-2;content:"";pointer-events:none;background:linear-gradient(#071016f5,#071016f5),radial-gradient(circle at 80% 8%,#ff8d521f,#0000 28%);position:fixed;inset:0}body:after{z-index:-1;opacity:.22;content:"";pointer-events:none;background-image:linear-gradient(#b8e8cf0b 1px,#0000 1px),linear-gradient(90deg,#b8e8cf0b 1px,#0000 1px);background-size:80px 80px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}.section-shell{width:min(1160px,100% - 64px);margin:0 auto}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#071016c7;border-bottom:1px solid #e0ece717;position:fixed;inset:0 0 auto}.nav-shell{justify-content:space-between;align-items:center;width:min(1240px,100% - 64px);min-height:76px;margin:0 auto;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:11px;font-size:13px;font-weight:600;display:inline-flex}.brand-mark{width:30px;height:30px;color:var(--orange);letter-spacing:-.08em;border:1px solid #ff8d52b3;border-radius:50%;place-items:center;font-size:10px;display:grid}.nav-links{color:var(--muted);align-items:center;gap:28px;font-size:12px;display:flex}.nav-links>a{transition:color .18s}.nav-links>a:hover,.nav-socials a:hover{color:var(--orange)}.nav-socials{border-left:1px solid var(--line);gap:12px;padding-left:17px;display:flex}.nav-socials a,.footer-links a{color:var(--muted);place-items:center;transition:color .18s,transform .18s;display:grid}.nav-socials a:hover,.footer-links a:hover{transform:translateY(-2px)}.menu-toggle{cursor:pointer;background:0 0;border:0;padding:7px;display:none}main{padding-top:76px}.hero{grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);align-items:center;gap:56px;min-height:690px;padding-top:90px;padding-bottom:92px;display:grid}.hero-copy{z-index:1;position:relative}.eyebrow,.section-label,.hero-status,.project-category,.meta-label,.chat-kicker{color:var(--orange);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700}.eyebrow{align-items:center;gap:10px;margin-bottom:27px;display:flex}.eyebrow-line{background:var(--orange);width:30px;height:1px;display:inline-block}.eyebrow-location{color:var(--soft)}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.065em;font-weight:400}h1{max-width:720px;margin-bottom:25px;font-size:clamp(54px,7.25vw,91px);line-height:.98}h1 em,h2 em{color:var(--orange);font-style:normal}.hero-lede{max-width:510px;color:var(--muted);margin-bottom:32px;font-size:17px;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button{border:1px solid var(--line);border-radius:2px;align-items:center;gap:14px;min-height:48px;padding:0 19px;font-size:12px;font-weight:650;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-primary{border-color:var(--orange);background:var(--orange);color:#11191a}.button-primary:hover{background:#ffab7c;border-color:#ffab7c}.button-quiet{color:var(--muted)}.button-quiet:hover{color:var(--ink);border-color:#ff8d528c}.hero-status{color:var(--muted);letter-spacing:.1em;align-items:center;gap:8px;margin-top:28px;font-size:10px;display:flex}.status-dot{background:var(--mint);border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #b8e8cf1a}.hero-visual{border:1px solid var(--line);background:linear-gradient(150deg,#12242acc,#0710164d);min-height:440px;position:relative;overflow:hidden}.hero-visual:before{filter:blur(60px);content:"";background:#ff8d5226;border-radius:50%;width:300px;height:300px;position:absolute;top:-100px;right:-90px}.hero-grid{opacity:.36;background-image:linear-gradient(#b8e8cf17 1px,#0000 1px),linear-gradient(90deg,#b8e8cf17 1px,#0000 1px);background-size:38px 38px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 74%);mask-image:radial-gradient(circle,#000,#0000 74%)}.hero-ring{border:1px solid #b8e8cf3d;border-radius:50%;position:absolute;top:50%;left:51%;transform:translate(-50%,-50%)}.ring-large{border-right-color:var(--orange);border-bottom-color:var(--orange);width:275px;height:275px;animation:26s linear infinite spin}.ring-small{border-left-color:var(--mint);border-top-color:var(--mint);width:163px;height:163px;animation:17s linear infinite spinReverse}.hero-center{background:var(--orange);color:#102025;letter-spacing:.08em;text-align:center;text-transform:uppercase;border-radius:50%;place-items:center;width:86px;height:86px;font-size:9px;font-weight:700;line-height:1.25;display:grid;position:absolute;top:50%;left:51%;transform:translate(-50%,-50%)}.hero-center svg{margin-bottom:-3px}.signal-card{z-index:2;background:#071016db;border:1px solid #b8e8cf2e;gap:5px;min-width:145px;padding:12px 14px;display:grid;position:absolute;box-shadow:0 12px 25px #00000038}.signal-card span{color:var(--soft);letter-spacing:.11em;text-transform:uppercase;font-size:8px}.signal-card strong{font-size:12px;font-weight:500}.signal-card i{background:var(--mint);width:100%;height:2px;margin-top:3px}.signal-top{top:49px;left:31px}.signal-middle{top:189px;right:28px}.signal-middle i{background:var(--orange)}.signal-bottom{bottom:37px;left:43px}.signal-bottom i{background:var(--blue)}.visual-coordinate{color:var(--soft);letter-spacing:.08em;font-family:monospace;font-size:9px;position:absolute}.coordinate-one{bottom:18px;right:20px}.coordinate-two{top:18px;left:20px}@keyframes spin{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes spinReverse{to{transform:translate(-50%,-50%)rotate(-360deg)}}.stat-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.stat{border-right:1px solid var(--line);gap:3px;min-height:94px;padding:25px 26px;display:grid}.stat:first-child{padding-left:0}.stat:last-child{border-right:0}.stat strong{letter-spacing:-.02em;font-size:14px;font-weight:500}.stat span{color:var(--soft);font-size:11px}.about-section,.work-section,.skills-section,.approach-section,.contact-section{padding-top:148px}.section-intro{grid-template-columns:.8fr 1.2fr;align-items:start;margin-bottom:67px;display:grid}.section-label{color:var(--soft);align-items:center;gap:12px;padding-top:8px;display:flex}.section-label span:first-child{color:var(--orange);font-family:monospace;font-size:10px}.section-intro h2,.section-heading-row h2{margin:0;font-size:clamp(42px,5.2vw,68px);line-height:1.04}.about-content{grid-template-columns:.75fr 1.25fr;align-items:center;gap:83px;display:grid}.about-photo-wrap{max-width:320px;position:relative}.about-photo-wrap:after{z-index:-1;border:1px solid var(--orange);content:"";width:100%;height:100%;position:absolute;top:18px;left:18px}.about-photo-wrap img{aspect-ratio:.84;object-fit:cover;filter:grayscale()contrast(1.1);width:100%;display:block}.photo-caption{background:var(--orange);color:#132025;letter-spacing:.08em;text-transform:uppercase;padding:9px 11px;font-size:9px;font-weight:700;line-height:1.4;position:absolute;bottom:18px;right:-49px}.about-copy{max-width:600px;color:var(--muted);font-size:15px;line-height:1.8}.about-copy p{margin-bottom:24px}.about-copy .about-lede{color:var(--ink);letter-spacing:-.025em;font-size:21px;line-height:1.5}.about-meta{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:30px;margin-top:38px;padding-top:24px;display:grid}.about-meta>div{gap:9px;display:grid}.meta-label{color:var(--orange);font-size:9px}.about-meta strong{color:var(--ink);font-size:13px;font-weight:500;line-height:1.5}.section-heading-row{justify-content:space-between;align-items:flex-end;margin-bottom:41px;display:flex}.section-heading-row .section-label{margin-bottom:21px}.all-repos-link,.text-link{color:var(--orange);align-items:center;gap:8px;font-size:11px;font-weight:650;transition:gap .18s;display:inline-flex}.all-repos-link:hover,.text-link:hover{gap:13px}.filter-row{scrollbar-width:none;gap:8px;margin-bottom:28px;padding-bottom:3px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-row button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:1px;flex:none;padding:9px 13px;font-size:10px;transition:color .18s,border-color .18s,background .18s}.filter-row button:hover{color:var(--ink);border-color:#ff8d5280}.filter-row button.active{border-color:var(--orange);background:var(--orange);color:#132025}.projects-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.project-card{border:1px solid var(--line);background:#0d1a20d4;transition:transform .22s,border-color .22s;position:relative;overflow:hidden}.project-card:hover{border-color:#ff8d5280;transform:translateY(-5px)}.project-card-top{z-index:2;justify-content:space-between;align-items:center;display:flex;position:absolute;top:17px;left:17px;right:17px}.project-number{color:var(--soft);font-family:monospace;font-size:10px}.project-links{gap:8px;display:flex}.project-links a{width:29px;height:29px;color:var(--muted);border:1px solid #e0ece733;border-radius:50%;place-items:center;transition:color .18s,background .18s;display:grid}.project-links a:hover{background:var(--orange);color:#132025}.project-visual{border-bottom:1px solid var(--line);background:#07101680;height:185px;position:relative;overflow:hidden}.project-visual:before{filter:blur(55px);opacity:.12;content:"";background:currentColor;border-radius:50%;width:130px;height:130px;position:absolute;top:20px;right:20px}.accent-orange .project-visual{color:var(--orange)}.accent-mint .project-visual{color:var(--mint)}.accent-blue .project-visual{color:var(--blue)}.accent-purple .project-visual{color:var(--purple)}.accent-yellow .project-visual{color:var(--yellow)}.visual-orbit{opacity:.42;border:1px solid;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(35deg)}.orbit-one{width:155px;height:74px}.orbit-two{width:74px;height:155px}.visual-core{background:var(--background);color:currentColor;letter-spacing:.08em;border:1px solid;border-radius:50%;place-items:center;width:53px;height:53px;font-size:11px;font-weight:700;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.visual-label{color:var(--soft);letter-spacing:.12em;text-transform:uppercase;font-size:9px;position:absolute;bottom:15px;left:16px}.project-card-body{padding:22px 20px 24px}.project-category{color:var(--orange);margin-bottom:10px;font-size:9px}.project-card h3{letter-spacing:-.04em;margin-bottom:10px;font-size:21px;font-weight:500}.project-description{min-height:72px;color:var(--muted);margin-bottom:20px;font-size:12px;line-height:1.65}.project-tags{flex-wrap:wrap;gap:6px;min-height:44px;margin-bottom:21px;display:flex}.project-tags span{border:1px solid var(--line);color:var(--soft);align-self:flex-start;padding:5px 7px;font-size:9px}.skills-section{border-bottom:1px solid var(--line);grid-template-columns:.8fr 1.2fr;gap:50px;padding-bottom:24px;display:grid}.skills-heading{align-content:start;gap:25px;display:grid}.skills-heading p{max-width:220px;color:var(--muted);margin:0;font-size:13px;line-height:1.65}.skills-cloud{flex-wrap:wrap;align-content:start;gap:8px;display:flex}.skills-cloud span{border:1px solid var(--line);color:var(--muted);padding:11px 13px;font-size:11px;transition:border-color .18s,color .18s}.skills-cloud span:hover{border-color:var(--orange);color:var(--ink)}.skills-cloud .skill-highlight{color:var(--mint);border-color:#b8e8cf66}.approach-section{grid-template-columns:.8fr 1.2fr;gap:50px;display:grid}.principles-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.principle{border-top:1px solid var(--orange);background:#0d1a20b8;min-height:220px;padding:21px}.principle>span{color:var(--orange);font-family:monospace;font-size:10px}.principle h3{margin:38px 0 12px;font-size:17px;font-weight:500}.principle p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.contact-section{padding-bottom:95px}.contact-card{background:radial-gradient(circle at 85% 10%, #ff8d521f, transparent 35%), var(--surface);border:1px solid #ff8d5280;grid-template-columns:1fr .75fr;gap:60px;padding:59px 58px;display:grid}.contact-card h2{margin:22px 0 0;font-size:clamp(45px,5vw,68px);line-height:1}.contact-cta{align-self:end;max-width:300px}.contact-cta p{color:var(--muted);margin-bottom:23px;font-size:13px;line-height:1.7}.site-footer{border-top:1px solid var(--line);min-height:104px;color:var(--soft);justify-content:space-between;align-items:center;font-size:10px;display:flex}.footer-links{gap:15px;display:flex}.chat-widget{z-index:15;justify-items:end;gap:12px;display:grid;position:fixed;bottom:24px;right:25px}.chat-trigger{min-height:43px;color:var(--mint);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#0d1a20f0;border:1px solid #b8e8cf73;border-radius:2px;align-items:center;gap:9px;padding:0 15px;font-size:10px;font-weight:700;transition:transform .18s,background .18s;display:inline-flex;box-shadow:0 10px 30px #00000047}.chat-trigger:hover{background:var(--surface-light);transform:translateY(-3px)}.chat-panel{background:#0b171d;border:1px solid #b8e8cf40;width:min(350px,100vw - 32px);display:grid;overflow:hidden;box-shadow:0 20px 50px #00000059}.chat-panel-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:17px;display:flex}.chat-panel-header h3{margin:8px 0 0;font-size:15px;font-weight:500}.chat-panel-header button{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:start;place-items:center;display:grid}.chat-kicker{color:var(--mint);letter-spacing:.1em;align-items:center;gap:7px;font-size:8px;display:flex}.chat-messages{align-content:start;gap:9px;min-height:115px;max-height:260px;padding:14px;display:grid;overflow-y:auto}.chat-message{max-width:89%;padding:9px 11px;font-size:11px;line-height:1.55}.assistant-message{border:1px solid var(--line);color:var(--muted);justify-self:start}.user-message{background:var(--orange);color:#132025;justify-self:end}.chat-loading span{animation:1s infinite blink}.chat-loading span:nth-child(2){animation-delay:.18s}.chat-loading span:nth-child(3){animation-delay:.36s}@keyframes blink{0%,to{opacity:.2}50%{opacity:1}}.chat-form{border-top:1px solid var(--line);gap:8px;padding:11px;display:flex}.chat-form input{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);outline:0;flex:1;padding:10px;font-size:11px}.chat-form input:focus{border-color:var(--mint)}.chat-form button{background:var(--mint);color:#132025;cursor:pointer;border:0;place-items:center;width:36px;display:grid}@media (max-width:900px){.hero{grid-template-columns:1fr;gap:20px;min-height:auto;padding-top:75px}.hero-visual{min-height:390px}.about-content{gap:55px}.projects-grid{grid-template-columns:repeat(2,1fr)}.approach-section,.skills-section{grid-template-columns:1fr;gap:35px}.skills-heading{justify-content:space-between;align-items:start;display:flex}.skills-heading p{max-width:290px}}@media (max-width:680px){.section-shell,.nav-shell{width:min(100% - 36px,1160px)}.site-header,.nav-shell{min-height:65px}.nav-links{border:1px solid var(--line);background:#0d1a20fa;align-items:stretch;gap:0;padding:10px;display:none;position:absolute;top:65px;left:18px;right:18px;box-shadow:0 15px 30px #00000040}.nav-links.is-open{display:grid}.nav-links>a{border-bottom:1px solid var(--line);padding:14px 12px}.nav-socials{border:0;padding:14px 12px 5px}.menu-toggle{place-items:center;display:grid}main{padding-top:65px}.hero{padding-top:70px;padding-bottom:65px}h1{font-size:clamp(49px,15vw,72px)}.hero-lede{font-size:15px}.hero-visual{min-height:330px}.ring-large{width:220px;height:220px}.ring-small{width:133px;height:133px}.signal-top{top:31px;left:18px}.signal-middle{top:143px;right:15px}.signal-bottom{bottom:23px;left:25px}.stat-strip{grid-template-columns:1fr}.stat,.stat:first-child{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:17px 0}.stat:last-child{border-bottom:0}.about-section,.work-section,.skills-section,.approach-section,.contact-section{padding-top:100px}.section-intro,.about-content{grid-template-columns:1fr;gap:35px}.section-intro{margin-bottom:45px}.section-intro h2,.section-heading-row h2{font-size:44px}.about-photo-wrap{width:calc(100% - 22px);max-width:285px;margin-left:5px}.about-copy .about-lede{font-size:18px}.section-heading-row{align-items:start;gap:25px;display:grid}.projects-grid{grid-template-columns:1fr}.project-description{min-height:0}.skills-heading{gap:19px;display:grid}.approach-section{gap:40px}.principles-grid{grid-template-columns:1fr}.principle{min-height:0}.principle h3{margin-top:22px}.contact-card{grid-template-columns:1fr;gap:35px;padding:35px 25px}.contact-card h2{font-size:45px}.site-footer{justify-content:start;gap:17px;padding:30px 0;display:grid}.chat-widget{bottom:18px;right:18px}}
