:root{
  --pws-ink:#f7f8ff;
  --pws-muted:#aab4c8;
  --pws-dim:#71809b;
  --pws-bg:#050814;
  --pws-bg2:#090f20;
  --pws-panel:#0c1428;
  --pws-panel2:#101b34;
  --pws-line:rgba(255,255,255,.12);
  --pws-cyan:#5ff5e6;
  --pws-blue:#5c7cff;
  --pws-violet:#a972ff;
  --pws-pink:#ff67c8;
  --pws-lime:#c8ff63;
  --pws-orange:#ff9f5a;
  --pws-paper:#f4f5f8;
  --pws-dark:#0b1020;
  --pws-max:1280px;
  --pws-ease:cubic-bezier(.2,.75,.2,1);
}

html{scroll-behavior:smooth}
body.pws-studio-theme{overflow-x:clip}
body.pws-menu-open{overflow:hidden}

body.page-template-pws-studio-canvas #inner-wrap{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.page-template-pws-studio-canvas .pws-studio-canvas{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
body.page-template-pws-studio-canvas .pws-studio-canvas > .entry-content,
body.page-template-pws-studio-canvas .pws-studio-canvas .entry-content{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

.pws-btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 21px;border-radius:999px;border:0;
  background:var(--pws-cyan);color:#04110f;text-decoration:none;font-weight:900;
  overflow:hidden;z-index:0;transition:box-shadow .35s var(--pws-ease),transform .35s var(--pws-ease),color .35s var(--pws-ease)
}
.pws-btn::after{
  content:"";position:absolute;inset:-1px;z-index:-1;background:#fff;border-radius:inherit;
  transform:translateY(110%);transition:transform .35s var(--pws-ease)
}
.pws-btn:hover::after{transform:none}
.pws-btn:hover{box-shadow:0 18px 45px rgba(95,245,230,.16);color:#04110f}

/* BRAND */
.pws-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;min-width:max-content}
.pws-custom-logo{display:block;max-height:43px;width:auto;max-width:190px;object-fit:contain}
.pws-brand-mark{
  width:36px;height:36px;border-radius:10px;position:relative;overflow:hidden;
  border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,#101b34,#080e1c)
}
.pws-brand-mark::before,.pws-brand-mark::after{
  content:"";position:absolute;border-radius:99px;transform:rotate(-35deg)
}
.pws-brand-mark::before{width:29px;height:7px;left:-3px;top:9px;background:var(--pws-cyan)}
.pws-brand-mark::after{width:31px;height:7px;right:-7px;bottom:7px;background:linear-gradient(90deg,var(--pws-blue),var(--pws-violet))}
.pws-brand-copy{display:grid;line-height:.86;color:var(--pws-ink)}
.pws-brand-copy strong{font-size:.82rem;letter-spacing:.11em}
.pws-brand-copy span{font-size:.52rem;color:#8290a5;letter-spacing:.15em;text-transform:uppercase;margin-top:5px}

/* HEADER */
.pws-header{
  position:fixed;left:0;right:0;top:0;z-index:120;padding:16px 0;
  transition:padding .35s var(--pws-ease),box-shadow .35s var(--pws-ease)
}
.admin-bar .pws-header{top:32px}
.pws-header::before{
  content:"";position:absolute;inset:0;background:rgba(5,8,20,0);
  border-bottom:1px solid transparent;backdrop-filter:blur(0);
  transition:.35s var(--pws-ease);z-index:-1
}
.pws-header.is-scrolled{padding:9px 0}
.pws-header.is-scrolled::before,.pws-header.is-open::before{
  background:rgba(5,8,20,.90);border-bottom-color:rgba(255,255,255,.08);
  backdrop-filter:blur(18px) saturate(145%)
}
.pws-header.is-scrolled{box-shadow:0 12px 40px rgba(0,0,0,.14)}
.pws-header-inner{
  width:min(var(--pws-max),calc(100% - 48px));margin-inline:auto;
  display:grid;grid-template-columns:auto 1fr;align-items:stretch;gap:28px
}
.pws-header .pws-brand{align-self:center}
.pws-header-controls{justify-self:end;display:flex;align-items:stretch;gap:9px}
.pws-nav-rail{
  display:flex;align-items:stretch;border:1px solid rgba(255,255,255,.11);
  border-radius:18px;background:rgba(7,11,22,.72);overflow:hidden;min-height:62px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)
}
.pws-rail-link,.pws-menu-trigger{
  position:relative;min-height:60px;border:0;background:transparent;color:#a8b3c4;
  display:flex;align-items:center;justify-content:center;text-decoration:none;
  font-size:.69rem;font-weight:850;transition:background .28s var(--pws-ease),color .28s var(--pws-ease)
}
.pws-rail-link{padding:0 17px}
.pws-rail-link:hover{background:rgba(255,255,255,.05);color:#fff}
.pws-menu-trigger{
  min-width:100px;padding:0 16px;gap:11px;cursor:pointer;color:#fff;
  font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900;
  border-left:1px solid rgba(255,255,255,.10)
}
.pws-menu-trigger:hover{background:rgba(255,255,255,.065)}
.pws-menu-icon{width:18px;height:14px;position:relative;display:block}
.pws-menu-icon i,.pws-menu-icon::before,.pws-menu-icon::after{
  content:"";position:absolute;left:0;right:0;height:1.5px;background:#fff;transition:.3s var(--pws-ease)
}
.pws-menu-icon::before{top:0}.pws-menu-icon i{top:6px}.pws-menu-icon::after{bottom:0}
.pws-header.is-open .pws-menu-icon i{opacity:0}
.pws-header.is-open .pws-menu-icon::before{top:6px;transform:rotate(45deg)}
.pws-header.is-open .pws-menu-icon::after{bottom:6px;transform:rotate(-45deg)}

.pws-call-cta{
  min-height:62px;padding:0 17px;border-radius:18px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);color:#fff;text-decoration:none;
  display:grid;grid-template-columns:auto auto;align-items:center;gap:11px;
  transition:background .3s var(--pws-ease),border-color .3s var(--pws-ease),transform .3s var(--pws-ease)
}
.pws-call-cta:hover{background:rgba(255,255,255,.09);border-color:rgba(95,245,230,.35);transform:translateY(-1px);color:#fff}
.pws-call-icon{
  width:31px;height:31px;border-radius:50%;display:grid;place-items:center;
  background:rgba(95,245,230,.10);color:var(--pws-cyan);border:1px solid rgba(95,245,230,.18)
}
.pws-call-icon svg,.pws-social svg{
  width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round
}
.pws-call-copy{display:grid;line-height:1.05}
.pws-call-copy small{font-size:.46rem;letter-spacing:.13em;text-transform:uppercase;color:#75849a;font-weight:900}
.pws-call-copy strong{margin-top:4px;font-size:.67rem;letter-spacing:.015em;color:#eaf0f7}

.pws-tall-cta{
  min-width:154px;min-height:62px;padding:0 18px;border-radius:18px;
  background:var(--pws-cyan);color:#04110f;text-decoration:none;
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  font-size:.72rem;font-weight:900;position:relative;overflow:hidden;z-index:0;
  transition:transform .3s var(--pws-ease),box-shadow .3s var(--pws-ease)
}
.pws-tall-cta::before{
  content:"";position:absolute;inset:0;background:#fff;z-index:-1;
  transform:translateY(105%);transition:transform .35s var(--pws-ease)
}
.pws-tall-cta:hover::before{transform:none}
.pws-tall-cta:hover{transform:translateY(-1px);box-shadow:0 18px 42px rgba(95,245,230,.14);color:#04110f}
.pws-tall-cta span:last-child{font-size:1rem;transition:transform .3s var(--pws-ease)}
.pws-tall-cta:hover span:last-child{transform:translate(3px,-3px)}

/* EDITORIAL MENU */
.pws-menu-overlay{
  position:fixed;inset:0;z-index:110;padding:104px 0 28px;
  background:
    radial-gradient(circle at 84% 14%,rgba(92,124,255,.14),transparent 28%),
    radial-gradient(circle at 15% 84%,rgba(95,245,230,.08),transparent 28%),
    var(--pws-bg);
  opacity:0;pointer-events:none;transform:translateY(-14px);
  transition:opacity .32s var(--pws-ease),transform .32s var(--pws-ease);
  overflow-y:auto;color:var(--pws-ink)
}
.admin-bar .pws-menu-overlay{padding-top:136px}
.pws-menu-overlay::before{
  content:"";position:absolute;inset:0;opacity:.17;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:72px 72px
}
.pws-menu-overlay.is-open{opacity:1;pointer-events:auto;transform:none}
.pws-menu-shell{
  position:relative;z-index:2;width:min(var(--pws-max),calc(100% - 48px));margin-inline:auto;
  min-height:calc(100svh - 132px);display:grid;grid-template-rows:1fr auto
}
.pws-menu-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:70px;padding:28px 0 52px}
.pws-menu-primary{display:grid;align-content:start}
.pws-menu-primary-label,.pws-menu-side-label{
  font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:#69798f;font-weight:900
}
.pws-menu-primary-links{display:grid;margin-top:12px}
.pws-menu-primary-link{
  position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:24px;
  text-decoration:none;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.09);overflow:hidden
}
.pws-menu-primary-link .title{
  font-size:clamp(3rem,6.4vw,6.7rem);line-height:.92;letter-spacing:-.058em;font-weight:920;
  color:#eef2f8;transition:transform .35s var(--pws-ease),color .35s var(--pws-ease)
}
.pws-menu-primary-link .meta{min-width:max-content;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:#64748b}
.pws-menu-primary-link::before{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,var(--pws-cyan),var(--pws-blue),var(--pws-violet));
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--pws-ease)
}
.pws-menu-primary-link:hover::before{transform:scaleX(1)}
.pws-menu-primary-link:hover .title{transform:translateX(12px);color:#fff}
.pws-menu-side{border-left:1px solid rgba(255,255,255,.09);padding-left:30px;display:grid;grid-template-rows:auto auto 1fr;gap:26px}
.pws-menu-group{display:grid;gap:4px}
.pws-menu-group-list{display:grid;margin-top:10px}
.pws-menu-mini-link{
  display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:37px;padding:0 8px;
  border-radius:9px;text-decoration:none;color:#9ba8ba;font-size:.69rem;font-weight:760;transition:.25s var(--pws-ease)
}
.pws-menu-mini-link:hover{background:rgba(255,255,255,.05);color:#fff}
.pws-menu-mini-link span:last-child{color:#64748a}
.pws-menu-contact{
  align-self:end;border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:19px;background:rgba(255,255,255,.025)
}
.pws-menu-contact strong{display:block;font-size:1.15rem;letter-spacing:-.025em}
.pws-menu-contact p{margin:7px 0 17px;color:#7e8da2;font-size:.72rem}
.pws-menu-contact a{font-size:.72rem;color:var(--pws-cyan);text-decoration:none;font-weight:850}
.pws-menu-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09)}
.pws-menu-bottom-copy{color:#65748a;font-size:.62rem;max-width:620px}

/* SOCIAL */
.pws-menu-social,.pws-footer-social{display:flex;gap:8px;flex-wrap:wrap}
.pws-social{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.035);
  color:#b7c1d0;text-decoration:none;transition:.3s var(--pws-ease)
}
.pws-social svg{width:16px;height:16px}
.pws-social:hover{color:#04110f;background:var(--pws-cyan);border-color:var(--pws-cyan);transform:translateY(-3px)}

/* FOOTER */
.pws-footer{
  position:relative;background:
    radial-gradient(circle at 86% 12%,rgba(92,124,255,.09),transparent 26%),
    var(--pws-bg);
  border-top:1px solid rgba(255,255,255,.09);padding:82px 0 28px;overflow:hidden;color:var(--pws-ink)
}
.pws-footer::before{
  content:"PWS";position:absolute;right:-2%;bottom:-10%;
  font-size:clamp(10rem,27vw,30rem);font-weight:950;letter-spacing:-.1em;line-height:.7;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.035);pointer-events:none
}
.pws-footer-shell{width:min(var(--pws-max),calc(100% - 48px));margin-inline:auto}
.pws-footer-top{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr 1.35fr;gap:72px;padding-bottom:54px}
.pws-footer-brand p{max-width:480px;margin:18px 0 0;color:#8492a7;font-size:.86rem}
.pws-footer-address{max-width:480px;margin:26px 0 0;font-style:normal;color:#8492a7;font-size:.78rem;line-height:1.6}
.pws-footer-address-label{display:block;margin-bottom:8px;color:#5be7e0;font-size:.55rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900}
.pws-footer-address > span:not(.pws-footer-address-label){display:block}
.pws-footer-address-phone{margin-top:7px}
.pws-footer-address-phone a{color:inherit;text-decoration:none;transition:color .2s var(--pws-ease)}
.pws-footer-address-phone a:hover,.pws-footer-address-phone a:focus-visible{color:#fff}
.pws-footer-social-wrap{margin-top:24px}
.pws-footer-social-label{font-size:.55rem;letter-spacing:.13em;text-transform:uppercase;color:#65758b;font-weight:900;margin-bottom:10px}
.pws-footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pws-footer-col > span{display:block;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:#68788e;font-weight:900;margin-bottom:14px}
.pws-footer-col a{display:block;text-decoration:none;color:#a6b1c2;font-size:.76rem;padding:5px 0;transition:color .2s var(--pws-ease),transform .2s var(--pws-ease)}
.pws-footer-col a:hover{color:#fff;transform:translateX(3px)}
.pws-footer-bottom{
  position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.08);padding-top:24px;
  display:flex;justify-content:space-between;gap:20px;color:#65758a;font-size:.65rem
}
.pws-footer-bottom-links{display:flex;flex-wrap:wrap;gap:18px}
.pws-footer-bottom a{text-decoration:none;color:inherit}
.pws-footer-bottom a:hover{color:#fff}

@media(max-width:1050px){
  .pws-rail-link,.pws-tall-cta,.pws-call-cta{display:none}
  .pws-header-inner{grid-template-columns:auto 1fr}
  .pws-nav-rail{min-height:48px;border-radius:15px}
  .pws-menu-trigger{min-width:82px;min-height:48px;border-left:0}
  .pws-menu-main{grid-template-columns:1fr;gap:42px}
  .pws-menu-side{border-left:0;border-top:1px solid rgba(255,255,255,.09);padding:26px 0 0;grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .pws-menu-contact{grid-column:1/-1}
  .pws-menu-primary-link .title{font-size:clamp(2.8rem,9vw,5.7rem)}
  .pws-footer-top{grid-template-columns:1fr}
}
@media(max-width:782px){
  .admin-bar .pws-header{top:46px}
  .admin-bar .pws-menu-overlay{padding-top:130px}
}
@media(max-width:720px){
  .pws-header-inner,.pws-menu-shell,.pws-footer-shell{width:min(100% - 28px,var(--pws-max))}
  .pws-header{padding:11px 0}
  .pws-brand-copy span{display:none}
  .pws-brand-mark{width:34px;height:34px}
  .pws-custom-logo{max-height:38px;max-width:155px}
  .pws-menu-trigger{min-width:48px;width:48px;font-size:0;padding:0}
  .pws-nav-rail{border-radius:15px}
  .pws-menu-overlay{padding:84px 0 24px}
  .admin-bar .pws-menu-overlay{padding-top:130px}
  .pws-menu-main{padding-top:20px}
  .pws-menu-primary-link{padding:12px 0}
  .pws-menu-primary-link .title{font-size:clamp(2.6rem,13vw,4.6rem)}
  .pws-menu-primary-link .meta{display:none}
  .pws-menu-side{grid-template-columns:1fr}
  .pws-menu-contact{grid-column:auto}
  .pws-menu-bottom{display:block}
  .pws-menu-social{margin-top:18px}
  .pws-footer{padding-top:68px}
  .pws-footer-nav{grid-template-columns:1fr 1fr}
  .pws-footer-bottom{display:block}
  .pws-footer-bottom-links{margin-top:12px}
}
@media(max-width:480px){
  .pws-footer-nav{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* =========================================================
   PWS GLOBAL NAV HOTFIX v1.1.2
   - theme-based MENU control on desktop + mobile
   - perfectly centered mobile hamburger
   - visible/reachable mobile social icons
   ========================================================= */

.pws-header .pws-menu-trigger,
.pws-header .pws-menu-trigger:hover,
.pws-header .pws-menu-trigger:focus,
.pws-header .pws-menu-trigger:active {
  appearance:none;
  -webkit-appearance:none;
  background:var(--pws-panel) !important;
  background-color:var(--pws-panel) !important;
  color:var(--pws-ink) !important;
  border-color:rgba(255,255,255,.10) !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

.pws-header .pws-menu-trigger:hover,
.pws-header .pws-menu-trigger:focus-visible {
  background:var(--pws-panel2) !important;
  background-color:var(--pws-panel2) !important;
  border-color:rgba(95,245,230,.28) !important;
}

.pws-header .pws-menu-trigger:focus-visible {
  outline:2px solid var(--pws-cyan);
  outline-offset:3px;
}

.pws-nav-rail .pws-menu-trigger { border-radius:0; }

@media(max-width:1050px){
  .pws-header .pws-menu-trigger{
    width:48px !important;
    min-width:48px !important;
    height:48px !important;
    min-height:48px !important;
    padding:0 !important;
    margin:0 !important;
    display:grid !important;
    place-items:center !important;
    gap:0 !important;
    border-left:0 !important;
    border-radius:14px !important;
  }
  .pws-header .pws-menu-trigger > span:first-child{ display:none !important; }
  .pws-header .pws-menu-icon{
    width:18px !important;
    height:14px !important;
    margin:0 !important;
    position:relative !important;
    display:block !important;
    inset:auto !important;
    transform:none !important;
  }
  .pws-menu-overlay{ padding-bottom:calc(28px + env(safe-area-inset-bottom)) !important; }
  .pws-menu-shell{ min-height:auto !important; display:block !important; }
  .pws-menu-bottom{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    align-items:start !important;
    margin-top:26px !important;
    padding-top:20px !important;
    padding-bottom:calc(12px + env(safe-area-inset-bottom)) !important;
  }
  .pws-menu-social{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    flex-wrap:wrap !important;
    gap:9px !important;
    margin:0 !important;
    min-height:40px !important;
  }
  .pws-menu-social .pws-social{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    flex:0 0 40px !important;
  }
}

@media(max-width:720px){
  .pws-header .pws-menu-trigger{ width:48px !important; min-width:48px !important; }
  .pws-menu-main{ padding-bottom:28px !important; }
  .pws-menu-bottom-copy{ max-width:30rem; }
}

/* PWS CANVAS FOOTER-END HARDENING v1.1.3 */
html,
body.pws-studio-theme,
body.pws-studio-theme #wrapper{
  background-color:var(--pws-bg);
}
body.page-template-pws-studio-canvas #wrapper{
  min-height:100svh;
}
body.page-template-pws-studio-canvas .pws-footer{
  margin-bottom:0!important;
}
@media(max-width:720px){
  html,
  body.pws-studio-theme{
    overscroll-behavior-y:none;
  }
  body.page-template-pws-studio-canvas #wrapper,
  body.page-template-pws-studio-canvas .pws-footer{
    background-color:var(--pws-bg)!important;
  }
}



/* =========================================================
   PWS ACCESSIBILITY/PERFORMANCE v1.1.5 — visual-neutral fixes
   ========================================================= */
.pws-skip-target{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
