:root{--bg:#0d0d0b;--bg-elev:#141411;--ink:#f2efe6;--ink-dim:#8a8579;--ink-muted:#56534a;--line:#2a2823;--accent:#d4ff3a;--accent-soft:#9aff00;--warm:#ff7a3a;--radius:2px;--bg-nav:rgba(13,13,11,.55)}[data-theme=light]{--bg:#f5f3ee;--bg-elev:#eceae3;--ink:#1a1a17;--ink-dim:#5a5850;--ink-muted:#8a8579;--line:#d5d2c8;--accent:#4a7a00;--accent-soft:#3d6600;--warm:#c50;--bg-nav:hsla(43,26%,95%,.85)}[data-theme=light] .nav{background:var(--bg-nav)}[data-theme=light] body:before{opacity:.02}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-manrope),sans-serif;font-weight:400;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");opacity:.04;pointer-events:none;z-index:999;mix-blend-mode:overlay}.nav{position:fixed;top:0;left:0;right:0;padding:22px 48px;display:flex;align-items:center;justify-content:space-between;z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--bg-nav);border-bottom:1px solid var(--line)}.nav-logo{gap:10px;text-decoration:none;cursor:pointer}.logo-mark,.nav-logo{display:inline-flex;align-items:center}.logo-mark{position:relative;justify-content:center;width:38px;height:30px;background:var(--accent);-webkit-clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);flex-shrink:0;transition:background .3s}.logo-mark:after{content:"";position:absolute;inset:2px;-webkit-clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);background:var(--accent)}.logo-mark-text{position:relative;z-index:1;font-family:var(--font-jetbrains),monospace;font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--bg);line-height:1}.logo-word{font-family:var(--font-fraunces),serif;font-weight:500;font-size:18px;letter-spacing:-.02em;color:var(--ink)}.logo-word,.logo-word em{font-style:italic;transition:color .3s}.logo-word em{color:var(--accent)}.nav-logo:hover .logo-mark{background:var(--ink)}.nav-logo:hover .logo-word{color:var(--accent)}.nav-links{display:flex;gap:36px;list-style:none;font-family:var(--font-jetbrains),monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.nav-links a{color:var(--ink-dim);text-decoration:none;transition:color .3s;position:relative}.nav-links a:hover{color:var(--ink)}.nav-cta{font-family:var(--font-jetbrains),monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:10px 18px;border:1px solid var(--accent);color:var(--accent);text-decoration:none;transition:all .3s}.nav-cta:hover{background:var(--accent);color:var(--bg)}.nav-right{gap:12px}.nav-controls,.nav-right{display:flex;align-items:center}.nav-controls{gap:6px}.theme-toggle{background:none;border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;padding:5px 7px;border-radius:var(--radius);line-height:1;display:flex;align-items:center;transition:color .15s,border-color .15s}.theme-toggle:hover{color:var(--ink);border-color:var(--ink-dim)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lang-toggle{background:none;border:none;color:var(--ink-dim);cursor:pointer;font-family:var(--font-jetbrains),monospace;font-size:11px;letter-spacing:.08em;padding:5px 8px;text-decoration:none;text-transform:uppercase;transition:color .15s}.lang-toggle:hover{color:var(--accent)}.lang-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{min-height:100vh;padding:90px 48px 80px;position:relative;display:grid;grid-template-columns:1fr 1fr;grid-gap:60px;gap:60px;align-items:center}.hero-meta{font-family:var(--font-jetbrains),monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);display:flex;gap:32px;flex-wrap:wrap;margin-bottom:40px}.hero-meta span:before{content:"◆ ";color:var(--accent);margin-right:6px}.hero-title{font-family:var(--font-fraunces),serif;font-weight:300;font-size:clamp(52px,9vw,148px);line-height:.92;letter-spacing:-.04em;margin-bottom:40px}.hero-title .italic{font-style:italic;font-weight:400;color:var(--accent)}.hero-title .accent-block{display:inline-block;background:var(--accent);color:var(--bg);padding:0 18px;font-style:italic;font-weight:500;transform:rotate(-1.5deg);margin:0 8px}.hero-right{display:flex;flex-direction:column;gap:28px;padding-bottom:20px}.hero-photo{position:relative;width:100%;max-width:340px;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line);align-self:flex-start}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(20%) contrast(1.05);transition:filter .5s;display:block}.hero-photo:hover img{filter:grayscale(0) contrast(1)}.hero-photo:after{content:"";bottom:0;left:0;right:0;height:3px}.hero-photo-label,.hero-photo:after{position:absolute;background:var(--accent)}.hero-photo-label{top:16px;left:16px;font-family:var(--font-jetbrains),monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--bg);padding:4px 10px;line-height:1}.hero-intro{font-size:17px;line-height:1.6;color:var(--ink);max-width:440px}.hero-intro strong{color:var(--accent);font-weight:600}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{font-family:var(--font-jetbrains),monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:16px 28px;text-decoration:none;transition:all .3s;display:inline-flex;align-items:center;gap:10px}.btn-primary{background:var(--accent);color:var(--bg);font-weight:600}.btn-primary:hover{background:var(--ink)}.btn-secondary{border:1px solid var(--line);color:var(--ink)}.btn-secondary:hover{border-color:var(--ink)}.btn-arrow{display:inline-block;transition:transform .3s}.btn:hover .btn-arrow{transform:translateX(4px)}.ticker{position:absolute;bottom:40px;left:0;right:0;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;font-family:var(--font-jetbrains),monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.ticker-track{display:flex;gap:40px;animation:scroll 40s linear infinite;white-space:nowrap}.ticker-track span{flex-shrink:0}.ticker-track span:before{content:" / ";color:var(--accent);margin-right:40px}@keyframes scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.metrics{padding:120px 48px;border-top:1px solid var(--line);display:grid;grid-template-columns:300px 1fr;grid-gap:80px;gap:80px}.section-label{font-family:var(--font-jetbrains),monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);display:flex;align-items:center;gap:10px}.section-label:before{content:"";width:30px;height:1px;background:var(--accent)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line)}.metric{background:var(--bg);padding:40px 28px;transition:background .4s}.metric:hover{background:var(--bg-elev)}.metric-number{font-family:var(--font-fraunces),serif;font-weight:300;font-size:76px;line-height:1;letter-spacing:-.03em;color:var(--ink);margin-bottom:16px}.metric-number .unit{font-size:24px;color:var(--accent);vertical-align:super;margin-left:4px}.metric-label{font-family:var(--font-jetbrains),monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);line-height:1.5}.manifesto{padding:120px 48px;border-top:1px solid var(--line);display:grid;grid-template-columns:300px 1fr;grid-gap:80px;gap:80px}.manifesto-body h2{font-family:var(--font-fraunces),serif;font-weight:300;font-size:clamp(40px,5.5vw,78px);line-height:1.04;letter-spacing:-.03em;margin-top:20px;margin-bottom:40px}.manifesto-body h2 em{font-style:italic;color:var(--accent);font-weight:400}.manifesto-body .para{font-size:18px;line-height:1.65;max-width:720px;color:var(--ink-dim);margin-bottom:22px}.manifesto-body .para strong{color:var(--ink);font-weight:500}.services{padding:120px 48px;border-top:1px solid var(--line)}.services-head{display:grid;grid-template-columns:300px 1fr;grid-gap:80px;gap:80px;margin-bottom:80px}.services-head h2{font-family:var(--font-fraunces),serif;font-weight:300;font-size:clamp(40px,5.5vw,78px);line-height:1.04;letter-spacing:-.03em;margin-top:20px}.services-head h2 em{font-style:italic;color:var(--accent)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line)}.service{background:var(--bg);padding:44px 36px;display:flex;flex-direction:column;gap:22px;transition:background .4s;min-height:360px}.service:hover{background:var(--bg-elev)}.service-num{font-family:var(--font-jetbrains),monospace;font-size:12px;letter-spacing:.08em;color:var(--accent)}.service-title{font-family:var(--font-fraunces),serif;font-weight:400;font-size:28px;line-height:1.15;letter-spacing:-.02em;margin-top:auto}.service-desc{font-size:15px;line-height:1.55;color:var(--ink-dim)}.service-tags{display:flex;flex-wrap:wrap;gap:6px}.service-tag{font-family:var(--font-jetbrains),monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--line);color:var(--ink-dim);border-radius:100px}.projects{padding:120px 48px;border-top:1px solid var(--line)}.projects-head{display:grid;grid-template-columns:300px 1fr;grid-gap:80px;gap:80px;margin-bottom:80px}.projects-head h2{font-family:var(--font-fraunces),serif;font-weight:300;font-size:clamp(40px,5.5vw,78px);line-height:1.04;letter-spacing:-.03em;margin-top:20px}.projects-head h2 em{font-style:italic;color:var(--accent)}.projects-list{display:flex;flex-direction:column}.project{display:grid;grid-template-columns:64px 1fr;grid-gap:0;gap:0;border-top:1px solid var(--line);transition:background .4s}.project:last-child{border-bottom:1px solid var(--line)}.project:hover{background:rgba(212,255,58,.025)}.project-num{font-family:var(--font-jetbrains),monospace;font-size:12px;letter-spacing:.06em;color:var(--accent);border-right:1px solid var(--line);text-align:center;display:flex;align-items:flex-start;justify-content:center;padding:40px 0 36px}.project-body{padding:36px 0 36px 36px}.project-header{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:6px}.project-category{font-family:var(--font-jetbrains),monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding:4px 10px;border:1px solid rgba(212,255,58,.25);border-radius:100px;white-space:nowrap}.project-title{font-family:var(--font-fraunces),serif;font-weight:400;font-size:28px;line-height:1.2;letter-spacing:-.02em}.project-desc{font-size:15px;line-height:1.65;color:var(--ink-dim);max-width:800px;margin-top:14px}.project-desc strong{color:var(--ink);font-weight:500}.project-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.project-feature{font-family:var(--font-jetbrains),monospace;font-size:10px;letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;border:1px solid var(--line);color:var(--ink-dim);border-radius:100px;transition:all .3s}.project:hover .project-feature{border-color:var(--ink-muted)}.project-subprojects{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}.project-subprojects-label{font-family:var(--font-jetbrains),monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:10px}.project-sub-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:10px;gap:10px}.project-sub-item{font-size:14px;color:var(--ink-dim);padding:8px 0;display:flex;align-items:center;gap:8px}.project-sub-item:before{content:"→";color:var(--accent);font-family:var(--font-jetbrains),monospace;font-size:12px}.experience{padding:120px 48px;border-top:1px solid var(--line)}.experience-head{display:grid;grid-template-columns:300px 1fr;grid-gap:80px;gap:80px;margin-bottom:80px}.experience-head h2{font-family:var(--font-fraunces),serif;font-weight:300;font-size:clamp(40px,5.5vw,78px);line-height:1.04;letter-spacing:-.03em;margin-top:20px}.experience-head h2 em{font-style:italic;color:var(--accent)}.timeline{border-top:1px solid var(--line)}.job{display:grid;grid-template-columns:180px 280px 1fr 180px;grid-gap:40px;gap:40px;padding:36px 0;border-bottom:1px solid var(--line);transition:background .3s;align-items:start}.job:hover{background:rgba(212,255,58,.02)}.job-period{font-family:var(--font-jetbrains),monospace;font-size:12px;letter-spacing:.06em;color:var(--ink-dim);padding-top:4px}.job-company{font-family:var(--font-fraunces),serif;font-size:24px;font-weight:400;letter-spacing:-.02em}.job-role{font-size:14px;color:var(--ink-dim);margin-top:6px;font-family:var(--font-jetbrains),monospace;text-transform:uppercase;letter-spacing:.05em}.job-impact{font-size:15px;line-height:1.55;color:var(--ink);max-width:520px}.job-impact strong{color:var(--accent);font-weight:500}.job-duration{font-family:var(--font-jetbrains),monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);text-align:right;padding-top:6px}.stack{padding:120px 48px;border-top:1px solid var(--line);display:grid;grid-template-columns:300px 1fr;grid-gap:80px;gap:80px}.stack-body h2{font-family:var(--font-fraunces),serif;font-weight:300;font-size:clamp(40px,5.5vw,78px);line-height:1.04;letter-spacing:-.03em;margin-top:20px;margin-bottom:60px}.stack-body h2 em{font-style:italic;color:var(--accent)}.stack-groups{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:50px;gap:50px}.stack-group-label{font-family:var(--font-jetbrains),monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.stack-items{display:flex;flex-wrap:wrap;gap:10px}.stack-item{font-family:var(--font-jetbrains),monospace;font-size:12px;letter-spacing:.04em;padding:8px 14px;border:1px solid var(--line);color:var(--ink);transition:all .3s}.stack-item:hover{border-color:var(--accent);color:var(--accent)}.cta{padding:160px 48px;border-top:1px solid var(--line);position:relative;overflow:hidden}.cta:before{content:"";position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(212,255,58,.08) 0,transparent 60%);pointer-events:none}.cta-inner{position:relative;max-width:1100px}.cta-kicker{font-family:var(--font-jetbrains),monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:30px}.cta-title{font-family:var(--font-fraunces),serif;font-weight:300;font-size:clamp(52px,8vw,128px);line-height:.95;letter-spacing:-.04em;margin-bottom:50px}.cta-title em{font-style:italic;color:var(--accent);font-weight:400}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:60px}.contact-card{background:var(--bg);padding:30px 28px;transition:background .4s;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:12px}.contact-card:hover{background:var(--bg-elev)}.contact-label{font-family:var(--font-jetbrains),monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.contact-value{font-family:var(--font-fraunces),serif;font-size:22px;letter-spacing:-.01em}.contact-arrow{font-family:var(--font-jetbrains),monospace;font-size:12px;color:var(--accent);margin-top:auto;transition:transform .3s}.contact-card:hover .contact-arrow{transform:translateX(6px)}.footer{padding:40px 48px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-jetbrains),monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.footer-right{display:flex;gap:24px}.cta,.experience,.footer,.hero,.manifesto,.metrics,.projects,.services,.stack{padding-left:max(48px,calc((100% - 1344px) / 2));padding-right:max(48px,calc((100% - 1344px) / 2))}@media (max-width:1024px){.nav{padding:18px 32px}.nav-links{display:none}.hero{grid-template-columns:1fr;padding:120px 32px 60px;min-height:auto;gap:36px}.ticker{position:static;margin-top:28px}.metrics{grid-template-columns:1fr;padding-top:80px;padding-bottom:80px;gap:40px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.manifesto{grid-template-columns:1fr;gap:32px}.manifesto,.services{padding-top:80px;padding-bottom:80px}.services-head{grid-template-columns:1fr;gap:24px;margin-bottom:50px}.services-grid{grid-template-columns:repeat(2,1fr)}.projects{padding-top:80px;padding-bottom:80px}.projects-head{grid-template-columns:1fr;gap:24px;margin-bottom:50px}.project{grid-template-columns:48px 1fr}.project-body{padding:28px 0 28px 20px}.project-header{flex-direction:column;gap:8px}.project-sub-items{grid-template-columns:1fr}.experience{padding-top:80px;padding-bottom:80px}.experience-head{grid-template-columns:1fr;gap:24px;margin-bottom:50px}.job{grid-template-columns:160px 1fr;gap:28px}.job-duration{display:none}.stack{grid-template-columns:1fr;padding-top:80px;padding-bottom:80px;gap:40px}.stack-groups{grid-template-columns:repeat(2,1fr);gap:36px}.cta{padding-top:100px;padding-bottom:100px}.contact-grid{grid-template-columns:repeat(2,1fr)}.footer{flex-direction:column;gap:14px;padding-top:30px;padding-bottom:30px;text-align:center}.footer-right{flex-direction:column;gap:8px}}@media (max-width:767px){.nav{padding:16px 20px}.nav-links{display:none}.nav-cta{padding:8px 14px;font-size:11px}.hero{grid-template-columns:1fr;padding:100px 20px 60px;min-height:auto;gap:28px}.hero-photo{max-width:220px}.hero-intro{font-size:16px}.ticker{position:static;margin-top:24px}.metrics{grid-template-columns:1fr;padding:64px 20px;gap:32px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric{padding:28px 20px}.metric-number{font-size:56px}.manifesto{grid-template-columns:1fr;padding:64px 20px;gap:28px}.manifesto-body .para{font-size:16px}.services{padding:64px 20px}.services-head{grid-template-columns:1fr;gap:20px;margin-bottom:40px}.services-grid{grid-template-columns:repeat(2,1fr)}.service{padding:32px 24px;min-height:auto}.projects{padding:64px 20px}.projects-head{grid-template-columns:1fr;gap:20px;margin-bottom:40px}.project{grid-template-columns:48px 1fr}.project-body{padding:24px 0 24px 18px}.project-header{flex-direction:column;gap:8px}.project-sub-items{grid-template-columns:1fr}.experience{padding:64px 20px}.experience-head{gap:20px;margin-bottom:40px}.experience-head,.job{grid-template-columns:1fr}.job{gap:12px;padding:24px 0}.job-duration{text-align:left}.stack{padding:64px 20px;gap:28px}.stack,.stack-groups{grid-template-columns:1fr}.stack-groups{gap:24px}.cta{padding:80px 20px}.cta-title{font-size:clamp(40px,12vw,80px)}.contact-grid{grid-template-columns:1fr}.footer{flex-direction:column;gap:12px;padding:24px 20px;text-align:center}.footer-right{flex-direction:column;gap:8px}}@media (max-width:479px){.nav{padding:14px 16px}.nav-cta{display:none}.hero{padding:86px 16px 50px;gap:22px}.hero-photo{max-width:180px}.hero-meta{gap:12px;font-size:10px}.hero-intro{font-size:15px}.metrics{padding:48px 16px}.metrics-grid{grid-template-columns:1fr}.metric{padding:24px 18px}.metric-number{font-size:48px}.manifesto,.services{padding:48px 16px}.services-grid{grid-template-columns:1fr}.service{padding:28px 20px}.service-title{font-size:22px}.projects{padding:48px 16px}.project{grid-template-columns:40px 1fr}.project-body{padding:22px 0 22px 14px}.project-title{font-size:20px}.experience{padding:48px 16px}.job-company{font-size:20px}.stack{padding:48px 16px}.stack-item{font-size:11px;padding:6px 12px}.cta{padding:64px 16px}.cta-title{font-size:clamp(34px,14vw,60px)}.contact-card{padding:22px 18px}.contact-value{font-size:18px}.footer{padding:20px 16px;font-size:10px;gap:10px}}.fade-up{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.fade-up.is-visible{opacity:1;transform:translateY(0)}.fade-up-1{transition-delay:.05s}.fade-up-2{transition-delay:.18s}.fade-up-3{transition-delay:.32s}.fade-up-4{transition-delay:.46s}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.pulse-dot{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin-right:10px;animation:pulse 2s ease-in-out infinite;vertical-align:middle}