body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;max-width:100%;overflow-x:hidden}code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,monospace}::selection{background:rgba(217,83,43,.22)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ddd2c6;background:var(--scroll-thumb,#ddd2c6);background-clip:padding-box;border:2px solid transparent;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#d9532b;background:var(--accent,#d9532b);background-clip:padding-box}:root,:root[data-theme=light]{--bg:#faf6f0;--bg-elev:#fff;--bg-card:#fff;--line:rgba(43,38,34,.1);--line-strong:rgba(43,38,34,.18);--text:#2b2622;--muted:#6f655c;--faint:#9c9189;--accent:#d9532b;--accent-2:#f0824e;--accent-soft:rgba(217,83,43,.1);--shadow-sm:0 1px 2px rgba(43,38,34,.05),0 2px 6px rgba(43,38,34,.04);--shadow:0 6px 26px -10px rgba(43,38,34,.16);--shadow-lg:0 20px 50px -18px rgba(43,38,34,.22);--nav-bg:hsla(36,50%,96%,.82);--nav-menu-bg:hsla(36,50%,96%,.97);--surface-2:rgba(43,38,34,.05);--active-bg:rgba(43,38,34,.06);--chip-bg:hsla(0,0%,100%,.88);--photo-fade:rgba(43,38,34,.07);--grid-opacity:0.55;--glow:rgba(240,130,78,.3);--btn-primary-text:#fff;--scroll-thumb:#ddd2c6;--photo-filter:contrast(1.02) saturate(1.03);color-scheme:light}:root[data-theme=dark]{--bg:#14110e;--bg-elev:#1d1916;--bg-card:#1b1714;--line:hsla(0,0%,100%,.09);--line-strong:hsla(0,0%,100%,.16);--text:#f0e9e2;--muted:#a89c91;--faint:#756a5f;--accent:#f47b4a;--accent-2:#ffa777;--accent-soft:rgba(244,123,74,.15);--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow:0 10px 30px -12px rgba(0,0,0,.6);--shadow-lg:0 22px 50px -18px rgba(0,0,0,.7);--nav-bg:rgba(20,17,14,.72);--nav-menu-bg:rgba(20,17,14,.97);--surface-2:hsla(0,0%,100%,.05);--active-bg:hsla(0,0%,100%,.07);--chip-bg:rgba(28,24,20,.85);--photo-fade:rgba(8,6,4,.5);--grid-opacity:0.5;--glow:rgba(244,123,74,.22);--btn-primary-text:#22120a;--scroll-thumb:#322a24;--photo-filter:contrast(1.02) saturate(1.02);color-scheme:dark}:root{--maxw:1120px;--radius:16px;--ease:cubic-bezier(0.22,1,0.36,1)}body{transition:background .4s cubic-bezier(.22,1,.36,1),color .4s cubic-bezier(.22,1,.36,1);transition:background .4s var(--ease),color .4s var(--ease)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-feature-settings:"cv11","ss01";font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;background:#faf6f0;background:var(--bg);color:#2b2622;color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;margin:0}a{color:inherit;text-decoration:none}.app{overflow-x:clip;position:relative}.bg-grid{background-image:linear-gradient(rgba(43,38,34,.1) 1px,transparent 0),linear-gradient(90deg,rgba(43,38,34,.1) 1px,transparent 0);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;inset:0;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 80% 60% at 50% 0,#000 30%,transparent 80%);opacity:.55;opacity:var(--grid-opacity)}.bg-glow,.bg-grid{pointer-events:none;position:fixed;z-index:0}.bg-glow{background:radial-gradient(circle at 50% 50%,rgba(240,130,78,.3),transparent 62%);background:radial-gradient(circle at 50% 50%,var(--glow),transparent 62%);-webkit-filter:blur(50px);filter:blur(50px);height:760px;left:50%;top:-340px;-webkit-transform:translateX(-50%);transform:translateX(-50%);transition:background .4s cubic-bezier(.22,1,.36,1);transition:background .4s var(--ease);width:1000px}.footer,.nav,main{position:relative;z-index:1}.nav{border-bottom:1px solid transparent;position:-webkit-sticky;position:sticky;top:0;transition:background .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1),-webkit-backdrop-filter .3s;transition:background .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1),backdrop-filter .3s;transition:background .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1),backdrop-filter .3s,-webkit-backdrop-filter .3s;transition:background .3s var(--ease),border-color .3s var(--ease),-webkit-backdrop-filter .3s;transition:background .3s var(--ease),border-color .3s var(--ease),backdrop-filter .3s;transition:background .3s var(--ease),border-color .3s var(--ease),backdrop-filter .3s,-webkit-backdrop-filter .3s;z-index:50}.nav--scrolled{backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);background:hsla(36,50%,96%,.82);background:var(--nav-bg);border-bottom-color:rgba(43,38,34,.1);border-bottom-color:var(--line)}.nav__inner{justify-content:space-between;margin:0 auto;max-width:1120px;max-width:var(--maxw);padding:16px 24px}.brand,.nav__inner{align-items:center;display:flex}.brand{font-weight:600;gap:10px}.brand__mark{color:#d9532b;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:15px;letter-spacing:-1px}.brand__name{font-size:15px;letter-spacing:-.01em}.nav__links,.nav__right{align-items:center;display:flex;gap:8px}.nav__links a{border-radius:999px;color:#6f655c;color:var(--muted);font-size:14px;padding:8px 14px;transition:color .2s,background .2s}.nav__links a.is-active,.nav__links a:hover{color:#2b2622;color:var(--text)}.nav__links a.is-active{background:rgba(43,38,34,.06);background:var(--active-bg)}.nav__cta{border:1px solid rgba(43,38,34,.18);border:1px solid var(--line-strong);color:#2b2622!important;color:var(--text)!important;margin-left:6px}.nav__cta:hover{background:#d9532b!important;background:var(--accent)!important;border-color:#d9532b;border-color:var(--accent);color:#fff!important;color:var(--btn-primary-text)!important}.theme-toggle{background:#fff;background:var(--bg-elev);border:1px solid rgba(43,38,34,.1);border:1px solid var(--line);border-radius:999px;color:#2b2622;color:var(--text);cursor:pointer;display:grid;flex-shrink:0;height:40px;margin-left:4px;place-items:center;transition:color .2s,border-color .2s,box-shadow .2s,-webkit-transform .2s cubic-bezier(.22,1,.36,1);transition:color .2s,border-color .2s,transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s;transition:color .2s,border-color .2s,transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s,-webkit-transform .2s cubic-bezier(.22,1,.36,1);transition:color .2s,border-color .2s,box-shadow .2s,-webkit-transform .2s var(--ease);transition:color .2s,border-color .2s,transform .2s var(--ease),box-shadow .2s;transition:color .2s,border-color .2s,transform .2s var(--ease),box-shadow .2s,-webkit-transform .2s var(--ease);width:40px}.theme-toggle:hover{border-color:#d9532b;border-color:var(--accent);box-shadow:0 1px 2px rgba(43,38,34,.05),0 2px 6px rgba(43,38,34,.04);box-shadow:var(--shadow-sm);color:#d9532b;color:var(--accent)}.theme-toggle svg{height:18px;width:18px}.burger{background:none;border:0;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:8px}.burger span{background:#2b2622;background:var(--text);border-radius:2px;height:2px;transition:opacity .2s,-webkit-transform .3s cubic-bezier(.22,1,.36,1);transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .2s;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .2s,-webkit-transform .3s cubic-bezier(.22,1,.36,1);transition:opacity .2s,-webkit-transform .3s var(--ease);transition:transform .3s var(--ease),opacity .2s;transition:transform .3s var(--ease),opacity .2s,-webkit-transform .3s var(--ease);width:22px}.burger.is-open span:first-child{-webkit-transform:translateY(7px) rotate(45deg);transform:translateY(7px) rotate(45deg)}.burger.is-open span:nth-child(2){opacity:0}.burger.is-open span:nth-child(3){-webkit-transform:translateY(-7px) rotate(-45deg);transform:translateY(-7px) rotate(-45deg)}.hero{grid-gap:56px;align-items:center;display:grid;gap:56px;grid-template-columns:1.15fr .85fr;margin:0 auto;max-width:1120px;max-width:var(--maxw);padding:88px 24px 40px}.hero__text,.hero__visual{min-width:0}.eyebrow{align-items:center;background:#fff;background:var(--bg-elev);border:1px solid rgba(43,38,34,.1);border:1px solid var(--line);border-radius:999px;color:#6f655c;color:var(--muted);display:inline-flex;font-size:13px;gap:8px;margin-bottom:24px;padding:6px 14px}.dot{-webkit-animation:pulse 2.2s infinite;animation:pulse 2.2s infinite;background:#34d399;border-radius:50%;box-shadow:0 0 0 0 rgba(52,211,153,.6);height:8px;width:8px}@-webkit-keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.5)}70%{box-shadow:0 0 0 8px rgba(52,211,153,0)}to{box-shadow:0 0 0 0 rgba(52,211,153,0)}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.5)}70%{box-shadow:0 0 0 8px rgba(52,211,153,0)}to{box-shadow:0 0 0 0 rgba(52,211,153,0)}}.hero__title{font-family:Space Grotesk,sans-serif;font-size:clamp(2.4rem,5.2vw,4rem);font-weight:600;letter-spacing:-.03em;line-height:1.05;margin:0 0 22px}.grad{background:linear-gradient(120deg,#d9532b,#f0824e);background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.hero__lead{color:#6f655c;color:var(--muted);font-size:1.06rem;margin:0 0 22px;max-width:540px}.hero__lead strong{color:#2b2622;color:var(--text);font-weight:600}.hero__meta{color:#9c9189;color:var(--faint);font-size:14px;gap:18px;margin-bottom:30px}.hero__actions,.hero__meta{display:flex;flex-wrap:wrap}.hero__actions{gap:14px;margin-bottom:28px}.btn{align-items:center;border-radius:999px;display:inline-flex;font-size:15px;font-weight:500;padding:13px 24px;transition:background .2s,box-shadow .2s,border-color .2s,-webkit-transform .2s cubic-bezier(.22,1,.36,1);transition:transform .2s cubic-bezier(.22,1,.36,1),background .2s,box-shadow .2s,border-color .2s;transition:transform .2s cubic-bezier(.22,1,.36,1),background .2s,box-shadow .2s,border-color .2s,-webkit-transform .2s cubic-bezier(.22,1,.36,1);transition:background .2s,box-shadow .2s,border-color .2s,-webkit-transform .2s var(--ease);transition:transform .2s var(--ease),background .2s,box-shadow .2s,border-color .2s;transition:transform .2s var(--ease),background .2s,box-shadow .2s,border-color .2s,-webkit-transform .2s var(--ease)}.btn:active{-webkit-transform:translateY(1px);transform:translateY(1px)}.btn--primary{background:#d9532b;background:var(--accent);box-shadow:0 10px 26px -10px rgba(217,83,43,.5);color:#fff;color:var(--btn-primary-text)}.btn--primary:hover{background:#f0824e;background:var(--accent-2);box-shadow:0 14px 30px -10px rgba(217,83,43,.55)}.btn--ghost{background:#fff;background:var(--bg-elev);border:1px solid rgba(43,38,34,.18);border:1px solid var(--line-strong);color:#2b2622;color:var(--text)}.btn--ghost:hover{background:rgba(43,38,34,.05);background:var(--surface-2);border-color:#2b2622;border-color:var(--text);box-shadow:0 1px 2px rgba(43,38,34,.05),0 2px 6px rgba(43,38,34,.04);box-shadow:var(--shadow-sm)}.hero__socials{display:flex;gap:10px}.hero__socials a{background:#fff;background:var(--bg-elev);border:1px solid rgba(43,38,34,.1);border:1px solid var(--line);border-radius:12px;color:#6f655c;color:var(--muted);display:grid;font-family:JetBrains Mono,monospace;font-size:12px;height:40px;place-items:center;transition:all .2s cubic-bezier(.22,1,.36,1);transition:all .2s var(--ease);width:40px}.hero__socials a:hover{border-color:#d9532b;border-color:var(--accent);box-shadow:0 1px 2px rgba(43,38,34,.05),0 2px 6px rgba(43,38,34,.04);box-shadow:var(--shadow-sm);color:#d9532b;color:var(--accent);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.hero__visual{display:grid;place-items:center;position:relative}.photo{aspect-ratio:1;position:relative;width:min(320px,80%)}.photo img{border:1px solid rgba(43,38,34,.18);border:1px solid var(--line-strong);border-radius:28px;box-shadow:0 6px 26px -10px rgba(43,38,34,.16);box-shadow:var(--shadow);-webkit-filter:contrast(1.02) saturate(1.03);filter:contrast(1.02) saturate(1.03);-webkit-filter:var(--photo-filter);filter:var(--photo-filter);height:100%;object-fit:cover;width:100%}.photo__ring{-webkit-animation:spin 14s linear infinite;animation:spin 14s linear infinite;background:conic-gradient(from 180deg,#d9532b,transparent 35%,transparent 65%,#f0824e);background:conic-gradient(from 180deg,var(--accent),transparent 35%,transparent 65%,var(--accent-2));border-radius:36px;-webkit-filter:blur(2px);filter:blur(2px);inset:-14px;opacity:.55;position:absolute;z-index:-1}@-webkit-keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.chip{-webkit-animation:float 6s ease-in-out infinite;animation:float 6s ease-in-out infinite;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:hsla(0,0%,100%,.88);background:var(--chip-bg);border:1px solid rgba(43,38,34,.18);border:1px solid var(--line-strong);border-radius:999px;box-shadow:0 6px 26px -10px rgba(43,38,34,.16);box-shadow:var(--shadow);color:#2b2622;color:var(--text);font-family:JetBrains Mono,monospace;font-size:12px;padding:8px 14px;position:absolute}.chip--1{left:-6%;top:6%}.chip--2{-webkit-animation-delay:1.4s;animation-delay:1.4s;bottom:14%;right:-8%}.chip--3{-webkit-animation-delay:2.6s;animation-delay:2.6s;bottom:-4%;left:14%}@-webkit-keyframes float{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-9px);transform:translateY(-9px)}}@keyframes float{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-9px);transform:translateY(-9px)}}.stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin:24px auto 0;max-width:1120px;max-width:var(--maxw);padding:0 24px}.stat{background:#fff;background:var(--bg-elev);border:1px solid rgba(43,38,34,.1);border:1px solid var(--line);border-radius:16px;border-radius:var(--radius);box-shadow:0 1px 2px rgba(43,38,34,.05),0 2px 6px rgba(43,38,34,.04);box-shadow:var(--shadow-sm);padding:24px;text-align:center}.stat__value{background:linear-gradient(120deg,#d9532b,#f0824e);background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;display:block;font-family:Space Grotesk,sans-serif;font-size:2.2rem;font-weight:600;letter-spacing:-.02em}.stat__label{color:#6f655c;color:var(--muted);font-size:13px}.section{margin:0 auto;max-width:1120px;max-width:var(--maxw);padding:96px 24px 0;scroll-margin-top:80px}.section__head{align-items:center;display:flex;gap:16px;margin-bottom:40px}.section__index{color:#d9532b;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:14px}.section__title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:600;letter-spacing:-.02em;margin:0}.section__rule{background:rgba(43,38,34,.1);background:var(--line);flex:1 1;height:1px}.about{grid-gap:48px;align-items:center;display:grid;gap:48px;grid-template-columns:1.5fr .85fr}.about__text{max-width:640px;min-width:0}.about p{color:#6f655c;color:var(--muted);font-size:1.12rem;margin:0 0 18px}.about strong{color:#2b2622;color:var(--text);font-weight:600}.about__photo{aspect-ratio:3/4;background:#fff;background:var(--bg-elev);border:1px solid rgba(43,38,34,.18);border:1px solid var(--line-strong);border-radius:20px;box-shadow:0 6px 26px -10px rgba(43,38,34,.16);box-shadow:var(--shadow);margin:0;overflow:hidden;position:relative}.about__photo:after{background:linear-gradient(180deg,transparent 60%,rgba(43,38,34,.07));background:linear-gradient(180deg,transparent 60%,var(--photo-fade));content:"";inset:0;pointer-events:none;position:absolute}.about__photo img{display:block;-webkit-filter:saturate(1.02) contrast(1.02);filter:saturate(1.02) contrast(1.02);height:100%;object-fit:cover;transition:-webkit-transform .6s cubic-bezier(.22,1,.36,1);transition:transform .6s cubic-bezier(.22,1,.36,1);transition:transform .6s cubic-bezier(.22,1,.36,1),-webkit-transform .6s cubic-bezier(.22,1,.36,1);transition:-webkit-transform .6s var(--ease);transition:transform .6s var(--ease);transition:transform .6s var(--ease),-webkit-transform .6s var(--ease);width:100%}.about__photo:hover img{-webkit-transform:scale(1.04);transform:scale(1.04)}.link-arrow{border-bottom:1px solid transparent;color:#d9532b;color:var(--accent);display:inline-block;font-weight:500;margin-top:4px;transition:border-color .2s}.link-arrow:hover{border-bottom-color:#d9532b;border-bottom-color:var(--accent)}.timeline{display:flex;flex-direction:column;gap:8px}.job{grid-gap:32px;border-top:1px solid rgba(43,38,34,.1);border-top:1px solid var(--line);display:grid;gap:32px;grid-template-columns:200px 1fr;padding:28px 0}.job:first-child{border-top:0}.job__period{align-items:center;color:#6f655c;color:var(--muted);display:flex;font-family:JetBrains Mono,monospace;font-size:13px;gap:10px;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;padding-top:4px}.tl-dot{background:#9c9189;background:var(--faint);border-radius:50%;flex-shrink:0;height:9px;width:9px}.tl-dot--live{background:#d9532b;background:var(--accent);box-shadow:0 0 12px 1px #d9532b;box-shadow:0 0 12px 1px var(--accent)}.job__role{font-size:1.2rem;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}.job__at{color:#d9532b;color:var(--accent);font-weight:500}.job__loc{color:#9c9189;color:var(--faint);font-size:13px;margin:0 0 16px}.job__points{list-style:none;margin:0 0 18px;padding:0}.job__points li{color:#6f655c;color:var(--muted);font-size:.97rem;margin-bottom:9px;padding-left:22px;position:relative}.job__points li:before{color:#d9532b;color:var(--accent);content:"▹";left:0;position:absolute}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{background:rgba(43,38,34,.05);background:var(--surface-2);border:1px solid rgba(43,38,34,.1);border:1px solid var(--line);border-radius:8px;color:#6f655c;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:12px;padding:5px 11px;transition:color .2s,border-color .2s}.tag:hover{border-color:rgba(217,83,43,.1);border-color:var(--accent-soft);color:#d9532b;color:var(--accent)}.skills{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.skill-card{background:#fff;background:var(--bg-card);border:1px solid rgba(43,38,34,.1);border:1px solid var(--line);border-radius:16px;border-radius:var(--radius);box-shadow:0 1px 2px rgba(43,38,34,.05),0 2px 6px rgba(43,38,34,.04);box-shadow:var(--shadow-sm);padding:22px;transition:border-color .25s,box-shadow .25s,-webkit-transform .25s cubic-bezier(.22,1,.36,1);transition:border-color .25s,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;transition:border-color .25s,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,-webkit-transform .25s cubic-bezier(.22,1,.36,1);transition:border-color .25s,box-shadow .25s,-webkit-transform .25s var(--ease);transition:border-color .25s,transform .25s var(--ease),box-shadow .25s;transition:border-color .25s,transform .25s var(--ease),box-shadow .25s,-webkit-transform .25s var(--ease)}.skill-card:hover{border-color:rgba(43,38,34,.18);border-color:var(--line-strong);box-shadow:0 6px 26px -10px rgba(43,38,34,.16);box-shadow:var(--shadow);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.skill-card__title{color:#2b2622;color:var(--text);font-size:.95rem;font-weight:600;margin:0 0 16px}.projects{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.project{background:#fff;background:var(--bg-card);border:1px solid rgba(43,38,34,.1);border:1px solid var(--line);border-radius:16px;border-radius:var(--radius);box-shadow:0 1px 2px rgba(43,38,34,.05),0 2px 6px rgba(43,38,34,.04);box-shadow:var(--shadow-sm);overflow:hidden;padding:26px;position:relative;transition:border-color .25s,box-shadow .25s,-webkit-transform .25s cubic-bezier(.22,1,.36,1);transition:border-color .25s,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;transition:border-color .25s,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,-webkit-transform .25s cubic-bezier(.22,1,.36,1);transition:border-color .25s,box-shadow .25s,-webkit-transform .25s var(--ease);transition:border-color .25s,transform .25s var(--ease),box-shadow .25s;transition:border-color .25s,transform .25s var(--ease),box-shadow .25s,-webkit-transform .25s var(--ease)}.project:before{background:linear-gradient(90deg,#d9532b,#f0824e);background:linear-gradient(90deg,var(--accent),var(--accent-2));content:"";height:2px;inset:0 0 auto 0;position:absolute;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .35s cubic-bezier(.22,1,.36,1);transition:transform .35s cubic-bezier(.22,1,.36,1);transition:transform .35s cubic-bezier(.22,1,.36,1),-webkit-transform .35s cubic-bezier(.22,1,.36,1);transition:-webkit-transform .35s var(--ease);transition:transform .35s var(--ease);transition:transform .35s var(--ease),-webkit-transform .35s var(--ease)}.project:hover{border-color:rgba(43,38,34,.18);border-color:var(--line-strong);box-shadow:0 6px 26px -10px rgba(43,38,34,.16);box-shadow:var(--shadow);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.project:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}.project__top{margin-bottom:16px}.project__tag{background:rgba(217,83,43,.1);background:var(--accent-soft);border-radius:6px;color:#d9532b;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.06em;padding:5px 10px;text-transform:uppercase}.project__title{font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin:0 0 10px}.project__desc{color:#6f655c;color:var(--muted);font-size:.96rem;margin:0 0 18px}.contact{background:radial-gradient(circle at 0 0,rgba(217,83,43,.1),transparent 50%),#fff;background:radial-gradient(circle at 0 0,var(--accent-soft),transparent 50%),var(--bg-card);border:1px solid rgba(43,38,34,.1);border:1px solid var(--line);border-radius:24px;box-shadow:0 6px 26px -10px rgba(43,38,34,.16);box-shadow:var(--shadow);padding:56px 40px;text-align:center}.contact__lead{color:#6f655c;color:var(--muted);font-size:1.1rem;margin:0 auto 26px;max-width:540px}.contact__mail{background:linear-gradient(120deg,#d9532b,#f0824e);background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,4vw,2.4rem);font-weight:600;letter-spacing:-.02em;margin-bottom:32px;transition:opacity .2s}.contact__mail:hover{opacity:.8}.contact__socials{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center}.contact__socials a{color:#6f655c;color:var(--muted);font-size:14px;transition:color .2s}.contact__socials a:hover{color:#d9532b;color:var(--accent)}.footer{border-top:1px solid rgba(43,38,34,.1);border-top:1px solid var(--line);color:#9c9189;color:var(--faint);display:flex;flex-wrap:wrap;font-size:13px;gap:8px;justify-content:space-between;margin:96px auto 0;max-width:1120px;max-width:var(--maxw);padding:32px 24px 48px}@media (max-width:860px){.hero{gap:48px;grid-template-columns:1fr;padding-top:56px}.hero__visual{margin:0 auto;order:-1;width:min(100%,300px)}.photo{width:220px}.chip{font-size:11px;padding:6px 11px}.chip--1{left:0;top:2%}.chip--2{right:0}.chip--3{left:6%}.burger{display:flex}.nav__links{align-items:stretch;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:hsla(36,50%,96%,.97);background:var(--nav-menu-bg);border-bottom:1px solid rgba(43,38,34,.1);border-bottom:1px solid var(--line);box-shadow:0 6px 26px -10px rgba(43,38,34,.16);box-shadow:var(--shadow);flex-direction:column;gap:4px;inset:64px 0 auto 0;opacity:0;padding:16px 24px 24px;pointer-events:none;position:fixed;-webkit-transform:translateY(-12px);transform:translateY(-12px);transition:opacity .25s,-webkit-transform .25s cubic-bezier(.22,1,.36,1);transition:opacity .25s,transform .25s cubic-bezier(.22,1,.36,1);transition:opacity .25s,transform .25s cubic-bezier(.22,1,.36,1),-webkit-transform .25s cubic-bezier(.22,1,.36,1);transition:opacity .25s,-webkit-transform .25s var(--ease);transition:opacity .25s,transform .25s var(--ease);transition:opacity .25s,transform .25s var(--ease),-webkit-transform .25s var(--ease)}.nav__links.is-open{opacity:1;pointer-events:auto;-webkit-transform:translateY(0);transform:translateY(0)}.nav__links a{padding:12px 14px}.nav__cta{margin:8px 0 0;text-align:center}.job{gap:12px}.about,.job,.stats{grid-template-columns:1fr}.about{gap:28px}.about__photo{aspect-ratio:4/5;margin:0 auto;order:-1;width:min(100%,320px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{-webkit-animation:none!important;animation:none!important;scroll-behavior:auto}}
/*# sourceMappingURL=main.21b07a1f.css.map*/