.n-wrapper{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--nav-bg);border-bottom:1px solid var(--border);justify-content:space-between;min-height:4.8rem;position:-webkit-sticky;position:sticky;top:0;z-index:20}.n-left,.n-list ul,.n-right,.n-wrapper{align-items:center;display:flex}.n-brand{grid-gap:.12rem;cursor:pointer;display:grid;gap:.12rem}.n-brand span{color:var(--text);font-size:1.08rem;font-weight:900}.n-brand small{color:var(--subtle);font-size:.78rem}.n-right{gap:1rem}.n-list ul{gap:clamp(.8rem,2vw,1.5rem);list-style:none;margin:0;padding:0}.n-list a{color:var(--muted);cursor:pointer;font-size:.92rem;font-weight:700;transition:color .16s ease}.n-list .active,.n-list a:hover{color:var(--accent)}.n-button{min-height:2.55rem;padding-inline:1rem}.theme-toggle{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text);cursor:pointer;display:grid;height:2.55rem;place-items:center;transition:border-color .18s ease,transform .18s ease,background .18s ease;width:2.55rem}.theme-toggle:hover{background:var(--surface-soft);border-color:var(--border-strong);transform:translateY(-1px)}@media screen and (max-width:720px){.n-wrapper{min-height:4.4rem}.n-list{display:none}}.Intro{grid-gap:clamp(2rem,6vw,4.5rem);align-items:center;display:grid;gap:clamp(2rem,6vw,4.5rem);grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);min-height:calc(100vh - 5rem);padding:clamp(3rem,7vw,5.5rem) 0}.i-left{grid-gap:2rem;display:grid;gap:2rem}.i-name{grid-gap:1rem;display:grid;gap:1rem}.i-eyebrow{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;color:var(--accent);font-size:.82rem;font-weight:800;padding:.48rem .78rem;width:-webkit-fit-content;width:fit-content}.i-name h1{color:var(--text);font-size:clamp(3.4rem,9vw,6.6rem);letter-spacing:0;line-height:.95;margin:0;max-width:10.5ch}.i-name>span:last-child{color:var(--muted);font-size:1.08rem;line-height:1.8;max-width:40rem}.i-actions,.i-icons{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem}.i-icons{gap:.65rem}.i-icons a{background:var(--surface);border:1px solid var(--border);border-radius:12px;display:grid;height:2.8rem;place-items:center;transition:border-color .18s ease,transform .18s ease;width:2.8rem}.i-icons a:hover{border-color:var(--border-strong);transform:translateY(-2px)}.i-right{min-width:0}.i-portrait{background:linear-gradient(145deg,var(--surface),var(--surface-strong));border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);display:grid;min-height:34rem;overflow:hidden;place-items:center;position:relative}.i-portrait:before{border:1px solid var(--border);border-radius:18px;content:"";inset:1rem;position:absolute}.main__image{filter:drop-shadow(0 24px 36px rgba(0,0,0,.38));max-height:29rem;object-fit:contain;width:min(78%,25rem)}.i-signal{grid-gap:.1rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in srgb,var(--surface-strong) 82%,#0000);border:1px solid var(--border-strong);border-radius:14px;display:grid;gap:.1rem;min-width:10rem;padding:.85rem 1rem;position:absolute}.i-signal strong{color:var(--text);font-size:1.15rem}.i-signal span{color:var(--subtle);font-size:.82rem}.i-signal-top{right:1.2rem;top:1.2rem}.i-signal-bottom{bottom:1.2rem;left:1.2rem}@media screen and (max-width:860px){.Intro{grid-template-columns:1fr;min-height:auto}.i-portrait{min-height:28rem}}@media screen and (max-width:480px){.i-actions .button{width:100%}.i-portrait{border-radius:20px;min-height:24rem}.i-signal{min-width:8.4rem}}.services{grid-gap:clamp(2rem,6vw,4.5rem);align-items:start;display:grid;gap:clamp(2rem,6vw,4.5rem);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding:clamp(3rem,7vw,5rem) 0}.s-button{margin-top:.6rem;width:-webkit-fit-content;width:fit-content}.cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.cards .card:first-child{grid-column:1/-1}@media screen and (max-width:860px){.services{grid-template-columns:1fr}}@media screen and (max-width:560px){.cards{grid-template-columns:1fr}}.card{grid-gap:.9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;display:grid;gap:.9rem;min-height:13rem;padding:1.25rem;transition:border-color .18s ease,transform .18s ease}.card:hover{border-color:var(--border-strong);transform:translateY(-4px)}.card img{height:3.2rem;object-fit:contain;width:3.2rem}.card h3{color:var(--text);font-size:1.1rem;line-height:1.25;margin:0}.card p{color:var(--muted);font-size:.95rem;line-height:1.65;margin:0}:root{--bg:#0b0d12;--bg-soft:#11141b;--surface:#12161ed1;--surface-strong:#171b24;--surface-soft:hsla(0,0%,100%,.045);--border:#ffffff1c;--border-strong:#ffffff2e;--text:#f7f7f4;--muted:#c7c9ce;--subtle:#8f96a3;--accent:#2dd4bf;--accent-strong:#0f766e;--accent-ink:#062c2b;--button-bg:#f7f7f4;--button-text:#11141b;--nav-bg:#0b0d12c2;--shadow:0 22px 70px #00000057;--radius:12px}body[data-theme=light]{--bg:#f6f4ef;--bg-soft:#ebe7df;--surface:#ffffffc7;--surface-strong:#fff;--surface-soft:rgba(17,24,39,.045);--border:#1118271f;--border-strong:#11182733;--text:#15171d;--muted:#4b5563;--subtle:#6b7280;--accent:#0f766e;--accent-strong:#115e59;--accent-ink:#ecfeff;--button-bg:#15171d;--button-text:#fff;--nav-bg:#f6f4efc7;--shadow:0 18px 60px #1118271f}html{scroll-behavior:smooth}body{background:#0b0d12;background:var(--bg);color:#f7f7f4;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;transition:background .22s ease,color .22s ease}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}.App{margin:0 auto;overflow:hidden;width:min(1180px,calc(100% - 40px))}.button{align-items:center;background:#f7f7f4;background:var(--button-bg);border:1px solid #f7f7f4;border:1px solid var(--button-bg);border-radius:999px;color:#11141b;color:var(--button-text);cursor:pointer;display:inline-flex;font:inherit;font-size:.92rem;font-weight:800;gap:.45rem;justify-content:center;min-height:2.85rem;padding:.76rem 1.15rem;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.button:hover{box-shadow:0 22px 70px #00000057;box-shadow:var(--shadow);transform:translateY(-2px)}.button:focus-visible{outline:3px solid #5eead461;outline-offset:3px}.button-secondary{background:#0000;border-color:#ffffff2e;border-color:var(--border-strong);color:#f7f7f4;color:var(--text)}.button-secondary:hover{background:hsla(0,0%,100%,.045);background:var(--surface-soft);border-color:#f7f7f4;border-color:var(--text);box-shadow:none}.portfolio-heading,.section-copy{grid-gap:1rem;display:grid;gap:1rem}.section-kicker{color:#2dd4bf;color:var(--accent);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.portfolio-heading h2,.section-copy h2{color:#f7f7f4;color:var(--text);font-size:clamp(2rem,4vw,3.2rem);letter-spacing:0;line-height:1.08;margin:0;max-width:42rem}.section-copy p{color:#c7c9ce;color:var(--muted);font-size:1rem;line-height:1.75;margin:0;max-width:36rem}@media screen and (max-width:720px){.App{width:min(100% - 28px,1180px)}}.experience{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));padding:1rem 0 clamp(3rem,6vw,5rem)}.achievement{grid-gap:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:.35rem;padding:clamp(1rem,3vw,1.4rem)}.achievement strong{color:var(--accent);font-size:clamp(2.1rem,5vw,3.2rem);line-height:1}.achievement span{color:var(--muted);font-size:.95rem;font-weight:700;text-transform:capitalize}@media screen and (max-width:640px){.experience{grid-template-columns:1fr}}.works{grid-gap:clamp(2rem,6vw,4.5rem);align-items:center;display:grid;gap:clamp(2rem,6vw,4.5rem);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);padding:clamp(3rem,7vw,5rem) 0}.tech-panel{grid-gap:1rem;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);display:grid;gap:1rem;overflow:hidden;padding:1.2rem 0;position:relative}.tech-panel:after,.tech-panel:before{content:"";height:100%;pointer-events:none;position:absolute;top:0;width:5rem;z-index:2}.tech-panel:before{background:linear-gradient(90deg,var(--surface-strong),#0000);left:0}.tech-panel:after{background:linear-gradient(270deg,var(--surface-strong),#0000);right:0}.tech-marquee{animation:marquee 28s linear infinite;display:flex;gap:.75rem;width:-webkit-max-content;width:max-content}.tech-marquee-reverse{animation-direction:reverse;animation-duration:34s}.tech-chip{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;color:var(--text);display:inline-flex;font-size:.92rem;font-weight:800;justify-content:center;min-width:7.5rem;padding:.82rem 1.1rem;white-space:nowrap}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.tech-marquee{animation:none;flex-wrap:wrap;padding:0 1rem;width:auto}}@media screen and (max-width:860px){.works{grid-template-columns:1fr}}.portfolio{grid-gap:2rem;display:grid;gap:2rem;padding:clamp(3rem,7vw,5rem) 0}.portfolio-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(6,minmax(0,1fr))}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:none;display:grid;grid-column:span 2;isolation:isolate;min-height:27rem;overflow:hidden;position:relative;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.project-card-featured{grid-column:span 3}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-5px)}.project-media{inset:0;overflow:hidden;position:absolute}.project-media:after{background:linear-gradient(180deg,#0000003d,#00000075 42%,#000000e6);content:"";inset:0;position:absolute}body[data-theme=light] .project-media:after{background:linear-gradient(180deg,#1118272e,#11182766 38%,#111827e0)}.project-media img{height:100%;object-fit:cover;transform:scale(1.01);transition:transform .5s ease,filter .3s ease;width:100%}.project-card:hover .project-media img{transform:scale(1.06)}.project-content{box-sizing:border-box;display:flex;flex-direction:column;gap:.65rem;height:100%;justify-content:flex-end;min-height:0;padding:1.35rem;position:relative;z-index:1}.project-content>span{background:#00000052;border:1px solid #ffffff47;border-radius:999px;color:#f7f7f4;font-size:.72rem;font-weight:800;padding:.4rem .65rem;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.project-content h3{color:#fff;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.1;margin:0}.project-content p{-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#ffffffd1;display:-webkit-box;font-size:.94rem;line-height:1.6;margin:0;max-width:34rem;overflow:hidden}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}.project-tags small{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff24;border:1px solid #ffffff57;border-radius:999px;color:#fff;font-size:.72rem;font-weight:700;padding:.34rem .55rem}@media screen and (max-width:940px){.project-card,.project-card-featured{grid-column:span 3}}@media screen and (max-width:620px){.portfolio-grid{grid-template-columns:1fr}.project-card,.project-card-featured{grid-column:auto;min-height:26rem}}.contact-shell{grid-gap:clamp(2rem,6vw,5rem);align-items:center;background:linear-gradient(135deg,var(--surface) 0,var(--surface-strong) 100%);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);color:var(--text);display:grid;gap:clamp(2rem,6vw,5rem);grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);margin:clamp(3rem,7vw,5rem) 0;padding:clamp(1.25rem,4vw,2rem)}.contact-copy{grid-gap:1rem;display:grid;gap:1rem}.contact-kicker{color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.contact-copy h2{color:var(--text);font-size:clamp(2rem,4vw,3.65rem);letter-spacing:0;line-height:1.02;margin:0}.contact-copy p{color:var(--muted);font-size:1rem;line-height:1.75;margin:0;max-width:34rem}.contact-card{grid-gap:1.1rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:1.1rem;padding:clamp(1rem,3vw,1.5rem)}.contact-field{grid-gap:.45rem;display:grid;gap:.45rem}.contact-field label{color:var(--text);font-size:.92rem;font-weight:700}.contact-field input,.contact-field textarea{background:var(--surface-strong);border:1px solid var(--border-strong);border-radius:10px;box-sizing:border-box;color:var(--text);font:inherit;outline:none;padding:.9rem 1rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;width:100%}.contact-field textarea{min-height:9rem;resize:vertical}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,#0000)}.contact-field input:disabled,.contact-field textarea:disabled{cursor:not-allowed;opacity:.65}.contact-submit{background:var(--accent);border:0;border-radius:10px;color:var(--accent-ink);cursor:pointer;font:inherit;font-weight:800;min-height:3rem;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.contact-submit:hover:not(:disabled){background:var(--accent-strong);box-shadow:var(--shadow);color:#fff;transform:translateY(-1px)}.contact-submit:focus-visible{outline:3px solid #5eead466;outline-offset:3px}.contact-submit:disabled{cursor:wait;opacity:.7}.contact-status{color:var(--muted);font-size:.92rem;min-height:1.5rem}@media screen and (max-width:820px){.contact-shell{grid-template-columns:1fr}}@media screen and (max-width:480px){.contact-shell{border-radius:14px;margin:3rem 0;padding:1.1rem}}.footer{border-top:1px solid var(--border);padding:2rem 0 2.4rem}.f-content{align-items:center;display:flex;gap:1.2rem;justify-content:space-between}.f-content>div:first-child{grid-gap:.3rem;display:grid;gap:.3rem}.f-content span{color:var(--text);font-weight:900}.footer a{color:var(--muted);font-size:.95rem;transition:color .16s ease}.footer a:hover{color:var(--accent)}.f-icons{display:flex;gap:.6rem}.f-icons a{background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);display:grid;height:2.65rem;place-items:center;width:2.65rem}@media screen and (max-width:620px){.f-content{align-items:flex-start;flex-direction:column}}
/*# sourceMappingURL=main.8466d05f.css.map*/