
:root{--bg:#071225;--bg2:#0d1d38;--panel:#102344;--blue:#168cff;--cyan:#64d4ff;--text:#f5f9ff;--muted:#b5c7df;--line:rgba(133,190,255,.18);--card:rgba(14,34,66,.72);--shadow:0 22px 60px rgba(0,0,0,.28);--green:#22c979}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(1160px,92%);margin:auto}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 15% 18%,rgba(0,128,255,.13),transparent 28%),radial-gradient(circle at 85% 75%,rgba(0,198,255,.09),transparent 30%)}
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--blue),var(--cyan));z-index:1000;box-shadow:0 0 12px var(--cyan)}
header{height:76px;position:sticky;top:0;z-index:100;background:rgba(5,14,29,.84);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:900;letter-spacing:.5px;font-size:1.18rem}.logo span{color:var(--cyan)}nav{display:flex;align-items:center;gap:27px}nav a{font-size:.88rem;color:#d1e0f3;position:relative}nav a:after{content:"";position:absolute;bottom:-8px;left:0;width:0;height:2px;background:var(--cyan);transition:.25s}nav a:hover{color:white}nav a:hover:after{width:100%}.nav-tools{display:flex;gap:9px}.tool-btn,.menu-btn{border:1px solid var(--line);background:rgba(255,255,255,.04);color:white;padding:8px 11px;border-radius:10px;cursor:pointer;transition:.2s}.tool-btn:hover,.menu-btn:hover{border-color:var(--cyan);color:var(--cyan)}.menu-btn{display:none}
.hero{min-height:660px;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(112deg,rgba(5,14,29,.98),rgba(9,27,55,.9)),url("assets/tech-bg.jpg") center/cover}.hero:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-170px;top:-110px;border:1px solid rgba(61,165,255,.18);box-shadow:0 0 0 35px rgba(39,138,255,.035),0 0 0 80px rgba(39,138,255,.025);animation:orbit 22s linear infinite}.hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(93,185,255,.5) 1px,transparent 1px);background-size:32px 32px;opacity:.12;mask-image:linear-gradient(90deg,black,transparent 80%)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:50px;padding:70px 0;position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(93,190,255,.4);background:rgba(19,112,208,.12);color:#bfe7ff;border-radius:99px;padding:7px 14px;font-size:.82rem}.pulse{width:8px;height:8px;background:#40e69a;border-radius:50%;box-shadow:0 0 0 0 rgba(64,230,154,.55);animation:pulse 1.8s infinite}
h1{font-size:clamp(3rem,6vw,5.25rem);line-height:1.02;letter-spacing:-2.5px;margin:24px 0 14px}.gradient{background:linear-gradient(100deg,#fff 10%,#6bcaff 55%,#238cff);background-clip:text;-webkit-background-clip:text;color:transparent}.roles{font-size:1.05rem;color:#c4d7ee;font-weight:650}.roles span{color:var(--cyan);padding:0 8px}.hero-copy{max-width:590px;color:#c0d0e4;margin:18px 0 0}.type-line{color:#78ceff;font-weight:750;min-height:29px;margin-top:13px}.caret{display:inline-block;width:2px;height:1.1em;background:var(--cyan);vertical-align:middle;margin-left:3px;animation:blink .8s steps(2) infinite}
.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 19px;border-radius:12px;font-weight:800;font-size:.9rem;border:1px solid transparent;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}.primary{background:linear-gradient(110deg,#087bfa,#43bfff);color:white;box-shadow:0 8px 25px rgba(22,140,255,.25)}.primary:hover{transform:translateY(-3px);box-shadow:0 13px 34px rgba(22,140,255,.4)}.outline{border-color:rgba(151,195,245,.42);background:rgba(255,255,255,.04);color:#f4f8ff}.outline:hover{transform:translateY(-3px);border-color:var(--cyan);background:rgba(31,137,255,.12)}
.portrait-area{justify-self:center;position:relative;width:min(380px,100%);animation:float 6s ease-in-out infinite}.portrait-ring{position:absolute;inset:-17px;border:1px solid rgba(63,174,255,.5);border-radius:34px;transform:rotate(4deg);box-shadow:0 0 35px rgba(25,137,255,.22),inset 0 0 30px rgba(25,137,255,.12)}.portrait-ring:before,.portrait-ring:after{content:"";position:absolute;border:1px solid rgba(79,202,255,.35);border-radius:inherit;inset:13px;transform:rotate(-7deg)}.portrait-ring:after{inset:-18px 28px 28px -18px;border-color:rgba(28,131,255,.22);transform:rotate(11deg)}.portrait{position:relative;display:block;width:100%;height:475px;object-fit:cover;object-position:center 20%;border-radius:27px;border:4px solid rgba(255,255,255,.12);box-shadow:var(--shadow)}.float-chip{position:absolute;padding:10px 13px;border:1px solid rgba(111,193,255,.32);background:rgba(7,22,44,.88);backdrop-filter:blur(12px);border-radius:13px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:.78rem;font-weight:800;animation:float 4s ease-in-out infinite}.chip-one{left:-45px;top:50px}.chip-two{right:-42px;bottom:55px;animation-delay:-2s}.chip-icon{color:var(--cyan);font-size:1.1rem;margin-right:6px}
section{padding:88px 0;position:relative}.section-head{max-width:700px;margin-bottom:36px}.kicker{font-size:.76rem;letter-spacing:2.4px;text-transform:uppercase;color:var(--cyan);font-weight:850}.section-head h2{font-size:clamp(2rem,4vw,2.8rem);line-height:1.16;margin:8px 0 12px}.section-head p{color:var(--muted);margin:0}.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:55px;align-items:center}.about-photo{position:relative;max-width:310px}.about-photo img{width:100%;height:360px;object-fit:cover;object-position:center 20%;border-radius:22px;border:1px solid rgba(100,190,255,.5);box-shadow:var(--shadow)}.about-photo:after{content:"";position:absolute;inset:13px -13px -13px 13px;border:1px solid rgba(67,169,255,.4);border-radius:22px;z-index:-1}.about-copy p{color:#b9c9dd}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:25px}.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:17px}.stat strong{display:block;font-size:1.3rem;color:var(--cyan)}.stat span{font-size:.8rem;color:var(--muted)}
.alt{background:linear-gradient(180deg,rgba(16,39,74,.5),rgba(7,18,37,.3));border-top:1px solid rgba(120,180,255,.07);border-bottom:1px solid rgba(120,180,255,.07)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:17px;padding:24px;transition:transform .3s,border-color .3s,box-shadow .3s}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(74,175,255,.08),transparent);transform:translateX(-120%);transition:.65s}.card:hover:before{transform:translateX(120%)}.card:hover{transform:translateY(-7px);border-color:rgba(85,190,255,.55);box-shadow:0 18px 45px rgba(0,0,0,.23)}.icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(27,135,255,.14);border:1px solid rgba(74,172,255,.2);color:#70caff;font-size:1.4rem;margin-bottom:16px}.card h3{margin:0 0 7px;font-size:1.05rem}.card p{margin:0;color:var(--muted);font-size:.88rem}
.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.skill{margin:0 0 19px}.skill-top{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:8px}.skill-top span:last-child{color:var(--cyan);font-weight:800}.track{height:9px;background:#1a2c49;border-radius:99px;overflow:hidden}.bar{height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#087bfa,#68d8ff);box-shadow:0 0 15px rgba(60,174,255,.4);transition:width 1.4s cubic-bezier(.2,.8,.2,1)}.skill-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}.tag{padding:7px 12px;border:1px solid var(--line);border-radius:99px;color:#c3d6ec;background:rgba(255,255,255,.035);font-size:.79rem}
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#0d1e38;transition:.3s}.project:hover{transform:translateY(-6px);border-color:rgba(89,190,255,.6);box-shadow:var(--shadow)}.project-art{height:170px;display:grid;place-items:center;font-size:3rem;color:#7ed5ff;background:radial-gradient(circle at 70% 20%,rgba(49,157,255,.3),transparent 40%),linear-gradient(135deg,#142d52,#081326);position:relative;overflow:hidden}.project-art:after{content:"";position:absolute;width:200px;height:200px;border:1px solid rgba(99,197,255,.22);border-radius:50%;box-shadow:0 0 0 25px rgba(99,197,255,.04),0 0 0 55px rgba(99,197,255,.03)}.project-info{padding:18px}.project-info h3{font-size:1rem;margin:0 0 5px}.project-info p{font-size:.82rem;color:var(--muted);margin:0}.project-label{font-size:.7rem;color:var(--cyan);font-weight:800;letter-spacing:1px}
.contact-panel{border:1px solid var(--line);border-radius:24px;padding:40px;background:radial-gradient(circle at 90% 10%,rgba(30,131,255,.18),transparent 32%),linear-gradient(120deg,#0d1d38,#102a50);display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;box-shadow:var(--shadow)}.contact-panel h2{font-size:2.2rem;line-height:1.15;margin:9px 0 12px}.contact-panel p{color:var(--muted)}.contact-links{display:grid;gap:12px}.contact-link{display:flex;align-items:center;gap:13px;padding:14px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid var(--line);overflow-wrap:anywhere;transition:.2s}.contact-link:hover{background:rgba(31,137,255,.14);border-color:rgba(91,190,255,.5)}.contact-link b{display:block;font-size:.69rem;color:#81cfff;letter-spacing:1px}.contact-link span{font-size:.9rem}
footer{padding:24px 0;background:#050d1b;border-top:1px solid var(--line);color:#91a8c5;font-size:.8rem}.footer-inner{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.backtop{position:fixed;right:22px;bottom:22px;width:45px;height:45px;border-radius:50%;border:1px solid rgba(104,198,255,.45);background:#0e315b;color:white;display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:80}.backtop.show{opacity:1;pointer-events:auto;transform:none}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}
[dir=rtl] body{font-family:Tahoma,Arial,sans-serif}[dir=rtl] .hero-grid,[dir=rtl] .about-grid,[dir=rtl] .contact-panel{text-align:right}[dir=rtl] nav{direction:rtl}[dir=rtl] .chip-one{left:auto;right:-45px}[dir=rtl] .chip-two{right:auto;left:-42px}[dir=rtl] .backtop{right:auto;left:22px}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(64,230,154,0)}100%{box-shadow:0 0 0 0 rgba(64,230,154,0)}}@keyframes blink{50%{opacity:0}}@keyframes orbit{to{transform:rotate(360deg)}}
@media(max-width:850px){nav{display:none;position:absolute;top:76px;left:0;right:0;background:rgba(5,14,29,.98);padding:20px 4%;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu-btn{display:block}.hero-grid{grid-template-columns:1fr;gap:45px;padding:65px 0}.portrait-area{width:min(340px,86%)}.portrait{height:420px}.about-grid{grid-template-columns:1fr 1fr;gap:28px}.cards,.projects{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){section{padding:65px 0}.hero{min-height:auto}.hero-grid{padding:55px 0}h1{font-size:3.1rem;letter-spacing:-1.5px}.roles{font-size:.9rem}.portrait{height:370px}.chip-one{left:-17px}.chip-two{right:-17px}.about-grid,.contact-panel,.skill-grid{grid-template-columns:1fr}.about-photo{max-width:260px;margin:0 auto 12px}.cards,.projects{grid-template-columns:1fr}.contact-panel{padding:26px 20px}.contact-panel h2{font-size:1.8rem}.stats{gap:9px}.stat{padding:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
