/* ===== The Pixel Village: site footer (pv-footer.php) ===== */
@font-face{font-family:'PV Anton';font-weight:400;font-display:swap;src:url(/wp-content/uploads/fonts/1Ptgg87LROyAm0Kx8i4gS7lu.woff2) format('woff2')}
.pvf{--f-bg:#111820;--f-text:#F4F6FA;--f-muted:#9AA3B2;--f-line:#2A3442;--f-word:#1C2530;--f-cyan:#61FFF1;--f-disp:'PV Anton',Anton,Impact,'Arial Narrow',sans-serif;--f-body:'Source Code Pro',ui-monospace,Menlo,Consolas,monospace;
  position:relative;margin-top:110px;background:var(--f-bg) !important;color:var(--f-text);font-family:var(--f-body);border:0 !important}
html[data-theme=dark] .pvf{--f-bg:#0A101E;--f-text:#F3F6FC;--f-muted:#8A95AC;--f-line:#222C44;--f-word:#141D33}
.pvf *{box-sizing:border-box}
.pvf a{color:inherit;text-decoration:none}
/* the invitation card riding on the top edge */
.pvf-cta-wrap{position:relative;max-width:1240px;margin:0 auto -90px;padding:0 24px;transform:translateY(-90px);z-index:2}
.pvf-cta{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:center;background:#61FFF1;color:#111820;border:3px solid #111820;border-radius:18px;box-shadow:8px 8px 0 #159A93;padding:34px 40px}
html[data-theme=dark] .pvf-cta{border-color:#0F1729}
.pvf-k{display:inline-block;font-size:11px;line-height:1;font-weight:700;letter-spacing:.2em;background:#111820;color:#61FFF1;border-radius:6px;padding:7px 10px}
.pvf .pvf-h{margin:14px 0 8px;font:400 clamp(34px,4.4vw,58px)/.98 var(--f-disp);text-transform:uppercase;letter-spacing:.005em;color:#111820 !important}
.pvf-cta p{margin:0;font-size:14px;line-height:1.7;max-width:46ch;color:#111820 !important}
.pvf-acts{display:flex;flex-direction:column;align-items:flex-start;gap:14px;justify-self:end}
.pvf .pvf-btn{display:inline-flex;align-items:center;gap:10px;font:700 13px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;background:#111820;color:#fff;border:2px solid #111820;border-radius:10px;box-shadow:4px 4px 0 #fff;padding:16px 22px;transition:transform .15s,box-shadow .15s}
.pvf .pvf-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #fff;color:#fff}
.pvf .pvf-line{font:700 12px/1.4 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:#111820;border-bottom:2px solid #111820;padding:2px 0}
.pvf-peek{position:absolute;right:46px;top:-58px;width:56px;height:74px;overflow:visible}
.pvf-peek .pvf-l1,.pvf-peek .pvf-l2{fill:#111820}
.pvf-arm{transform-origin:57px 32px;animation:pvfWave 2.6s ease-in-out infinite}
@keyframes pvfWave{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(22deg)}80%{transform:rotate(-4deg)}90%{transform:rotate(18deg)}}
/* brand + link columns */
.pvf-main{max-width:1240px;margin:0 auto;padding:70px 24px 10px;display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:40px}
.pvf-brand img{display:block;height:54px;width:auto}
.pvf-brand p{margin:18px 0 22px;color:var(--f-muted);font-size:13.5px;line-height:1.75;max-width:34ch}
.pvf-stat{display:flex;gap:26px;margin:0 0 22px}
.pvf-stat b{display:block;font:400 30px/1 var(--f-disp);color:var(--f-text);letter-spacing:.01em}
.pvf-stat span{display:block;margin-top:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-muted)}
.pvf-social{display:flex;gap:10px}
.pvf-social a{display:grid;place-items:center;width:42px;height:42px;border:2px solid var(--f-line);border-radius:10px;color:var(--f-text);transition:border-color .2s,background .2s,color .2s,transform .15s}
.pvf-social a:hover{border-color:#61FFF1;background:#61FFF1;color:#111820;transform:translateY(-2px)}
.pvf-social svg{width:18px;height:18px}
.pvf .pvf-col h3{margin:4px 0 18px;font:700 11px/1.2 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:#61FFF1 !important}
.pvf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.pvf-col li{margin:0;font-size:14px;line-height:1.4}
.pvf-col a,.pvf-soon{font-size:14px;color:var(--f-text);padding-bottom:2px;background:linear-gradient(#61FFF1,#61FFF1) 0 100%/0 2px no-repeat;transition:background-size .25s}
.pvf-col a:hover{background-size:100% 2px;color:var(--f-text)}
.pvf-tag{display:inline-block;margin-left:8px;font-size:9.5px;line-height:1;font-weight:700;letter-spacing:.12em;vertical-align:2px;padding:4px 6px;border-radius:5px;border:1.5px solid #61FFF1;color:#61FFF1}
.pvf-note{margin:20px 0 0;font-size:12px;line-height:1.7;color:var(--f-muted)}
/* skyline, walking pixel and the giant wordmark */
.pvf-scene{position:relative;max-width:1240px;margin:70px auto 0;padding:0 24px;overflow:hidden}
.pvf-sky{display:block;width:100%;height:96px;margin:0 0 -2px;stroke:var(--f-line)}
.pvf-walkrow{position:relative;max-width:1240px;margin:0 auto;overflow:hidden;padding:0 24px}
.pvf-ground{height:3px;background:var(--f-line)}
.pvf-walker{position:absolute;bottom:3px;left:-40px;width:30px;height:39px;animation:pvfWalk 28s linear infinite}
.pvf-walker .pvf-l1,.pvf-walker .pvf-l2{fill:var(--f-muted)}
.pvf-walker .pvf-l1{animation:pvfStep .5s steps(1) infinite}.pvf-walker .pvf-l2{animation:pvfStep .5s steps(1) .25s infinite}
@keyframes pvfWalk{from{left:-40px}to{left:100%}}
@keyframes pvfStep{0%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.pvf-scene--word{margin-top:0;height:clamp(34px,11.6vw,154px)}
.pvf .pvf-word{margin:0;font:400 clamp(40px,13.4vw,178px)/.86 var(--f-disp);text-transform:uppercase;letter-spacing:.005em;color:var(--f-word);white-space:nowrap;text-align:center;user-select:none;transform:translateY(.14em)}
.pvf-word span{color:#61FFF1}
/* bottom bar */
.pvf-bar{max-width:1240px;margin:0 auto;padding:22px 24px 28px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:12px;color:var(--f-muted)}
.pvf-bar nav{display:flex;gap:22px}
.pvf-bar a:hover{color:var(--f-text)}
.pvf .pvf-top{display:inline-flex;align-items:center;gap:8px;font:700 11px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--f-text);border:2px solid var(--f-line);border-radius:10px;padding:10px 12px}
.pvf .pvf-top:hover{border-color:#61FFF1}
.pvf a:focus-visible{outline:3px solid #61FFF1;outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion:reduce){.pvf-arm,.pvf-walker,.pvf-walker *{animation:none !important}.pvf-walker{left:8%}}
/* tablet + phone */
@media (max-width:980px){.pvf-cta{grid-template-columns:1fr;padding:30px 28px}.pvf-acts{justify-self:start;flex-direction:row;align-items:center;flex-wrap:wrap}.pvf-main{grid-template-columns:1fr 1fr;gap:36px 28px}.pvf-brand{grid-column:1/-1}}
@media (max-width:560px){.pvf{margin-top:120px}.pvf-cta-wrap{padding:0 16px}.pvf-cta{padding:26px 20px;box-shadow:6px 6px 0 #159A93}.pvf-peek{right:22px}.pvf-main{padding:60px 16px 0;grid-template-columns:1fr 1fr}.pvf-main .pvf-col:last-child{grid-column:1/-1}.pvf-scene,.pvf-walkrow{padding:0 16px}.pvf-sky{height:56px}.pvf-bar{flex-direction:column;align-items:flex-start;padding:20px 16px 26px}}
/* night mode: keep the footer's own colours over the general night rules */
html[data-theme=dark] footer.site-footer.pvf{background:var(--f-bg) !important;border:0 !important}
html[data-theme=dark] .site-footer.pvf .pvf-line,html[data-theme=dark] .site-footer.pvf .pvf-cta a.pvf-line{color:#111820 !important}
html[data-theme=dark] .site-footer.pvf .pvf-btn{color:#fff !important}
html[data-theme=dark] .site-footer.pvf .pvf-social a:hover{color:#111820 !important}
html[data-theme=dark] .site-footer.pvf .pvf-bar a,html[data-theme=dark] .site-footer.pvf .pvf-bar{color:var(--f-muted) !important}
html[data-theme=dark] .site-footer.pvf .pvf-bar a:hover,html[data-theme=dark] .site-footer.pvf .pvf-bar a.pvf-top{color:var(--f-text) !important}
html[data-theme=dark] .pvf-peek .pvf-l1,html[data-theme=dark] .pvf-peek .pvf-l2{fill:#D5DDEB}
html[data-theme=dark] .pvf-peek .pvf-arm line{stroke:#D5DDEB}

/* phone polish: tighter spacing, tidy bottom bar */
@media (max-width:560px){.pvf-main{gap:30px 20px}.pvf-scene{margin-top:44px}.pvf-scene.pvf-scene--word{margin-top:0}.pvf-copy{display:flex;flex-direction:column;gap:4px}.pvf-dot{display:none}.pvf-bar{display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px 12px}.pvf-bar .pvf-copy{grid-column:1/-1}.pvf-bar nav{gap:18px}.pvf .pvf-top{padding:9px 10px;font-size:10px}.pvf-col a,.pvf-soon{font-size:13.5px}}

/* wordmark: readable white with the cyan PIXEL (was a near-invisible dark tint) */
.pvf .pvf-word{color:var(--f-text) !important}
.pvf .pvf-word span{color:#61FFF1 !important}
/* wordmark: show the letters in full (no cropped bottom) */
.pvf .pvf-scene.pvf-scene--word{height:auto;margin-top:0;padding-top:clamp(10px,1.6vw,22px);padding-bottom:clamp(6px,1vw,14px)}
.pvf .pvf-word{transform:none;line-height:.92}
