/*
Theme Name: Talha Awais 3D Portfolio
Author: Talha Awais
Description: Complete WordPress-native portfolio for Talha Awais.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: talha-awais
*/
:root{--bg:#050507;--surface:#0c0d12;--text:#f5f7fb;--muted:#9298a8;--line:rgba(255,255,255,.09);--a:#8b9cff;--a2:#63e6ff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.header{position:fixed;top:0;left:0;right:0;z-index:99;padding:16px 0}.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid var(--line);background:#050507b0;backdrop-filter:blur(18px);border-radius:18px}.logo{font-weight:800}.logo span,.gradient{color:var(--a)}.menu{display:flex;gap:26px;color:#a9afbe;font-size:14px}.menu a:hover{color:#fff}.nav-cta,.btn-primary{background:#fff;color:#000}.nav-cta{padding:10px 15px;border-radius:999px;font-size:13px;font-weight:700}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:#fff;padding:8px;border-radius:10px}
.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding:140px 0 80px;background:radial-gradient(circle at 75% 45%,#6366f128,transparent 28%),radial-gradient(circle at 85% 75%,#22d3ee12,transparent 25%)}.grid{position:absolute;inset:0;opacity:.3;background-image:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px);background-size:52px 52px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;position:relative}.kicker,.eyebrow,.project-meta{text-transform:uppercase;letter-spacing:.25em;font-size:11px;font-weight:800}.kicker{color:#858b9d}.hero h1{font-size:clamp(58px,9vw,124px);line-height:.9;letter-spacing:-.065em;margin:22px 0}.hero p{max-width:680px;color:#969cab;font-size:18px;line-height:1.8}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:13px 19px;font-size:14px;font-weight:700;transition:.25s}.btn:hover{transform:translateY(-2px);border-color:#fff4}.orb-wrap{min-height:520px;display:grid;place-items:center;perspective:900px}.orb{width:min(410px,78vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff 0 3%,#a5b4fc 12%,#5968d5 35%,#161b4b 68%,#070812);box-shadow:0 0 90px #6366f13d;animation:float 6s ease-in-out infinite;position:relative}.orb:before,.orb:after{content:"";position:absolute;inset:-12%;border:1px solid #aab4ff47;border-radius:50%;transform:rotateX(65deg) rotateZ(15deg)}.orb:after{inset:-3%;transform:rotateY(72deg) rotateZ(22deg);border-color:#63e6ff33}.orb-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;letter-spacing:.3em;white-space:nowrap;color:#fff8}@keyframes float{50%{transform:translateY(-14px) rotateX(5deg) rotateY(10deg)}}
section{padding:120px 0;border-top:1px solid var(--line)}.eyebrow{color:var(--a)}.section-title{font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-.05em;margin:12px 0 20px}.lead{color:var(--muted);max-width:720px;font-size:17px;line-height:1.85}.about-grid,.rights-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.panel,.card,.skill-box,.project{background:linear-gradient(145deg,#ffffff0f,#ffffff06);border:1px solid var(--line);border-radius:26px}.panel{padding:32px}.panel p{color:#9da3b1}.stats{display:grid;gap:14px}.stat strong{font-size:34px;display:block}.stat span{color:#777e90;font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:28px;transition:.3s}.card:hover,.project:hover{transform:translateY(-5px);border-color:#8b9cff4a}.icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;margin-bottom:35px;color:var(--a2)}.card h3{margin:0 0 8px}.card p,.project p{color:var(--muted);font-size:14px;line-height:1.8}.skills{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.skill-box{padding:26px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{border:1px solid var(--line);padding:7px 11px;border-radius:999px;color:#aab0bf;font-size:12px}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.project{overflow:hidden;transition:.3s}.project-img{aspect-ratio:16/9;background:#101321;display:grid;place-items:center;color:#555d73}.project-img img{width:100%;height:100%;object-fit:cover}.project-body{padding:25px}.project-body h3{font-size:26px;margin:5px 0}.project-meta{color:var(--a);font-size:10px}.rights{background:radial-gradient(circle at 80% 50%,#22d3ee12,transparent 30%)}.rights-grid{grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.globe{width:360px;max-width:80vw;aspect-ratio:1;border-radius:50%;margin:auto;background:radial-gradient(circle at 30% 30%,#63e6ff59,transparent 35%),linear-gradient(135deg,#11183b,#06070b);border:1px solid #63e6ff47;box-shadow:0 0 100px #22d3ee1a;position:relative;animation:float 7s ease-in-out infinite}.globe:before,.globe:after{content:"";position:absolute;border:1px solid #63e6ff59;border-radius:50%}.globe:before{inset:12%;transform:rotateX(68deg)}.globe:after{inset:3%;transform:rotateY(68deg)}.topics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:25px}.topic{padding:12px 14px;border:1px solid var(--line);border-radius:14px;color:#9fa6b7;font-size:13px}.quote{font-size:clamp(34px,5vw,65px);line-height:1.06;letter-spacing:-.05em;max-width:900px}.quote-author{color:#70778a;margin-top:25px}.contact{text-align:center}.contact .lead{margin:auto}.footer{padding:30px 0;border-top:1px solid var(--line);color:#666d7e;font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(24px);transition:.8s}.reveal.show{opacity:1;transform:none}
@media(max-width:900px){.hero-grid,.about-grid,.rights-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.projects,.skills{grid-template-columns:1fr}.orb-wrap{min-height:360px}.rights-grid{gap:40px}}@media(max-width:700px){.container{width:calc(100% - 28px)}.menu{display:none;position:absolute;top:70px;left:0;right:0;background:#08090d;border:1px solid var(--line);padding:10px;border-radius:18px;flex-direction:column;gap:0}.menu.open{display:flex}.menu a{padding:13px}.nav-cta{display:none}.menu-toggle{display:block}.hero{padding-top:125px}.hero p{font-size:16px}section{padding:85px 0}}

/* Enhanced animations and transitions */
html{scroll-padding-top:105px}
.scroll-progress{position:fixed;top:0;left:0;z-index:999;height:3px;width:0;background:linear-gradient(90deg,#8b9cff,#63e6ff);box-shadow:0 0 16px rgba(99,230,255,.7)}
.header{transition:.35s ease}.header.scrolled{padding:8px 0}.header.scrolled .nav{background:rgba(5,5,7,.9);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.grid{animation:gridMove 18s linear infinite}@keyframes gridMove{to{background-position:52px 52px,52px 52px}}
.hero:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;right:-180px;top:10%;background:radial-gradient(circle,rgba(99,102,241,.15),transparent 68%);animation:ambient 9s ease-in-out infinite}@keyframes ambient{50%{transform:translate(-50px,40px) scale(1.12)}}
.reveal{opacity:0;transform:translateY(34px) scale(.985);filter:blur(7px);transition:opacity .8s cubic-bezier(.2,.75,.25,1),transform .8s cubic-bezier(.2,.75,.25,1),filter .8s ease}.reveal.show{opacity:1;transform:none;filter:blur(0)}
.card,.project,.skill-box{transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease}.card:hover,.project:hover,.skill-box:hover{box-shadow:0 22px 70px rgba(0,0,0,.3),0 0 0 1px rgba(139,156,255,.1)}
.project-img img{transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s ease}.project:hover .project-img img{transform:scale(1.06);filter:brightness(1.1)}
.tag,.topic{transition:.3s ease}.topic:hover,.tag:hover{transform:translateY(-3px);border-color:rgba(99,230,255,.4)}
.btn,.nav-cta{transition:transform .25s ease,box-shadow .3s ease}.btn-primary:hover,.nav-cta:hover{box-shadow:0 12px 35px rgba(255,255,255,.14)}
.orb{transition:transform .15s ease-out}.orb:before{animation:ring1 13s linear infinite}.orb:after{animation:ring2 10s linear infinite}@keyframes ring1{to{transform:rotateX(65deg) rotateZ(-345deg)}}@keyframes ring2{to{transform:rotateY(72deg) rotateZ(382deg)}}
.section-title{background:linear-gradient(90deg,#fff,#fff 55%,#aab6ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.globe{animation:globeFloat 8s ease-in-out infinite}@keyframes globeFloat{50%{transform:translateY(-16px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V4 visual transitions */
.project{position:relative}.project:before{content:"";position:absolute;inset:0;border-radius:26px;padding:1px;background:linear-gradient(135deg,transparent,rgba(99,230,255,.28),transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s ease;pointer-events:none;z-index:2}.project:hover:before{opacity:1}
.project-body{transition:transform .45s cubic-bezier(.2,.8,.2,1)}.project:hover .project-body{transform:translateY(-4px)}
.project-img:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(5,5,7,.25));z-index:1;pointer-events:none}
.project-img{transition:filter .4s ease}.project:hover .project-img{filter:saturate(1.2)}
.card h3,.project h3,.skill-box h3{transition:color .3s ease,transform .3s ease}.card:hover h3,.project:hover h3,.skill-box:hover h3{transform:translateX(4px)}
.panel{transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.panel:hover{transform:translateY(-4px);border-color:rgba(139,156,255,.25);box-shadow:0 18px 55px rgba(0,0,0,.2)}
.actions .btn{position:relative;overflow:hidden}.actions .btn:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.18),transparent 70%);transform:translateX(-120%);transition:transform .65s ease}.actions .btn:hover:before{transform:translateX(120%)}
.logo{transition:letter-spacing .35s ease,transform .35s ease}.logo:hover{letter-spacing:.08em;transform:translateY(-1px)}
