[hidden]{display:none!important}
/* ============================================================
   PWTECH theme — header, mega menu, footer
   Replaces Elementor Pro Theme Builder chrome.
   ============================================================ */
:root{
  --pw-orange:#E87D3A; --pw-orange-lt:#FF9A5C; --pw-green:#6FAC4A;
  --pw-ink:#0B1224; --pw-ink-2:#111A30; --pw-deep:#04060D;
  --pw-line:rgba(255,255,255,.12); --pw-line-2:rgba(255,255,255,.22);
  --pw-txt:#EAF0FF; --pw-dim:#94A3C4;
  --pw-header-h:74px;
  --pw-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
}

.pw-skip{position:absolute;left:-9999px;top:0;z-index:100000;padding:12px 20px;background:var(--pw-orange);color:#fff;border-radius:0 0 8px 0}
.pw-skip:focus{left:0}

/* ---------------- HEADER ---------------- */
.pw-header{position:sticky;top:0;z-index:9000;background:rgba(8,13,26,.92);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--pw-line);font-family:var(--pw-font)}
.pw-header__inner{max-width:1400px;margin:0 auto;height:var(--pw-header-h);padding:0 24px;
  display:flex;align-items:center;gap:26px}
.pw-header__brand img{max-height:44px;width:auto;display:block}
.pw-header__wordmark{display:grid;line-height:1.1;text-decoration:none}
.pw-header__wordmark strong{color:var(--pw-txt);font-size:19px;letter-spacing:.18em}
.pw-header__wordmark span{color:var(--pw-dim);font-size:11px;letter-spacing:.05em}

.pw-nav{flex:1}
.pw-nav__list{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.pw-nav__item{position:static}
.pw-nav__link{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:8px;
  color:var(--pw-txt);font-size:14.5px;font-weight:550;background:none;border:0;cursor:pointer;transition:background .16s,color .16s}
.pw-nav__link:hover,.pw-nav__item.is-open .pw-nav__link{background:rgba(255,255,255,.09);color:#fff}
.pw-nav__chev{width:15px;height:15px;transition:transform .2s}
.pw-nav__item.is-open .pw-nav__chev{transform:rotate(180deg)}

/* mega panel */
/* Visibility is driven by CSS alone, so the panel can never depend on a JS
   animation having run. GSAP only adds the optional link stagger on top. */
.pw-panel{position:absolute;left:0;right:0;top:var(--pw-header-h);background:#0A1120;
  border-bottom:2px solid var(--pw-orange);box-shadow:0 26px 60px rgba(0,0,0,.55);
  opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;z-index:9500;
  transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
.pw-nav__item.is-open > .pw-panel,
.pw-nav__item:focus-within > .pw-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto;
  transition:opacity .2s ease,transform .2s ease,visibility 0s linear 0s}
.pw-panel__inner{max-width:1400px;margin:0 auto;padding:26px 24px 32px;display:grid;gap:26px}
.pw-panel--tabs .pw-panel__inner{grid-template-columns:250px 1fr}
.pw-panel__tabs{display:flex;flex-direction:column;gap:3px;border-right:1px solid var(--pw-line);padding-right:18px}
.pw-panel__tab{text-align:left;padding:11px 14px;border-radius:8px;color:var(--pw-dim);font-size:14px;
  background:none;border:0;cursor:pointer;transition:background .15s,color .15s}
.pw-panel__tab:hover{color:var(--pw-txt);background:rgba(255,255,255,.07)}
.pw-panel__tab.is-active{color:#fff;background:linear-gradient(135deg,rgba(232,125,58,.22),rgba(111,172,74,.14));
  box-shadow:inset 2px 0 0 var(--pw-orange)}
.pw-panel__group{display:none}
.pw-panel__group.is-active{display:block}
.pw-panel__heading{margin:0 0 14px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--pw-orange-lt)}
.pw-panel__links{list-style:none;margin:0;padding:0;columns:3;column-gap:26px}
.pw-panel--cols .pw-panel__links{columns:3}
.pw-panel__links li{break-inside:avoid;margin:0 0 3px}
.pw-panel__links a{display:block;padding:8px 11px;border-radius:7px;color:#C9D5EE;text-decoration:none;font-size:13.8px;
  transition:background .14s,color .14s}
.pw-panel__links a:hover{background:rgba(232,125,58,.14);color:#fff}
.pw-panel__links a[aria-current="page"]{color:var(--pw-orange-lt);background:rgba(232,125,58,.10)}

/* header actions */
.pw-header__actions{display:flex;align-items:center;gap:10px}
.pw-header__cta{padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,var(--pw-orange),#D4652A);
  color:#fff!important;text-decoration:none;font-size:13.5px;font-weight:600;white-space:nowrap}
.pw-header__cta:hover{filter:brightness(1.08)}
.pw-header__desktop{display:flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;
  border:1px solid var(--pw-line-2);color:var(--pw-txt)!important;text-decoration:none;font-size:13.5px;white-space:nowrap}
.pw-header__desktop svg{width:17px;height:17px}
.pw-header__desktop:hover{border-color:var(--pw-orange);color:var(--pw-orange-lt)!important}

.pw-burger{display:none;flex-direction:column;gap:5px;padding:9px;background:none;border:0;cursor:pointer}
.pw-burger span{display:block;width:22px;height:2px;background:var(--pw-txt);border-radius:2px;transition:transform .2s,opacity .2s}
.pw-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.pw-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.pw-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------------- MOBILE NAV ---------------- */
.pw-mobilenav{position:fixed;inset:var(--pw-header-h) 0 0;z-index:8900;overflow-y:auto;padding:18px 20px 40px;
  background:var(--pw-ink);font-family:var(--pw-font)}
.pw-mobilenav__sec{border-bottom:1px solid var(--pw-line);padding:4px 0}
.pw-mobilenav__sec summary{padding:14px 4px;font-size:16px;font-weight:600;color:var(--pw-txt);cursor:pointer;list-style:none}
.pw-mobilenav__sec summary::-webkit-details-marker{display:none}
.pw-mobilenav__sec summary::after{content:"+";float:right;color:var(--pw-orange)}
.pw-mobilenav__sec[open] summary::after{content:"–"}
.pw-mobilenav h4{margin:12px 4px 6px;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--pw-orange-lt)}
.pw-mobilenav ul{list-style:none;margin:0 0 10px;padding:0}
.pw-mobilenav ul a{display:block;padding:9px 4px;color:#C4D1EC;text-decoration:none;font-size:14.5px}
.pw-mobilenav__cta{display:block;margin-top:20px;padding:14px;border-radius:10px;text-align:center;font-weight:600;
  background:linear-gradient(135deg,var(--pw-orange),#D4652A);color:#fff!important;text-decoration:none}
.pw-mobilenav__cta--alt{background:none;border:1px solid var(--pw-line-2);color:var(--pw-txt)!important;margin-top:10px}

@media (max-width:1100px){
  .pw-nav{display:none}
  .pw-burger{display:flex}
  .pw-header__cta{display:none}
}
@media (min-width:1101px){ .pw-mobilenav{display:none!important} }

/* ---------------- ROTATOR (replaces Pro animated-headline) ---------------- */
/* Only the active word is ever rendered — visibility is not left to JS, so a
   stalled tween can never leave several words ghosting on top of each other.
   The colour is a solid, high-contrast orange rather than the pale tint. */
.pw-rotator{position:relative;display:inline-block;vertical-align:bottom;min-width:1px}
.pw-rotator__w{position:absolute;left:0;top:0;white-space:nowrap;
  opacity:0;visibility:hidden;transform:translateY(10px);color:var(--pw-orange);font-weight:inherit;
  transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s}
/* The first word ships with .is-active from PHP, so the headline is complete
   even if JavaScript never runs. Transitions (not rAF tweens) drive the swap,
   so a backgrounded tab can never leave every word invisible. */
.pw-rotator__w.is-active{position:relative;opacity:1;visibility:visible;transform:none;
  transition:opacity .35s ease,transform .35s ease,visibility 0s linear 0s}

/* ---------------- LOOP GRID (replaces Pro loop-grid) ---------------- */
.pw-loop{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin:24px 0}
.pw-loop__card{display:block;border:1px solid rgba(0,0,0,.10);border-radius:12px;overflow:hidden;text-decoration:none;
  background:#fff;transition:transform .18s,box-shadow .18s}
.pw-loop__card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.13)}
.pw-loop__img img{width:100%;height:auto;display:block}
.pw-loop__body{display:block;padding:16px 18px}
.pw-loop__body strong{display:block;margin-bottom:5px;color:#12203a;font-size:16px}
.pw-loop__body span{color:#5b6b88;font-size:13.5px;line-height:1.55}

/* ---------------- BREADCRUMBS ---------------- */
.pw-crumbs{font-size:13px;color:#6b7b96;padding:14px 0}
.pw-crumbs a{color:var(--pw-orange);text-decoration:none}

/* ---------------- FOOTER ---------------- */
.pw-footer{background:linear-gradient(165deg,var(--pw-ink),var(--pw-deep));color:var(--pw-txt);
  font-family:var(--pw-font);padding:56px 24px 0;border-top:1px solid var(--pw-line)}
.pw-footer__inner{max-width:1400px;margin:0 auto;display:grid;gap:34px;
  grid-template-columns:1.6fr 1fr 1fr 1.2fr}
.pw-footer__col h3{margin:0 0 15px;font-size:14px;letter-spacing:.11em;text-transform:uppercase;color:var(--pw-orange-lt)}
.pw-footer__col p{color:var(--pw-dim);font-size:14px;line-height:1.65;margin:0 0 15px}
.pw-footer__logo img{max-height:52px;width:auto;margin-bottom:14px}
.pw-footer__list{list-style:none;margin:0;padding:0}
.pw-footer__list li{margin:0 0 9px}
.pw-footer__list a,.pw-footer__list span{color:#BDCAE6;text-decoration:none;font-size:14px;line-height:1.55}
.pw-footer__list a:hover{color:var(--pw-orange-lt)}
.pw-footer__small{font-size:12.5px;color:var(--pw-dim);margin-top:12px}
.pw-social{display:flex;gap:9px}
.pw-social a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--pw-line-2);
  color:var(--pw-txt);text-decoration:none;font-size:13px;font-weight:600;text-transform:lowercase}
.pw-social a:hover{border-color:var(--pw-orange);color:var(--pw-orange-lt)}
.pw-footer__bar{max-width:1400px;margin:44px auto 0;padding:20px 0;border-top:1px solid var(--pw-line);text-align:center}
.pw-footer__bar p{margin:0;color:var(--pw-dim);font-size:13px}

@media (max-width:980px){
  .pw-footer__inner{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .pw-footer__inner{grid-template-columns:1fr}
  .pw-panel__links{columns:1}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ============================================================
   MIGRATED PRO WIDGET REPLACEMENTS
   ============================================================ */

/* headline (was Pro animated-headline) */
.pw-headline{margin:0}

/* flip cards (was Pro flip-box) */
.pw-flip{perspective:1200px;height:100%;min-height:270px}
.pw-flip__inner{position:relative;width:100%;height:100%;min-height:270px;
  transition:transform .6s cubic-bezier(.4,.2,.2,1);transform-style:preserve-3d}
.pw-flip:hover .pw-flip__inner,.pw-flip:focus-within .pw-flip__inner{transform:rotateY(180deg)}
.pw-flip__face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:12px;padding:30px 24px;border-radius:14px;text-align:center;
  backface-visibility:hidden;-webkit-backface-visibility:hidden}
.pw-flip__face--front{background:linear-gradient(160deg,#111A30,#0B1224);border:1px solid rgba(255,255,255,.12);color:#EAF0FF}
.pw-flip__face--back{background:linear-gradient(160deg,var(--pw-orange),#C85A22);color:#fff;transform:rotateY(180deg)}
.pw-flip__face h3{margin:0;font-size:20px;color:inherit}
.pw-flip__face p{margin:0;font-size:14.5px;line-height:1.6;opacity:.92}
.pw-flip__icon{font-size:34px;line-height:1;color:var(--pw-orange-lt)}
.pw-flip__face--back .pw-flip__icon{color:#fff}
.pw-flip__btn{margin-top:6px;display:inline-block;padding:10px 20px;border-radius:999px;
  background:#fff;color:#C85A22!important;text-decoration:none;font-weight:600;font-size:13.5px}
.pw-flip__btn:hover{filter:brightness(.96)}
@media (hover:none){
  /* no hover on touch: show both faces stacked instead of an unreachable back */
  .pw-flip,.pw-flip__inner{min-height:0;height:auto}
  .pw-flip__inner{transform:none!important}
  .pw-flip__face{position:static;transform:none!important;backface-visibility:visible}
  .pw-flip__face--back{margin-top:10px}
}

/* carousel (was Pro nested-carousel) — CSS scroll-snap, no JS */
.pw-carousel{display:flex!important;flex-direction:row!important;gap:20px;overflow-x:auto;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:12px;
  scrollbar-width:thin;scrollbar-color:var(--pw-orange) transparent}
.pw-carousel > *{flex:0 0 clamp(260px,32%,420px);scroll-snap-align:start}
.pw-carousel::-webkit-scrollbar{height:6px}
.pw-carousel::-webkit-scrollbar-thumb{background:var(--pw-orange);border-radius:6px}
.pw-carousel::-webkit-scrollbar-track{background:rgba(0,0,0,.06)}
@media (max-width:700px){ .pw-carousel > *{flex:0 0 86%} }

/* proof cards (replaced Pro loop-grid on pages 13 & 17) */
.pw-proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.pw-proof__card{display:flex;flex-direction:column;gap:8px;padding:26px 22px;border-radius:14px;
  background:linear-gradient(160deg,#111A30,#0B1224);border:1px solid rgba(255,255,255,.12);
  color:#EAF0FF;text-decoration:none;transition:transform .25s,border-color .25s}
.pw-proof__card:hover{transform:translateY(-4px);border-color:var(--pw-orange)}
.pw-proof__card h3{margin:0;font-size:19px;color:#fff}
.pw-proof__card p{margin:0;font-size:14px;line-height:1.55;opacity:.8}
.pw-proof__more{margin-top:auto;padding-top:10px;color:var(--pw-orange-lt);font-weight:600;font-size:13.5px}

/* language switcher (GTranslate) restored from the old Pro header */
.pw-header__lang{display:flex;align-items:center}
.pw-header__lang .gtranslate_wrapper,.pw-header__lang .gt_container{margin:0}
.pw-header__lang select,.pw-header__lang .gt_selector{background:rgba(255,255,255,.08);color:var(--pw-txt);
  border:1px solid var(--pw-line-2);border-radius:8px;padding:7px 10px;font-size:13px;outline:none;max-width:150px}
.pw-header__lang select option{background:#0B1224;color:#EAF0FF}
@media (max-width:1100px){ .pw-header__lang{display:none} }

/* client logo strip — replaces the unverifiable testimonial quotes */
.pw-clients{padding:8px 0}
.pw-clients__grid{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px 26px;align-items:center}
.pw-clients__item{display:flex;align-items:center;justify-content:center;padding:10px}
.pw-clients__item img{max-width:100%;height:auto;max-height:64px;width:auto;object-fit:contain;
  filter:grayscale(1);opacity:.72;transition:filter .2s ease,opacity .2s ease}
.pw-clients__item img:hover{filter:none;opacity:1}
@media (max-width:600px){ .pw-clients__grid{grid-template-columns:repeat(2,1fr)} }
