/*
 * Good Peoples Ventures: shared styles (all plugin views).
 * Theme and Elementor stylesheets stay loaded, so every rule is scoped to
 * body.gpv-view and every class is prefixed gpv- to avoid collisions.
 */

/* Fonts: self-hosted variable WOFF2 (SIL OFL, see assets/fonts). */
@font-face{
  font-family:"Syne";
  src:url("../fonts/syne-var-latin.woff2") format("woff2");
  font-weight:400 800; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Manrope";
  src:url("../fonts/manrope-var-latin.woff2") format("woff2");
  font-weight:200 800; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* The brand is dark by design; the same tokens apply in both colour schemes. */
:root{
  --bg:#05060A; --bg-2:#0B0D15; --panel:#10131D; --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.16);
  --ink:#F2F4FA; --muted:#A6ACC0; --soft:#C7CBDA; --amber:#FFB547; --pink:#FF4D8D; --violet:#7B61FF; --link:#FF7AA8; --on-grad:#0A0710;
  --grad:linear-gradient(100deg,var(--amber) 0%,var(--pink) 50%,var(--violet) 100%);
  --display:"Syne", "Arial Black", system-ui, sans-serif;
  --sans:"Manrope", "Segoe UI", system-ui, sans-serif;
  --wrap:min(1240px, 100% - 2.5rem);
  --nav-h:78px;
  color-scheme:dark;
}

/* Defensive reset against retained theme/Elementor CSS. */
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 96px);background:var(--bg)}
body.gpv-view{margin:0;padding:0 0 env(safe-area-inset-bottom,0px);background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.gpv-view,.gpv-view *,.gpv-view *::before,.gpv-view *::after{box-sizing:border-box}
.gpv-view :is(h1,h2,h3,h4,h5,h6){padding:0;color:inherit;text-transform:none}
.gpv-view p{padding:0}
.gpv-view a{color:inherit}
.gpv-view img{max-width:100%;height:auto}
.gpv-view :is(input,textarea,button,select){font:inherit}
.gpv-view :focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:6px}
.gpv-wrap{width:var(--wrap);margin-inline:auto}
.gpv-view .gpv-grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.gpv-view .screen-reader-text,.gpv-view .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Buttons */
.gpv-view .gpv-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:700;font-size:1rem;line-height:1.2;text-align:center;padding:.95rem 1.6rem;border-radius:999px;text-decoration:none;border:0;cursor:pointer;color:var(--ink);transition:transform .15s ease}
.gpv-view .gpv-btn:hover{transform:translateY(-2px)}
.gpv-view .gpv-btn-grad{background:var(--grad);color:var(--on-grad);box-shadow:0 10px 40px -10px rgba(255,77,141,.6)}
.gpv-view .gpv-btn-ghost{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink)}
.gpv-view .gpv-btn-ghost:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}

/* Nav */
.gpv-nav{position:fixed;top:0;left:0;right:0;z-index:40;padding-top:env(safe-area-inset-top,0px)}
.gpv-nav .gpv-wrap{display:flex;align-items:center;justify-content:space-between;gap:.75rem;height:64px;margin-top:14px;padding:0 .5rem 0 1.1rem;border-radius:999px;
  background:rgba(12,14,22,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px var(--line)}
.gpv-view .gpv-brand{display:flex;align-items:center;gap:.6rem;min-width:0;text-decoration:none;font-family:var(--display);font-weight:700;font-size:clamp(.88rem,3.6vw,1.02rem);line-height:1.1;letter-spacing:.01em;color:var(--ink)}
.gpv-brand i{flex:none;width:26px;height:26px;border-radius:50%;background:var(--grad);display:block;box-shadow:0 0 18px rgba(255,77,141,.6)}
.gpv-nav ul{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0;font-size:.95rem;font-weight:500;line-height:1.4}
.gpv-nav li{margin:0;padding:0}
.gpv-view .gpv-nav ul a{text-decoration:none;color:var(--muted)}
.gpv-view .gpv-nav ul a:hover,.gpv-view .gpv-nav ul a[aria-current]{color:var(--ink)}
.gpv-view .gpv-nav .gpv-btn{flex:none;padding:.65rem 1.15rem;font-size:.93rem;white-space:nowrap}
@media (max-width:940px){.gpv-nav ul{display:none}}
@media (max-width:420px){.gpv-view .gpv-nav .gpv-btn{padding:.6rem .85rem;font-size:.85rem}.gpv-brand i{width:22px;height:22px}}
.admin-bar .gpv-nav{top:32px}
@media (max-width:782px){.admin-bar .gpv-nav{top:46px}}

/* Footer */
.gpv-footer{padding:5rem 0 2.5rem;border-top:1px solid var(--line);overflow:hidden}
.gpv-foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;color:var(--muted);font-size:.95rem}
.gpv-view .gpv-foot-top p{margin:1rem 0 0;max-width:24rem;color:var(--soft)}
.gpv-view .gpv-foot-top h2{font-family:var(--sans);font-weight:700;color:var(--ink);font-size:.95rem;margin:0 0 .7rem;letter-spacing:0}
.gpv-foot-top ul{list-style:none;margin:0;padding:0}
.gpv-foot-top li{padding:.22rem 0;margin:0}
.gpv-view .gpv-foot-top a,.gpv-view .gpv-legal a{text-decoration:none;color:var(--muted)}
.gpv-view .gpv-foot-top a:hover,.gpv-view .gpv-legal a:hover{color:var(--ink)}
.gpv-view .gpv-foot-top .gpv-brand{color:var(--ink)}
.gpv-wordmark{font-family:var(--display);font-weight:700;font-size:clamp(2.6rem,12vw,12rem);line-height:1;letter-spacing:-.035em;margin:4rem 0 1.5rem;white-space:nowrap;
  background:linear-gradient(180deg,rgba(242,244,250,.18),rgba(242,244,250,0));-webkit-background-clip:text;background-clip:text;color:transparent}
.gpv-legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line);padding-top:1.5rem}
.gpv-socials{display:flex;gap:1.25rem}
@media (max-width:760px){.gpv-foot-top{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .gpv-view .gpv-btn{transition:none}
  .gpv-view .gpv-btn:hover{transform:none}
}
