/*
Theme Name: KVG Power Portfolio V5
Author: KVG Power / Kayode Braimoh
Description: Custom WordPress portfolio theme for KVG Power. WordPress-driven portfolio, normal blog posts, Contact Form 7 support and responsive dark developer aesthetic.
Version: 5.0.0
Text Domain: kvg-power
*/
:root{--bg:#070708;--panel:#0d0e11;--panel2:#111217;--ink:#f5f4ef;--muted:#9a9ba2;--dim:#666873;--line:#26272c;--gold:#f5b91b;--gold2:#ffd34f;--violet:#a875ff;--green:#9cff82;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit}.container{width:min(calc(100% - 56px),var(--max));margin-inline:auto}img{max-width:100%;height:auto}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(7,7,8,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.header-inner{height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:7px;text-decoration:none;font-weight:800;font-size:20px;letter-spacing:-.04em;white-space:nowrap}.brand img{max-height:42px;width:auto}.brand-mark{color:var(--gold);font-size:23px}.main-nav{margin-left:auto}.main-nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}.main-nav a{font:12px monospace;color:#b6b6ba;text-decoration:none;text-transform:uppercase;letter-spacing:.02em}.main-nav a:hover{color:var(--gold)}.header-cta{border:1px solid var(--gold);padding:11px 17px;text-decoration:none;font:11px monospace;text-transform:uppercase;color:var(--gold);white-space:nowrap}.header-cta:hover{background:var(--gold);color:#080808}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:25px;margin-left:auto}
.hero{min-height:760px;padding:150px 0 70px;display:flex;align-items:center;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-bg{position:absolute;width:900px;height:900px;right:-430px;top:-130px;border:1px solid rgba(168,117,255,.09);border-radius:50%;box-shadow:0 0 0 100px rgba(168,117,255,.018),0 0 0 210px rgba(168,117,255,.012);pointer-events:none}.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:70px;align-items:center;position:relative}.eyebrow,.section-kicker{font:12px monospace;color:var(--gold);letter-spacing:.03em}.hero h1{font-size:clamp(54px,7vw,101px);line-height:.92;letter-spacing:-.075em;margin:24px 0 26px;max-width:760px}.hero-static{display:block}.hero-typed{display:block;color:#f4f3ef;min-height:1em}.hero-accent{display:block;color:var(--gold)}.hero-typed:after{content:"_";color:var(--gold);animation:blink .8s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero-intro{max-width:680px;color:#a9a9ad;font-size:17px;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 20px;border:1px solid #484950;text-decoration:none;font:11px monospace;text-transform:uppercase;transition:.22s}.btn-primary{background:var(--gold);border-color:var(--gold);color:#090909;font-weight:800}.btn-secondary:hover{border-color:var(--gold);color:var(--gold)}.btn:hover{transform:translateY(-2px)}
.hero-visual{position:relative;min-height:470px}.code-window{position:absolute;left:0;top:20px;width:74%;height:310px;background:rgba(13,14,17,.95);border:1px solid #3b3c44;border-radius:12px;padding:55px 24px 20px;box-shadow:0 25px 90px rgba(0,0,0,.4);z-index:1}.window-dots{position:absolute;top:14px;left:17px;display:flex;gap:7px}.window-dots i{width:9px;height:9px;border-radius:50%;background:#ffca28;display:block}.window-dots i:nth-child(2){background:#777}.window-dots i:nth-child(3){background:#555}.code-lines{font:11px/1.9 monospace;color:#8b8c94}.code-lines span:first-child,.code-lines span:nth-child(2){color:#777}.code-lines b{color:var(--violet)}.code-lines em{color:var(--gold);font-style:normal}.code-lines strong{color:var(--green);font-weight:400}.hero-photo{position:absolute;right:0;bottom:0;width:72%;height:390px;object-fit:cover;object-position:center;border:1px solid #37383f;background:#0d0e11;z-index:2;mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 100%)}.hero-placeholder{display:flex;align-items:center;justify-content:center;font:15px monospace;color:#777}.experience-badge{position:absolute;right:-10px;bottom:15px;z-index:4;background:#17122d;border:1px solid #8e6be8;border-radius:10px;padding:16px 18px;min-width:105px;text-align:center;box-shadow:0 15px 50px rgba(0,0,0,.4)}.experience-badge strong{display:block;color:#fff;font-size:27px;line-height:1}.experience-badge span{display:block;color:#b7a6e9;font:10px monospace;margin-top:7px}
.tech-ticker{overflow:hidden;border-bottom:1px solid var(--line);white-space:nowrap;padding:16px 0;font:11px monospace;color:#b1b1b5}.ticker-track{display:inline-block;animation:marquee 28s linear infinite}.ticker-track i{font-style:normal;color:var(--gold);margin:0 18px}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:105px 0;border-bottom:1px solid var(--line)}.section-head-inline{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section h2{font-size:clamp(43px,5.2vw,70px);line-height:.94;letter-spacing:-.065em;margin:13px 0 0}.section-head-inline p{color:#85868c;max-width:650px;margin:13px 0 0}.outline-link,.text-link{font:11px monospace;text-decoration:none}.outline-link{border:1px solid #3b3c42;padding:13px 16px;color:#d0d0d4;white-space:nowrap}.outline-link:hover,.text-link:hover{color:var(--gold);border-color:var(--gold)}.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px}.about-photo{width:100%;max-width:430px;height:420px;object-fit:cover;border:1px solid var(--line);margin-bottom:30px;display:block;filter:saturate(.8)}.about-copy{color:#b8b9bd;font-size:18px;max-width:760px}.about-copy p{margin:0 0 18px}.about-facts{border-top:1px solid var(--line)}.about-facts div{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:25px}.about-facts strong{color:var(--gold);font-size:20px}.about-facts span{color:#777;font:11px monospace;text-align:right}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.portfolio-card{background:var(--panel);border:1px solid var(--line);transition:.25s;overflow:hidden}.portfolio-card:hover{transform:translateY(-4px);border-color:#4a4b54}.portfolio-image{height:245px;display:block;background:#131419;overflow:hidden}.portfolio-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s}.portfolio-card:hover .portfolio-image img{transform:scale(1.04)}.portfolio-placeholder{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;font:16px monospace;color:var(--gold);background:radial-gradient(circle at center,#24202d,#0e0f12)}.portfolio-card-body{padding:22px}.portfolio-type{font:10px monospace;color:var(--gold);text-transform:uppercase}.portfolio-card h3{font-size:25px;letter-spacing:-.04em;margin:10px 0 8px}.portfolio-card h3 a{text-decoration:none}.portfolio-card p{color:#85868b;font-size:13px;min-height:42px;margin:0}.portfolio-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:20px}.portfolio-links a{font:10px monospace;color:#bbb;text-decoration:none}.portfolio-links a:hover{color:var(--gold)}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.service-card{padding:25px;background:var(--panel);border:1px solid var(--line);min-height:330px;display:flex;flex-direction:column}.service-no{font:10px monospace;color:#666}.service-icon{width:48px;height:48px;border:1px solid #4a3c19;color:var(--gold);display:grid;place-items:center;font:14px monospace;margin:35px 0 18px}.service-card:nth-child(2) .service-icon{color:var(--violet);border-color:#3d2e5d}.service-card:nth-child(3) .service-icon{color:var(--green);border-color:#284226}.service-card h3{font-size:23px;letter-spacing:-.04em;margin:0 0 10px}.service-card p{color:#85868b;font-size:13px;margin:0}.service-card a{margin-top:auto;color:var(--gold);font:10px monospace;text-decoration:none;padding-top:22px}.service-card a:hover{text-decoration:underline}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.post-card{border:1px solid var(--line);background:var(--panel);overflow:hidden}.post-thumb{display:block;height:190px;background:#121318}.post-thumb img{width:100%;height:100%;object-fit:cover}.post-thumb span{height:100%;display:grid;place-items:center;color:#777;font:12px monospace}.post-card>div{padding:21px}.post-meta{color:#6f7077;font:10px monospace}.post-card h3{font-size:22px;line-height:1.1;margin:12px 0 18px}.post-card h3 a{text-decoration:none}.post-card h3 a:hover{color:var(--gold)}
.contact-cta{background:linear-gradient(100deg,#111018,#17102c);padding:70px 0;border-bottom:1px solid var(--line)}.contact-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-cta h2{font-size:clamp(40px,5vw,65px);letter-spacing:-.06em;line-height:.95;margin:12px 0}.contact-cta p{color:#999;margin:0}
.site-footer{background:#080809;border-top:1px solid var(--line);padding:55px 0 20px}.footer-top{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:50px;padding-bottom:45px}.footer-brand{font-weight:800;font-size:22px;text-decoration:none}.footer-top p{color:#777;max-width:360px;font-size:13px}.footer-links,.footer-socials{display:flex;flex-direction:column;gap:10px}.footer-links a,.footer-socials a{font:11px monospace;color:#999;text-decoration:none}.footer-links a:hover,.footer-socials a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;color:#5d5e64;font:10px monospace}
.page-hero{padding:155px 0 75px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(58px,8vw,105px);line-height:.9;letter-spacing:-.075em;margin:18px 0}.page-lead{color:#85868b;max-width:760px;font-size:18px}.page-body{padding:85px 0}.page-content{max-width:1050px}.page-content article{font-size:17px;color:#c2c2c5}.page-content article h2,.page-content article h3{color:#fff;letter-spacing:-.04em}.page-content article img{border:1px solid var(--line)}.contact-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-page-grid h2{font-size:clamp(45px,5vw,75px);line-height:.92;letter-spacing:-.065em;margin:0}.contact-page-grid p{color:#8d8e95}.contact-details{display:flex;flex-direction:column;gap:10px;margin-top:28px}.contact-details a{font:12px monospace;color:#bbb;text-decoration:none}.contact-details a:hover{color:var(--gold)}.cf7-wrap{background:var(--panel);border:1px solid var(--line);padding:30px}.wpcf7-form label{display:block;color:#aaa;font:11px monospace;margin-bottom:16px}.wpcf7-form input,.wpcf7-form textarea,.wpcf7-form select{width:100%;background:#08090b;color:#fff;border:1px solid #35363c;padding:13px;margin-top:7px;font:13px Arial}.wpcf7-form textarea{min-height:150px}.wpcf7-form input[type=submit]{background:var(--gold);color:#080808;border-color:var(--gold);font:11px monospace;font-weight:800;cursor:pointer}.wpcf7-not-valid-tip{font-size:11px}.wpcf7 form .wpcf7-response-output{margin:20px 0 0;border-color:var(--gold);color:#ccc;font-size:12px}.post-content{max-width:850px}.featured-post-image{width:100%;margin-bottom:35px}.post-content article{font-size:18px;color:#c0c0c4}.post-content article h2,.post-content article h3{color:#fff}.project-hero{padding:150px 0 75px;border-bottom:1px solid var(--line)}.project-hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.project-hero h1{font-size:clamp(55px,7vw,95px);line-height:.9;letter-spacing:-.075em;margin:18px 0}.project-hero p{color:#8f9096;font-size:17px;max-width:620px}.single-project-image{background:#111218;border:1px solid var(--line);min-height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden}.single-project-image img{width:100%;height:100%;object-fit:cover}.big-links a{padding:12px 15px;border:1px solid #36373d}.single-project-content{max-width:850px;color:#c2c2c5;font-size:18px}.single-project-content img{border:1px solid var(--line)}.nav-links{display:flex;justify-content:center;gap:20px;margin-top:45px}.nav-links a,.nav-links span{font:11px monospace;color:#aaa;text-decoration:none;border:1px solid var(--line);padding:10px 14px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:980px){.hero-grid,.project-hero-grid{grid-template-columns:1fr}.hero-visual{max-width:650px;width:100%;margin:auto}.services-grid{grid-template-columns:repeat(2,1fr)}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.post-grid{grid-template-columns:1fr 1fr}.main-nav{margin-left:auto}.header-cta{display:none}}
@media(max-width:720px){.container{width:min(calc(100% - 32px),var(--max))}.header-inner{height:68px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#080809;padding:18px 16px;border-bottom:1px solid var(--line)}.main-nav.is-open{display:block}.main-nav ul{flex-direction:column;gap:17px}.main-nav a{font-size:12px}.hero{min-height:auto;padding:120px 0 55px}.hero h1{font-size:clamp(50px,14vw,80px)}.hero-visual{min-height:380px}.code-window{width:86%;height:240px}.hero-photo{width:76%;height:310px}.experience-badge{right:0;bottom:5px}.section{padding:78px 0}.section-head-inline{align-items:flex-start;flex-direction:column;gap:20px}.about-grid,.contact-page-grid{grid-template-columns:1fr;gap:40px}.portfolio-grid,.services-grid,.post-grid{grid-template-columns:1fr}.portfolio-image{height:230px}.contact-cta-inner,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-top{grid-template-columns:1fr;gap:30px}.page-hero{padding:125px 0 60px}.page-body{padding:65px 0}.project-hero{padding:125px 0 60px}.single-project-image{min-height:300px}.footer-socials{flex-direction:row;flex-wrap:wrap}}


/* Homepage contact popup */
body.kvg-popup-open{overflow:hidden}
.kvg-popup{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.kvg-popup.is-open{visibility:visible;opacity:1;pointer-events:auto}
.kvg-popup-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(7px)}
.kvg-popup-dialog{position:relative;width:min(650px,100%);max-height:min(90vh,820px);overflow:auto;background:#0e0f12;border:1px solid #3a3b42;box-shadow:0 30px 100px rgba(0,0,0,.65);padding:38px}
.kvg-popup-close{position:absolute;right:14px;top:10px;width:38px;height:38px;border:1px solid #3a3b42;background:#15161a;color:#bbb;font-size:25px;line-height:1;cursor:pointer;border-radius:50%}
.kvg-popup-close:hover{color:#fff;border-color:#777}
.kvg-popup-dialog h2{font-size:clamp(38px,5vw,58px);line-height:.94;letter-spacing:-.06em;margin:12px 45px 12px 0;color:#fff}
.kvg-popup-dialog>p{color:#96979d;max-width:560px;margin:0 0 25px;font-size:14px;line-height:1.6}
.kvg-popup-form{background:#121318;border:1px solid #28292f;padding:24px}
.kvg-popup-form .wpcf7-form{margin:0}
@media(max-width:600px){.kvg-popup{padding:12px}.kvg-popup-dialog{padding:28px 18px;max-height:94vh}.kvg-popup-dialog h2{font-size:39px}.kvg-popup-form{padding:18px}.kvg-popup-dialog .wpcf7-form input,.kvg-popup-dialog .wpcf7-form textarea,.kvg-popup-dialog .wpcf7-form select{font-size:16px}}
