body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#030712;--bg-soft:#0a1220;--card:#111827b8;--card-strong:#0f172aeb;--text:#f8fafc;--muted:#94a3b8;--line:#ffffff14;--cyan:#22d3ee;--blue:#38bdf8;--teal:#14b8a6}html{scroll-behavior:smooth}body{background:#030712;background:var(--bg);color:#f8fafc;color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;font-weight:400;margin-top:40px;overflow-x:hidden}a{color:inherit;text-decoration:none}.portfolio-page{background:radial-gradient(circle at 20% 20%,#22d3ee1f,#0000 28%),radial-gradient(circle at 80% 30%,#14b8a617,#0000 30%),linear-gradient(180deg,#020611,#030712 40%,#02050c);min-height:100vh;overflow:hidden;position:relative}.background-grid{animation:gridMove 18s linear infinite;background-image:linear-gradient(#38bdf80a 1px,#0000 0),linear-gradient(90deg,#38bdf80a 1px,#0000 0);background-size:42px 42px;inset:0;-webkit-mask-image:linear-gradient(180deg,#ffffff80,#0000);mask-image:linear-gradient(180deg,#ffffff80,#0000)}.background-glow,.background-grid{pointer-events:none;position:fixed;z-index:0}.background-glow{animation:floatGlow 8s ease-in-out infinite;border-radius:50%;filter:blur(120px)}.glow-1{background:#22d3ee26;height:380px;left:14%;top:140px;width:380px}.glow-2{animation-delay:1.5s;background:#14b8a61c;height:420px;right:10%;top:250px;width:420px}.footer,.navbar,.section{position:relative;z-index:2}.navbar{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#030712bf;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;left:0;padding:20px 40px;position:fixed;top:0;width:100%;z-index:1000}.logo{color:#fff;font-size:2rem;font-weight:700;letter-spacing:-.03em}.logo span{color:#22d3ee;color:var(--cyan);text-shadow:0 0 18px #22d3ee59}.nav-links{display:flex;gap:28px}.nav-links a{color:#94a3b8;color:var(--muted);font-size:.96rem;font-weight:500;position:relative;transition:color .3s ease,transform .3s ease}.nav-links a:after{background:linear-gradient(90deg,#22d3ee,#14b8a6);background:linear-gradient(90deg,var(--cyan),var(--teal));bottom:-7px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-links a:hover{color:#fff;transform:translateY(-1px)}.nav-links a:hover:after{width:100%}.section{margin:0 auto;max-width:1200px;padding:100px 20px}.hero{align-items:center;display:flex;flex-direction:column;gap:18px;justify-content:center;min-height:92vh;text-align:center}.hero-badge{animation:pulseBadge 2.6s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#22d3ee12;border:1px solid #22d3ee40;border-radius:999px;color:#22d3ee;color:var(--cyan);font-size:.9rem;font-weight:500;padding:10px 18px}.hero h1{animation:fadeUp .9s ease;font-size:clamp(3.3rem,7vw,6.2rem);font-weight:700;letter-spacing:-.05em;line-height:.95}.hero h1 span{color:#22d3ee;color:var(--cyan);text-shadow:0 0 30px #22d3ee40}.hero h2{animation:fadeUp 1s ease;color:#dbe7f3;font-size:clamp(1.4rem,3vw,2.35rem);font-weight:500}.hero p{animation:fadeUp 1.1s ease;color:#94a3b8;color:var(--muted);font-size:clamp(1rem,2vw,1.2rem);line-height:1.8;max-width:760px}.hero-buttons{animation:fadeUp 1.2s ease;display:flex;gap:16px;margin-top:14px}.btn{align-items:center;border-radius:999px;display:inline-flex;font-size:.98rem;font-weight:600;justify-content:center;padding:15px 32px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.btn:hover{transform:translateY(-3px) scale(1.02)}.btn-primary{background:linear-gradient(90deg,#38bdf8,#14b8a6);background:linear-gradient(90deg,var(--blue),var(--teal));box-shadow:0 8px 30px #22d3ee2e;color:#031018}.btn-primary:hover{box-shadow:0 12px 35px #22d3ee47}.btn-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid #ffffff14;border:1px solid var(--line);color:#fff}.btn-secondary:hover{border-color:#22d3ee59}.social-icons{animation:fadeUp 1.3s ease;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:18px}.social-icons.left{justify-content:flex-start}.social-icons a{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsla(0,0%,100%,.035);border:1px solid #ffffff14;border:1px solid var(--line);border-radius:50%;color:#cbd5e1;display:flex;font-size:.72rem;height:48px;justify-content:center;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,color .3s ease;width:48px}.social-icons a:hover{border-color:#22d3ee59;box-shadow:0 0 18px #22d3ee1f;color:#22d3ee;color:var(--cyan);transform:translateY(-4px)}.section-label{color:#22d3ee;color:var(--cyan);font-size:.9rem;font-weight:600;letter-spacing:.08em;margin-bottom:14px}.section-title{font-size:clamp(2.2rem,4vw,3.8rem);font-weight:700;letter-spacing:-.04em;margin-bottom:14px}.section-subtitle{color:#94a3b8;color:var(--muted);font-size:1.08rem;line-height:1.7;margin-bottom:46px}.center{text-align:center}.about{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1.1fr 1fr}.about-text h2{font-size:clamp(2.4rem,4.8vw,4.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.05;margin-bottom:24px}.about-text h2 span{color:#22d3ee;color:var(--cyan)}.about-text p{color:#a8b7ca;font-size:1.15rem;line-height:1.9;margin-bottom:20px}.about-image-wrap{animation:floatCard 6s ease-in-out infinite;background:linear-gradient(180deg,#22d3ee14,#14b8a608);border:1px solid #22d3ee14;border-radius:28px;box-shadow:0 0 35px #22d3ee17;padding:10px;position:relative}.about-image{border-radius:22px;display:block;min-height:420px;object-fit:cover;width:100%}.stats{display:flex;flex-wrap:wrap;gap:46px;margin-top:26px}.stats h3{color:#22d3ee;color:var(--cyan);font-size:2.4rem;font-weight:700;margin-bottom:6px}.stats span{color:#94a3b8;color:var(--muted);font-size:.98rem;font-weight:400}.projects-grid,.skills-grid{grid-gap:28px;display:grid;gap:28px}.projects-grid,.skills-grid{grid-template-columns:repeat(3,1fr)}.contact-form,.info-card,.project-card,.skill-card,.timeline-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(180deg,#131b28e0,#0a0e18f0);border:1px solid #ffffff14;border:1px solid var(--line)}.skill-card{animation:fadeUpSoft .9s ease both;border-radius:24px;padding:32px 28px;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.skill-card:hover{border-color:#22d3ee38;box-shadow:0 15px 45px #22d3ee14;transform:translateY(-8px)}.skill-icon{align-items:center;background:#22d3ee0d;border:1px solid #22d3ee1a;border-radius:18px;color:#22d3ee;color:var(--cyan);display:flex;font-size:1.7rem;font-weight:600;height:62px;justify-content:center;margin-bottom:22px;transition:transform .35s ease,box-shadow .35s ease;width:62px}.skill-card:hover .skill-icon{box-shadow:0 0 20px #22d3ee1f;transform:rotate(-6deg) scale(1.06)}.skill-card h3{font-size:1.8rem;font-weight:600;margin-bottom:12px}.skill-card p{color:#94a3b8;color:var(--muted);font-size:1rem;line-height:1.75}.project-card{border-radius:22px;overflow:hidden;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.project-card:hover{border-color:#22d3ee38;box-shadow:0 16px 48px #22d3ee14;transform:translateY(-8px)}.project-image{display:block;height:240px;object-fit:cover;transition:transform .5s ease;width:100%}.project-card:hover .project-image{transform:scale(1.05)}.project-content{padding:22px}.project-content h3{font-size:1.55rem;font-weight:600;margin-bottom:10px}.project-content p{color:#94a3b8;color:var(--muted);font-size:.98rem;line-height:1.7;margin-bottom:16px}.project-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.project-tags span{background:#22d3ee0a;border:1px solid #22d3ee33;border-radius:999px;color:#22d3ee;color:var(--cyan);font-size:.76rem;font-weight:500;padding:7px 12px}.project-links{display:flex;gap:18px}.project-links a{color:#22d3ee;color:var(--cyan);font-size:.92rem;font-weight:500;transition:opacity .3s ease,transform .3s ease}.project-links a:hover{opacity:.8;transform:translateX(2px)}.timeline{margin:0 auto;max-width:820px;padding-left:34px;position:relative}.timeline:before{background:linear-gradient(180deg,#22d3ee99,#14b8a61f);content:"";height:100%;left:9px;position:absolute;top:0;width:2px}.timeline-item{margin-bottom:34px;position:relative}.timeline-dot{animation:pulseDot 2s ease-in-out infinite;background:linear-gradient(180deg,#22d3ee,#14b8a6);background:linear-gradient(180deg,var(--cyan),var(--teal));border-radius:50%;box-shadow:0 0 18px #22d3ee73;height:18px;left:-34px;position:absolute;top:26px;width:18px}.timeline-card{border-radius:22px;padding:26px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.timeline-card:hover{border-color:#22d3ee33;box-shadow:0 14px 36px #22d3ee12;transform:translateX(6px)}.timeline-top{display:flex;gap:18px;justify-content:space-between;margin-bottom:14px}.timeline-top h3{font-size:1.65rem;font-weight:600;margin-bottom:6px}.timeline-top h4{color:#22d3ee;color:var(--cyan);font-size:1rem;font-weight:500}.timeline-top span{color:#7f92a7;font-size:.92rem;font-weight:400;white-space:nowrap}.timeline-card p{color:#a8b7ca;font-size:1rem;line-height:1.8}.contact-sub{margin-left:auto;margin-right:auto;max-width:780px}.contact-grid{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:1fr 1fr;margin-top:50px}.contact-info h3,.contact-info h4{font-size:1.9rem;font-weight:600;margin-bottom:16px}.info-card{border-radius:18px;margin-bottom:18px;padding:22px;transition:transform .3s ease,border-color .3s ease}.info-card:hover{border-color:#22d3ee33;transform:translateY(-4px)}.info-card strong{color:#aebad0;display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.info-card p{font-size:1.25rem;font-weight:500}.contact-note{color:#a8b7ca;font-size:1rem;line-height:1.8;margin-top:22px}.contact-form{animation:fadeUpSoft 1s ease both;border-radius:22px;padding:28px}.contact-form label{color:#dbe6f5;display:block;font-size:.95rem;font-weight:500;margin-bottom:10px}.contact-form input,.contact-form textarea{background:hsla(0,0%,100%,.035);border:1px solid #ffffff14;border:1px solid var(--line);border-radius:14px;color:#fff;font-size:.98rem;margin-bottom:18px;outline:none;padding:16px 18px;transition:border-color .3s ease,box-shadow .3s ease,transform .2s ease;width:100%}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#6f8298}.contact-form input:focus,.contact-form textarea:focus{border-color:#22d3ee59;box-shadow:0 0 0 4px #22d3ee12}.full{border:none;cursor:pointer;width:100%}.footer{border-top:1px solid #ffffff0d;color:#74859a;font-size:.92rem;margin-top:34px;padding:28px 20px;text-align:center}@keyframes fadeDown{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUpSoft{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes floatGlow{0%,to{transform:translateY(0) translateX(0) scale(1)}50%{transform:translateY(-18px) translateX(10px) scale(1.05)}}@keyframes floatCard{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulseBadge{0%,to{box-shadow:0 0 0 #22d3ee00}50%{box-shadow:0 0 22px #22d3ee1f}}@keyframes pulseDot{0%,to{box-shadow:0 0 10px #22d3ee40}50%{box-shadow:0 0 22px #22d3ee80}}@keyframes gridMove{0%{transform:translateY(0)}to{transform:translateY(42px)}}@media (max-width:1100px){.about,.contact-grid,.projects-grid,.skills-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.navbar{flex-direction:column;gap:18px}.nav-links{flex-wrap:wrap;gap:14px;justify-content:center}.hero{min-height:auto;padding-top:80px}.about,.contact-grid,.projects-grid,.skills-grid{grid-template-columns:1fr}.hero-buttons{flex-direction:column;max-width:310px;width:100%}.btn{width:100%}.timeline-top{flex-direction:column}.stats{gap:24px}.project-image{height:220px}}.menu-toggle{background:#0000;border:none;color:#fff;cursor:pointer;display:none;font-size:1.6rem;z-index:1100}@media (max-width:768px){.navbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#030712eb;border-bottom:1px solid #ffffff0f;left:0;max-width:100%;padding:18px 20px;position:fixed;right:0;top:0}.menu-toggle{display:block}.nav-links{background:#0a1220fa;border:1px solid #ffffff14;border-radius:18px;box-shadow:0 20px 40px #00000059;display:flex;flex-direction:column;gap:0;opacity:0;overflow:hidden;position:absolute;right:20px;top:100%;transform:translateY(-10px);transition:.3s ease;visibility:hidden;width:220px}.nav-links.active{opacity:1;transform:translateY(0);visibility:visible}.nav-links a{border-bottom:1px solid #ffffff0f;padding:16px 18px;width:100%}.nav-links a:last-child{border-bottom:none}.hero{padding-top:120px}}
/*# sourceMappingURL=main.48d31882.css.map*/