/*
Theme Name: RizTech
Theme URI: https://riztech.co.uk/
Author: Muhammad Rizwan Ashraf
Author URI: https://riztech.co.uk/
Description: A modern, responsive one-page portfolio theme for RizTech, focused on enterprise network operations, engineering, reliability, open-source infrastructure and continuous improvement.
Version: 1.4.4
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: riztech
Tags: portfolio, one-column, custom-logo, custom-menu, responsive-layout, dark, technology
*/

:root {
  --bg:#030711; --bg-2:#071127; --panel:rgba(10,22,49,.68); --panel-solid:#09162e;
  --line:rgba(117,201,255,.17); --line-strong:rgba(67,190,255,.38); --text:#f2f8ff; --muted:#9eb3ca;
  --cyan:#17dcff; --blue:#1769ff; --violet:#8c62ff; --white:#fff; --glow:rgba(23,220,255,.28);
  --radius:24px; --shadow:0 28px 90px rgba(0,0,0,.46);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.7;overflow-x:hidden;background:radial-gradient(circle at 14% 5%,rgba(23,105,255,.16),transparent 31rem),radial-gradient(circle at 90% 14%,rgba(23,220,255,.08),transparent 28rem),linear-gradient(180deg,var(--bg),#040711 72%,var(--bg))}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 86%)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:99;background:radial-gradient(circle at var(--mx,50%) var(--my,35%),rgba(23,220,255,.055),transparent 22rem);mix-blend-mode:screen}
a{color:inherit;text-decoration:none} img{max-width:100%;height:auto} button,a{-webkit-tap-highlight-color:transparent}
.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(3,7,17,.64);border-bottom:1px solid transparent;backdrop-filter:blur(20px) saturate(140%);transition:.35s ease}.site-header.scrolled{border-color:var(--line);box-shadow:0 14px 44px rgba(0,0,0,.24)}
.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:156px;display:block;filter:drop-shadow(0 0 18px rgba(23,220,255,.17))}.main-nav ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}.main-nav a{position:relative;color:#c7d8eb;font-size:.92rem;font-weight:700;transition:.25s}.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:linear-gradient(90deg,var(--cyan),var(--violet));transition:.3s}.main-nav a:hover{color:var(--cyan)}.main-nav a:hover::after{right:0}.nav-toggle{display:none}

.hero{min-height:100svh;display:grid;align-items:center;padding:125px 0 70px;position:relative;isolation:isolate}.hero::before{content:"";position:absolute;width:560px;height:560px;right:-180px;top:15%;border-radius:50%;background:radial-gradient(circle,rgba(23,105,255,.11),transparent 65%);filter:blur(12px);z-index:-1}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:34px;align-items:center}.hero-content{position:relative;z-index:3}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(8,20,43,.52);color:#bcefff;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;box-shadow:inset 0 1px rgba(255,255,255,.05)}.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan);animation:statusPulse 2.2s ease-in-out infinite}.hero h1{margin:22px 0 4px;font-size:clamp(3rem,6.6vw,6.25rem);line-height:.98;letter-spacing:-.06em;max-width:850px}.name-accent{background:linear-gradient(100deg,#fff 16%,#c9f8ff 48%,#6d8dff 86%);-webkit-background-clip:text;background-clip:text;color:transparent}.slogan{margin:17px 0 22px;color:var(--cyan);font-weight:900;font-size:clamp(.9rem,1.6vw,1.2rem);letter-spacing:.22em;text-shadow:0 0 22px rgba(23,220,255,.16)}.hero-copy{max-width:720px;color:var(--muted);font-size:1.08rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 19px;border-radius:14px;border:1px solid var(--line);font-weight:800;font-size:.94rem;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s}.btn:hover{transform:translateY(-3px);border-color:var(--line-strong)}.btn-primary{background:linear-gradient(135deg,var(--blue),#1bc6f7);color:#fff;box-shadow:0 16px 42px rgba(23,105,255,.27)}.btn-primary:hover{box-shadow:0 20px 52px rgba(23,105,255,.34)}.btn-secondary{background:rgba(255,255,255,.035);color:#e7f4ff}

/* Hero motion system: v1.2-inspired orbit geometry, refined network topology and data flow. */
.hero-visual{position:relative;min-height:560px;display:grid;place-items:center;perspective:1200px;--px:0px;--py:0px}.hero-stage{position:relative;width:min(520px,86vw);aspect-ratio:1;transform:translate3d(var(--px),var(--py),0);transition:transform .22s cubic-bezier(.2,.75,.25,1);will-change:transform}.hero-stage::before{content:"";position:absolute;inset:9%;border-radius:50%;background:radial-gradient(circle,rgba(23,105,255,.16),transparent 62%);filter:blur(22px);animation:ambientBreath 6s ease-in-out infinite}.hero-orb{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle at 48% 38%,rgba(39,116,255,.44),transparent 29%),radial-gradient(circle at 64% 63%,rgba(140,98,255,.18),transparent 42%),radial-gradient(circle at 50% 50%,#071435,#03091b 68%);border:1px solid rgba(63,182,255,.55);box-shadow:0 0 0 12px rgba(23,105,255,.045),0 0 90px rgba(23,105,255,.19),inset 0 0 85px rgba(23,220,255,.11);overflow:visible}.network-orb::before,.network-orb::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.network-orb::before{inset:-7%;border:1px solid rgba(23,220,255,.28);border-left-color:transparent;border-right-color:rgba(140,98,255,.45);transform:rotate(-25deg) scaleY(.38);animation:ringSpin 16s linear infinite}.network-orb::after{inset:-14%;border:1px solid rgba(23,220,255,.14);border-top-color:rgba(23,220,255,.7);border-bottom-color:transparent;transform:rotate(32deg) scaleY(.28);animation:ringSpinReverse 23s linear infinite}.orb-grid{position:absolute;inset:8%;border-radius:50%;opacity:.26;background-image:radial-gradient(circle,rgba(95,207,255,.52) 1px,transparent 1.55px);background-size:18px 18px;mask-image:radial-gradient(circle,black 14%,transparent 69%);animation:gridDrift 18s linear infinite}.network-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(23,220,255,.16);border-radius:50%;transform:translate(-50%,-50%) scaleY(.35);pointer-events:none}.ring-a{width:86%;height:44%;border-top-color:rgba(23,220,255,.65);border-bottom-color:rgba(23,105,255,.42);transform:translate(-50%,-50%) rotate(27deg) scaleY(.35);animation:orbitSweep 12s linear infinite}.ring-b{width:82%;height:52%;border-top-color:rgba(140,98,255,.72);border-bottom-color:rgba(23,220,255,.28);transform:translate(-50%,-50%) rotate(-42deg) scaleY(.35);animation:orbitSweepReverse 16s linear infinite}.ring-c{width:66%;height:24%;border-color:rgba(255,255,255,.10);transform:translate(-50%,-50%) rotate(78deg) scaleY(.42);animation:ringPulse 8s ease-in-out infinite}.network-route{position:absolute;left:50%;top:50%;height:1px;width:34%;transform-origin:0 50%;background:linear-gradient(90deg,rgba(23,220,255,.36),rgba(23,105,255,.08));box-shadow:0 0 12px rgba(23,220,255,.09);opacity:.8}.route-1{transform:rotate(-90deg)}.route-2{transform:rotate(-45deg)}.route-3{transform:rotate(0deg)}.route-4{transform:rotate(45deg)}.route-5{transform:rotate(90deg)}.route-6{transform:rotate(135deg)}.network-node{position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:#dffaff;box-shadow:0 0 16px 3px rgba(23,220,255,.7);animation:nodePulse 2.8s ease-in-out infinite;z-index:3}.node-1{left:50%;top:8%;transform:translate(-50%,-50%)}.node-2{left:80%;top:20%;transform:translate(-50%,-50%);animation-delay:-.5s}.node-3{left:92%;top:50%;transform:translate(-50%,-50%);animation-delay:-1s}.node-4{left:80%;top:80%;transform:translate(-50%,-50%);animation-delay:-1.5s}.node-5{left:50%;top:92%;transform:translate(-50%,-50%);animation-delay:-2s}.node-6{left:20%;top:80%;transform:translate(-50%,-50%);animation-delay:-2.5s}.node-7{left:8%;top:50%;transform:translate(-50%,-50%);animation-delay:-.9s}.node-8{left:20%;top:20%;transform:translate(-50%,-50%);animation-delay:-1.8s}.network-packet{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 18px 5px rgba(23,220,255,.85);z-index:4;animation:packetOrbit 7s linear infinite}.packet-a{transform-origin:0 0}.packet-b{animation-duration:9s;animation-direction:reverse;box-shadow:0 0 18px 5px rgba(140,98,255,.7)}.packet-c{animation-duration:11s;transform:rotate(90deg);}.packet-d{animation-duration:13s;animation-direction:reverse;transform:rotate(180deg)}.network-scan{position:absolute;left:50%;top:50%;width:76%;height:1px;transform-origin:0 50%;background:linear-gradient(90deg,rgba(23,220,255,.55),transparent 70%);box-shadow:0 0 16px rgba(23,220,255,.22);animation:radarSweep 6.5s linear infinite;z-index:2}.network-core{position:absolute;left:50%;top:50%;width:27%;height:27%;border-radius:50%;background:radial-gradient(circle,rgba(23,220,255,.18),rgba(23,105,255,.05) 44%,transparent 72%);border:1px solid rgba(23,220,255,.12);box-shadow:0 0 45px rgba(23,220,255,.13);transform:translate(-50%,-50%);animation:coreBreath 4.8s ease-in-out infinite}.network-vignette{position:absolute;inset:7%;border-radius:50%;box-shadow:inset 0 0 75px rgba(0,0,0,.31);pointer-events:none;z-index:8}.network-status{position:absolute;left:50%;top:9%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid rgba(117,201,255,.15);border-radius:999px;background:rgba(3,9,25,.58);backdrop-filter:blur(10px);color:#87b3d3;font-size:.57rem;font-weight:800;letter-spacing:.13em;white-space:nowrap}.network-status span{width:6px;height:6px;border-radius:50%;background:#5df0b1;box-shadow:0 0 10px rgba(93,240,177,.85);animation:statusPulse 2.2s ease-in-out infinite}.riz-emblem{position:absolute;left:50%;top:50%;width:59%;max-width:330px;z-index:12;transform:translate(-50%,-50%) translate3d(0,0,0);filter:drop-shadow(0 0 30px rgba(23,220,255,.36)) drop-shadow(0 20px 35px rgba(0,0,0,.35));animation:emblemFloat 6.5s ease-in-out infinite;will-change:transform}.hero-stage:hover .riz-emblem{animation-play-state:paused;transform:translate(-50%,-50%) scale(1.035) rotate(.5deg)}.stage-caption{position:absolute;bottom:2%;left:50%;transform:translateX(-50%);padding:7px 12px;border:1px solid rgba(117,201,255,.13);border-radius:999px;background:rgba(3,9,25,.58);backdrop-filter:blur(12px);color:#88a9c7;font-size:.67rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.stage-caption::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cyan);margin-right:8px;box-shadow:0 0 10px var(--cyan)}

.section{padding:105px 0;position:relative}.section-head{max-width:760px;margin-bottom:42px}.kicker{color:var(--cyan);font-size:.74rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.section h2{margin:9px 0 14px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.04em}.section-lead{color:var(--muted);font-size:1.05rem}.glass{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(13,31,65,.78),rgba(7,15,33,.72));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.glass::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.035) 50%,transparent 75%);transform:translateX(-120%);transition:transform .8s ease;pointer-events:none}.glass:hover::before{transform:translateX(120%)}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px}.about-card{padding:30px}.about-card p{color:#b4c7dc;margin-top:0}.focus-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}.focus{padding:20px;border-radius:18px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);transition:.3s}.focus:hover{transform:translateY(-4px);border-color:rgba(23,220,255,.28);background:rgba(23,220,255,.035)}.focus-icon{font-size:1.3rem;margin-bottom:10px;color:var(--cyan)}.focus h3{margin:0 0 5px;font-size:1rem}.focus p{margin:0;font-size:.9rem;color:#91a7c0}
.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tech-card{padding:23px;transition:transform .3s,border-color .3s,box-shadow .3s}.tech-card:hover{transform:translateY(-6px);border-color:rgba(23,220,255,.28);box-shadow:0 24px 65px rgba(0,0,0,.34)}.tech-card h3{margin:0 0 8px;font-size:1rem}.tech-card p{margin:0;color:#94a9c1;font-size:.9rem}.pill-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.pill{padding:5px 9px;border:1px solid rgba(23,220,255,.16);background:rgba(23,220,255,.05);border-radius:999px;color:#b8eefd;font-size:.72rem;font-weight:700}
.timeline{display:grid;gap:16px}.timeline-item{display:grid;grid-template-columns:130px 1fr;gap:24px;align-items:start;padding:25px;transition:.3s}.timeline-item:hover{transform:translateX(5px);border-color:rgba(23,220,255,.28)}.timeline-label{color:var(--cyan);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.timeline-item h3{margin:0 0 7px;font-size:1.15rem}.timeline-item p{margin:0;color:#9db1c8}
.cta{padding:48px;display:flex;justify-content:space-between;align-items:center;gap:30px;background:radial-gradient(circle at 85% 10%,rgba(23,220,255,.2),transparent 24rem),linear-gradient(135deg,rgba(20,66,154,.6),rgba(10,22,49,.85))}.cta h2{margin:0 0 8px}.cta p{margin:0;color:#b4c7dc}.site-footer{border-top:1px solid var(--line);padding:28px 0 36px;color:#8197af;font-size:.86rem}.footer-wrap{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-wrap a{color:#b9eefa}
.reveal{opacity:0;transform:translateY(28px) scale(.985);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.reveal:nth-child(2){transition-delay:.06s}.reveal:nth-child(3){transition-delay:.12s}.reveal:nth-child(4){transition-delay:.18s}.reveal:nth-child(5){transition-delay:.24s}.reveal:nth-child(6){transition-delay:.3s}
.scroll-progress{position:fixed;left:0;top:0;width:100%;height:2px;z-index:120;background:linear-gradient(90deg,var(--cyan),var(--blue),var(--violet));transform:scaleX(0);transform-origin:left center;box-shadow:0 0 12px rgba(23,220,255,.45)}
@keyframes statusPulse{0%,100%{opacity:.65;box-shadow:0 0 8px var(--cyan)}50%{opacity:1;box-shadow:0 0 20px var(--cyan)}}@keyframes ambientBreath{0%,100%{transform:scale(.96);opacity:.55}50%{transform:scale(1.05);opacity:1}}@keyframes ringSpin{to{transform:rotate(335deg) scaleY(.38)}}@keyframes ringSpinReverse{to{transform:rotate(-328deg) scaleY(.28)}}@keyframes gridDrift{to{transform:rotate(360deg) scale(1.04)}}@keyframes orbitSweep{to{transform:translate(-50%,-50%) rotate(387deg) scaleY(.35)}}@keyframes orbitSweepReverse{to{transform:translate(-50%,-50%) rotate(-402deg) scaleY(.35)}}@keyframes ringPulse{0%,100%{opacity:.4;transform:translate(-50%,-50%) rotate(78deg) scaleY(.38)}50%{opacity:.95;transform:translate(-50%,-50%) rotate(258deg) scaleY(.48)}}@keyframes nodePulse{0%,100%{opacity:.58;box-shadow:0 0 10px 2px rgba(23,220,255,.36);transform-origin:center}50%{opacity:1;box-shadow:0 0 19px 5px rgba(23,220,255,.7)}}@keyframes packetOrbit{0%{transform:rotate(0deg) translateX(118px) rotate(0deg);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:rotate(360deg) translateX(118px) rotate(-360deg);opacity:0}}@keyframes radarSweep{0%{transform:translate(-50%,-50%) rotate(0deg);opacity:0}14%{opacity:.45}50%{opacity:.75}86%{opacity:.18}100%{transform:translate(-50%,-50%) rotate(360deg);opacity:0}}@keyframes coreBreath{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.94)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}@keyframes emblemFloat{0%,100%{transform:translate(-50%,-50%) translateY(0) rotate(-.7deg)}50%{transform:translate(-50%,-50%) translateY(-11px) rotate(.7deg)}}
@media(max-width:900px){.hero-grid,.about-grid{grid-template-columns:1fr}.hero{padding-top:120px}.hero-visual{min-height:470px;order:-1}.tech-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.container{width:min(100% - 28px,1160px)}.main-nav{display:none;position:absolute;left:14px;right:14px;top:70px;padding:14px;background:#071126;border:1px solid var(--line);border-radius:18px}.main-nav.open{display:block}.main-nav ul{flex-direction:column;align-items:stretch;gap:2px}.main-nav a{display:block;padding:11px 10px}.nav-toggle{display:inline-flex;width:44px;height:40px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04);color:white;font-size:1.1rem}.hero h1{font-size:clamp(2.75rem,13vw,4.6rem)}.slogan{letter-spacing:.13em}.hero-visual{min-height:370px}.hero-stage{width:350px}.stage-caption{font-size:.58rem}.tech-grid,.focus-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:7px}.cta{padding:30px;flex-direction:column;align-items:flex-start}.footer-wrap{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body::after{display:none}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}

/* v1.2 portfolio closing statement — intentionally follows the existing glass/tech language. */
.portfolio-statement{margin-top:16px;padding:34px;background:radial-gradient(circle at 90% 10%,rgba(23,220,255,.12),transparent 24rem),linear-gradient(145deg,rgba(13,31,65,.82),rgba(7,15,33,.76))}.portfolio-statement h3{max-width:850px;margin:8px 0 10px;font-size:clamp(1.65rem,3vw,2.55rem);line-height:1.12;letter-spacing:-.035em}.portfolio-statement p{max-width:850px;margin:0;color:#9db1c8}.portfolio-statement::after{content:"";position:absolute;right:28px;bottom:24px;width:110px;height:1px;background:linear-gradient(90deg,transparent,var(--cyan));box-shadow:0 0 16px rgba(23,220,255,.35)}
