/* Prime Expo — shared CSS variables & base reset */
:root {
  --pe-orange:        #F39200;
  --pe-orange-deep:   #d47e00;
  --pe-orange-glow:   rgba(243,146,0,0.16);
  --pe-orange-border: rgba(243,146,0,0.22);
  --pe-bg:            #0d1117;
  --pe-bg2:           #0f1520;
  --pe-glass:         rgba(255,255,255,0.045);
  --pe-glass-b:       rgba(255,255,255,0.09);
  --pe-glass-hov:     rgba(255,255,255,0.07);
  --pe-text:          #e8edf2;
  --pe-muted:         rgba(232,237,242,0.52);
  --pe-ease-out:      cubic-bezier(0.23, 1, 0.32, 1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

html { scroll-behavior: smooth; }

/* Global button box-model fix — parent theme sets content-box + min-height,
   which inflates button height. Force border-box so padding sits inside. */
.pe-btn,
.pe-btn-ghost,
.pe-nav-cta { box-sizing: border-box; }
::-webkit-scrollbar       { width: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #1e2a35; border-radius: 4px; }

/* ============================================================
   MOBILE PERFORMANCE OVERRIDES
   backdrop-filter blur is extremely GPU/VRAM-heavy on phones —
   27 live blur layers caused memory pressure (other apps evicted).
   On mobile we drop the blur and use solid semi-opaque backgrounds
   that closely match the glass look, and pause the drifting orbs.
   Desktop is untouched.
   ============================================================ */
@media (max-width: 768px) {
  nav,
  .pe-mobile-menu,
  .pe-btn-ghost,
  .pe-hcard,
  .pe-svc-card,
  .pe-client-tile,
  .pe-stat,
  .pe-about-badge,
  .pe-cta-panel {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  /* Solid replacements tuned to each element's original tint over #0d1117 */
  nav                 { background: rgba(13,17,23,0.92) !important; }
  .pe-mobile-menu     { background: rgba(13,17,23,0.98) !important; }
  .pe-svc-card,
  .pe-client-tile,
  .pe-stat            { background: rgba(24,29,38,0.92) !important; }
  .pe-hcard           { background: rgba(40,30,12,0.92) !important; }  /* orange-tinted glass */
  .pe-cta-panel       { background: rgba(20,24,32,0.94) !important; }
  .pe-about-badge     { background: rgba(13,17,23,0.85) !important; }
  .pe-btn-ghost       { background: rgba(255,255,255,0.04) !important; }

  /* Pause the drifting background orbs — they force constant recomposition */
  .pe-orb { animation: none !important; }
}

/* Respect users who ask their device to minimise motion */
@media (prefers-reduced-motion: reduce) {
  .pe-orb,
  .pe-marquee-track,
  .pe-scroll-bar { animation: none !important; }
}

/* ═══════════════════════════════════════════════════════════════
   SHARED NAV + FOOTER  (Phase B — single source of truth)
   Markup lives in parts/nav.php and parts/footer.php.
   These styles ensure the shared nav/footer render on EVERY page,
   including the contact page whose inline CSS didn't define them.
   Homepage & inner-page templates still carry inline copies that
   harmlessly override these (identical values).                   
   ═══════════════════════════════════════════════════════════════ */
#pe-nav.pe-scrolled{background:rgba(13,17,23,.84);border-color:rgba(243,146,0,.18);}
.pe-nav-logo{display:flex;align-items:center;text-decoration:none!important;}
.pe-nav-logo img{height:36px;width:auto;}
.pe-nav-links{display:flex;gap:34px;list-style:none;}
.pe-nav-links a{font-family:'Sora',sans-serif;font-size:13px;font-weight:400;letter-spacing:.04em;color:var(--pe-muted)!important;text-decoration:none!important;transition:color .2s;}
.pe-nav-links a:hover{color:var(--pe-orange)!important;}
.pe-nav-links .current a{color:var(--pe-orange)!important;}
.pe-dropdown-toggle{display:inline-flex;align-items:center;gap:5px;}
.pe-caret{font-size:9px;transition:transform .25s cubic-bezier(0.23,1,0.32,1);opacity:.7;}
.pe-has-dropdown:hover .pe-caret,.pe-has-dropdown:focus-within .pe-caret{transform:rotate(180deg);color:var(--pe-orange);}
.pe-dropdown-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(-6px);
  min-width:170px;list-style:none;padding:8px;margin:0;
  background:rgba(13,17,23,.92);border:1px solid var(--pe-glass-b);border-radius:12px;
  box-shadow:0 16px 40px rgba(0,0,0,.5);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s cubic-bezier(0.23,1,0.32,1),transform .22s cubic-bezier(0.23,1,0.32,1),visibility .22s;
  z-index:210;}
.pe-has-dropdown:hover .pe-dropdown-menu,
.pe-has-dropdown:focus-within .pe-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.pe-dropdown-menu li{margin:0;}
.pe-dropdown-menu a{display:block;padding:9px 14px;border-radius:8px;font-family:'Sora',sans-serif;font-size:13px;color:var(--pe-muted)!important;text-decoration:none!important;transition:background .18s ease,color .18s ease;white-space:nowrap;}
.pe-dropdown-menu a:hover{background:var(--pe-glass);color:var(--pe-orange)!important;}
.pe-dropdown-menu .current a{color:var(--pe-orange)!important;}
.pe-nav-cta{padding:9px 22px;background:var(--pe-orange);color:#0d1117!important;font-family:'Sora',sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;border:none;border-radius:9px;text-decoration:none!important;cursor:none;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 20px rgba(243,146,0,.28);}
.pe-nav-cta:hover{background:var(--pe-orange-deep)!important;transform:translateY(-1px);box-shadow:0 8px 30px rgba(243,146,0,.42);}
.pe-burger span{display:block;width:22px;height:2px;background:var(--pe-text);border-radius:2px;transition:transform .3s,opacity .3s,width .3s;transform-origin:center;}
.pe-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.pe-burger.open span:nth-child(2){opacity:0;width:0;}
.pe-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.pe-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;cursor:none;background:none;border:none;padding:4px;flex-shrink:0;}
.pe-burger span{display:block;width:22px;height:2px;background:var(--pe-text);border-radius:2px;transition:transform .3s,opacity .3s,width .3s;transform-origin:center;}
.pe-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.pe-burger.open span:nth-child(2){opacity:0;width:0;}
.pe-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.pe-mobile-menu{display:none;position:fixed;inset:0;z-index:190;background:rgba(13,17,23,0.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);flex-direction:column;align-items:center;justify-content:center;opacity:0;transform:translateY(-12px);transition:opacity .35s,transform .35s;pointer-events:none;}
.pe-mobile-menu.open{opacity:1;transform:translateY(0);pointer-events:all;}
.pe-mobile-menu a{font-family:'Sora',sans-serif;font-size:clamp(24px,6vw,36px);font-weight:700;letter-spacing:-.01em;color:var(--pe-text)!important;text-decoration:none!important;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.06);width:80%;text-align:center;transition:color .2s;}
.pe-mobile-menu a:hover{color:var(--pe-orange)!important;}
.pe-mobile-menu a:last-child{border-bottom:none;}
.pe-mobile-menu .pe-mob-cta{margin-top:28px;padding:14px 44px;background:var(--pe-orange);color:#0d1117!important;font-size:14px;font-weight:700;letter-spacing:.08em;border-radius:10px;border-bottom:none;width:auto;}
.pe-mobile-menu .pe-mob-cta:hover{background:var(--pe-orange-deep)!important;color:#0d1117!important;}
#pe-nav{top:12px;width:calc(100% - 24px);}




.pe-footer-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:2.2fr 1fr 1fr;gap:64px;margin-bottom:52px;}
.pe-footer-logo{height:52px;width:auto;margin-bottom:18px;display:block;}
.pe-footer-desc{font-size:14px;color:var(--pe-muted)!important;line-height:1.75;max-width:300px;margin-bottom:20px;}
.pe-greview{display:inline-flex;align-items:center;gap:10px;margin-bottom:20px;padding:9px 14px;border:1px solid var(--pe-glass-b);border-radius:10px;background:var(--pe-glass);text-decoration:none;transition:border-color .2s;}
.pe-greview:hover{border-color:var(--pe-orange-border);}
.pe-greview-num{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;color:var(--pe-text);line-height:1;}
.pe-greview-stars{color:var(--pe-orange);font-size:14px;letter-spacing:1px;line-height:1;}
.pe-greview-txt{font-size:12px;color:var(--pe-muted);line-height:1;white-space:nowrap;}
.pe-kvk{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--pe-glass);border:1px solid var(--pe-glass-b);border-radius:8px;font-size:11px;color:var(--pe-muted)!important;}
.pe-kvk span{color:var(--pe-text)!important;font-weight:600;}
.pe-fcol h4{font-family:'Sora',sans-serif!important;font-size:10px!important;font-weight:700!important;letter-spacing:.22em!important;color:var(--pe-orange)!important;text-transform:uppercase!important;margin-bottom:18px!important;}
.pe-fcol ul{list-style:none!important;padding:0!important;}
.pe-fcol li{margin-bottom:9px!important;}
.pe-fcol a{font-size:14px!important;color:var(--pe-muted)!important;text-decoration:none!important;transition:color .2s!important;}
.pe-fcol a:hover{color:var(--pe-orange)!important;}
.pe-footer-bottom{max-width:1120px;margin:0 auto;padding-top:24px;border-top:1px solid var(--pe-glass-b);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.pe-footer-copy{font-size:12px;color:var(--pe-muted)!important;}
.pe-footer-social{display:flex;gap:10px;}
.pe-footer-social a{width:36px;height:36px;border-radius:9px;background:var(--pe-glass);border:1px solid var(--pe-glass-b);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-size:11px;font-weight:700;color:var(--pe-muted)!important;text-decoration:none!important;transition:transform .2s cubic-bezier(0.23,1,0.32,1),box-shadow .2s ease,background .2s ease,border-color .2s ease;}
.pe-footer-social a:hover{border-color:var(--pe-orange-border);color:var(--pe-orange)!important;}
.pe-footer-legal{display:flex;gap:18px;flex-wrap:wrap;}
.pe-footer-legal a{font-size:12px;color:var(--pe-muted)!important;text-decoration:none!important;transition:color .2s;}
.pe-footer-legal a:hover{color:var(--pe-orange)!important;}
.pe-footer-grid{grid-template-columns:1fr;gap:40px;}
/* ── MOTION: press feedback + accessibility (added per animation audit) ── */
.pe-btn:active,.pe-btn-ghost:active,.pe-btn-primary:active,.pe-nav-cta:active,
.pe-mob-cta:active,.pe-form-submit:active,.pe-svc-nav a:active,
.pe-about-cta-btns a:active,.pe-svc-cta-btns a:active,.pe-footer-social a:active{transform:scale(0.97);
  transition:transform 120ms cubic-bezier(0.23,1,0.32,1);}

@media(max-width:900px){#pe-nav{top:12px;width:calc(100% - 24px);}.pe-nav-links{display:none;}.pe-nav-cta{display:none;}.pe-burger{display:flex;}.pe-mobile-menu{display:flex;}}
@media(max-width:900px){.pe-footer-grid{grid-template-columns:1fr;gap:40px;}}