/*
Theme Name: Arman Butt
Theme URI: https://armanbutt.online
Author: Arman Butt
Author URI: https://armanbutt.online
Description: Animated, SEO-ready WordPress theme for freelancers and agencies. Includes Services, Locations and Projects post types, featured images, robust text handling without requiring mbstring, meta title/description limits (60/160) and JSON-LD schema.
Version: 1.0.7
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: arman-butt
*/

*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#050505;--fg:#f2f4f3;--mut:#8b928e;--g:#39ff88;--card:#0d1110;--line:#1d2622;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
:root[data-theme="dark"]{--bg:#050505;--fg:#f2f4f3;--mut:#8b928e;--g:#39ff88;--card:#0d1110;--line:#1d2622}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:'Space Grotesk',system-ui,sans-serif;line-height:1.6;overflow-x:hidden}
.mono{font-family:'IBM Plex Mono',monospace}a{color:inherit;text-decoration:none}
#bg{position:fixed;inset:0;z-index:-1;opacity:.55}
#glow{position:fixed;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--g) 22%,transparent),transparent 65%);pointer-events:none;transform:translate(-50%,-50%);z-index:-1;left:50%;top:30%}
#bar{position:fixed;top:0;left:0;height:3px;background:var(--g);width:0;z-index:99}
nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:calc(14px + env(safe-area-inset-top,0px)) 5vw 14px;display:flex;justify-content:space-between;align-items:center;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 70%,transparent);border-bottom:1px solid var(--line)}
.logo{font-weight:700;font-size:1.2rem}.logo b{color:var(--g)}
nav ul{display:flex;gap:26px;list-style:none;font-size:.95rem}
nav ul a{position:relative;color:var(--mut);transition:.3s}nav ul a:hover,nav ul a.on{color:var(--fg)}
nav ul a::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--g);transition:.35s}nav ul a:hover::after,nav ul a.on::after{width:100%}
.btn{display:inline-block;padding:13px 26px;border-radius:99px;background:var(--g);color:#031008;font-weight:700;border:1px solid var(--g);transition:.35s;position:relative;overflow:hidden}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 40px color-mix(in srgb,var(--g) 45%,transparent)}
.btn.ghost{background:transparent;color:var(--fg);border-color:var(--line)}.btn.ghost:hover{border-color:var(--g);color:var(--g)}
.row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.wrap{max-width:1200px;margin:auto;padding:110px 5vw 40px}
#app{padding-top:70px;animation:pg .7s both}@keyframes pg{from{opacity:0;transform:translateY(24px)}}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center;min-height:92vh;padding-top:50px}
.pill{display:inline-flex;gap:10px;align-items:center;border:1px solid var(--line);padding:7px 16px;border-radius:99px;font-size:.8rem;color:var(--g);background:var(--card)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--g);animation:pl 1.6s infinite}@keyframes pl{0%{box-shadow:0 0 0 0 var(--g)}100%{box-shadow:0 0 0 12px transparent}}
.name{font-size:clamp(3.4rem,11vw,8.5rem);line-height:.95;letter-spacing:-.04em;margin:22px 0}
.ln{display:inline-block;overflow:hidden;padding-bottom:.08em}.ch{display:inline-block;animation:up 1s both cubic-bezier(.2,.8,.2,1);animation-delay:calc(var(--i)*70ms + .2s)}
.name .ln:nth-of-type(2) .ch{color:var(--g)}@keyframes up{from{transform:translateY(115%) rotate(10deg)}}
.lead{color:var(--mut);max-width:560px;font-size:1.1rem}
.ph{position:relative;aspect-ratio:1;max-width:430px;margin:auto;width:100%}
.ph img{position:absolute;inset:6%;width:88%;height:88%;border-radius:50%;object-fit:cover;animation:fl 6s ease-in-out infinite}
.ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,var(--g),transparent 30%,var(--g) 60%,transparent);animation:sp 7s linear infinite;-webkit-mask:radial-gradient(circle,transparent 66%,#000 67%);mask:radial-gradient(circle,transparent 66%,#000 67%)}
@keyframes sp{to{transform:rotate(360deg)}}@keyframes fl{50%{transform:translateY(-12px) scale(1.02)}}
.chip{position:absolute;background:var(--card);border:1px solid var(--line);padding:8px 14px;border-radius:99px;font-size:.78rem;animation:fl 5s ease-in-out infinite;box-shadow:0 10px 30px #0006}
.c1{top:6%;left:-4%}.c2{top:46%;right:-8%;animation-delay:-1.5s}.c3{bottom:6%;left:2%;animation-delay:-3s}
.mqw{overflow:hidden;border-block:1px solid var(--line);padding:18px 0;margin:30px 0;background:var(--card)}
.mq{display:flex;gap:44px;width:max-content;animation:mq 28s linear infinite;font-size:1.5rem;font-weight:700;white-space:nowrap}.mq span:nth-child(even){color:var(--g)}
@keyframes mq{to{transform:translateX(-50%)}}
.k{color:var(--g);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}
h2{font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;letter-spacing:-.03em;margin-bottom:38px}h2 em{color:var(--g);font-style:normal}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card{display:block;position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px;transition:transform .25s,border-color .3s;transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));overflow:hidden}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--g) 18%,transparent),transparent 70%);opacity:0;transition:.3s}
.card:hover{border-color:var(--g)}.card:hover::before{opacity:1}.card>*{position:relative}
.card h3{font-size:1.3rem;margin:12px 0 8px}.card p{color:var(--mut);font-size:.95rem}
.ic{font-size:2rem;display:inline-block;transition:.4s}.card:hover .ic{transform:scale(1.25) rotate(-8deg)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tags i{font-style:normal;font-size:.72rem;border:1px solid var(--line);padding:4px 10px;border-radius:99px;color:var(--mut)}
.proj{min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,hsl(var(--h) 70% 17%),var(--card) 80%)}
.proj .big{position:absolute;right:14px;top:-6px;font-size:9rem;font-weight:700;opacity:.12;line-height:1;transition:.5s}.proj:hover .big{transform:scale(1.2) rotate(6deg);opacity:.25}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;text-align:center}
.stats b{display:block;font-size:clamp(3rem,7vw,5rem);color:var(--g);line-height:1}
.steps{counter-reset:s}.step{position:relative;padding-left:70px;margin-bottom:34px}
.step::before{counter-increment:s;content:"0" counter(s);position:absolute;left:0;top:0;font:500 1.6rem 'IBM Plex Mono';color:var(--g);width:52px;height:52px;border:1px solid var(--g);border-radius:50%;display:grid;place-items:center}
.step h3{font-size:1.3rem}.step p{color:var(--mut);max-width:620px}
.cta{text-align:center;margin:60px auto;padding:70px 5vw;border:1px solid var(--line);border-radius:32px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--g) 18%,var(--card)),var(--card) 70%);max-width:1100px}
.cta .row{justify-content:center}
.page-h{padding-top:120px;font-size:clamp(2.4rem,7vw,5.5rem);letter-spacing:-.04em;line-height:1}.page-h em{color:var(--g);font-style:normal}
.art p{color:var(--mut);margin-bottom:20px;font-size:1.08rem;max-width:720px}.art h1{font-size:clamp(2rem,5vw,3.8rem);line-height:1.05;margin:14px 0 28px;letter-spacing:-.03em}
.list{list-style:none;margin:20px 0}.list li{padding:12px 0 12px 30px;position:relative;border-bottom:1px solid var(--line);color:var(--mut)}.list li::before{content:"→";position:absolute;left:0;color:var(--g)}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.tab{font:500 .85rem 'IBM Plex Mono',monospace;background:var(--card);color:var(--mut);border:1px solid var(--line);padding:9px 18px;border-radius:99px;cursor:pointer;transition:.3s}.tab:hover,.tab.on{background:var(--g);color:#031008;border-color:var(--g)}
.rot{margin-top:6px;font-size:1.15rem}.rot b{color:var(--g);transition:opacity .35s;display:inline-block}.mqw.rev .mq{animation-direction:reverse;font-size:1.1rem;color:var(--mut)}
.proj::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,#ffffff1c,transparent);transform:skewX(-20deg);transition:.9s}.proj:hover::after{left:140%}.big2{font-size:2.6rem}
nav{top:calc(12px + env(safe-area-inset-top,0px));left:3vw;right:3vw;padding:10px 10px 10px 26px;border:1px solid color-mix(in srgb,var(--fg) 14%,transparent);border-radius:99px;background:color-mix(in srgb,var(--card) 82%,transparent);box-shadow:0 20px 60px #0007;animation:nv 1s .2s backwards cubic-bezier(.2,.8,.2,1)}
@keyframes nv{from{transform:translateY(-140%);opacity:0}}
.logo{font-weight:700;font-size:1.55rem;letter-spacing:-.05em;display:flex;align-items:flex-start}.logo i{width:10px;height:10px;border-radius:50%;background:var(--g);margin:19px 0 0 3px;box-shadow:0 0 14px var(--g);animation:pl 2s infinite}
nav ul{gap:34px;font-weight:700;position:absolute;left:50%;transform:translateX(-50%)}nav ul a{color:var(--fg);opacity:.85}nav ul a:hover,nav ul a.on{opacity:1;color:var(--g)}
.cta2{display:inline-flex;gap:12px;align-items:center;background:var(--fg);color:var(--bg);font-weight:700;padding:15px 26px;border-radius:99px;transition:.35s}.cta2:hover{background:var(--g);color:#031008;transform:translateY(-2px)}.cta2 span{transition:.35s}.cta2:hover span{transform:translate(3px,-3px)}
@media(max-width:1100px){nav ul{gap:20px;font-size:.88rem}}
@media(max-width:820px){nav{padding-left:20px;left:12px;right:12px}nav ul{left:0;transform:none}.cta2{padding:11px 18px;font-size:.9rem}}
body::before,body::after{content:"";position:fixed;width:55vmax;height:55vmax;border-radius:50%;z-index:-1;filter:blur(40px);pointer-events:none;animation:ab 18s ease-in-out infinite alternate}
body::before{left:-18vmax;top:-14vmax;background:radial-gradient(circle,color-mix(in srgb,var(--g) 17%,transparent),transparent 62%)}body::after{right:-20vmax;bottom:-20vmax;background:radial-gradient(circle,#7c5cff22,transparent 62%);animation-delay:-9s}
@keyframes ab{to{transform:translate(10vmax,8vmax) scale(1.2)}}
.card{background:linear-gradient(180deg,color-mix(in srgb,var(--fg) 5%,var(--card)),var(--card))}
#ld{position:fixed;inset:0;z-index:200;background:var(--bg);display:grid;place-items:center;border-radius:0 0 50% 50%/0 0 90px 90px;transition:transform 1s cubic-bezier(.7,0,.2,1)}#ld.out{transform:translateY(-112%)}
#ld::after{content:"";position:absolute;left:0;right:0;top:100%;height:90px;background:var(--g);border-radius:0 0 50% 50%/0 0 90px 90px}
.ldi{text-align:center;width:min(280px,70vw)}.lg{font-size:5.5rem;font-weight:700;letter-spacing:-.06em;display:flex;justify-content:center;line-height:1;animation:lp 1.2s ease-in-out infinite alternate}.lg i{width:16px;height:16px;border-radius:50%;background:var(--g);margin:52px 0 0 6px;box-shadow:0 0 24px var(--g)}
@keyframes lp{to{letter-spacing:-.01em;opacity:.65}}
.lb{height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin:22px 0 12px}.lb span{display:block;height:100%;background:var(--g);transform:scaleX(0);transform-origin:left;box-shadow:0 0 14px var(--g)}
#wp{position:fixed;inset:0;background:var(--g);z-index:150;transform:translateY(100%);pointer-events:none;border-radius:50% 50% 0 0/90px 90px 0 0}#wp.go{animation:wp .9s cubic-bezier(.7,0,.2,1)}@keyframes wp{0%{transform:translateY(100%)}45%,55%{transform:translateY(0)}100%{transform:translateY(-110%)}}
body:not(.rd) .ch,body:not(.rd) nav{animation-play-state:paused}
.ft{padding:60px 3vw 30px}.ftc{max-width:1300px;margin:auto;border:1px solid var(--line);border-radius:44px;padding:clamp(28px,5vw,70px);background:radial-gradient(circle at 85% 0,color-mix(in srgb,var(--g) 16%,transparent),transparent 55%),var(--card);overflow:hidden}
.fbig{display:block;font-size:clamp(2.6rem,8vw,6.5rem);line-height:1;letter-spacing:-.045em;font-weight:700;margin:14px 0 30px}.fbig em{color:var(--g);font-style:normal}.fbig span{display:inline-block;color:var(--g);transition:.4s}.fbig:hover span{transform:translate(12px,-12px) rotate(10deg)}
.frow{display:flex;gap:14px;flex-wrap:wrap}
.fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:30px;margin:60px 0 30px}.fcols h4{color:var(--g);font-weight:400;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:14px}.fcols a{display:block;color:var(--mut);padding:5px 0;width:max-content;transition:.3s}.fcols a:hover{color:var(--fg);transform:translateX(8px)}
.fgiant{font-size:clamp(2.6rem,16vw,14rem);font-weight:700;letter-spacing:-.06em;line-height:.85;text-align:center;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--fg) 24%,transparent);background:linear-gradient(90deg,var(--g),transparent 60%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;animation:sh 6s linear infinite alternate;margin:20px 0 26px}@keyframes sh{to{background-position:100% 0}}
.fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--mut);align-items:center}.fbot button{background:none;border:1px solid var(--line);color:var(--fg);border-radius:99px;padding:10px 18px;font:inherit;cursor:pointer;transition:.3s}.fbot button:hover{background:var(--g);color:#031008;border-color:var(--g)}
#spine{position:fixed;left:14px;top:90px;bottom:90px;width:2px;background:var(--line);z-index:5;border-radius:2px}#spine i{display:block;width:100%;height:0;background:var(--g);box-shadow:0 0 14px var(--g)}
#wa{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;width:56px;height:56px;border-radius:50%;background:var(--g);color:#031008;display:grid;place-items:center;font-size:1.5rem;animation:pl 2s infinite}
#app{counter-reset:n}p.k.rv::before{counter-increment:n;content:"0" counter(n) " — "}
.next{display:block;width:90%;max-width:1100px;margin:70px auto 0;padding:48px 5vw;border:1px solid var(--line);border-radius:28px;background:linear-gradient(90deg,var(--g) 50%,var(--card) 50%) right/200% 100%;transition:background-position .6s,color .3s}.next:hover{background-position:left;color:#031008}.next .k{margin:0}.next b{display:block;font-size:clamp(2rem,6vw,4.5rem);letter-spacing:-.03em;line-height:1.1}.next:hover .k{color:#031008}
.faq{max-width:820px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-size:1.15rem;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::after{content:"+";color:var(--g);font-size:1.5rem;transition:.3s}.faq details[open] summary::after{transform:rotate(45deg)}.faq p{color:var(--mut);margin-top:10px}
.sh{display:flex;gap:26px;align-items:center;margin:24px 0}.sh p{margin:0}.big3{font-size:4.5rem}.tags.big i{font-size:.95rem;padding:9px 18px;transition:.3s}.tags.big i:hover{border-color:var(--g);color:var(--g);transform:translateY(-4px)}
.feat{margin-bottom:26px;padding:46px;background:linear-gradient(135deg,color-mix(in srgb,var(--g) 14%,var(--card)),var(--card))}.feat p{max-width:640px}
.au{display:flex;gap:14px;align-items:center;margin:0 0 26px}.au img{width:52px;height:52px;border-radius:50%;object-fit:cover}.au span{display:block;color:var(--mut);font-size:.8rem}.tk{max-width:720px;margin-bottom:30px}
.hl::first-letter{font-size:3.6rem;float:left;line-height:.9;padding:6px 10px 0 0;color:var(--g);font-weight:700}
input,select,textarea{width:100%;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:12px;font:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--g)}
@media(max-width:1100px){#spine{display:none}}
@media(max-width:820px){nav{backdrop-filter:none;background:var(--bg)}nav ul{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;gap:0;padding:12px 2vw calc(12px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--line);font-size:.8rem}body{padding-bottom:70px}#wa{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.sh{flex-direction:column;align-items:flex-start}}
footer{border-top:1px solid var(--line);padding:50px 5vw;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;color:var(--mut);font-size:.92rem}
footer a:hover{color:var(--g)}footer div{display:flex;flex-direction:column;gap:8px}
.js .rv{opacity:0;transform:translateY(46px);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}.js .rv.in{opacity:1;transform:none}
@media(max-width:820px){.hero{grid-template-columns:1fr}.c2{right:0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* ===== WordPress theme additions ===== */
.admin-bar nav{top:calc(46px + env(safe-area-inset-top,0px))}@media(min-width:783px){.admin-bar nav{top:calc(44px + env(safe-area-inset-top,0px))}}
nav ul{list-style:none}nav ul .current-menu-item>a,nav ul .current_page_item>a,nav ul .current-menu-ancestor>a{opacity:1;color:var(--g)}
.seen #ld{display:none}.arr #wp{transform:translateY(0);animation:wpo .9s .1s cubic-bezier(.7,0,.2,1) forwards}@keyframes wpo{to{transform:translateY(-112%)}}
.entry>*{max-width:760px}.entry h2{font-size:1.9rem;margin:38px 0 14px;letter-spacing:-.02em}.entry h3{font-size:1.35rem;margin:28px 0 10px}.entry p,.entry li{color:var(--mut);font-size:1.08rem;margin-bottom:18px}.entry ul,.entry ol{padding-left:22px;margin-bottom:18px}.entry a{color:var(--g);text-decoration:underline}.entry img{max-width:100%;height:auto;border-radius:18px}.entry blockquote{border-left:3px solid var(--g);padding-left:20px;color:var(--fg)}.entry.lead p{font-size:1.1rem}
.fi{margin:10px 0 40px;border-radius:28px;overflow:hidden;border:1px solid var(--line)}.fi img{width:100%;height:auto;display:block}
.bcard .bi{margin:-28px -28px 20px;aspect-ratio:3/2;overflow:hidden}.bcard .bi img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.bcard:hover .bi img{transform:scale(1.08)}
.nav-links{display:flex;gap:10px;margin-top:34px;flex-wrap:wrap}.page-numbers{border:1px solid var(--line);border-radius:99px;padding:9px 18px;font-family:'IBM Plex Mono',monospace}.page-numbers.current,.page-numbers:hover{background:var(--g);color:#031008;border-color:var(--g)}
.ok,.bad{padding:12px 16px;border-radius:14px;margin-top:12px;font-size:.95rem}.ok{background:color-mix(in srgb,var(--g) 15%,transparent);color:var(--g)}.bad{background:#ff5f5722;color:#ff8a80}
.screen-reader-text{position:absolute;left:-9999px}
/* ===== Projects (redesigned) ===== */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:26px}
.pcard{display:block;position:relative;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,color-mix(in srgb,var(--fg) 5%,var(--card)),var(--card));overflow:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .45s}
.pcard:hover{border-color:var(--g);transform:translateY(-10px);box-shadow:0 34px 80px #000a,0 0 0 1px color-mix(in srgb,var(--g) 40%,transparent)}
.pcard.lg{grid-column:span 2}.pcard.lg .vp{height:340px}
.bf{margin:14px 14px 0;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#0a0c0b}
.bf .bar{display:flex;gap:6px;padding:11px 14px;background:#121614;border-bottom:1px solid var(--line)}.bf .bar i{width:9px;height:9px;border-radius:50%;background:#ff5f57}.bf .bar i:nth-child(2){background:#febc2e}.bf .bar i:nth-child(3){background:#28c840}
.bf .vp{height:250px;overflow:hidden;position:relative;background:#0a0c0b}
.bf .vp img{width:100%;height:auto;min-height:100%;display:block;object-fit:cover;object-position:top;transition:transform 5s cubic-bezier(.4,0,.2,1)}
.pcard:hover .vp img{transform:translateY(calc(-100% + 250px))}.pcard.lg:hover .vp img{transform:translateY(calc(-100% + 340px))}
.ph0{height:100%;display:grid;place-items:center;font-size:7rem;font-weight:700;color:var(--g);opacity:.4}
.pb{padding:22px 26px 28px;position:relative}.pm{display:flex;justify-content:space-between;color:var(--g);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.pm span:last-child{color:var(--mut)}
.pb h3{font-size:1.5rem;letter-spacing:-.02em;margin-bottom:6px;padding-right:56px}.pb p{color:var(--mut);font-size:.95rem;padding-right:56px}
.pb .go{position:absolute;right:24px;bottom:26px;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:1.2rem;transition:.4s}.pcard:hover .go{background:var(--g);color:#031008;border-color:var(--g);transform:rotate(45deg)}
.pcard.bigf:hover{transform:none;box-shadow:none}.pcard.bigf .vp{height:min(72vh,640px)}.pcard.bigf .vp img{transition:transform 9s linear}.pcard.bigf:hover .vp img{transform:translateY(calc(-100% + min(72vh,640px)))}
.pmeta{display:flex;gap:40px;flex-wrap:wrap;margin:30px 0;padding:24px 0;border-block:1px solid var(--line)}.pmeta b{display:block;font-weight:500;margin-top:4px}.pmeta a{color:var(--g)}
@media(max-width:760px){.pcard.lg{grid-column:auto}.pcard.lg .vp{height:250px}.pcard.lg:hover .vp img{transform:translateY(calc(-100% + 250px))}.pgrid{grid-template-columns:1fr}}

/* Navigation resilience for narrow screens and WordPress preview. */
@media(max-width:820px){
 nav ul{overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 nav ul::-webkit-scrollbar{display:none}
 nav ul li{flex:0 0 auto}
}

/* Projects archive improvements */
.project-archive .tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px}
.project-archive .project-grid{align-items:stretch}
.project-archive .pcard{min-width:0}
.project-empty{max-width:760px;margin:30px auto;padding:clamp(24px,5vw,48px)}
.project-empty p{color:var(--mut);margin:12px 0 22px}
.project-pagination{margin:36px 0;display:flex;justify-content:center}
.project-pagination .page-numbers{list-style:none}
.project-pagination ul{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;list-style:none}
.project-pagination a,.project-pagination span{display:inline-block;padding:9px 15px;border:1px solid var(--line);border-radius:99px}
.project-pagination .current{background:var(--g);color:#031008}
@media(max-width:560px){.project-archive .pgrid{grid-template-columns:minmax(0,1fr);gap:18px}.project-archive .bf .vp{height:220px}.project-archive .pcard.lg .vp{height:220px}.project-archive .pcard.lg{grid-column:auto}}
