@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap";:root{--bg:#080c14;--surface:#0d1421;--surface-raised:#111b2b;--text:#f1f5fb;--muted:#9aa8c0;--muted-2:#71809a;--line:#bbcdeb26;--line-strong:#bbcdeb40;--mint:#7ce2c1;--blue:#78a7ff;--violet:#bd9dff;--amber:#ffc66e;--rose:#ff9cab;--dark-mint:#092019;--font-main:Manrope, Arial, sans-serif;--font-mono:"DM Mono", monospace;--font-display:"Playfair Display", Georgia, serif;--container:1160px;--header-container:1240px;--ease:cubic-bezier(.22, 1, .36, 1)}html[data-theme=light]{--bg:#f5f7fb;--surface:#fff;--surface-raised:#eaf0f7;--text:#0f172a;--muted:#475569;--muted-2:#64748b;--line:#1e293b26;--line-strong:#1e293b40;--mint:#047857;--blue:#1d4ed8;--violet:#6d28d9;--amber:#a16207;--rose:#be123c;--dark-mint:#fff}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg);min-width:320px;color:var(--text);font-family:var(--font-main);margin:0;line-height:1.65;transition:background .25s,color .25s;position:relative;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 15% 8%,#2d667729,#0000 29%),radial-gradient(circle at 88% 26%,#4d4a8d1f,#0000 27%),linear-gradient(#98b5d706 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#98b5d706 1px,#0000 1px) 0 0/48px 48px;animation:20s ease-in-out infinite alternate ambient-drift;position:fixed;inset:0}html[data-theme=light] body:before{background:radial-gradient(circle at 15% 8%,#2d667717,#0000 29%),radial-gradient(circle at 88% 26%,#4d4a8d12,#0000 27%),linear-gradient(#344e7309 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#344e7309 1px,#0000 1px) 0 0/48px 48px}img{max-width:100%;display:block}button,input,textarea,select{color:inherit;font:inherit}button{border:0}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0}p,h1,h2,h3,h4{margin-top:0}::selection{background:var(--mint);color:var(--dark-mint)}.section{width:min(var(--container), calc(100% - 48px));margin-inline:auto;padding:120px 0}.brand{color:var(--text);letter-spacing:-.08em;font-size:1.32rem;font-weight:800}.brand span,em{color:var(--mint)}em{font-family:var(--font-display);font-weight:600}.icon{font-family:var(--font-mono);font-style:normal;font-weight:600;line-height:1;display:inline-block}.icon-arrow{margin-left:5px}.brand-icon{color:currentColor;flex:none;width:20px;height:20px;display:block}.section-kicker,.eyebrow,.project-type{color:var(--mint);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:500}.section-kicker{margin:0}h1,h2{letter-spacing:-.055em;line-height:1.02}h1{font-size:clamp(3.25rem,6vw,6rem)}h2{font-size:clamp(3rem,5vw,5.5rem)}button,a{-webkit-tap-highlight-color:transparent}.site-header{width:min(var(--header-container), calc(100% - 48px));z-index:50;justify-content:space-between;align-items:center;height:76px;margin-inline:auto;display:flex;position:relative}.site-header nav{align-items:center;gap:25px;display:flex}.site-header nav a{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:500;transition:color .18s,transform .18s}.site-header nav a:hover{color:var(--mint);transform:translateY(-1px)}.header-actions{align-items:center;gap:8px;display:flex}.theme-button,.menu-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:9px;place-items:center;width:38px;height:38px;transition:color .18s,border-color .18s,background .18s;display:grid}.theme-button:hover,.menu-button:hover{color:var(--mint);border-color:var(--mint);background:var(--surface)}.menu-button{display:none}.hero-meta{justify-content:space-between;align-items:center;max-width:720px;display:flex}.eyebrow{margin:0}.pulse{background:var(--mint);vertical-align:middle;width:7px;height:7px;margin-right:9px;display:inline-block;box-shadow:0 0 0 5px #7ce2c11a}.hero-index{display:none!important}.hero h1{max-width:850px;margin:24px 0 26px;font-size:clamp(3.25rem,6vw,6rem);line-height:.97}.hero .lede{max-width:680px;color:var(--muted);font-size:1.02rem;line-height:1.85}.hero .lede strong{color:var(--text)}.hero-trail span,.hero-trail strong{font-family:var(--font-mono);letter-spacing:.04em;font-size:clamp(.85rem,1.2vw,1.05rem)}.hero-trail span{color:var(--muted)}.trail-highlight{color:var(--mint);letter-spacing:.08em;font-weight:700}.hero-trail strong{color:var(--text)}.hero-trail i{color:var(--muted-2);font-family:var(--font-mono);font-style:normal}.actions{flex-wrap:wrap;gap:11px;margin:32px 0;display:flex}.button{border:1px solid var(--line);border-radius:9px;justify-content:center;align-items:center;min-height:46px;padding:12px 18px;font-size:.78rem;font-weight:700;transition:background .18s,color .18s,border-color .18s,transform .18s;display:inline-flex}.button.primary{color:#092019;background:var(--mint);border-color:var(--mint)}.button.primary:hover{color:var(--mint);background:0 0}.button.secondary:hover{color:var(--mint);border-color:var(--mint)}.socials{align-items:center;gap:22px;display:flex}.socials a{color:var(--muted);align-items:center;gap:8px;font-size:.78rem;transition:color .18s;display:inline-flex}.socials a:hover{color:var(--mint)}.socials .brand-icon{width:16px;height:16px}.hero-art{place-items:center;height:520px;display:grid;position:relative;overflow:visible}.hero-square{z-index:1;pointer-events:none;background:#ffffff06;border:1px solid #ffffff26;width:min(34vw,500px);height:min(34vw,500px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(14deg)}.hero-square-one{animation:18s linear infinite heroSquareRotate}.hero-square-two{opacity:.42;width:min(29vw,430px);height:min(29vw,430px);animation:22s linear infinite heroSquareRotateReverse;transform:translate(-50%,-50%)rotate(-18deg)}@keyframes heroSquareRotate{0%{transform:translate(-50%,-50%)rotate(14deg)}to{transform:translate(-50%,-50%)rotate(374deg)}}@keyframes heroSquareRotateReverse{0%{transform:translate(-50%,-50%)rotate(-18deg)}to{transform:translate(-50%,-50%)rotate(-378deg)}}.portrait-frame{background:var(--surface);border:1px solid var(--line);z-index:3;width:min(31vw,430px);height:min(42vw,560px);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.portrait-frame:after{content:"";pointer-events:none;z-index:2;border:1px solid #fff3;position:absolute;inset:12px}.hero-stamp{z-index:4}@media (width<=768px){.hero-art{height:430px}.portrait-frame{width:285px;height:370px}.hero-square{width:330px;height:330px}.hero-square-two{width:285px;height:285px}}.about-header{justify-content:space-between;align-items:center;display:flex}.about-label{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem}.about-intro{grid-template-columns:1.1fr .9fr;gap:60px;margin-top:65px;display:grid}.about-intro h2{margin:0;font-size:clamp(3.1rem,5.3vw,5.4rem);line-height:.94}.about-lede{max-width:480px;color:var(--muted);align-self:end;margin:0;font-size:1.05rem;line-height:1.85}.about-body{grid-template-columns:.78fr 1.22fr;gap:6rem;margin-top:78px;display:grid}.about-story{max-width:620px}.about-story p{color:var(--muted);margin:0 0 24px;font-size:.98rem;line-height:1.9}.about-journey{position:relative}.journey-line{background:var(--line);width:1px;position:absolute;top:16px;bottom:16px;left:17px}.journey-step{grid-template-columns:38px 1fr;align-items:start;gap:20px;min-height:92px;margin-bottom:12px;display:grid;position:relative}.journey-number{z-index:2;background:var(--bg);border:1px solid var(--line);width:36px;height:36px;color:var(--muted);font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;font-size:.64rem;display:flex;position:relative}.journey-step strong{margin-top:1px;margin-bottom:7px;font-size:1.02rem;font-weight:700;display:block}.journey-step span:not(.journey-number){color:var(--muted);font-family:var(--font-mono);font-size:.76rem}.journey-step.active .journey-number{color:#092019;background:var(--mint);border-color:var(--mint)}.journey-step.active strong{color:var(--text)}.about-bottom{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:end;gap:50px;margin-top:52px;padding-top:24px;display:grid}.about-note{gap:9px;display:grid}.about-note span{color:var(--mint);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem}.about-note strong{max-width:560px;font-size:1.08rem;font-weight:500;line-height:1.55}.mini-stats{gap:46px;display:flex}.mini-stats div{flex-direction:column;display:flex}.mini-stats strong{font-size:2rem;line-height:1}.mini-stats span{color:var(--muted);font-family:var(--font-mono);margin-top:8px;font-size:.76rem}.skills-header{grid-template-columns:1.15fr .85fr;align-items:end;gap:5rem;margin-bottom:4.5rem;display:grid}.skills-header h2{margin:16px 0 0;font-size:clamp(3rem,5.5vw,5.8rem);line-height:.94}.skills-intro{max-width:480px;color:var(--muted);margin:0 0 5px auto;font-size:1rem;line-height:1.85}.skills-layout{grid-template-columns:1.15fr .85fr;gap:1rem;display:grid}.skills-core,.skills-support{gap:1rem;display:grid}.skill-panel{background:var(--surface);border:1px solid var(--line);min-height:190px;transition:transform .3s var(--ease), background .3s ease, border-color .3s ease;padding:2rem}.skill-panel:hover{background:var(--surface-raised);border-color:#7ce2c16b;transform:translateY(-4px)}.skill-panel.primary{min-height:310px}.skill-panel-top{justify-content:space-between;align-items:center;margin-bottom:3rem;display:flex}.skill-number,.skill-status{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;font-size:.65rem}.skill-panel h3{letter-spacing:-.035em;margin:0 0 .75rem;font-size:clamp(1.5rem,2vw,2.1rem);line-height:1.05}.skill-panel p{max-width:620px;color:var(--muted);margin:0 0 1.75rem;font-size:.92rem;line-height:1.75}.skill-tags{flex-wrap:wrap;gap:.55rem;display:flex}.skill-tags span{border:1px solid var(--line);min-height:32px;color:var(--text);font-family:var(--font-mono);align-items:center;padding:.45rem .75rem;font-size:.67rem;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.skill-tags span:hover{color:var(--mint);border-color:var(--mint);background:#7ce2c10a}.skill-panel.compact .skill-panel-top{margin-bottom:2rem}.skill-panel.compact h3{margin-bottom:1.25rem;font-size:1.35rem}.skill-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:2rem;min-height:130px;padding:1.5rem 2rem;display:grid}.skill-tools>div:first-child{gap:.65rem;display:grid}.skill-tools span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;font-size:.62rem}.skill-tools strong{font-size:.87rem;font-weight:500;line-height:1.65}.skill-code{grid-template-columns:auto auto;gap:.4rem .8rem;min-width:125px;display:grid}.skill-code span{font-family:var(--font-mono);font-size:.61rem}.skill-code span:nth-child(odd){color:var(--muted)}.projects-header{justify-content:space-between;align-items:end;gap:30px;margin-bottom:4.5rem;display:flex}.projects-header h2{margin:16px 0 0;font-size:clamp(3rem,5.5vw,5.8rem);line-height:.94}.filters{flex-wrap:wrap;gap:5px;display:flex}.filters button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:8px 12px;font-size:.71rem;font-weight:600;transition:color .18s,background .18s,border-color .18s}.filters button:hover{color:var(--text);border-color:var(--line)}.filters button.active{color:var(--mint);background:var(--surface);border-color:var(--line)}.featured-projects{gap:1rem;display:grid}.flagship-project{background:var(--surface);border:1px solid var(--line);min-height:680px;transition:transform .3s var(--ease), border-color .3s ease, box-shadow .3s ease;grid-template-columns:1.28fr .72fr;display:grid;overflow:hidden}.flagship-visual{background:radial-gradient(circle at 50% 48%, #7ce2c11a, transparent 35%), var(--bg);min-height:680px;padding:18px;position:relative;overflow:hidden}.flagship-visual:before{content:"";background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.28;pointer-events:none;background-size:40px 40px;position:absolute;inset:0}.project-visual-header{z-index:2;color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;justify-content:space-between;padding:4px 3px 14px;font-size:.58rem;display:flex;position:relative}.project-visual-header span:last-child{color:var(--mint)}.window-bar,.mini-window-bar{height:38px;font-family:var(--font-mono);background:#111a29;border-bottom:1px solid #bbcdeb1f;align-items:center;padding:0 12px;font-size:.56rem;display:flex}.window-bar{justify-content:space-between}.window-controls{gap:5px;display:flex}.window-controls i{background:#bbcdeb59;border-radius:50%;width:6px;height:6px;display:block}.window-url{color:#7f8ba0;text-align:center;background:#ffffff09;border-radius:4px;min-width:180px;padding:6px 15px}.window-status{color:var(--mint);letter-spacing:.08em}.sidebar-section{color:#6f7d93;font-family:var(--font-mono);flex-direction:column;gap:13px;font-size:.57rem;display:flex}.sidebar-label{color:#536177;letter-spacing:.13em;margin-bottom:3px;font-size:.49rem}.sidebar-section b{color:#d9e2ef;font-weight:500}.sidebar-active{position:relative}.sidebar-active:before{content:"";background:var(--mint);width:3px;height:14px;position:absolute;top:0;left:-9px}.sidebar-bottom{margin-top:auto}.sidebar-bottom strong{color:var(--mint);font-family:var(--font-main);font-size:.78rem}.line-1{width:145px;top:31%;left:19%;transform:rotate(21deg)}.line-2{width:140px;top:39%;left:47%;transform:rotate(-22deg)}.line-3{width:125px;top:57%;left:29%;transform:rotate(-20deg)}.line-4{width:135px;top:61%;left:49%;transform:rotate(20deg)}.line-5{width:125px;top:49%;left:60%;transform:rotate(1deg)}.node-python{top:22%;left:10%}.node-math{top:15%;left:42%}.node-data{top:29%;left:69%}.node-ml{top:52%;left:16%}.node-api{top:59%;left:45%}.node-ai{top:51%;left:70%}.flagship-content{border-left:1px solid var(--line);flex-direction:column;min-width:0;padding:48px 40px;display:flex}.flagship-meta,.support-meta{justify-content:space-between;align-items:center;gap:20px;display:flex}.flagship-meta span,.support-meta span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;font-size:.57rem}.flagship-meta span:first-child{color:var(--mint)}.flagship-content h3{letter-spacing:-.06em;margin:38px 0 15px;font-size:clamp(2.7rem,4vw,4.7rem);line-height:.9}.flagship-lede{color:var(--text);margin:0 0 18px;font-size:1rem;font-weight:600;line-height:1.65}.flagship-description{color:var(--muted);margin:0;font-size:.86rem;line-height:1.8}.flagship-info{gap:18px;margin-top:36px;display:grid}.flagship-info>div{border-bottom:1px solid var(--line);grid-template-columns:105px 1fr;gap:15px;padding-bottom:14px;display:grid}.flagship-info span,.flagship-result>span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:.54rem}.flagship-info strong{font-size:.73rem;font-weight:500;line-height:1.5}.flagship-result{margin-top:22px}.flagship-result p{color:var(--muted);margin:7px 0 0;font-size:.76rem;line-height:1.7}.flagship-action{color:var(--mint);font-family:var(--font-mono);letter-spacing:.1em;align-items:center;gap:8px;margin-top:auto;padding-top:30px;font-size:.62rem;display:flex}.featured-project-links{margin-top:15px}.project-links{flex-wrap:wrap;gap:9px;display:flex}.project-links a{min-height:35px;color:var(--muted);border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.07em;align-items:center;gap:6px;padding:8px 10px;font-size:.54rem;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.project-links a:hover{color:var(--mint);border-color:var(--mint);background:#7ce2c10a}.project-links .brand-icon{width:14px;height:14px}.case-study-toggle{width:max-content;color:var(--muted);cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;background:0 0;justify-content:space-between;align-items:center;gap:14px;margin-top:13px;padding:0;font-size:.55rem;transition:color .18s;display:inline-flex}.case-study-toggle span{font-size:.9rem}.case-study-toggle:hover{color:var(--mint)}.supporting-projects{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1rem;margin-top:1rem;display:grid}.support-project{background:var(--surface);border:1px solid var(--line);height:100%;min-height:0;transition:border-color .25s ease, transform .25s var(--ease);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.support-project:hover{border-color:#7ce2c166;transform:translateY(-3px)}.support-visual{background:radial-gradient(circle at 50% 50%, #78a7ff14, transparent 40%), var(--bg);min-height:430px;padding:18px;position:relative;overflow:hidden}.support-visual-top{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;justify-content:space-between;font-size:.57rem;display:flex}.stockflow-window,.ecommerce-window{background:#0b111c;border:1px solid #bbcdeb29;border-radius:8px;position:absolute;inset:58px 7% 25px 10%;overflow:hidden;box-shadow:0 20px 55px #00000038}.mini-window-bar{color:#59677b;gap:15px;height:28px;font-size:.47rem}.mini-window-bar .window-controls i{width:5px;height:5px}.stockflow-app{grid-template-columns:70px 1fr;height:calc(100% - 28px);display:grid}.stockflow-app aside{color:#64738a;font-family:var(--font-mono);background:#0a101a;border-right:1px solid #bbcdeb1a;flex-direction:column;gap:13px;padding:13px 8px;font-size:.42rem;display:flex}.stockflow-app aside strong{color:var(--mint);font-family:var(--font-main);font-size:.8rem}.stockflow-app aside .mini-active{color:#dfe7f1}.stockflow-dashboard{padding:18px}.dashboard-title{justify-content:space-between;align-items:center;display:flex}.dashboard-title div{flex-direction:column;gap:3px;display:flex}.dashboard-title small,.dashboard-stats small,.inventory-heading,.store-app small{color:#5f6d82;font-family:var(--font-mono);letter-spacing:.08em;font-size:.42rem}.dashboard-title strong{color:#dce4ee;font-size:.68rem}.dashboard-title>span{color:var(--mint);font-family:var(--font-mono);border:1px solid #7ce2c133;padding:5px 7px;font-size:.4rem}.dashboard-stats{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:18px;display:grid}.dashboard-stats div{background:#ffffff06;border:1px solid #bbcdeb17;flex-direction:column;gap:4px;padding:9px;display:flex}.dashboard-stats strong{color:#e0e8f2;font-size:.82rem}.inventory-panel{background:#ffffff05;border:1px solid #bbcdeb14;margin-top:10px;padding:13px}.inventory-heading{justify-content:space-between;display:flex}.inventory-bars{align-items:end;gap:7px;height:120px;padding-top:18px;display:flex}.inventory-bars i{background:#7ce2c173;border-radius:2px 2px 0 0;flex:1;min-height:10px;display:block}.ecommerce-window{background:#0c1118}.store-app{height:calc(100% - 28px);padding:15px}.store-header{color:#718096;font-family:var(--font-mono);align-items:center;gap:13px;font-size:.42rem;display:flex}.store-header strong{color:#eef3f9;font-family:var(--font-main);margin-right:auto;font-size:.72rem}.store-hero{background:linear-gradient(135deg,#bd9dff1c,#ffffff04);border:1px solid #bbcdeb17;justify-content:space-between;min-height:125px;margin-top:18px;padding:18px;display:flex}.store-hero div{flex-direction:column;gap:8px;display:flex}.store-hero strong{color:#e8edf4;font-family:var(--font-display);font-size:1.4rem;font-weight:600;line-height:.95}.store-hero>span{color:#5f6d82;font-family:var(--font-mono);font-size:.42rem}.store-products{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px;display:grid}.store-product{background:#ffffff06;border:1px solid #bbcdeb14;flex-direction:column;justify-content:space-between;min-height:115px;padding:8px;display:flex}.store-product>span{background:linear-gradient(135deg,#7ce2c11f,#78a7ff14);height:73px;display:block}.store-product small{font-size:.36rem}.support-content{flex-direction:column;min-width:0;padding:42px 40px;display:flex}.support-meta .project-type{margin:0}.support-content h3{letter-spacing:-.055em;margin:34px 0 14px;font-size:clamp(2rem,3.2vw,3.4rem);line-height:.95}.support-content>p{max-width:560px;color:var(--muted);margin:0;font-size:.86rem;line-height:1.8}.support-case-summary{gap:13px;margin-top:30px;display:grid}.support-case-summary>div{border-bottom:1px solid var(--line);grid-template-columns:75px 1fr;gap:12px;padding-bottom:11px;display:grid}.support-case-summary span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:.51rem}.support-case-summary p{color:var(--text);margin:0;font-size:.68rem;line-height:1.5}.support-bottom{flex-direction:column;gap:13px;margin-top:auto;padding-top:24px;display:flex}.stack{flex-wrap:wrap;gap:6px;display:flex}.stack span{color:var(--muted);border:1px solid var(--line);font-family:var(--font-mono);padding:5px 8px;font-size:.5rem}.support-project-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.support-project-actions .case-study-toggle{margin-top:0}.more-work-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:30px;display:flex}.more-work-heading>span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;font-size:.58rem}.more-work-list{display:grid}.more-work-item{border-bottom:1px solid var(--line);grid-template-columns:55px minmax(180px,.75fr) 1fr auto;align-items:center;gap:25px;min-height:110px;transition:padding .2s,background .2s;display:grid}.more-work-item:hover{background:#7ce2c106;padding-inline:10px}.more-work-actions a:hover,.more-work-actions button:hover{color:var(--mint);border-color:var(--mint)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-card{background:var(--surface);border:1px solid var(--line);transition:transform .25s var(--ease), border-color .25s ease;overflow:hidden}.project-card:hover{border-color:#7ce2c166;transform:translateY(-3px)}.project-visual{background:radial-gradient(circle at center, #7ce2c114, transparent 42%), var(--bg);border-bottom:1px solid var(--line);place-items:center;min-height:230px;display:grid;position:relative}.project-visual>span{color:var(--muted);font-family:var(--font-mono);font-size:.57rem;position:absolute;top:16px;left:18px}.project-mark{color:var(--mint);font-family:var(--font-mono);opacity:.75;font-size:3rem}.project-content{padding:30px}.project-content .project-type{margin:0 0 14px}.project-content h3{letter-spacing:-.045em;margin:0 0 12px;font-size:1.8rem;line-height:1}.project-content>p{color:var(--muted);font-size:.8rem;line-height:1.75}.project-case-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:24px;display:grid}.project-case-grid>div{border-top:1px solid var(--line);padding-top:14px}.project-case-grid span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:.5rem}.project-case-grid p{color:var(--text);margin:7px 0 0;font-size:.66rem;line-height:1.6}.project-content ul{flex-wrap:wrap;gap:6px;margin-top:20px;list-style:none;display:flex}.project-content li{color:var(--muted);border:1px solid var(--line);font-family:var(--font-mono);padding:5px 8px;font-size:.48rem}.project-footer{border-top:1px solid var(--line);flex-direction:column;gap:12px;margin-top:25px;padding-top:20px;display:flex}.project-card-actions{justify-content:space-between;align-items:center;gap:15px;display:flex}.project-card-actions .case-study-toggle{margin-top:0}.section-heading-row{justify-content:space-between;align-items:end;gap:30px;margin-bottom:70px;display:flex}.section-heading-row h2{margin:16px 0 0;font-size:clamp(3rem,5.3vw,5.4rem);line-height:.94}.section-index{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.56rem}.experience-list{border-top:1px solid var(--line)}.experience-item{border-bottom:1px solid var(--line);grid-template-columns:190px 1fr;gap:55px;padding:40px 0;display:grid}.experience-meta{flex-direction:column;gap:16px;display:flex}.experience-number{color:var(--muted);font-family:var(--font-mono);font-size:.58rem}.experience-date{color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;font-size:.55rem}.experience-title-row{justify-content:space-between;align-items:start;gap:30px;display:flex}.experience-title-row h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.55rem,2.4vw,2.3rem);line-height:1.05}.experience-company{color:var(--mint);font-family:var(--font-mono);letter-spacing:.06em;margin:8px 0 0;font-size:.67rem}.experience-status{color:var(--mint);font-family:var(--font-mono);letter-spacing:.08em;border:1px solid #7ce2c140;padding:5px 8px;font-size:.48rem}.experience-description{max-width:800px;color:var(--muted);margin:22px 0 20px;font-size:.85rem;line-height:1.8}.experience-stack{flex-wrap:wrap;gap:7px;display:flex}.experience-stack span{color:var(--muted);border:1px solid var(--line);font-family:var(--font-mono);padding:5px 8px;font-size:.5rem}.experience-item.current .experience-number{color:var(--mint)}.achievement-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(210px,auto);gap:1px;display:grid;overflow:hidden}.achievement-card{background:var(--bg);flex-direction:column;min-height:210px;padding:2rem;transition:background .22s;display:flex}.achievement-card:hover{background:var(--surface)}.achievement-featured{grid-area:span 2/span 2;min-height:422px}.achievement-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.achievement-number,.achievement-type{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;font-size:.57rem}.achievement-featured .achievement-type{color:var(--mint)}.achievement-value strong{letter-spacing:-.065em;font-size:clamp(3.1rem,5vw,5.3rem);line-height:.82}.achievement-value span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:.6rem}.achievement-featured .achievement-value{margin-top:25px}.achievement-featured .achievement-value strong{font-size:clamp(5rem,8vw,7.5rem)}.achievement-card h3{margin:18px 0 7px;font-size:1rem;line-height:1.15}.achievement-card p{max-width:500px;color:var(--muted);margin:0;font-size:.68rem;line-height:1.7}.lift-breakdown{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:27px;display:grid}.lift-breakdown div{border-right:1px solid var(--line);flex-direction:column;gap:5px;padding:16px 14px 0;display:flex}.lift-breakdown div:last-child{border-right:0}.lift-breakdown strong{font-size:1.25rem}.lift-breakdown span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.07em;font-size:.5rem}.achievement-line{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin-top:auto;padding-top:16px;display:flex}.achievement-line span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:.48rem}.achievement-line strong{text-align:right;font-size:.54rem;font-weight:600}.achievement-medal strong{color:var(--mint)}.education-section{padding-top:145px;padding-bottom:120px}.education-layout{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.education-block,.certifications-block{background:var(--bg)}.education-block-header{border-bottom:1px solid var(--line);min-height:48px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;justify-content:space-between;align-items:center;padding:0 1.4rem;font-size:.58rem;display:flex}.education-card{flex-direction:column;min-height:420px;padding:2.5rem;display:flex}.education-date{color:var(--mint);font-family:var(--font-mono);letter-spacing:.08em;font-size:.58rem}.education-content{margin-top:auto}.education-content h3{letter-spacing:-.045em;max-width:580px;margin:0 0 10px;font-size:clamp(1.65rem,2.7vw,2.5rem);line-height:1.02}.education-institution{color:var(--mint);font-family:var(--font-mono);margin:0 0 22px;font-size:.67rem}.education-description{max-width:520px;color:var(--muted);margin:0 0 20px;font-size:.78rem;line-height:1.8}.education-tags{flex-wrap:wrap;gap:6px;display:flex}.education-tags span{color:var(--muted);border:1px solid var(--line);font-family:var(--font-mono);padding:5px 8px;font-size:.48rem}.certification-list{display:grid}.certification-item{border-bottom:1px solid var(--line);grid-template-columns:45px 1fr 30px;align-items:center;gap:16px;min-height:108px;padding:20px 24px;transition:padding .2s,background .2s;display:grid}.certification-item:last-child{border-bottom:0}.certification-item:hover{background:#7ce2c106;padding-left:30px}.certification-number{color:var(--muted);font-family:var(--font-mono);font-size:.55rem}.certification-info h3{margin:0 0 5px;font-size:.84rem;line-height:1.35}.certification-info p{color:var(--muted);font-family:var(--font-mono);margin:0;font-size:.53rem}.certification-arrow{color:var(--muted);transition:color .18s,transform .18s}.certification-item:hover .certification-arrow{color:var(--mint);transform:translate(2px,-2px)}.education-footer{justify-content:space-between;gap:30px;padding-top:22px;display:flex}.education-footer span{color:var(--mint);font-family:var(--font-mono);letter-spacing:.08em;font-size:.55rem}.education-footer p{max-width:480px;color:var(--muted);margin:0;font-size:.72rem}.contact-section{border-top:1px solid var(--line);padding-top:150px;padding-bottom:0}.contact-header{margin-bottom:72px}.contact-header h2{letter-spacing:-.065em;margin:17px 0 0;font-size:clamp(3.2rem,7vw,7.2rem);line-height:.9}.contact-layout{grid-template-columns:1.1fr .9fr;gap:6rem;padding-bottom:70px;display:grid}.contact-copy p{color:var(--muted);margin:0 0 22px;font-size:1rem;line-height:1.85}.contact-email{border-bottom:1px solid var(--line);width:max-content;max-width:100%;font-family:var(--font-mono);align-items:center;gap:14px;margin-top:20px;padding-bottom:10px;font-size:.75rem;transition:color .18s,gap .18s,border-color .18s;display:inline-flex}.contact-email:hover{color:var(--mint);border-color:var(--mint);gap:20px}.contact-email .brand-icon{width:20px;height:20px}.contact-social{border-bottom:1px solid var(--line);align-items:center;gap:18px;min-height:92px;padding:18px 0;transition:padding .18s,color .18s;display:flex}.contact-social .brand-icon{width:23px;height:23px}.contact-social>span{flex-direction:column;gap:4px;min-width:0;display:flex}.contact-social small{color:var(--muted);font-family:var(--font-mono);letter-spacing:.13em;font-size:.55rem}.contact-social strong{color:var(--text);overflow-wrap:anywhere;font-size:.88rem;font-weight:500}.contact-bottom{border-top:1px solid var(--line);min-height:58px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;justify-content:space-between;align-items:center;gap:30px;font-size:.59rem;display:flex}.contact-bottom span:first-child{color:var(--text)}.site-footer-simple{width:min(var(--container), calc(100% - 48px));border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;min-height:80px;margin-inline:auto;padding:24px 0 30px;display:flex}.footer-simple-brand{flex-direction:column;gap:5px;display:flex}.footer-simple-brand strong{letter-spacing:.12em;font-size:.68rem;font-weight:700}.footer-simple-brand span,.footer-simple-copy,.footer-top{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;font-size:.54rem}.footer-top{align-items:center;gap:7px;transition:color .18s;display:inline-flex}.footer-top:hover{color:var(--mint)}.footer-top span{color:currentColor;font-size:.8rem}.case-study-overlay{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#03070dd1;justify-content:center;align-items:center;padding:25px;animation:.18s modal-fade;display:flex;position:fixed;inset:0}.case-study-modal{background:var(--surface);border:1px solid var(--line-strong);width:min(920px,100%);max-height:min(850px,92vh);animation:modal-rise .28s var(--ease);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 35px 100px #0006}.case-study-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;min-height:100px;padding:24px 30px;display:flex}.case-study-modal-header>div{min-width:0}.case-study-modal-header>div>span{color:var(--mint);font-family:var(--font-mono);letter-spacing:.1em;font-size:.54rem}.case-study-modal-header h2{margin:8px 0 0;font-size:clamp(2rem,4vw,3.7rem);line-height:.95}.case-study-close{width:38px;height:38px;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;flex:none;place-items:center;transition:color .18s,border-color .18s;display:grid}.case-study-close:hover{color:var(--mint);border-color:var(--mint)}.case-study-modal-body{padding:30px;overflow-y:auto}.case-study{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.case-study-section{background:var(--bg);min-height:145px;padding:22px}.case-study-section>span{color:var(--mint);font-family:var(--font-mono);letter-spacing:.1em;font-size:.53rem}.case-study-section p{color:var(--muted);margin:12px 0 0;font-size:.76rem;line-height:1.8}.case-study-features{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.case-study-features span{color:var(--text);border:1px solid var(--line);font-family:var(--font-mono);padding:5px 8px;font-size:.5rem}.case-study-modal-body>.project-links{margin-top:18px}.reveal{animation:section-reveal .7s var(--ease) both}@keyframes section-reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ambient-drift{0%{background-position:0 0,100% 0,0 0,0 0}to{background-position:28px 16px,calc(100% - 24px) 18px,0 0,0 0}}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(20px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1100px){.hero,.flagship-project{grid-template-columns:1fr .8fr}.flagship-content{padding:40px 30px}.about-body{gap:4rem}.experience-item{grid-template-columns:155px 1fr;gap:35px}}@media (width<=980px){.section{padding-top:100px;padding-bottom:100px}.hero{grid-template-columns:1fr;min-height:auto;padding-top:55px}.hero-copy{max-width:850px}.hero-art{height:500px;margin-top:20px}.about-intro,.about-body,.about-bottom{grid-template-columns:1fr}.about-body{gap:4rem}.about-bottom{gap:35px}.skills-header{grid-template-columns:1fr;gap:2rem}.skills-intro{margin:0}.skills-layout{grid-template-columns:1fr}.projects-header{flex-direction:column;align-items:start}.flagship-project{grid-template-columns:1fr}.flagship-visual{min-height:620px}.flagship-content{border-left:0;border-top:1px solid var(--line)}.support-project{grid-template-columns:1fr}.support-visual{min-height:420px}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-featured{grid-area:span 1/span 2;min-height:350px}.education-layout{grid-template-columns:1fr}.education-card{min-height:350px}.contact-layout{grid-template-columns:1fr;gap:4rem}.case-study{grid-template-columns:1fr}}@media (width<=760px){.section,.site-footer-simple{width:min(100% - 32px, var(--container))}.site-header{width:min(100% - 32px, var(--header-container));height:66px}.site-header nav{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:stretch;gap:0;min-width:190px;padding:10px;display:none;position:absolute;top:61px;right:0;box-shadow:0 20px 50px #0003}.site-header nav.open{display:flex}.site-header nav a{border-bottom:1px solid var(--line);padding:12px 10px}.site-header nav a:last-child{border-bottom:0}.menu-button{display:grid}.hero{padding-top:46px;padding-bottom:70px}.hero h1{font-size:clamp(2.8rem,11vw,4.3rem)}.hero .lede{font-size:.9rem}.hero-trail{gap:.75rem;margin-top:25px}.hero-trail span,.hero-trail strong{font-size:.7rem}.hero-art{height:390px;margin-top:10px}.orbit{width:300px;height:300px}.orbit-two{width:220px;height:220px}.portrait-frame{width:245px;height:310px}.hero-stamp{width:82px;height:82px;font-size:.56rem;bottom:2px;right:3px}.section{padding-top:80px;padding-bottom:80px}.about-intro{margin-top:45px}.about-intro h2{font-size:clamp(2.8rem,11vw,4rem)}.about-body{margin-top:55px}.journey-step{grid-template-columns:34px 1fr;gap:16px;min-height:78px}.journey-number{width:32px;height:32px;font-size:.56rem}.journey-line{left:15px}.journey-step strong{font-size:.9rem}.journey-step span:not(.journey-number){font-size:.65rem}.mini-stats{gap:25px}.mini-stats strong{font-size:1.45rem}.mini-stats span{font-size:.62rem}.skills-section,.projects-section,.experience-section,.achievements-section,.education-section{padding-top:85px;padding-bottom:85px}.skills-header h2,.projects-header h2,.section-heading-row h2{font-size:clamp(2.8rem,11vw,4.3rem)}.skills-layout{gap:10px}.skill-panel{padding:1.5rem}.skill-panel.primary{min-height:auto}.skill-panel-top{margin-bottom:2rem}.skill-tools{grid-template-columns:1fr;gap:1.4rem;padding:1.4rem 1.5rem}.skill-code{display:none}.projects-header{margin-bottom:3rem}.filters{width:100%}.flagship-visual{min-height:510px;padding:12px}.line-1{width:100px}.line-2,.line-3{width:95px}.line-4{width:90px}.line-5{width:85px}.flagship-content{padding:35px 25px}.flagship-content h3{font-size:3.1rem}.flagship-info>div{grid-template-columns:90px 1fr}.support-visual{min-height:350px}.stockflow-window,.ecommerce-window{inset:52px 5% 18px 7%}.more-work{margin-top:75px}.more-work-heading{flex-direction:column;align-items:start;gap:20px}.more-work-item{grid-template-columns:35px 1fr auto;gap:15px}.more-description{display:none}.project-grid{grid-template-columns:1fr}.experience-item{grid-template-columns:1fr;gap:20px;padding:30px 0}.experience-meta{flex-direction:row;justify-content:space-between}.experience-title-row{flex-direction:column;gap:15px}.achievement-grid{grid-template-columns:1fr}.achievement-featured{grid-area:auto;min-height:390px}.achievement-card{min-height:230px}.achievement-featured .achievement-value strong{font-size:clamp(5rem,20vw,7rem)}.education-card{min-height:350px;padding:2rem}.education-content h3{font-size:2rem}.education-footer{flex-direction:column;gap:10px}.contact-section{padding-top:90px}.contact-header{margin-bottom:50px}.contact-header h2{font-size:clamp(3rem,13vw,5rem)}.contact-layout{gap:45px;padding-bottom:50px}.contact-copy p{font-size:.88rem}.contact-bottom{flex-direction:column;align-items:flex-start;gap:9px;min-height:auto;padding:18px 0}.site-footer-simple{flex-direction:column;align-items:flex-start;gap:16px;padding:25px 0}.footer-top{margin-top:4px}.case-study-overlay{padding:12px}.case-study-modal{max-height:94vh}.case-study-modal-header,.case-study-modal-body{padding:20px}}@media (width<=520px){.site-header{height:62px}.brand{font-size:1.18rem}.hero{padding-top:40px}.hero h1{font-size:clamp(2.65rem,12vw,3.7rem)}.hero .lede{font-size:.84rem;line-height:1.75}.hero-trail{gap:.55rem}.hero-trail span,.hero-trail strong{font-size:.62rem}.actions{width:100%}.button{flex:1}.socials{gap:15px}.hero-art{height:350px}.orbit{width:270px;height:270px}.orbit-two{width:195px;height:195px}.portrait-frame{width:220px;height:285px}.hero-stamp{width:72px;height:72px;font-size:.5rem;right:0}.about-label,.section-index{display:none}.about-intro h2,.skills-header h2,.projects-header h2,.section-heading-row h2{font-size:clamp(2.7rem,13vw,3.8rem)}.about-story p{font-size:.87rem}.about-bottom{margin-top:50px}.mini-stats{gap:18px}.mini-stats strong{font-size:1.25rem}.mini-stats span{font-size:.55rem}.skill-panel{padding:1.25rem}.skill-panel h3{font-size:1.35rem}.skill-tags{gap:5px}.skill-tags span{padding:.4rem .58rem;font-size:.59rem}.flagship-visual{min-height:440px}.project-visual-header{font-size:.48rem}.node-python{left:5%}.node-math{left:38%}.node-data{left:66%}.node-ml{left:7%}.node-api{left:40%}.node-ai{left:67%}.line-1{width:80px}.line-2,.line-3{width:70px}.line-4{width:75px}.line-5{width:65px}.flagship-content{padding:30px 20px}.flagship-content h3{font-size:2.8rem}.flagship-lede{font-size:.88rem}.flagship-description{font-size:.77rem}.flagship-info{gap:12px;margin-top:25px}.flagship-info>div{grid-template-columns:75px 1fr;gap:10px}.flagship-info span,.flagship-result>span{font-size:.45rem}.flagship-info strong{font-size:.61rem}.support-visual{min-height:300px}.stockflow-window,.ecommerce-window{left:5%;right:4%}.stockflow-dashboard{padding:11px}.dashboard-stats{gap:4px}.dashboard-stats div{padding:6px}.dashboard-stats strong{font-size:.65rem}.inventory-bars{height:80px}.store-app{padding:10px}.store-header span{display:none}.store-hero{min-height:100px;padding:12px}.store-hero strong{font-size:1.05rem}.store-products{display:none}.support-content{padding:30px 20px}.support-content h3{font-size:2.2rem}.support-case-summary>div{grid-template-columns:65px 1fr}.support-project-actions{flex-direction:column;align-items:flex-start}.more-work-item{min-height:95px}.more-work-item h4{font-size:.82rem}.project-content{padding:22px}.project-case-grid{grid-template-columns:1fr;gap:10px}.project-card-actions{flex-direction:column;align-items:flex-start}.experience-title-row h3{font-size:1.45rem}.experience-description{font-size:.76rem}.achievement-card{min-height:220px;padding:18px}.achievement-featured{min-height:440px;padding:25px}.achievement-featured .achievement-value strong{font-size:5rem}.achievement-card p{font-size:.62rem}.lift-breakdown{margin-top:22px}.lift-breakdown div{padding:12px 8px 0}.lift-breakdown strong{font-size:1rem}.lift-breakdown span{font-size:.43rem}.achievement-line{flex-direction:column;align-items:flex-start;gap:5px}.achievement-line strong{text-align:left}.education-card{min-height:390px;padding:1.5rem}.education-content h3{font-size:1.65rem}.certification-item{grid-template-columns:30px 1fr 20px;gap:10px;padding:18px}.certification-info h3{font-size:.72rem}.contact-header h2{font-size:clamp(2.8rem,14vw,4rem)}.contact-social{min-height:78px}.contact-social strong{font-size:.76rem}.contact-email{justify-content:space-between;width:100%;font-size:.65rem}.contact-email span{flex:1}.case-study-section{min-height:auto;padding:18px}.case-study-section p{font-size:.68rem}.case-study-modal-header{min-height:85px;padding:17px}.case-study-modal-body{padding:14px}}@media (width<=380px){.section,.site-footer-simple,.site-header{width:calc(100% - 24px)}.hero h1{font-size:2.5rem}.hero-art{height:325px}.portrait-frame{width:205px;height:270px}.orbit{width:250px;height:250px}.orbit-two{width:180px;height:180px}.hero-stamp{width:65px;height:65px;font-size:.45rem}.mini-stats{flex-wrap:wrap}.mini-stats div{min-width:70px}.flagship-content h3{font-size:2.5rem}.achievement-featured .achievement-value strong{font-size:4.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--motion-fast:.18s;--motion-normal:.42s;--motion-slow:.7s;--motion-ease:cubic-bezier(.22, 1, .36, 1)}.reveal{opacity:0;transition:opacity .7s var(--motion-ease), transform .7s var(--motion-ease);will-change:opacity, transform;transform:translateY(32px)}.reveal .section-kicker,.reveal .section-title,.reveal .about-intro,.reveal .about-body,.reveal .about-bottom,.reveal .skill-group,.reveal .project-card,.reveal .featured-project,.reveal .experience-item,.reveal .achievement-card,.reveal .education-item,.reveal .certificate-item,.reveal .contact-copy,.reveal .contact-details{opacity:0;transition:opacity .6s var(--motion-ease), transform .6s var(--motion-ease);transform:translateY(18px)}.reveal.visible .section-kicker{opacity:1;transition-delay:60ms;transform:translateY(0)}.reveal.visible .section-title{opacity:1;transition-delay:.1s;transform:translateY(0)}.reveal.visible .about-intro,.reveal.visible .about-body,.reveal.visible .about-bottom,.reveal.visible .contact-copy,.reveal.visible .contact-details{opacity:1;transition-delay:.15s;transform:translateY(0)}.hero .eyebrow,.hero h1,.hero-description,.hero-trail,.hero-actions,.hero-socials,.hero-art{opacity:0;animation:hero-enter .9s var(--motion-ease) forwards;transform:translateY(28px)}.hero .eyebrow{animation-delay:.1s}.hero h1{animation-delay:.18s}.hero-description{animation-delay:.28s}.hero-trail{animation-delay:.36s}.hero-actions{animation-delay:.44s}.hero-socials{animation-delay:.5s}.hero-art{animation-delay:.18s}@keyframes hero-enter{to{opacity:1;transform:translateY(0)}}.hero{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:center;gap:clamp(3rem,5vw,6rem);min-height:calc(100vh - 76px);padding-top:55px;padding-bottom:70px;display:grid}.hero h1{letter-spacing:-.065em;max-width:780px;margin:24px 0 28px;font-size:clamp(4rem,6vw,6.8rem);line-height:.92}.hero .lede{max-width:650px;margin:0;font-size:1rem;line-height:1.8}.hero-trail{flex-wrap:wrap;align-items:center;gap:1.15rem;margin-top:28px;display:flex}.hero .actions{flex-wrap:nowrap;align-items:center;gap:10px;margin:30px 0 20px;display:flex}.hero .actions .button{white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:8px;width:auto;display:inline-flex}.hero .actions .button .icon{flex:0 0 14px;width:14px;height:14px}.hero .socials{flex-flow:row;justify-content:flex-start;align-items:center;gap:24px;margin-top:0;display:flex}.hero .socials a{color:var(--muted);white-space:nowrap!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:7px!important;width:auto!important;min-width:0!important;display:inline-flex!important}.hero .socials a .icon{flex:0 0 16px;width:16px;height:16px}.hero .socials a .icon:last-child{flex:0 0 12px;width:12px;height:12px}.hero-art .orbit,.hero-art .orbit-one,.hero-art .orbit-two,.hero-art:before,.hero-art:after{display:none!important}.hero-art .hero-grid{opacity:.14;pointer-events:none;position:absolute;inset:8% 0}@media (width<=980px){.hero{grid-template-columns:1fr;gap:20px;min-height:auto}.hero-copy{max-width:850px}.hero-art{height:540px;min-height:540px;margin-top:20px}}@media (width<=760px){.hero{padding-top:45px;padding-bottom:65px}.hero h1{font-size:clamp(3rem,12vw,4.5rem)}.hero .lede{font-size:.95rem}.hero-trail{gap:.7rem}.hero .actions{flex-wrap:wrap}.hero .socials{flex-wrap:wrap;gap:18px}.hero-art{height:470px;min-height:470px}.hero-art .portrait-frame{width:285px;height:380px}.hero-art .hero-stamp{width:78px;height:78px;font-size:.53rem;bottom:3%;right:3%}}@media (width<=520px){.hero{width:min(var(--container), calc(100% - 32px))}.hero .actions,.hero .socials{flex-wrap:wrap}.hero-art{height:420px;min-height:420px}.hero-art .portrait-frame{width:260px;height:345px}.hero-art .hero-stamp{bottom:1%;right:0}}.hero-actions a,.project-links a,.project-card-actions a,.more-work-actions a,.contact-email{transition:transform var(--motion-fast) var(--motion-ease), border-color var(--motion-normal) ease, background var(--motion-normal) ease, color var(--motion-normal) ease}.hero-actions a:hover,.project-links a:hover,.project-card-actions a:hover,.more-work-actions a:hover,.contact-email:hover{transform:translateY(-2px)}.hero-actions .icon,.project-links .icon,.project-card-actions .icon,.more-work-actions .icon,.contact-email .icon,.footer-top span{transition:transform var(--motion-fast) var(--motion-ease)}.hero-actions a:hover .icon,.project-links a:hover .icon,.project-card-actions a:hover .icon,.more-work-actions a:hover .icon,.contact-email:hover .icon,.footer-top:hover span{transform:translate(4px)}.featured-project,.project-card{transition:transform .45s var(--motion-ease), border-color .35s ease, background .35s ease}.featured-project:hover,.project-card:hover{transform:translateY(-5px)}.featured-project .project-visual,.featured-project .flagship-visual,.project-card .project-visual{overflow:hidden}.featured-project img,.project-card img{transition:transform .8s var(--motion-ease), filter .5s ease}.featured-project:hover img,.project-card:hover img{transform:scale(1.025)}.flagship-visual{transition:transform .6s var(--motion-ease), box-shadow .6s ease}.featured-project:hover .flagship-visual{transform:translateY(-2px)}.stockflow-window,.ecommerce-window{transition:transform .5s var(--motion-ease), box-shadow .5s ease}.featured-project:hover .stockflow-window,.project-card:hover .stockflow-window,.featured-project:hover .ecommerce-window{transform:translateY(-3px)}.inventory-bars span,.inventory-bar,.stock-bar{transform-origin:bottom;animation:bar-rise .9s var(--motion-ease) both}.inventory-bars span:nth-child(2),.inventory-bar:nth-child(2),.stock-bar:nth-child(2){animation-delay:80ms}.inventory-bars span:nth-child(3),.inventory-bar:nth-child(3),.stock-bar:nth-child(3){animation-delay:.16s}.inventory-bars span:nth-child(4),.inventory-bar:nth-child(4),.stock-bar:nth-child(4){animation-delay:.24s}@keyframes bar-rise{0%{opacity:.4;transform:scaleY(.35)}to{opacity:1;transform:scaleY(1)}}.store-product,.project-product{transition:transform .35s var(--motion-ease), border-color .3s ease}.store-product:hover,.project-product:hover{transform:translateY(-4px)}.skill-group:hover{transform:translateY(-3px)}.skill-group li{transition:color .22s ease, transform .22s var(--motion-ease)}.skill-group li:hover{color:var(--text);transform:translate(4px)}.journey-step{transition:transform .4s var(--motion-ease), border-color .3s ease}.journey-step:hover{transform:translate(5px)}.journey-number{transition:color .3s ease, transform .35s var(--motion-ease)}.journey-step:hover .journey-number{color:var(--mint);transform:translate(3px)}.achievement-card{transition:transform .45s var(--motion-ease), background .35s ease, border-color .35s ease}.achievement-card:hover{z-index:2;transform:translateY(-4px)}.achievement-featured:hover{transform:translateY(-5px)}.achievement-value strong{transition:letter-spacing .5s var(--motion-ease), transform .5s var(--motion-ease)}.achievement-card:hover .achievement-value strong{letter-spacing:-.035em}.education-item,.certificate-item{transition:transform .35s var(--motion-ease), border-color .3s ease}.education-item:hover,.certificate-item:hover{transform:translate(4px)}.contact-social{transition:transform .35s var(--motion-ease), border-color .3s ease}.contact-social:hover{transform:translate(6px)}.contact-social .brand-icon{transition:transform .35s var(--motion-ease), color .3s ease}.contact-social:hover .brand-icon{color:var(--mint);transform:scale(1.08)}.case-study-overlay{opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.case-study-overlay.open,.case-study-overlay.active{opacity:1;visibility:visible}.case-study-modal{opacity:0;transition:opacity .45s var(--motion-ease), transform .45s var(--motion-ease);transform:translateY(30px)scale(.98)}.case-study-overlay.open .case-study-modal,.case-study-overlay.active .case-study-modal{opacity:1;transform:translateY(0)scale(1)}.case-study-close{transition:transform .25s var(--motion-ease), background .25s ease}.case-study-close:hover{transform:rotate(90deg)}.mobile-menu,.nav-menu{transition:opacity .3s ease, transform .35s var(--motion-ease), visibility .3s ease}.hero-grid{animation:8s ease-in-out infinite grid-breathe}@keyframes grid-breathe{0%,to{opacity:.45}50%{opacity:.62}}.footer-nav a,.nav-links a{position:relative}.footer-nav a:after,.nav-links a:after{content:"";transform-origin:100%;width:100%;height:1px;transition:transform .3s var(--motion-ease);background:currentColor;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.footer-nav a:hover:after,.nav-links a:hover:after{transform-origin:0;transform:scaleX(1)}.case-study-toggle{transition:transform .3s var(--motion-ease), color .25s ease}.case-study-toggle:hover{transform:translate(4px)}.case-study-toggle .icon{transition:transform .3s var(--motion-ease)}.case-study-toggle:hover .icon{transform:translate(4px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.reveal .section-kicker,.reveal .section-title,.reveal .about-intro,.reveal .about-body,.reveal .about-bottom,.reveal .skill-group,.reveal .project-card,.reveal .featured-project,.reveal .experience-item,.reveal .achievement-card,.reveal .education-item,.reveal .certificate-item,.reveal .contact-copy,.reveal .contact-details{opacity:1!important;transform:none!important}}@media (width<=760px){.portrait-frame{animation:portrait-enter .8s var(--motion-ease) .18s both, portrait-float 9s ease-in-out 1s infinite}.orbit-one{animation-duration:32s}.orbit-two{animation-duration:40s}.featured-project:hover,.project-card:hover,.achievement-card:hover{transform:translateY(-2px)}.contact-social:hover{transform:translate(3px)}}.reveal.visible .section-kicker,.reveal.visible h2,.reveal.visible .body-copy,.reveal.visible .skills-intro,.reveal.visible .skills-layout,.reveal.visible .about-body,.reveal.visible .about-bottom,.reveal.visible .featured-project,.reveal.visible .project-card,.reveal.visible .experience-item,.reveal.visible .achievement-card,.reveal.visible .education-card,.reveal.visible .contact-copy,.reveal.visible .contact-details,.reveal.visible .contact-bottom{animation:.65s cubic-bezier(.22,1,.36,1) both content-rise}.reveal.visible .featured-project{animation-delay:.1s}@keyframes content-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.reveal,.reveal.visible,.reveal.visible>*,.reveal.visible .section-kicker,.reveal.visible h2,.reveal.visible .body-copy,.reveal.visible .skills-intro,.reveal.visible .skills-layout,.reveal.visible .about-body,.reveal.visible .about-bottom,.reveal.visible .featured-project,.reveal.visible .project-card,.reveal.visible .experience-item,.reveal.visible .achievement-card,.reveal.visible .education-card,.reveal.visible .contact-copy,.reveal.visible .contact-details,.reveal.visible .contact-bottom{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}html{scroll-behavior:smooth}body{overflow-x:hidden}.section{position:relative}.hero{grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);align-items:center;gap:clamp(3rem,6vw,7rem);min-height:calc(100vh - 80px)}.hero-copy{z-index:3;position:relative}.hero h1{letter-spacing:-.065em;max-width:850px;font-size:clamp(4rem,6.8vw,7.4rem);line-height:.9}.hero .lede{max-width:760px;margin-top:34px;font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.75}.hero .actions{margin-top:38px}.hero .socials{margin-top:34px}.hero-trail{letter-spacing:.04em;gap:1.25rem;margin-top:32px;font-size:clamp(.85rem,1.2vw,1.05rem)}.hero-art{height:min(72vh,760px);min-height:650px}.portrait-frame{width:min(72%,430px);height:min(76%,550px)}.hero-stamp{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s;transform:rotate(7deg)}.hero-stamp:hover{transform:rotate(2deg)translateY(-8px)}.hero-grid,.orbit{opacity:.8}.button{transition:transform .22s,background .22s,border-color .22s,color .22s}.button:hover{transform:translateY(-3px)}.button.primary:hover{box-shadow:0 12px 35px #7ce2c124}.button.secondary:hover{border-color:var(--mint);color:var(--mint)}.split-section{padding-top:clamp(110px,13vw,180px);padding-bottom:clamp(110px,13vw,180px)}.split-section>div{max-width:1180px;margin-left:auto}.split-section h2{letter-spacing:-.06em;max-width:900px;font-size:clamp(3rem,5.5vw,6.2rem);line-height:.94}.body-copy{max-width:900px;font-size:clamp(1rem,1.45vw,1.2rem);line-height:1.9}.about-body{grid-template-columns:.82fr 1.18fr;gap:clamp(3rem,6vw,7rem)}.journey-step{grid-template-columns:42px 1fr;gap:22px;min-height:105px}.journey-number{font-size:.7rem}.journey-step h3{font-size:1.08rem}.journey-step p{font-size:.82rem;line-height:1.6}.about-bottom{margin-top:60px}.about-note strong{font-size:1.1rem}.mini-stats{gap:52px}.mini-stats strong{font-size:2.15rem}.skills-section{padding-top:clamp(100px,12vw,170px);padding-bottom:clamp(100px,12vw,170px)}.skills-header{margin-bottom:65px}.skills-intro{font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.8}.skill-group{transition:transform .28s,border-color .28s,background .28s}.skill-group:hover{border-color:#7ce2c14d;transform:translateY(-5px)}.projects-section{padding-top:clamp(110px,13vw,180px);padding-bottom:clamp(110px,13vw,180px)}.flagship-project{border-radius:24px;transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .35s,box-shadow .35s;overflow:hidden}.flagship-project:hover{border-color:#7ce2c147;transform:translateY(-6px);box-shadow:0 24px 70px #00000040}.flagship-visual{min-height:590px}.flagship-content{padding:clamp(2rem,4vw,4.5rem)}.flagship-content h3{font-size:clamp(2.4rem,4.5vw,5rem);line-height:.94}.supporting-projects{gap:18px}.supporting-project,.project-card{border-radius:20px;transition:transform .28s cubic-bezier(.22,1,.36,1),border-color .28s,box-shadow .28s;overflow:hidden}.supporting-project:hover,.project-card:hover{border-color:#7ce2c140;transform:translateY(-6px);box-shadow:0 20px 50px #0003}.project-card{min-height:280px}.real-graph-node{transition:transform .3s,border-color .3s,background .3s}.real-graph-node:hover{border-color:var(--mint);transform:translateY(-5px)scale(1.04)}.graph-center{animation:3.5s ease-in-out infinite graph-pulse}.real-line-a,.real-line-b,.real-line-c,.real-line-d{transform-origin:50%;animation:4s ease-in-out infinite graph-line-pulse}.real-line-b{animation-delay:.7s}.real-line-c{animation-delay:1.2s}.real-line-d{animation-delay:1.8s}@keyframes graph-pulse{0%,to{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes graph-line-pulse{0%,to{opacity:.35}50%{opacity:.85}}.case-study{border-radius:20px;overflow:hidden}.case-study-section{padding:30px}.case-study-features{gap:10px}.project-links a,.featured-project-links a{transition:transform .22s,color .22s,border-color .22s}.project-links a:hover,.featured-project-links a:hover{color:var(--mint);transform:translateY(-2px)}.experience-section{padding-top:clamp(110px,13vw,180px);padding-bottom:clamp(110px,13vw,180px)}.experience-item{transition:padding-left .3s,border-color .3s}.experience-item:hover{padding-left:12px}.experience-stack span{transition:background .18s,color .18s,border-color .18s}.achievements-section{padding-top:clamp(110px,13vw,180px);padding-bottom:clamp(110px,13vw,180px)}.achievement-grid{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.achievement-card{border:1px solid var(--line);background:var(--surface);border-radius:22px;flex-direction:column;min-height:280px;padding:clamp(1.8rem,3vw,3rem);transition:transform .32s cubic-bezier(.22,1,.36,1),border-color .32s,box-shadow .32s;display:flex}.achievement-card:hover{border-color:#7ce2c14d;transform:translateY(-7px);box-shadow:0 22px 55px #00000038}.achievement-featured{grid-column:1/-1;justify-content:center;min-height:400px}.achievement-top{justify-content:space-between;align-items:center;display:flex}.achievement-number,.achievement-type{letter-spacing:.12em;font-family:DM Mono,monospace;font-size:.58rem}.achievement-type{color:var(--mint)}.achievement-value{align-items:baseline;gap:7px;margin-top:30px;display:flex}.achievement-featured .achievement-value strong{letter-spacing:-.08em;font-size:clamp(5rem,9vw,8rem);line-height:.8}.achievement-value span{color:var(--mint);font-family:DM Mono,monospace;font-size:1rem}.achievement-card>strong{letter-spacing:-.07em;margin-top:35px;font-size:clamp(3rem,5vw,5rem);line-height:.85}.achievement-card h3{margin-top:24px;font-size:1.05rem}.achievement-card p{max-width:560px;color:var(--muted);margin-top:10px;line-height:1.65}.medals{flex-wrap:wrap;gap:9px;margin-top:30px;display:flex}.medals span{border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:.7rem}.education{padding-top:clamp(110px,13vw,180px);padding-bottom:clamp(110px,13vw,180px)}.education-card{border-radius:22px;transition:border-color .3s,box-shadow .3s;overflow:hidden}.education-card:hover{border-color:#7ce2c138}.contact{padding-top:clamp(110px,13vw,180px);padding-bottom:0}.contact-header h2,.contact h2{letter-spacing:-.065em;font-size:clamp(3.3rem,6.5vw,7rem);line-height:.9}.contact-layout{gap:clamp(3rem,7vw,7rem)}.contact-copy{max-width:700px}.contact-copy p{font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.8}.contact-email{margin-top:38px;transition:gap .22s,color .22s,border-color .22s}.contact-email:hover{color:var(--mint);gap:20px}.contact-details{border-top:1px solid var(--line)}.contact-social{min-height:96px;transition:padding-left .22s,color .22s}.contact-social:hover{color:var(--mint);padding-left:10px}.site-footer-simple{min-height:100px;margin-top:0}.footer-top{transition:color .2s,transform .2s}.footer-top:hover{transform:translateY(-2px)}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(38px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal.visible .section-kicker{animation:.65s cubic-bezier(.22,1,.36,1) 50ms both reveal-up}.reveal.visible h2{animation:.7s cubic-bezier(.22,1,.36,1) .1s both reveal-up}.reveal.visible .body-copy{animation:.7s cubic-bezier(.22,1,.36,1) .18s both reveal-up}.reveal.visible .about-body,.reveal.visible .skills-layout{animation:.7s cubic-bezier(.22,1,.36,1) .22s both reveal-up}.reveal.visible .about-bottom{animation:.7s cubic-bezier(.22,1,.36,1) .28s both reveal-up}.reveal.visible .featured-project{animation:.75s cubic-bezier(.22,1,.36,1) .1s both reveal-up}.reveal.visible .supporting-project,.reveal.visible .project-card{animation:.65s cubic-bezier(.22,1,.36,1) both reveal-up}.reveal.visible .supporting-project:nth-child(2){animation-delay:.12s}.reveal.visible .project-card:nth-child(2){animation-delay:.1s}.reveal.visible .project-card:nth-child(3){animation-delay:.18s}.reveal.visible .experience-item{animation:.65s cubic-bezier(.22,1,.36,1) both reveal-up}.reveal.visible .experience-item:nth-child(2){animation-delay:.1s}.reveal.visible .experience-item:nth-child(3){animation-delay:.2s}.reveal.visible .achievement-card{animation:.65s cubic-bezier(.22,1,.36,1) both reveal-up}.reveal.visible .achievement-card:nth-child(2){animation-delay:80ms}.reveal.visible .achievement-card:nth-child(3){animation-delay:.15s}.reveal.visible .achievement-card:nth-child(4){animation-delay:.22s}.reveal.visible .achievement-card:nth-child(5){animation-delay:.29s}.reveal.visible .achievement-card:nth-child(6){animation-delay:.36s}@keyframes reveal-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-copy{animation:.9s cubic-bezier(.22,1,.36,1) both hero-copy-in}.hero-art{animation:1.1s cubic-bezier(.22,1,.36,1) .12s both hero-art-in}@keyframes hero-copy-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-art-in{0%{opacity:0;transform:translateY(35px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.pulse{animation:2.4s ease-in-out infinite status-pulse}@keyframes status-pulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.hero-stamp{animation:.9s cubic-bezier(.22,1,.36,1) .7s both stamp-in,5s ease-in-out 1.8s infinite stamp-float}@keyframes stamp-in{0%{opacity:0;transform:translateY(25px)rotate(14deg)}to{opacity:1;transform:translateY(0)rotate(7deg)}}@keyframes stamp-float{0%,to{translate:0}50%{translate:0 -8px}}.orbit-one{animation:22s linear infinite orbit-rotate}.orbit-two{animation:17s linear infinite orbit-rotate-reverse}@keyframes orbit-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit-rotate-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.reveal.visible{opacity:1!important;transform:none!important}}@media (width<=980px){.hero{grid-template-columns:1fr;gap:2rem}.hero-copy{max-width:900px}.hero-art{height:650px;min-height:580px;margin-top:10px}.about-body{grid-template-columns:1fr;gap:4rem}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-featured{grid-column:1/-1}.contact-layout{grid-template-columns:1fr}}@media (width<=760px){.hero{min-height:auto;padding-top:50px}.hero h1{font-size:clamp(3rem,12vw,4.6rem)}.hero .lede{font-size:1rem}.hero-art{height:500px;min-height:460px}.portrait-frame{width:72%;height:78%}.hero-stamp{bottom:5%;right:2%}.achievement-grid{grid-template-columns:1fr;gap:14px}.achievement-featured{grid-column:auto;min-height:360px}.achievement-card{min-height:240px}.achievement-featured .achievement-value strong{font-size:clamp(4.5rem,20vw,7rem)}.contact-social{min-height:82px}.site-footer-simple{flex-direction:column;align-items:flex-start;gap:18px;width:min(100% - 32px,1160px)}}@media (width<=520px){.hero-art{height:420px;min-height:390px}.portrait-frame{width:75%;height:76%}.hero-stamp{padding:14px;font-size:.65rem}.hero-trail{flex-wrap:wrap;gap:.7rem;font-size:.75rem}.actions{flex-wrap:wrap}.button{width:auto}.achievement-card{border-radius:18px;padding:1.5rem}.achievement-featured{min-height:330px}.medals{flex-direction:column;align-items:flex-start}.contact-email{font-size:.85rem}}.hero-art{place-items:center;height:610px;min-height:610px;display:grid;position:relative;overflow:visible}.hero-art:before{content:"";pointer-events:none;z-index:0;background:#7ce2c104;border:1px solid #7ce2c129;width:430px;height:430px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(8deg)}.hero-art:after{content:"";pointer-events:none;z-index:0;border:1px solid #bbcdeb17;width:390px;height:470px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-7deg)}.hero-art .portrait-frame{background:var(--surface);border:1px solid var(--line-strong);z-index:3;width:330px;height:445px;position:relative;top:auto;left:auto;overflow:hidden;transform:none;box-shadow:24px 24px #7ce2c112,0 25px 70px #0003}.hero-art .portrait-frame img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.hero-art .portrait-frame:after{content:"";pointer-events:none;z-index:2;border:1px solid #ffffff2e;position:absolute;inset:12px}.hero-art .hero-stamp{z-index:5;color:#092019;background:var(--mint);width:94px;height:94px;font-family:var(--font-mono);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:.62rem;line-height:1.45;display:flex;position:absolute;bottom:8%;right:4%;transform:rotate(7deg)}@media (width<=760px){.hero-art{height:470px;min-height:470px}.hero-art:before{width:350px;height:350px}.hero-art:after{width:320px;height:390px}.hero-art .portrait-frame{width:285px;height:380px}.hero-art .hero-stamp{width:78px;height:78px;font-size:.53rem;bottom:3%;right:3%}}@media (width<=520px){.hero-art{height:420px;min-height:420px}.hero-art:before{width:310px;height:310px}.hero-art:after{width:280px;height:350px}.hero-art .portrait-frame{width:260px;height:345px}.hero-art .hero-stamp{bottom:1%;right:0}}.hero .actions{align-items:center;gap:10px;margin:30px 0 20px;display:flex}.hero .actions .button{white-space:nowrap;flex:none;justify-content:center;align-items:center;width:auto;display:inline-flex}.hero .hero-trail{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:28px;display:flex}.hero .trail-arrow{color:var(--muted-2);align-items:center;font-size:1rem;line-height:1;display:inline-flex}.hero .socials{flex-direction:row;align-items:center;gap:26px;margin-top:0;display:flex}.hero .socials a{color:var(--muted);text-decoration:none;white-space:nowrap!important;flex-direction:row!important;align-items:center!important;gap:8px!important;width:auto!important;min-width:0!important;display:inline-flex!important}.hero .socials a:hover{color:var(--mint)}.hero .social-logo{flex:0 0 18px;width:18px;height:18px;display:block}@media (width<=760px){.hero .socials{flex-wrap:wrap;gap:18px}.hero .hero-trail{gap:.7rem}}main>.section:not(.hero){border-top:1px solid var(--line);padding-top:88px;padding-bottom:88px}.skills-header,.projects-header,.section-heading-row,.contact-header{margin-bottom:42px}.about-section{border-top:1px solid var(--line)}.contact-section{padding-bottom:0}@media (width<=760px){main>.section:not(.hero){padding-top:62px;padding-bottom:62px}.skills-header,.projects-header,.section-heading-row,.contact-header{margin-bottom:32px}.contact-section{padding-bottom:0}}.flagship-project{align-items:start}.flagship-visual{flex-direction:column;height:750px;display:flex;overflow:hidden;min-height:0!important}.tm-visual-head{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 24px 16px;display:flex}.tm-eyebrow{letter-spacing:.14em;color:#ffffff61;margin-bottom:7px;font-size:7px;line-height:1;display:block}.tm-visual-head strong{color:var(--text);font-size:13px;line-height:1.2;display:block}.tm-head-status{letter-spacing:.12em;color:#ffffff73;align-items:center;gap:6px;padding-top:2px;font-size:7px;display:flex}.tm-live-dot{background:var(--mint);border-radius:50%;width:5px;height:5px;box-shadow:0 0 10px #7ce2c180}.tm-map-shell{background-color:#0000;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #ffffff0e;flex-direction:column;flex:1;min-height:0;display:flex}.tm-map-top{border-bottom:1px solid #ffffff0e;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.tm-map-top>div{align-items:center;gap:10px;display:flex}.tm-map-top span:first-child{letter-spacing:.12em;color:#ffffff59;font-size:7px}.tm-map-top strong{color:#ffffffbf;font-size:9px;font-weight:500}.tm-path-badge{letter-spacing:.1em;color:var(--mint);border:1px solid #7ce2c140;padding:5px 8px;font-size:6px}.tm-graph{flex:1;min-height:0;position:relative;overflow:hidden}.tm-graph-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tm-graph-lines path{fill:none;stroke:#7ce2c129;stroke-width:2px;vector-effect:non-scaling-stroke}.tm-graph-lines .tm-active-line{stroke:#7ce2c18c;stroke-width:2px}.tm-graph-center{z-index:4;text-align:center;background:#090f18f5;border:1px solid #7ce2c133;width:165px;padding:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffff04,0 12px 35px #00000040}.tm-graph-center>span{letter-spacing:.14em;color:#ffffff59;margin-bottom:6px;font-size:6px;display:block}.tm-graph-center>strong{letter-spacing:.04em;font-size:13px;display:block}.tm-graph-stats{border-top:1px solid #ffffff12;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px;padding-top:12px;display:grid}.tm-graph-stats div{flex-direction:column;gap:3px;display:flex}.tm-graph-stats strong{font-size:10px}.tm-graph-stats span{letter-spacing:.08em;color:#ffffff52;font-size:5px}.tm-node{z-index:5;background:#0b131ef5;border:1px solid #ffffff12;flex-direction:column;justify-content:center;width:125px;min-height:60px;padding:11px 13px;display:flex;position:absolute;box-shadow:0 10px 25px #00000029}.tm-node small{letter-spacing:.1em;color:#ffffff4d;margin-bottom:5px;font-size:5px}.tm-node strong{color:#ffffffd9;font-size:10px;line-height:1.2}.tm-node span{letter-spacing:.08em;color:#ffffff47;margin-top:4px;font-size:5px}.tm-node-1{top:18%;left:8%}.tm-node-2{top:18%;left:calc(50% - 62px)}.tm-node-3{top:18%;right:8%}.tm-node-4{bottom:18%;left:8%}.tm-node-5{bottom:18%;left:calc(50% - 62px)}.tm-node-6{bottom:18%;right:8%}.tm-node-active{border-color:#7ce2c166;box-shadow:0 0 0 1px #7ce2c10d,0 0 25px #7ce2c112}.tm-node-active strong{color:var(--mint)}.tm-map-footer{border-top:1px solid #ffffff0e;grid-template-columns:repeat(3,1fr);display:grid}.tm-map-footer>div{border-right:1px solid #ffffff0e;flex-direction:column;gap:4px;padding:13px 20px;display:flex}.tm-map-footer>div:last-child{border-right:0}.tm-map-footer span{letter-spacing:.12em;color:#ffffff4d;font-size:5px}.tm-map-footer strong{color:#ffffffb8;font-size:8px;font-weight:500}@media (width<=768px){.flagship-project{gap:0}.flagship-visual{height:auto}.tm-visual-head{padding:16px 18px 13px}.tm-visual-head strong{font-size:11px}.tm-map-top{padding:11px 16px}.tm-map-top>div{gap:7px}.tm-map-top span:first-child{font-size:5px}.tm-map-top strong{font-size:7px}.tm-path-badge{padding:4px 6px;font-size:5px}.tm-graph{min-height:300px}.tm-node{width:82px;min-height:50px;padding:8px 9px}.tm-node strong{font-size:7px}.tm-node small,.tm-node span{font-size:4px}.tm-node-1{top:15%;left:7%}.tm-node-2{top:15%;left:calc(50% - 41px)}.tm-node-3{top:15%;right:7%}.tm-node-4{bottom:15%;left:7%}.tm-node-5{bottom:15%;left:calc(50% - 41px)}.tm-node-6{bottom:15%;right:7%}.tm-graph-center{width:115px;padding:12px 10px}.tm-graph-center>strong{font-size:9px}.tm-graph-stats{gap:5px;margin-top:9px;padding-top:8px}.tm-graph-stats strong{font-size:7px}.tm-graph-stats span{font-size:4px}.tm-map-footer>div{padding:10px 12px}.tm-map-footer span{font-size:4px}.tm-map-footer strong{font-size:6px}}.hero-philosophy{max-width:600px;color:var(--text);letter-spacing:-.015em;margin:0 0 16px;font-size:1.08rem;font-weight:600;line-height:1.55}.hero .eyebrow{max-width:100%}.hero .actions .primary{min-width:145px}.hero .actions .secondary{min-width:130px}.more-work-heading:after{content:"+";width:38px;height:38px;color:var(--mint);border:1px solid var(--line);font-family:var(--font-mono);transition:transform .22s var(--motion-ease), background .22s ease;flex:none;place-items:center;font-size:.9rem;display:grid}.more-work[open] .more-work-heading:after{background:#7ce2c10d;transform:rotate(45deg)}.more-work[open] .more-work-heading{margin-bottom:0}.more-work-list{animation:more-work-open .3s var(--motion-ease) both}@keyframes more-work-open{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.testimonial-card{background:var(--surface);border:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:240px;margin:0;padding:34px;display:flex}.testimonial-card blockquote{max-width:640px;color:var(--text);letter-spacing:-.025em;margin:0;font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.5}.testimonial-card figcaption{border-top:1px solid var(--line);flex-direction:column;gap:5px;padding-top:28px;display:flex}.testimonial-card figcaption strong{font-size:.8rem}.testimonial-card figcaption span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.52rem}.supporting-projects{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.support-project{grid-template-rows:280px 1fr;grid-template-columns:1fr;min-height:100%}.support-visual{min-height:280px}.support-content{min-width:0;padding:30px}.support-content h3{font-size:clamp(1.7rem,2.5vw,2.5rem)}.support-case-summary>div{grid-template-columns:62px 1fr}.more-work{margin-top:96px}.more-work>summary{cursor:pointer;list-style:none}.more-work>summary::-webkit-details-marker{display:none}.more-work-heading{border-bottom:1px solid var(--line);padding-bottom:28px;display:block}.more-work-title-block{justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px;display:flex}.more-work-heading h3{letter-spacing:-.055em;margin:15px 0 0;font-size:clamp(2.5rem,4.3vw,4.6rem);line-height:.94}.more-work-summary{color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;flex:none;align-items:center;gap:18px;font-size:.56rem;display:flex}.more-work-summary strong{color:var(--mint);font-weight:500}.more-work-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.more-work-chip{background:var(--surface);border:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;min-width:0;min-height:74px;padding:14px;transition:border-color .18s,background .18s,transform .18s;display:grid}.more-work-chip>span{color:var(--muted-2);font-family:var(--font-mono);grid-row:1/span 2;font-size:.5rem}.more-work-chip strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:600;overflow:hidden}.more-work-chip small{color:var(--mint);font-family:var(--font-mono);letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;font-size:.43rem;overflow:hidden}.more-work-chip:hover{background:#7ce2c109;transform:translateY(-2px);border-color:#7ce2c180!important}.more-work-list{animation:more-work-open .3s var(--motion-ease) both;margin-top:10px;display:grid}.more-work-item{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(180px,.7fr) 1fr auto;align-items:center;gap:22px;min-height:104px;padding:12px 0;display:grid}.more-index{color:var(--muted);font-family:var(--font-mono);font-size:.58rem}.more-work-item p{color:var(--mint);font-family:var(--font-mono);letter-spacing:.08em;margin:0 0 4px;font-size:.5rem}.more-work-item h4{margin:0;font-size:1rem;font-weight:600}.more-description{max-width:480px;color:var(--muted);font-size:.72rem;line-height:1.65}.more-work-actions{align-items:center;gap:8px;display:flex}.more-work-actions a,.more-work-actions button{width:34px;height:34px;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;place-items:center;transition:color .18s,border-color .18s,transform .18s;display:grid}.more-work-actions a:hover,.more-work-actions button:hover{color:var(--mint);border-color:var(--mint);transform:translate(2px)}.more-work-actions .brand-icon{width:14px;height:14px}.testimonials-section{padding-top:120px;padding-bottom:120px}.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.testimonial-card{background:var(--surface);border:1px solid var(--line);flex-direction:column;min-height:250px;margin:0;padding:28px;display:flex}.proof-card-top{color:var(--muted);font-family:var(--font-mono);letter-spacing:.09em;justify-content:space-between;margin-bottom:44px;font-size:.52rem;display:flex}.proof-card-top span:last-child{color:var(--mint)}.proof-card-title{letter-spacing:-.025em;max-width:520px;margin-bottom:12px;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.15}.proof-card p{max-width:620px;color:var(--muted);margin:0;font-size:.78rem;line-height:1.7}.proof-card-detail{color:var(--muted-2);font-family:var(--font-mono);letter-spacing:.08em;margin-top:auto;padding-top:22px;font-size:.48rem}.contact-lead{color:var(--text)!important;font-size:1.15rem!important;line-height:1.7!important}.contact-cta{color:#092019;background:var(--mint);border:1px solid var(--mint);width:max-content;max-width:100%;font-family:var(--font-mono);letter-spacing:.08em;transition:transform .18s var(--motion-ease), box-shadow .18s ease;align-items:center;gap:10px;margin-top:16px;padding:14px 18px;font-size:.62rem;display:inline-flex}.contact-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px #7ce2c11f}.flagship-action-row{margin-top:auto;padding-top:24px}.flagship-action{color:var(--mint);cursor:pointer;font-family:var(--font-mono);letter-spacing:.09em;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:.58rem;display:inline-flex}.flagship-action .icon{transition:transform .18s var(--motion-ease)}.flagship-action:hover .icon{transform:translate(4px)}.support-project-actions,.project-card-actions{flex-wrap:wrap}@media (width<=980px){.supporting-projects{grid-template-columns:1fr}.support-project{grid-template-rows:1fr;grid-template-columns:1fr 1fr}.more-work-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.more-work-item{grid-template-columns:42px minmax(170px,.75fr) 1fr auto}}@media (width<=760px){.hero-philosophy{font-size:1rem}.testimonial-grid{grid-template-columns:1fr}.testimonial-card{min-height:220px;padding:26px}.support-project{grid-template-rows:260px auto;grid-template-columns:1fr}.support-visual{min-height:260px}.support-content{padding:24px}.more-work{margin-top:72px}.more-work-title-block{flex-direction:column;align-items:flex-start;gap:18px}.more-work-summary{gap:12px}.more-work-strip{grid-template-columns:1fr 1fr}.more-work-chip{min-height:68px;padding:12px}.more-work-item{grid-template-columns:30px 1fr auto;gap:14px}.more-description{display:none}.contact-cta{justify-content:center;width:100%}.case-study-overlay{align-items:flex-start;padding:12px}.case-study-modal{max-height:calc(100vh - 24px)}.case-study-modal-header{min-height:82px;padding:18px}.case-study-modal-body{padding:18px}.case-study{grid-template-columns:1fr}.case-study-section{min-height:auto;padding:18px}}@media (width<=520px){.hero .actions{width:100%}.hero .actions .button{flex:auto}.more-work-strip{grid-template-columns:1fr}.more-work-summary{flex-direction:column;align-items:flex-start}}.more-work-actions .more-github-link{color:var(--muted);border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.08em;align-items:center;gap:8px;padding:10px 12px;font-size:.52rem;transition:color .18s,border-color .18s,transform .18s;display:inline-flex}.more-work-actions .more-github-link:hover{color:var(--mint);border-color:var(--mint);transform:translateY(-1px)}.more-work-actions .more-github-link .brand-icon{width:14px;height:14px}.more-work-actions{justify-content:flex-end;align-items:center;min-width:150px;display:flex}.more-github-link{border:1px solid var(--line);min-width:116px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-size:.58rem;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.more-github-link:hover{color:var(--mint);border-color:var(--mint);background:#6fe2c20a}.more-github-link .brand-icon{flex:none;width:15px;height:15px}.more-github-link .icon{flex:none;width:13px;height:13px}.ml-model-visual{background:var(--bg);min-width:0;min-height:430px;padding:18px;position:relative;overflow:hidden}.ml-visual{background:radial-gradient(circle at 50% 45%,#7ce2c10e,#0000 48%),#0b111c;border:1px solid #bbcdeb29;border-radius:8px;flex-direction:column;width:auto;height:auto;min-height:0;display:flex;position:absolute;inset:58px 7% 25px 10%;overflow:hidden;box-shadow:0 20px 55px #00000038}.ml-window-bar{border-bottom:1px solid var(--line);height:38px;color:var(--muted);font-family:var(--font-mono);background:#111a29;flex:0 0 38px;align-items:center;gap:12px;padding:0 14px;font-size:.48rem;display:flex}.ml-window-bar .window-controls{gap:5px;display:flex}.ml-window-bar .window-controls i{background:#465469;border-radius:50%;width:6px;height:6px;display:block}.ml-window-bar>span{flex:1}.ml-window-bar>strong{color:var(--muted);letter-spacing:.08em;font-size:.45rem;font-weight:500}.ml-workspace{background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:26px 26px;flex-direction:column;flex:1;justify-content:space-between;gap:14px;min-height:0;padding:20px 20px 16px;display:flex}.ml-workspace-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.ml-workspace-header>div:first-child{flex-direction:column;gap:5px;display:flex}.ml-workspace-header span{color:var(--mint);font-family:var(--font-mono);letter-spacing:.1em;font-size:.5rem}.ml-workspace-header strong{color:var(--text);letter-spacing:-.02em;font-size:.86rem;font-weight:600}.ml-status{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;white-space:nowrap;align-items:center;gap:6px;font-size:.45rem;display:inline-flex}.ml-status i{background:var(--mint);border-radius:50%;width:5px;height:5px;display:block;box-shadow:0 0 8px #7ce2c173}.ml-simple-pipeline{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;width:100%;display:grid}.ml-simple-node{border:1px solid var(--line);background:#0d1421e6;flex-direction:column;justify-content:center;gap:7px;min-width:0;min-height:92px;padding:12px;display:flex}.ml-simple-node.active{background:#7ce2c10b;border-color:#7ce2c180}.ml-simple-node small,.ml-simple-node span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:.45rem}.ml-simple-node strong{color:var(--text);letter-spacing:-.02em;font-size:.76rem}.ml-simple-node.active strong{color:var(--mint)}.ml-simple-arrow{color:var(--mint);font-family:var(--font-mono);font-size:1rem}.ml-workspace-footer{color:var(--muted);font-family:var(--font-mono);letter-spacing:.07em;align-items:center;gap:16px;font-size:.45rem;display:flex}.ml-workspace-footer strong{color:var(--mint);margin-left:auto;font-weight:500}@media (width<=980px){.ml-model-visual{min-height:260px;padding:18px}.ml-visual{inset:58px 7% 25px 10%}.ml-workspace{padding:18px}.ml-simple-node{min-height:96px;padding:12px}}@media (width<=760px){.ml-workspace{padding:18px}.ml-workspace-header strong{font-size:.76rem}.ml-simple-pipeline{gap:7px}.ml-simple-node{min-height:86px;padding:10px}.ml-simple-node strong{font-size:.7rem}.ml-workspace-footer{gap:10px;font-size:.4rem}}@media (width<=520px){.ml-simple-pipeline{grid-template-columns:1fr;gap:6px}.ml-simple-arrow,.ml-workspace-footer span:nth-child(2),.ml-workspace-footer span:nth-child(3){display:none}}@media (width>=981px){.supporting-projects .support-project{grid-template-rows:374px minmax(0,1fr);grid-template-columns:1fr;min-height:0}.supporting-projects .support-visual,.supporting-projects .ml-model-visual{box-sizing:border-box;height:374px;min-height:374px;padding:18px}.supporting-projects .stockflow-window,.supporting-projects .ecommerce-window,.supporting-projects .ml-visual{inset:58px 7% 25px 10%}}@media (width<=980px){.supporting-projects .support-project{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr 1fr}}@media (width<=760px){.supporting-projects .support-project{grid-template-rows:260px auto;grid-template-columns:1fr}.supporting-projects .support-visual,.supporting-projects .ml-model-visual{height:260px;min-height:260px}}.portrait-frame{z-index:1;border:1px solid #7ce2c17a;width:300px;height:360px;position:relative;overflow:hidden;box-shadow:16px 16px #7ce2c117}.portrait-frame:after{content:"";pointer-events:none;background:linear-gradient(#0000 52%,#070b1452);position:absolute;inset:0}.portrait-frame img{object-fit:cover;object-position:48% center;width:100%;height:100%;display:block}@media (width<=760px){.portrait-frame{width:248px;height:300px}}
