/* ==========================================================
   v3.2.44 — WPSoft Widget UI System 2.0
   Core widgets: Heading / Button / Icon Box / Service Cards /
   Feature List / CTA
   ========================================================== */

/* ---------- Heading 2.0 ---------- */
.wpst-ew-heading{
  --wpst-heading-gap:16px;
  display:flex;
  flex-direction:column;
  width:100%;
}
/* Keep constrained Heading 2.0 content inside its available widget width. */
.elementor-widget-wpsoft-heading .wpst-ew-heading{
  min-width:0;
  box-sizing:border-box;
  overflow-wrap:anywhere;
}
.elementor-widget-wpsoft-heading .wpst-ew-heading > :is(.wpst-ew-eyebrow,.wpst-ew-title,.wpst-ew-desc){
  min-width:0;
  box-sizing:border-box;
}
.elementor-widget-wpsoft-heading .wpst-ew-heading > .wpst-ew-title{
  width:100%;
}
.elementor-widget-wpsoft-heading .wpst-ew-heading > .wpst-ew-desc{
  width:100%;
}
.wpst-ew-eyebrow{
  width:max-content;
  max-width:100%;
  margin-bottom:12px;
  font-size:11px;
  font-weight:850;
  letter-spacing:.14em;
  line-height:1.2;
  text-transform:uppercase;
}
.wpst-ew-title{
  margin:0 0 16px;
  font-size:clamp(34px,4.2vw,68px);
  line-height:1.02;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.wpst-ew-desc{
  max-width:68ch;
  font-size:clamp(15px,1.3vw,18px);
  line-height:1.72;
}
.wpst-heading-style-editorial .wpst-ew-title{
  font-size:clamp(40px,5.3vw,82px);
  line-height:.98;
  letter-spacing:-.055em;
}
.wpst-heading-style-display .wpst-ew-title{
  font-size:clamp(48px,7vw,104px);
  line-height:.91;
  letter-spacing:-.065em;
}
.wpst-heading-style-compact .wpst-ew-title{
  font-size:clamp(28px,3.2vw,48px);
  max-width:18ch;
}
.wpst-eyebrow-mode-pill .wpst-ew-eyebrow{
  padding:7px 10px;
  border-radius:999px;
  background:var(--wpst-eyebrow-bg,#eff6ff);
}
.wpst-eyebrow-mode-line .wpst-ew-eyebrow{
  display:flex;
  align-items:center;
  gap:9px;
}
.wpst-eyebrow-mode-line .wpst-ew-eyebrow:before{
  content:"";
  width:28px;
  height:1px;
  background:currentColor;
  opacity:.75;
}

/* ---------- Advanced Button 2.0 ---------- */
.wpst-adv-button{
  --ab-bg:#0f172a;
  --ab-color:#fff;
  --ab-border:#0f172a;
  --ab-hover:#2563eb;
  --ab-hover-color:#fff;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:0 18px;
  border:1px solid var(--ab-border);
  border-radius:14px;
  background:var(--ab-bg);
  color:var(--ab-color);
  text-decoration:none;
  font-weight:800;
  line-height:1;
  overflow:hidden;
  isolation:isolate;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease,background-color .22s ease;
}
.wpst-adv-button>span,
.wpst-adv-button-icon{position:relative;z-index:2}
.wpst-adv-button-icon{
  display:inline-grid;
  place-items:center;
  transition:transform .22s ease;
}
.wpst-adv-button-icon svg{width:16px;height:16px}
.wpst-button-size-sm .wpst-adv-button{min-height:38px;padding:0 14px;font-size:13px}
.wpst-button-size-lg .wpst-adv-button{min-height:54px;padding:0 22px;font-size:16px}
.wpst-button-style-outline .wpst-adv-button{
  background:transparent;
  color:var(--ab-color);
}
.wpst-button-style-soft .wpst-adv-button{
  background:color-mix(in srgb,var(--ab-bg) 10%,transparent);
  color:var(--ab-color);
  border-color:transparent;
}
.wpst-button-style-ghost .wpst-adv-button{
  background:transparent;
  color:var(--ab-color);
  border-color:transparent;
}
.wpst-button-full-yes .wpst-adv-button{width:100%}
.wpst-adv-button.effect-lift:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(15,23,42,.14);
}
.wpst-adv-button.effect-glow:hover{
  box-shadow:0 0 0 5px color-mix(in srgb,var(--ab-hover) 16%,transparent),0 14px 34px color-mix(in srgb,var(--ab-hover) 24%,transparent);
}
.wpst-adv-button.effect-slide:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:var(--ab-hover);
  transform:translateX(-102%);
  transition:transform .28s cubic-bezier(.22,1,.36,1);
}
.wpst-adv-button.effect-slide:hover:before{transform:none}
.wpst-adv-button:hover{
  color:var(--ab-hover-color);
  border-color:var(--ab-hover);
}
.wpst-adv-button:not(.effect-slide):hover{background:var(--ab-hover)}
.wpst-adv-button:hover .wpst-adv-button-icon{transform:translateX(2px)}

/* ---------- Icon Box 2.0 ---------- */
.wpst-ew-iconbox{
  --ib-bg:#fff;
  --ib-border:#e2e8f0;
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding:0;
  border:1px solid transparent;
  background:transparent;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease;
}
.wpst-ew-icon{
  width:52px;height:52px;
  flex:0 0 52px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#eff6ff;
  color:#2563eb;
}
.wpst-ew-icon svg{width:22px;height:22px}
.wpst-iconbox-copy{min-width:0}
.wpst-ew-iconbox h3{
  margin:0 0 6px;
  font-size:20px;
  line-height:1.25;
  letter-spacing:-.025em;
}
.wpst-ew-iconbox p{
  margin:0;
  line-height:1.65;
}
.wpst-iconbox-layout-vertical .wpst-ew-iconbox{
  flex-direction:column;
}
.wpst-iconbox-style-card .wpst-ew-iconbox{
  padding:22px;
  border-color:var(--ib-border);
  border-radius:20px;
  background:var(--ib-bg);
}
.wpst-iconbox-style-soft .wpst-ew-iconbox{
  padding:22px;
  border-color:transparent;
  border-radius:20px;
  background:var(--ib-bg,#f8fafc);
}
.wpst-iconbox-style-glass .wpst-ew-iconbox{
  padding:22px;
  border-color:rgba(255,255,255,.55);
  border-radius:20px;
  background:rgba(255,255,255,.68);
  backdrop-filter:blur(16px);
  box-shadow:0 14px 34px rgba(15,23,42,.07);
}
.wpst-iconbox-hover-yes .wpst-ew-iconbox:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(15,23,42,.09);
}

/* ---------- Service Cards 2.0 ---------- */
.wpst-ew-service-cards-pro{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.wpst-ew-service-cards-pro article{
  --svc-bg:#fff;
  --svc-border:#e2e8f0;
  --svc-accent:#2563eb;
  position:relative;
  min-width:0;
  padding:26px;
  border:1px solid var(--svc-border);
  border-radius:24px;
  background:var(--svc-bg);
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.wpst-ew-service-cards-pro article>small{
  display:block;
  margin-bottom:22px;
  color:#94a3b8;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
}
.wpst-service-icon{
  width:50px;height:50px;
  margin-bottom:22px;
  border-radius:15px;
  background:color-mix(in srgb,var(--svc-accent) 11%,transparent);
  color:var(--svc-accent);
}
.wpst-service-icon svg{width:22px;height:22px}
.wpst-ew-service-cards-pro h3{
  margin:0 0 8px;
  font-size:22px;
  line-height:1.15;
  letter-spacing:-.035em;
}
.wpst-ew-service-cards-pro p{
  margin:0;
  color:#64748b;
  line-height:1.68;
}
.wpst-service-action{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:24px;
  color:var(--svc-accent);
  font-size:12px;
  font-weight:850;
}
.wpst-service-action i{
  display:grid;
  place-items:center;
  transition:transform .2s ease;
}
.wpst-ew-service-cards-pro article:hover .wpst-service-action i{transform:translateX(3px)}
.wpst-service-style-minimal .wpst-ew-service-cards-pro article{
  padding:12px 0 22px;
  border-width:0 0 1px;
  border-radius:0;
}
.wpst-service-style-soft .wpst-ew-service-cards-pro article{
  border-color:transparent;
  background:var(--svc-bg,#f8fafc);
}
.wpst-service-style-dark .wpst-ew-service-cards-pro article{
  --svc-bg:#0f172a;
  --svc-border:#243047;
  color:#fff;
}
.wpst-service-style-dark .wpst-ew-service-cards-pro p{color:#94a3b8}
.wpst-service-hover-lift .wpst-ew-service-cards-pro article:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 44px rgba(15,23,42,.11);
}
.wpst-service-hover-border .wpst-ew-service-cards-pro article:hover{
  border-color:var(--svc-accent);
}
.wpst-service-hover-glow .wpst-ew-service-cards-pro article:hover{
  box-shadow:0 0 0 4px color-mix(in srgb,var(--svc-accent) 10%,transparent),0 20px 42px rgba(15,23,42,.08);
}

/* ---------- Feature List 2.0 ---------- */
.wpst-ew-feature-list{
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
  gap:clamp(28px,5vw,64px);
  align-items:start;
}
.wpst-ew-feature-head small{
  display:block;
  margin-bottom:12px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.wpst-ew-feature-head h2{
  margin:0;
  font-size:clamp(34px,4vw,58px);
  line-height:1.02;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.wpst-ew-feature-items{
  display:grid;
  gap:12px;
}
.wpst-ew-feature-items article{
  --fl-bg:#fff;
  --fl-border:#e2e8f0;
  --fl-accent:#2563eb;
  display:flex;
  align-items:flex-start;
  gap:15px;
  padding:20px;
  border:1px solid var(--fl-border);
  border-radius:18px;
  background:var(--fl-bg);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.wpst-feature-check{
  width:40px;height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:color-mix(in srgb,var(--fl-accent) 10%,transparent);
  color:var(--fl-accent);
}
.wpst-feature-check svg{width:18px;height:18px}
.wpst-ew-feature-items h3{
  margin:0 0 4px;
  font-size:18px;
  letter-spacing:-.02em;
}
.wpst-ew-feature-items p{
  margin:0;
  color:#64748b;
  line-height:1.62;
}
.wpst-feature-layout-stack .wpst-ew-feature-list{grid-template-columns:1fr}
.wpst-feature-style-line .wpst-ew-feature-items article{
  padding:16px 0;
  border-width:0 0 1px;
  border-radius:0;
  background:transparent;
}
.wpst-feature-style-soft .wpst-ew-feature-items article{
  border-color:transparent;
  background:var(--fl-bg,#f8fafc);
}
.wpst-ew-feature-items article:hover{
  transform:translateX(3px);
  border-color:color-mix(in srgb,var(--fl-accent) 35%,var(--fl-border));
}

/* ---------- CTA 2.0 ---------- */
.wpst-ew-cta{
  --cta-bg:#0f172a;
  --cta-title:#fff;
  --cta-text:#cbd5e1;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:clamp(30px,5vw,64px);
  border-radius:28px;
  background:var(--cta-bg);
  color:var(--cta-title);
  overflow:hidden;
  isolation:isolate;
}
.wpst-cta-copy{
  position:relative;
  z-index:2;
  max-width:760px;
}
.wpst-ew-cta h2{
  margin:0 0 12px;
  color:var(--cta-title);
  font-size:clamp(30px,4.3vw,58px);
  line-height:1;
  letter-spacing:-.05em;
  text-wrap:balance;
}
.wpst-ew-cta p{
  margin:0;
  max-width:62ch;
  color:var(--cta-text);
  font-size:clamp(15px,1.3vw,18px);
  line-height:1.7;
}
.wpst-ew-cta .wpst-ew-button{
  --cta-btn-bg:#fff;
  --cta-btn-color:#0f172a;
  --cta-btn-hover:#2563eb;
  position:relative;
  z-index:2;
  flex:0 0 auto;
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 18px;
  border-radius:14px;
  background:var(--cta-btn-bg);
  color:var(--cta-btn-color);
  text-decoration:none;
  font-weight:850;
  transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.wpst-ew-cta .wpst-ew-button:hover{
  transform:translateY(-2px);
  background:var(--cta-btn-hover);
  color:#fff;
  box-shadow:0 14px 28px rgba(0,0,0,.16);
}
.wpst-cta-shape{
  position:absolute;
  right:-70px;
  top:50%;
  z-index:0;
  width:320px;
  height:320px;
  color:#fff;
  opacity:.09;
  transform:translateY(-50%);
  pointer-events:none;
}
.wpst-cta-shape svg{
  width:100%;
  height:100%;
}
.wpst-cta-layout-center .wpst-ew-cta{
  flex-direction:column;
  text-align:center;
}
.wpst-cta-layout-center .wpst-cta-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.wpst-cta-layout-compact .wpst-ew-cta{
  padding:24px 26px;
}
.wpst-cta-layout-compact .wpst-ew-cta h2{
  font-size:clamp(26px,3vw,42px);
}
.wpst-cta-surface-light .wpst-ew-cta{
  --cta-bg:#f8fafc;
  --cta-title:#0f172a;
  --cta-text:#64748b;
  border:1px solid #e2e8f0;
}
.wpst-cta-surface-gradient .wpst-ew-cta{
  background:linear-gradient(135deg,var(--cta-bg),#312e81);
}
.wpst-cta-surface-glass .wpst-ew-cta{
  background:color-mix(in srgb,var(--cta-bg) 70%,transparent);
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(18px);
}

/* Mobile / touch */
@media(max-width:767px){
 .wpst-ew-title{font-size:clamp(30px,10vw,48px)}
 .wpst-heading-style-display .wpst-ew-title{font-size:clamp(42px,13vw,64px)}
 .wpst-adv-button{min-height:46px}
 .wpst-ew-service-cards-pro{grid-template-columns:repeat(var(--wpst-service-columns-mobile,1),minmax(0,1fr))}
 .wpst-ew-service-cards-pro article{padding:22px}
 .wpst-ew-feature-list{grid-template-columns:1fr;gap:28px}
 .wpst-ew-feature-items article{padding:17px}
 .wpst-ew-cta{
   flex-direction:column;
   align-items:flex-start;
   padding:28px 22px;
 }
 .wpst-ew-cta .wpst-ew-button{
   width:100%;
   min-height:48px;
 }
 .wpst-cta-shape{
   right:-120px;
   width:280px;height:280px;
 }
}

@media(prefers-reduced-motion:reduce){
 .wpst-adv-button,
 .wpst-ew-iconbox,
 .wpst-ew-service-cards-pro article,
 .wpst-ew-feature-items article,
 .wpst-ew-cta .wpst-ew-button,
 .wpst-service-action i{
   transition:none!important;
   transform:none!important;
 }
}


/* ==========================================================
   v3.2.44 — Widget UI System 2.0 / Content & Showcase Pass
   ========================================================== */

/* HERO SPLIT 2.0 */
.wpst-ew-hero-split-modern{
  --hero2-bg:linear-gradient(135deg,#f8fafc,#eef2ff);
  --hero2-accent:#2563eb;
  --hero2-title:#0f172a;
  --hero2-text:#64748b;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
  min-height:620px;
  padding:clamp(36px,6vw,82px);
  border-radius:30px;
  background:var(--hero2-bg);
  overflow:hidden;
  isolation:isolate;
}
.wpst-hsm-copy{position:relative;z-index:2}
.wpst-hsm-copy small{
  display:block;margin-bottom:14px;
  color:var(--hero2-accent);
  font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase
}
.wpst-hsm-copy h1{
  margin:0 0 20px;
  color:var(--hero2-title);
  font-size:clamp(44px,6vw,82px);
  line-height:.96;
  letter-spacing:-.06em;
  text-wrap:balance;
}
.wpst-hsm-copy p{
  max-width:62ch;margin:0;
  color:var(--hero2-text);
  font-size:clamp(15px,1.4vw,18px);
  line-height:1.7
}
.wpst-hsm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.wpst-hsm-actions a{
  min-height:48px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:0 18px;border-radius:14px;text-decoration:none;font-weight:850;
  transition:.22s ease
}
.wpst-hsm-actions .is-primary{background:#0f172a;color:#fff}
.wpst-hsm-actions .is-secondary{background:#fff;color:#0f172a;border:1px solid #e2e8f0}
.wpst-hsm-actions a:hover{transform:translateY(-2px)}
.wpst-hsm-media{
  position:relative;
  min-height:480px;
  border-radius:24px;
  overflow:hidden;
  background:#dbeafe
}
.wpst-hsm-media img,.wpst-hsm-placeholder{width:100%;height:100%;min-height:480px;display:block;object-fit:cover}
.wpst-hsm-placeholder{background:linear-gradient(135deg,#dbeafe,#c7d2fe)}
.wpst-hsm-float{
  position:absolute;left:18px;bottom:18px;
  display:flex;align-items:center;gap:10px;
  min-width:170px;padding:12px 14px;border-radius:14px;
  background:rgba(255,255,255,.9);backdrop-filter:blur(16px);
  box-shadow:0 16px 34px rgba(15,23,42,.15)
}
.wpst-hsm-float>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eff6ff;color:var(--hero2-accent)}
.wpst-hsm-float b{display:block;font-size:18px;color:#0f172a}
.wpst-hsm-float span{font-size:10px;color:#64748b}
.wpst-hero2-style-dark .wpst-ew-hero-split-modern{
  --hero2-bg:#08111f;--hero2-title:#fff;--hero2-text:#cbd5e1
}
.wpst-hero2-style-editorial .wpst-ew-hero-split-modern{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.wpst-hero2-style-soft .wpst-ew-hero-split-modern{--hero2-bg:#f8fafc}
.wpst-hero2-media-square .wpst-hsm-media{aspect-ratio:1/1;min-height:0}
.wpst-hero2-media-wide .wpst-hsm-media{aspect-ratio:4/3;min-height:0}
.wpst-hero2-shadow-soft .wpst-hsm-media{box-shadow:0 18px 42px rgba(15,23,42,.1)}
.wpst-hero2-shadow-deep .wpst-hsm-media{box-shadow:0 28px 70px rgba(15,23,42,.18)}

/* IMAGE + TEXT 2.0 */
.wpst-ew-image-text{
  --it-accent:#2563eb;--it-title:#0f172a;--it-text:#64748b;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(30px,5vw,64px);
  align-items:center
}
.wpst-ew-image-text.is-reverse .wpst-ew-image-text-media{order:2}
.wpst-ew-image-text-media{
  position:relative;overflow:hidden;min-height:420px;background:#eef2f7
}
.wpst-ew-image-text-media img{width:100%;height:100%;min-height:420px;display:block;object-fit:cover;transition:transform .5s ease}
.wpst-ew-image-text:hover .wpst-ew-image-text-media img{transform:scale(1.025)}
.wpst-ew-image-text-copy small{
  display:block;margin-bottom:12px;
  color:var(--it-accent);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase
}
.wpst-ew-image-text-copy h2{
  margin:0 0 18px;color:var(--it-title);
  font-size:clamp(34px,4vw,58px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance
}
.wpst-ew-image-text-copy .wpst-ew-rich{color:var(--it-text);line-height:1.8}
.wpst-ew-image-text-copy>a{
  display:inline-flex;align-items:center;gap:8px;margin-top:24px;
  min-height:46px;padding:0 16px;border-radius:12px;
  background:var(--it-accent);color:#fff;text-decoration:none;font-weight:800
}
.wpst-image-text-style-overlap .wpst-ew-image-text-copy{
  margin-left:-72px;padding:36px;border-radius:22px;background:#fff;box-shadow:0 24px 60px rgba(15,23,42,.1);z-index:2
}
.wpst-image-text-style-overlap .wpst-ew-image-text.is-reverse .wpst-ew-image-text-copy{margin-left:0;margin-right:-72px}
.wpst-image-text-style-soft .wpst-ew-image-text-copy{padding:28px;border-radius:22px;background:#f8fafc}
.wpst-image-text-style-editorial .wpst-ew-image-text-copy h2{font-size:clamp(42px,5vw,72px);line-height:.98}

/* PRICING 2.0 */
.wpst-ew-pricing{
  --pricing-accent:#2563eb;
  --pricing-bg:#fff;
  --pricing-border:#e2e8f0;
  position:relative;
  padding:28px;
  border:1px solid var(--pricing-border);
  border-radius:24px;
  background:var(--pricing-bg);
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.wpst-ew-pricing-badge{
  display:inline-flex;padding:6px 9px;margin-bottom:18px;border-radius:999px;
  background:color-mix(in srgb,var(--pricing-accent) 10%,transparent);
  color:var(--pricing-accent);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase
}
.wpst-ew-pricing h3{margin:0 0 7px;font-size:22px;letter-spacing:-.025em}
.wpst-ew-pricing-desc{margin:0 0 20px;color:#64748b;line-height:1.55}
.wpst-ew-price{display:flex;align-items:flex-end;gap:7px;margin-bottom:24px;font-size:clamp(38px,4vw,54px);font-weight:900;letter-spacing:-.055em}
.wpst-ew-price small{padding-bottom:7px;color:#94a3b8;font-size:12px;font-weight:700;letter-spacing:0}
.wpst-ew-pricing ul{display:grid;gap:11px;margin:0 0 26px;padding:0;list-style:none}
.wpst-ew-pricing li{display:flex;align-items:center;gap:9px;color:#475569}
.wpst-ew-pricing li>span{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#eff6ff;color:var(--pricing-accent)}
.wpst-ew-pricing>a{
  min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:0 16px;border-radius:13px;background:var(--pricing-accent);color:#fff;text-decoration:none;font-weight:850
}
.wpst-pricing-featured-yes .wpst-ew-pricing{transform:translateY(-8px);box-shadow:0 24px 52px rgba(15,23,42,.12);border-color:var(--pricing-accent)}
.wpst-pricing-style-minimal .wpst-ew-pricing{padding:24px 0;border-width:0 0 1px;border-radius:0;background:transparent}
.wpst-pricing-style-soft .wpst-ew-pricing{border-color:transparent;background:var(--pricing-bg,#f8fafc)}
.wpst-pricing-style-dark .wpst-ew-pricing{--pricing-bg:#0f172a;--pricing-border:#243047;color:#fff}
.wpst-pricing-style-dark .wpst-ew-pricing-desc,.wpst-pricing-style-dark .wpst-ew-pricing li{color:#cbd5e1}

/* STATS GRID 2.0 */
.wpst-ew-stats-grid{
  --stats-accent:#2563eb;--stats-number:#0f172a;--stats-text:#64748b;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px
}
.wpst-ew-stats-grid article{
  min-width:0;padding:22px;border-radius:20px;
  background:transparent;border:1px solid transparent
}
.wpst-ew-stats-grid article>i{
  width:38px;height:38px;display:grid;place-items:center;margin-bottom:20px;
  border-radius:11px;background:#eff6ff;color:var(--stats-accent)
}
/* v3.3.17 · Stats Grid 2.0 icon contract */
.wpst-ew-stats-grid article>i.wpst-stat-icon-wrap{
  width:calc(var(--stats-icon-size,18px) + 20px);
  height:calc(var(--stats-icon-size,18px) + 20px);
  min-width:calc(var(--stats-icon-size,18px) + 20px);
  display:grid!important;place-items:center;
  overflow:visible;font-style:normal;line-height:1;
  color:var(--stats-accent,#2563eb);
  visibility:visible;opacity:1
}
.wpst-ew-stats-grid .wpst-stat-icon{
  width:var(--stats-icon-size,18px)!important;
  height:var(--stats-icon-size,18px)!important;
  max-width:none!important;max-height:none!important;
  display:block!important;flex:0 0 auto
}
.wpst-ew-stats-grid img.wpst-stat-icon{
  object-fit:contain;object-position:center
}
.wpst-ew-stats-grid svg.wpst-stat-icon{
  color:inherit;stroke:currentColor
}
.wpst-ew-stats-grid strong{
  display:block;color:var(--stats-number);
  font-size:clamp(34px,4vw,54px);line-height:1;letter-spacing:-.055em
}
.wpst-ew-stats-grid span{display:block;margin-top:7px;color:var(--stats-text);font-size:13px}
.wpst-stats-style-cards .wpst-ew-stats-grid article{background:#fff;border-color:#e2e8f0}
.wpst-stats-style-soft .wpst-ew-stats-grid article{background:#f8fafc}
.wpst-stats-style-dark .wpst-ew-stats-grid article{background:#0f172a}
.wpst-stats-style-dark .wpst-ew-stats-grid{--stats-number:#fff;--stats-text:#94a3b8}

/* PORTFOLIO 2.0 */
.wpst-ew-portfolio{
  --portfolio-accent:#2563eb;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px
}
.wpst-ew-portfolio>a{display:block;min-width:0;color:inherit;text-decoration:none;transition:transform .22s ease}
.wpst-ew-project-media{
  position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:20px;background:#eef2f7
}
.wpst-ew-project-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}
.wpst-ew-project-media>span{width:100%;height:100%;display:grid;place-items:center;color:#94a3b8;font-weight:800}
.wpst-project-action{
  position:absolute;right:12px;top:12px;width:40px;height:40px;
  display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.9);color:#0f172a;
  opacity:0;transform:translateY(5px);transition:.2s ease
}
.wpst-ew-portfolio small{display:block;margin-top:12px;color:var(--portfolio-accent);font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.wpst-ew-portfolio h3{margin:5px 0 0;font-size:20px;line-height:1.2;letter-spacing:-.03em}
.wpst-ew-portfolio>a:hover .wpst-project-action{opacity:1;transform:none}
.wpst-portfolio-hover-zoom .wpst-ew-portfolio>a:hover img{transform:scale(1.05)}
.wpst-portfolio-hover-lift .wpst-ew-portfolio>a:hover{transform:translateY(-5px)}
.wpst-portfolio-hover-overlay .wpst-ew-project-media:after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(15,23,42,.35));opacity:0;transition:.2s ease
}
.wpst-portfolio-hover-overlay .wpst-ew-portfolio>a:hover .wpst-ew-project-media:after{opacity:1}
.wpst-portfolio-style-editorial .wpst-ew-portfolio>a:nth-child(3n+1){grid-column:span 2}
.wpst-portfolio-style-editorial .wpst-ew-portfolio>a:nth-child(3n+1) .wpst-ew-project-media{aspect-ratio:16/9}
.wpst-portfolio-style-masonry .wpst-ew-portfolio>a:nth-child(even) .wpst-ew-project-media{aspect-ratio:4/5}

/* TESTIMONIALS 2.0 */
.wpst-ew-testimonial-slider{
  --testimonial-bg:#0f172a;--testimonial-text:#fff;--testimonial-accent:#f59e0b;
  position:relative;padding:clamp(26px,4vw,48px);
  border-radius:26px;background:var(--testimonial-bg);color:var(--testimonial-text);
  overflow:hidden
}
.wpst-ew-testimonial-track article{display:none}
.wpst-ew-testimonial-track article.is-active{display:block;animation:wpstTestimonialIn .28s ease}
@keyframes wpstTestimonialIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wpst-testimonial-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.wpst-testimonial-top>i{color:var(--testimonial-accent)}
.wpst-ew-stars{color:var(--testimonial-accent);letter-spacing:.12em;font-size:12px}
.wpst-ew-testimonial-slider blockquote{
  margin:0;max-width:24ch;color:var(--testimonial-text);
  font-size:clamp(26px,3.4vw,48px);line-height:1.12;letter-spacing:-.04em
}
.wpst-ew-testimonial-slider footer{display:flex;align-items:center;gap:12px;margin-top:28px}
.wpst-ew-testimonial-slider footer img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.wpst-ew-testimonial-slider footer strong{display:block;color:var(--testimonial-text)}
.wpst-ew-testimonial-slider footer span{display:block;margin-top:2px;color:#94a3b8;font-size:11px}
.wpst-ew-testimonial-controls{
  position:absolute;right:18px;bottom:18px;display:flex;gap:6px
}
.wpst-ew-testimonial-controls button{
  width:42px;height:42px;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.08);color:var(--testimonial-text);cursor:pointer
}
.wpst-testimonial-style-light .wpst-ew-testimonial-slider{--testimonial-bg:#fff;--testimonial-text:#0f172a;border:1px solid #e2e8f0}
.wpst-testimonial-style-editorial .wpst-ew-testimonial-slider{--testimonial-bg:#fff7ed;--testimonial-text:#431407}
.wpst-testimonial-style-glass .wpst-ew-testimonial-slider{background:rgba(255,255,255,.68);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.65);--testimonial-text:#0f172a}

/* BLOG CARDS 2.0 */
.wpst-blog-grid{gap:18px!important}
.wpst-blog-card{
  position:relative;
  overflow:hidden;
  border:1px solid #e2e8f0;
  background:#fff;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.wpst-blog-thumb{
  display:block;overflow:hidden;background:#eef2f7
}
.wpst-blog-thumb img{
  width:100%;aspect-ratio:16/10;display:block;object-fit:cover;transition:transform .4s ease
}
.wpst-blog-card-body{padding:18px}
.wpst-blog-category{
  display:inline-flex;margin-bottom:10px;color:#2563eb;text-decoration:none;
  font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase
}
.wpst-blog-card h3{margin:0 0 9px;font-size:21px;line-height:1.2;letter-spacing:-.03em}
.wpst-blog-card h3 a{text-decoration:none}
.wpst-blog-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:11px;color:#94a3b8;font-size:10px}
.wpst-blog-excerpt{line-height:1.65}
.wpst-blog-readmore{
  display:inline-flex;align-items:center;gap:7px;margin-top:16px;
  color:#0f172a;text-decoration:none;font-size:11px;font-weight:850
}
.wpst-blog-readmore i{display:grid;place-items:center;transition:transform .2s ease}
.wpst-blog-readmore:hover i{transform:translateX(3px)}
.wpst-blog-card-style-soft .wpst-blog-card{border-color:transparent;background:#f8fafc}
.wpst-blog-card-style-borderless .wpst-blog-card{border-color:transparent;background:transparent}
.wpst-blog-card-style-borderless .wpst-blog-card-body{padding-inline:0}
.wpst-blog-card-style-editorial .wpst-blog-card h3{font-size:26px}
.wpst-blog-hover-lift .wpst-blog-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(15,23,42,.09)}
.wpst-blog-hover-zoom .wpst-blog-card:hover .wpst-blog-thumb img{transform:scale(1.045)}
.wpst-blog-hover-border .wpst-blog-card:hover{border-color:#93c5fd}
.wpst-blog-loadmore a{
  display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;
  border-radius:12px;background:#0f172a;color:#fff;text-decoration:none;font-weight:800
}

@media(max-width:767px){
 .wpst-ew-hero-split-modern{grid-template-columns:1fr;min-height:0;padding:28px 20px}
 .wpst-hsm-copy h1{font-size:clamp(40px,12vw,58px)}
 .wpst-hsm-media,.wpst-hsm-media img,.wpst-hsm-placeholder{min-height:320px}
 .wpst-ew-image-text{grid-template-columns:1fr;gap:24px}
 .wpst-ew-image-text.is-reverse .wpst-ew-image-text-media{order:0}
 .wpst-image-text-style-overlap .wpst-ew-image-text-copy,
 .wpst-image-text-style-overlap .wpst-ew-image-text.is-reverse .wpst-ew-image-text-copy{margin:0;padding:22px}
 .wpst-ew-stats-grid{grid-template-columns:1fr!important}
 .wpst-ew-portfolio{grid-template-columns:1fr!important}
 .wpst-portfolio-style-editorial .wpst-ew-portfolio>a:nth-child(3n+1){grid-column:auto}
 .wpst-project-action{opacity:1;transform:none}
 .wpst-ew-testimonial-slider{padding:24px 20px 76px}
 .wpst-ew-testimonial-slider blockquote{font-size:clamp(24px,8vw,36px)}
 .wpst-ew-testimonial-controls{left:20px;right:auto}
}
@media(prefers-reduced-motion:reduce){
 .wpst-ew-image-text-media img,.wpst-ew-portfolio>a,.wpst-ew-project-media img,.wpst-blog-card,.wpst-blog-thumb img,.wpst-hsm-actions a{transition:none!important}
 .wpst-ew-testimonial-track article.is-active{animation:none!important}
}




/* ==========================================================
   v3.2.53 — Widget Quality Standard
   Shared controls never restyle interaction chrome accidentally.
   ========================================================== */
.wpst-safe-touch-yes{
  --wpst-min-touch:42px;
}
@media(max-width:767px){
  .wpst-safe-touch-yes :is(
    .wpst-ew-slider-prev,.wpst-ew-slider-next,
    .wpst-ew-carousel-nav button,.wpst-ew-card-nav button,
    .wpst-gallery-carousel-controls button,.wpst-video-gallery-controls button,
    .wpst-content-slider-nav>button,
    .wpst-ew-tabs-nav button,
    summary
  ){
    min-height:var(--wpst-min-touch,42px);
  }
  .wpst-safe-overflow-yes{
    max-width:100%;
    overflow-wrap:anywhere;
  }
  .wpst-safe-overflow-yes :is(img,video,iframe,svg){
    max-width:100%;
  }
}
.wpst-motion-pref-subtle :is(
  [class*="wpst-ew-"],[class*="wpst-"]
){
  --wpst-motion:.18s;
}
.wpst-motion-pref-off *,
.wpst-motion-pref-off *::before,
.wpst-motion-pref-off *::after{
  animation-duration:.001ms!important;
  animation-iteration-count:1!important;
  transition-duration:.001ms!important;
  scroll-behavior:auto!important;
}


/* ==========================================================
   v3.2.61 — Full Page Template Quality System
   Shared rhythm for curated full-page experiences.
   ========================================================== */
.wpst-page-section{
  width:100%;
  min-width:0;
  position:relative;
}
.wpst-page-section > .e-con-inner{
  width:min(100%,1240px);
  margin-inline:auto;
  min-width:0;
}
.wpst-page-hero > .e-con-inner{
  width:min(100%,1320px);
}
.wpst-page-proof > .e-con-inner{
  width:min(100%,1180px);
}
.wpst-page-contact > .e-con-inner{
  width:min(100%,1160px);
}
.wpst-page-section + .wpst-page-section{
  isolation:isolate;
}
@media(max-width:1024px){
  .wpst-page-section > .e-con-inner{
    width:100%;
  }
}
@media(max-width:767px){
  .wpst-page-section{
    overflow:clip;
  }
  .wpst-page-section > .e-con-inner{
    width:100%;
    min-width:0;
  }
  .wpst-page-split > .e-con-inner,
  .wpst-page-contact > .e-con-inner{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .wpst-page-showcase{
    overflow:hidden;
  }
}


/* ==========================================================
   v3.2.62 — Shared Widget Layout Presets
   ========================================================== */
.wpst-density-compact > .elementor-widget-container{--wpst-component-gap:10px}
.wpst-density-comfortable > .elementor-widget-container{--wpst-component-gap:18px}
.wpst-density-airy > .elementor-widget-container{--wpst-component-gap:30px}

.wpst-content-width-reading > .elementor-widget-container{max-width:760px;margin-inline:auto}
.wpst-content-width-narrow > .elementor-widget-container{max-width:920px;margin-inline:auto}
.wpst-content-width-standard > .elementor-widget-container{max-width:1180px;margin-inline:auto}
.wpst-content-width-wide > .elementor-widget-container{max-width:1360px;margin-inline:auto}
.wpst-content-width-full > .elementor-widget-container{max-width:none;width:100%}

.wpst-radius-preset-square > .elementor-widget-container{border-radius:0!important}
.wpst-radius-preset-soft > .elementor-widget-container{border-radius:12px}
.wpst-radius-preset-modern > .elementor-widget-container{border-radius:20px}
.wpst-radius-preset-round > .elementor-widget-container{border-radius:30px}

.wpst-depth-flat > .elementor-widget-container{box-shadow:none!important}
.wpst-depth-soft > .elementor-widget-container{box-shadow:0 12px 32px rgba(15,23,42,.07)}
.wpst-depth-elevated > .elementor-widget-container{box-shadow:0 24px 60px rgba(15,23,42,.12)}

.elementor-widget[class*="wpst-density-"] > .elementor-widget-container :is(
  [class*="grid"],[class*="cards"],[class*="items"],[class*="actions"]
){
  gap:var(--wpst-component-gap,inherit);
}
@media(max-width:767px){
  .wpst-density-airy > .elementor-widget-container{--wpst-component-gap:20px}
  .wpst-content-width-reading > .elementor-widget-container,
  .wpst-content-width-narrow > .elementor-widget-container,
  .wpst-content-width-standard > .elementor-widget-container,
  .wpst-content-width-wide > .elementor-widget-container{
    max-width:100%;
  }
}


/* ==========================================================
   v3.2.63 — Widget Design Variants 3.0 / Stage 1
   Hero Split / Service Cards / Image+Text / CTA
   ========================================================== */

/* ---------- HERO COMPOSITIONS ---------- */
.wpst-hero-composition-stacked .wpst-ew-hero-split-modern{
  grid-template-columns:minmax(0,1fr);
  text-align:center;
  gap:34px;
}
.wpst-hero-composition-stacked .wpst-hsm-copy{
  width:min(900px,100%);
  margin-inline:auto;
}
.wpst-hero-composition-stacked .wpst-hsm-copy p{
  margin-inline:auto;
}
.wpst-hero-composition-stacked .wpst-hsm-actions{
  justify-content:center;
}
.wpst-hero-composition-stacked .wpst-hsm-media{
  width:min(1080px,100%);
  min-height:520px;
  margin-inline:auto;
}

.wpst-hero-composition-showcase .wpst-ew-hero-split-modern{
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:clamp(32px,6vw,88px);
}
.wpst-hero-composition-showcase .wpst-hsm-copy h1{
  font-size:clamp(42px,5vw,70px);
}
.wpst-hero-composition-showcase .wpst-hsm-media{
  min-height:600px;
  border-radius:30px;
}

.wpst-hero-composition-minimal .wpst-ew-hero-split-modern{
  grid-template-columns:minmax(0,1fr);
  min-height:520px;
  align-content:center;
}
.wpst-hero-composition-minimal .wpst-hsm-copy{
  width:min(980px,100%);
}
.wpst-hero-composition-minimal .wpst-hsm-copy h1{
  font-size:clamp(52px,7vw,96px);
  max-width:12ch;
}
.wpst-hero-composition-minimal .wpst-hsm-copy p{
  max-width:55ch;
}
.wpst-hero-composition-minimal .wpst-hsm-media{
  display:none;
}

.wpst-hero-composition-offset .wpst-ew-hero-split-modern{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:end;
}
.wpst-hero-composition-offset .wpst-hsm-copy{
  padding-block:clamp(24px,5vw,72px);
}
.wpst-hero-composition-offset .wpst-hsm-media{
  transform:translateY(36px);
  min-height:560px;
}

/* ---------- SERVICE CARD LAYOUTS ---------- */
.wpst-service-layout-horizontal .wpst-ew-service-cards-pro{
  grid-template-columns:minmax(0,1fr)!important;
}
.wpst-service-layout-horizontal .wpst-ew-service-cards-pro article{
  min-height:0;
  display:grid;
  grid-template-columns:54px minmax(160px,.48fr) minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  padding:20px 22px;
}
.wpst-service-layout-horizontal .wpst-ew-service-cards-pro article>small{
  position:static;
  grid-column:4;
  grid-row:1;
  justify-self:end;
}
.wpst-service-layout-horizontal .wpst-service-icon{
  grid-column:1;
  grid-row:1 / span 2;
}
.wpst-service-layout-horizontal .wpst-ew-service-cards-pro h3{
  grid-column:2;
  margin:0;
}
.wpst-service-layout-horizontal .wpst-ew-service-cards-pro p{
  grid-column:3;
  margin:0;
}
.wpst-service-layout-horizontal .wpst-service-action{
  grid-column:4;
  margin-top:0!important;
}

.wpst-service-layout-editorial .wpst-ew-service-cards-pro article{
  min-height:310px;
  padding-top:74px;
}
.wpst-service-layout-editorial .wpst-ew-service-cards-pro article>small{
  left:26px;
  right:auto;
  top:24px;
  font-size:11px;
}
.wpst-service-layout-editorial .wpst-service-icon{
  position:absolute;
  right:24px;
  top:22px;
  width:42px;
  height:42px;
}
.wpst-service-layout-editorial .wpst-ew-service-cards-pro h3{
  font-size:clamp(25px,2.4vw,36px);
  line-height:1.05;
}

.wpst-service-layout-icon-top .wpst-ew-service-cards-pro article{
  text-align:center;
}
.wpst-service-layout-icon-top .wpst-service-icon{
  margin-inline:auto;
}
.wpst-service-layout-icon-top .wpst-ew-service-cards-pro article>small{
  position:static;
  display:inline-flex;
  margin-bottom:16px;
}
.wpst-service-layout-icon-top .wpst-service-action{
  justify-content:center!important;
}

.wpst-service-layout-compact .wpst-ew-service-cards-pro{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.wpst-service-layout-compact .wpst-ew-service-cards-pro article{
  min-height:0;
  padding:18px;
}
.wpst-service-layout-compact .wpst-service-icon{
  width:40px;
  height:40px;
}
.wpst-service-layout-compact .wpst-ew-service-cards-pro h3{
  margin:16px 0 6px;
  font-size:18px;
}
.wpst-service-layout-compact .wpst-service-action{
  margin-top:10px!important;
}

/* ---------- IMAGE + TEXT VARIANTS ---------- */
.wpst-image-text-style-full-media .wpst-ew-image-text{
  position:relative;
  display:block;
  min-height:620px;
  overflow:hidden;
  border-radius:28px;
}
.wpst-image-text-style-full-media .wpst-ew-image-text-media{
  position:absolute;
  inset:0;
  min-height:100%;
}
.wpst-image-text-style-full-media .wpst-ew-image-text-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(7,17,31,.88),rgba(7,17,31,.28) 60%,rgba(7,17,31,.04));
}
.wpst-image-text-style-full-media .wpst-ew-image-text-copy{
  position:relative;
  z-index:2;
  width:min(620px,82%);
  padding:clamp(38px,7vw,88px);
  color:#fff;
}
.wpst-image-text-style-full-media .wpst-ew-image-text-copy h2,
.wpst-image-text-style-full-media .wpst-ew-image-text-copy .wpst-ew-rich{
  color:inherit;
}

.wpst-image-text-style-frame .wpst-ew-image-text{
  padding:18px;
  border:1px solid #e2e8f0;
  border-radius:28px;
  background:#fff;
}
.wpst-image-text-style-frame .wpst-ew-image-text-media{
  border-radius:20px;
}
.wpst-image-text-style-frame .wpst-ew-image-text-copy{
  padding:24px;
}

.wpst-image-text-style-compact .wpst-ew-image-text{
  grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);
  gap:30px;
}
.wpst-image-text-style-compact .wpst-ew-image-text-media,
.wpst-image-text-style-compact .wpst-ew-image-text-media img{
  min-height:300px;
}
.wpst-image-text-style-compact .wpst-ew-image-text-copy h2{
  font-size:clamp(30px,3.4vw,46px);
}

.wpst-image-text-style-magazine .wpst-ew-image-text{
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  align-items:end;
  gap:clamp(28px,5vw,72px);
}
.wpst-image-text-style-magazine .wpst-ew-image-text-media{
  min-height:620px;
}
.wpst-image-text-style-magazine .wpst-ew-image-text-copy{
  padding-bottom:36px;
}
.wpst-image-text-style-magazine .wpst-ew-image-text-copy h2{
  font-size:clamp(46px,5.5vw,80px);
  line-height:.96;
}

/* ---------- CTA VARIANTS ---------- */
.wpst-cta-layout-banner .wpst-ew-cta{
  width:100%;
  min-height:260px;
  padding:clamp(36px,6vw,76px);
}
.wpst-cta-layout-banner .wpst-cta-copy{
  max-width:820px;
}
.wpst-cta-layout-banner .wpst-cta-copy h2{
  font-size:clamp(38px,5vw,68px);
}

.wpst-cta-layout-editorial .wpst-ew-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-items:start;
  gap:26px;
  min-height:360px;
  padding:clamp(44px,7vw,90px);
}
.wpst-cta-layout-editorial .wpst-cta-copy{
  max-width:980px;
}
.wpst-cta-layout-editorial .wpst-cta-copy h2{
  font-size:clamp(48px,6.5vw,88px);
  line-height:.96;
  letter-spacing:-.055em;
}

.wpst-cta-layout-floating .wpst-ew-cta{
  width:min(1120px,calc(100% - 32px));
  margin-inline:auto;
  transform:translateY(0);
  box-shadow:0 28px 70px rgba(15,23,42,.18);
}

.wpst-cta-layout-inline .wpst-ew-cta{
  min-height:0;
  padding:18px 0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
}
.wpst-cta-layout-inline .wpst-cta-shape{
  display:none;
}
.wpst-cta-layout-inline .wpst-cta-copy h2{
  font-size:clamp(24px,3vw,38px);
}
.wpst-cta-layout-inline .wpst-cta-copy p{
  margin-bottom:0;
}

/* Responsive behavior for new variants */
@media(max-width:767px){
  .wpst-hero-composition-stacked .wpst-hsm-media{
    min-height:300px;
  }
  .wpst-hero-composition-showcase .wpst-ew-hero-split-modern,
  .wpst-hero-composition-offset .wpst-ew-hero-split-modern{
    grid-template-columns:minmax(0,1fr);
  }
  .wpst-hero-composition-offset .wpst-hsm-media{
    transform:none;
    min-height:300px;
  }
  .wpst-hero-composition-minimal .wpst-ew-hero-split-modern{
    min-height:420px!important;
  }
  .wpst-hero-composition-minimal .wpst-hsm-copy h1{
    font-size:clamp(40px,12vw,60px);
  }

  .wpst-service-layout-horizontal .wpst-ew-service-cards-pro article{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:12px 14px;
  }
  .wpst-service-layout-horizontal .wpst-service-icon{
    grid-column:1;
    grid-row:1 / span 2;
  }
  .wpst-service-layout-horizontal .wpst-ew-service-cards-pro h3,
  .wpst-service-layout-horizontal .wpst-ew-service-cards-pro p,
  .wpst-service-layout-horizontal .wpst-service-action{
    grid-column:2;
  }
  .wpst-service-layout-horizontal .wpst-ew-service-cards-pro article>small{
    display:none;
  }
  .wpst-service-layout-compact .wpst-ew-service-cards-pro{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .wpst-image-text-style-full-media .wpst-ew-image-text{
    min-height:520px;
  }
  .wpst-image-text-style-full-media .wpst-ew-image-text-copy{
    width:100%;
    padding:34px 22px;
  }
  .wpst-image-text-style-compact .wpst-ew-image-text,
  .wpst-image-text-style-magazine .wpst-ew-image-text{
    grid-template-columns:minmax(0,1fr);
  }
  .wpst-image-text-style-magazine .wpst-ew-image-text-media{
    min-height:340px;
  }

  .wpst-cta-layout-editorial .wpst-ew-cta,
  .wpst-cta-layout-banner .wpst-ew-cta{
    min-height:0;
    padding:34px 22px!important;
  }
  .wpst-cta-layout-editorial .wpst-cta-copy h2{
    font-size:clamp(38px,11vw,56px);
  }
  .wpst-cta-layout-floating .wpst-ew-cta{
    width:calc(100% - 20px);
  }
}


/* ==========================================================
   v3.2.64 — Widget Design Variants 3.0 / Stage 2
   Testimonials / Blog / Portfolio / Pricing / Team / Gallery
   ========================================================== */

/* TESTIMONIALS */
.wpst-testimonial-layout-card .wpst-ew-testimonial-slider{max-width:760px;margin-inline:auto;padding:30px}
.wpst-testimonial-layout-card .wpst-ew-testimonial-track article{padding:30px;border:1px solid rgba(148,163,184,.22);border-radius:22px}
.wpst-testimonial-layout-profile .wpst-ew-testimonial-track article.is-active{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:32px;align-items:end}
.wpst-testimonial-layout-profile .wpst-ew-testimonial-track footer{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;align-items:flex-start}
.wpst-testimonial-layout-profile .wpst-ew-testimonial-track footer img{width:96px;height:96px}
.wpst-testimonial-layout-compact .wpst-ew-testimonial-slider{max-width:680px;padding:22px}
.wpst-testimonial-layout-compact blockquote{font-size:clamp(20px,2.4vw,30px);line-height:1.35}
.wpst-testimonial-layout-stage .wpst-ew-testimonial-slider{min-height:520px;display:grid;align-content:center;padding:clamp(38px,7vw,82px)}
.wpst-testimonial-layout-stage blockquote{font-size:clamp(34px,5vw,64px);line-height:1.04;letter-spacing:-.04em}

/* BLOG */
.wpst-blog-listing.is-editorial-feed .wpst-blog-grid{grid-template-columns:minmax(0,1fr)!important}
.wpst-blog-listing.is-editorial-feed .wpst-blog-card{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);align-items:center;border:0;border-bottom:1px solid #e2e8f0;border-radius:0}
.wpst-blog-listing.is-editorial-feed .wpst-blog-thumb{min-height:260px}
.wpst-blog-listing.is-editorial-feed .wpst-blog-card-body{padding:28px 34px}
.wpst-blog-listing.is-editorial-feed .wpst-blog-card h3{font-size:clamp(28px,3vw,44px);line-height:1.05}

.wpst-blog-listing.is-compact-news .wpst-blog-grid{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.wpst-blog-listing.is-compact-news .wpst-blog-card{display:grid;grid-template-columns:120px minmax(0,1fr);min-height:120px;border:0;border-bottom:1px solid #e2e8f0;border-radius:0}
.wpst-blog-listing.is-compact-news .wpst-blog-thumb{min-height:100%;border-radius:12px;overflow:hidden}
.wpst-blog-listing.is-compact-news .wpst-blog-card-body{padding:16px 20px}
.wpst-blog-listing.is-compact-news .wpst-blog-card h3{font-size:20px}

.wpst-blog-listing.is-visual-journal .wpst-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.wpst-blog-listing.is-visual-journal .wpst-blog-card{border:0;background:transparent}
.wpst-blog-listing.is-visual-journal .wpst-blog-thumb{min-height:420px;border-radius:24px;overflow:hidden}
.wpst-blog-listing.is-visual-journal .wpst-blog-card:nth-child(3n+1) .wpst-blog-thumb{min-height:560px}
.wpst-blog-listing.is-visual-journal .wpst-blog-card-body{padding:18px 2px}

/* PORTFOLIO */
.wpst-portfolio-style-cinematic .wpst-ew-portfolio{grid-template-columns:minmax(0,1fr)!important}
.wpst-portfolio-style-cinematic .wpst-ew-portfolio>a{position:relative;min-height:560px;overflow:hidden;border-radius:28px}
.wpst-portfolio-style-cinematic .wpst-ew-project-media{position:absolute;inset:0;min-height:100%}
.wpst-portfolio-style-cinematic .wpst-ew-project-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,6,23,.82),rgba(2,6,23,.02) 65%)}
.wpst-portfolio-style-cinematic .wpst-ew-portfolio>a>small,
.wpst-portfolio-style-cinematic .wpst-ew-portfolio>a>h3{position:relative;z-index:2;margin-left:34px;color:#fff}
.wpst-portfolio-style-cinematic .wpst-ew-portfolio>a>small{margin-top:430px}
.wpst-portfolio-style-cinematic .wpst-ew-portfolio>a>h3{font-size:clamp(34px,4vw,58px)}

.wpst-portfolio-style-index .wpst-ew-portfolio{display:block!important}
.wpst-portfolio-style-index .wpst-ew-portfolio>a{display:grid;grid-template-columns:90px minmax(0,1fr) 180px;align-items:center;gap:22px;padding:18px 0;border-bottom:1px solid #e2e8f0}
.wpst-portfolio-style-index .wpst-ew-project-media{width:90px;height:70px;min-height:0;border-radius:10px}
.wpst-portfolio-style-index .wpst-ew-portfolio>a>small{grid-column:3;grid-row:1}
.wpst-portfolio-style-index .wpst-ew-portfolio>a>h3{grid-column:2;grid-row:1;margin:0;font-size:clamp(22px,2.6vw,36px)}

.wpst-portfolio-style-tiles .wpst-ew-portfolio{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.wpst-portfolio-style-tiles .wpst-ew-portfolio>a{grid-column:span 5}
.wpst-portfolio-style-tiles .wpst-ew-portfolio>a:nth-child(3n+1){grid-column:span 7}
.wpst-portfolio-style-tiles .wpst-ew-project-media{min-height:420px}

/* PRICING */
.wpst-pricing-layout-horizontal .wpst-ew-pricing{display:grid;grid-template-columns:minmax(170px,.5fr) minmax(0,1fr) auto;gap:28px;align-items:center;max-width:none}
.wpst-pricing-layout-horizontal .wpst-ew-pricing-desc{grid-column:1}
.wpst-pricing-layout-horizontal .wpst-ew-price{grid-column:1}
.wpst-pricing-layout-horizontal .wpst-ew-pricing ul{grid-column:2;grid-row:1 / span 4;margin:0}
.wpst-pricing-layout-horizontal .wpst-ew-pricing>a{grid-column:3;grid-row:1 / span 4}

.wpst-pricing-layout-editorial .wpst-ew-pricing{padding:42px;border-radius:0;border-width:0 0 1px}
.wpst-pricing-layout-editorial .wpst-ew-pricing h3{font-size:clamp(32px,4vw,52px)}
.wpst-pricing-layout-editorial .wpst-ew-price{font-size:clamp(54px,7vw,88px)}

.wpst-pricing-layout-compact .wpst-ew-pricing{padding:20px;max-width:420px}
.wpst-pricing-layout-compact .wpst-ew-pricing-desc{display:none}
.wpst-pricing-layout-compact .wpst-ew-pricing li{padding-block:6px}

.wpst-pricing-layout-statement .wpst-ew-pricing{max-width:760px;text-align:center;margin-inline:auto;padding:clamp(38px,6vw,72px)}
.wpst-pricing-layout-statement .wpst-ew-price{justify-content:center;font-size:clamp(64px,9vw,110px)}
.wpst-pricing-layout-statement .wpst-ew-pricing ul{text-align:left;max-width:480px;margin-inline:auto}

/* TEAM */
.wpst-team-layout-editorial .wpst-team-pro{grid-template-columns:repeat(2,minmax(0,1fr))}
.wpst-team-layout-editorial .wpst-team-pro article{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:end;text-align:left;gap:20px}
.wpst-team-layout-editorial .wpst-team-pro article img,.wpst-team-layout-editorial .wpst-team-ph{grid-row:1 / span 2;width:180px;height:230px}
.wpst-team-layout-compact .wpst-team-pro article{display:grid;grid-template-columns:72px minmax(0,1fr);text-align:left;align-items:center;gap:14px;padding:12px}
.wpst-team-layout-compact .wpst-team-pro article img,.wpst-team-layout-compact .wpst-team-ph{width:72px;height:72px;border-radius:50%;grid-row:1 / span 2}
.wpst-team-layout-spotlight .wpst-team-pro article:first-child{grid-column:span 2}
.wpst-team-layout-spotlight .wpst-team-pro article:first-child img,.wpst-team-layout-spotlight .wpst-team-pro article:first-child .wpst-team-ph{aspect-ratio:16/8}
.wpst-team-layout-strip .wpst-team-pro{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory}
.wpst-team-layout-strip .wpst-team-pro article{flex:0 0 min(300px,75vw);scroll-snap-align:start}

/* GALLERY */
.wpst-gallery-zoom-pro.is-editorial{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--wpst-gallery-gap,16px)}
.wpst-gallery-zoom-pro.is-editorial .wpst-gallery-zoom-item{grid-column:span 4;min-height:320px}
.wpst-gallery-zoom-pro.is-editorial .wpst-gallery-zoom-item:first-child{grid-column:span 8;grid-row:span 2;min-height:656px}
.wpst-gallery-zoom-pro.is-filmstrip{display:flex!important;overflow-x:auto;gap:var(--wpst-gallery-gap,14px);scroll-snap-type:x mandatory}
.wpst-gallery-zoom-pro.is-filmstrip .wpst-gallery-zoom-item{flex:0 0 min(72vw,520px);min-height:360px;scroll-snap-align:center}
.wpst-gallery-zoom-pro.is-collage{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:150px;gap:var(--wpst-gallery-gap,12px)}
.wpst-gallery-zoom-pro.is-collage .wpst-gallery-zoom-item{grid-column:span 2;grid-row:span 2}
.wpst-gallery-zoom-pro.is-collage .wpst-gallery-zoom-item:nth-child(4n+1){grid-column:span 4;grid-row:span 3}

/* MOBILE */
@media(max-width:767px){
  .wpst-testimonial-layout-profile .wpst-ew-testimonial-track article.is-active{display:block}
  .wpst-testimonial-layout-profile .wpst-ew-testimonial-track footer{margin-top:22px}
  .wpst-testimonial-layout-stage .wpst-ew-testimonial-slider{min-height:420px}

  .wpst-blog-listing.is-editorial-feed .wpst-blog-card{grid-template-columns:minmax(0,1fr)}
  .wpst-blog-listing.is-editorial-feed .wpst-blog-thumb{min-height:240px}
  .wpst-blog-listing.is-compact-news .wpst-blog-card{grid-template-columns:90px minmax(0,1fr)}
  .wpst-blog-listing.is-visual-journal .wpst-blog-grid{grid-template-columns:minmax(0,1fr)}
  .wpst-blog-listing.is-visual-journal .wpst-blog-thumb,
  .wpst-blog-listing.is-visual-journal .wpst-blog-card:nth-child(3n+1) .wpst-blog-thumb{min-height:300px}

  .wpst-portfolio-style-cinematic .wpst-ew-portfolio>a{min-height:430px}
  .wpst-portfolio-style-cinematic .wpst-ew-portfolio>a>small{margin-top:310px}
  .wpst-portfolio-style-index .wpst-ew-portfolio>a{grid-template-columns:72px minmax(0,1fr)}
  .wpst-portfolio-style-index .wpst-ew-portfolio>a>small{grid-column:2;grid-row:2}
  .wpst-portfolio-style-index .wpst-ew-project-media{width:72px;height:64px}
  .wpst-portfolio-style-tiles .wpst-ew-portfolio{grid-template-columns:minmax(0,1fr)}
  .wpst-portfolio-style-tiles .wpst-ew-portfolio>a,
  .wpst-portfolio-style-tiles .wpst-ew-portfolio>a:nth-child(3n+1){grid-column:auto}

  .wpst-pricing-layout-horizontal .wpst-ew-pricing{display:block}
  .wpst-pricing-layout-horizontal .wpst-ew-pricing ul{margin-block:20px}

  .wpst-team-layout-editorial .wpst-team-pro{display:flex!important}
  .wpst-team-layout-editorial .wpst-team-pro article{display:block;min-width:min(82vw,320px)}
  .wpst-team-layout-editorial .wpst-team-pro article img,.wpst-team-layout-editorial .wpst-team-ph{width:100%;height:auto;min-height:280px}
  .wpst-team-layout-spotlight .wpst-team-pro article:first-child{grid-column:auto}

  .wpst-gallery-zoom-pro.is-editorial{grid-template-columns:minmax(0,1fr)}
  .wpst-gallery-zoom-pro.is-editorial .wpst-gallery-zoom-item,
  .wpst-gallery-zoom-pro.is-editorial .wpst-gallery-zoom-item:first-child{grid-column:auto;grid-row:auto;min-height:280px}
  .wpst-gallery-zoom-pro.is-filmstrip .wpst-gallery-zoom-item{flex-basis:86vw;min-height:280px}
  .wpst-gallery-zoom-pro.is-collage{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:130px}
  .wpst-gallery-zoom-pro.is-collage .wpst-gallery-zoom-item,
  .wpst-gallery-zoom-pro.is-collage .wpst-gallery-zoom-item:nth-child(4n+1){grid-column:span 1;grid-row:span 2}
}


/* v3.2.65 — Widget Design Variants 3.0 / Stage 3 */
.wpst-tabs-layout-sidebar .wpst-ew-tabs{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px}
.wpst-tabs-layout-sidebar .wpst-ew-tabs-nav{display:flex;flex-direction:column}
.wpst-tabs-layout-segmented .wpst-ew-tabs-nav{padding:6px;border-radius:14px;background:#eef2f7;display:inline-flex}
.wpst-tabs-layout-editorial .wpst-ew-tabs-nav{gap:18px;border-bottom:1px solid #e2e8f0}
.wpst-tabs-layout-editorial .wpst-ew-tabs-panels article{padding:30px 0}
.wpst-tabs-layout-compact .wpst-ew-tabs-nav button{min-height:36px;padding:8px 12px}

.wpst-accordion-layout-divided .wpst-adv-accordion details{border:0;border-bottom:1px solid #e2e8f0;border-radius:0}
.wpst-accordion-layout-numbered .wpst-adv-accordion{counter-reset:wpst-acc}
.wpst-accordion-layout-numbered .wpst-adv-accordion details{counter-increment:wpst-acc}
.wpst-accordion-layout-numbered .wpst-adv-accordion summary:before{content:counter(wpst-acc,decimal-leading-zero);font-weight:800;opacity:.45;margin-right:14px}
.wpst-accordion-layout-minimal .wpst-adv-accordion details{background:transparent!important;border:0}
.wpst-accordion-layout-panel .wpst-adv-accordion{padding:18px;border-radius:22px;background:#f8fafc}

.wpst-mosaic-layout-balanced .wpst-ew-feature-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}
.wpst-mosaic-layout-editorial .wpst-ew-feature-mosaic{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:30px}
.wpst-mosaic-layout-editorial .wpst-fm-main h2{font-size:clamp(42px,5vw,76px);line-height:.96}
.wpst-mosaic-layout-compact .wpst-fm-cards article{padding:18px}
.wpst-mosaic-layout-media-left .wpst-ew-feature-mosaic{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.wpst-mosaic-layout-media-left .wpst-fm-main{order:-1}

.wpst-process-layout-timeline .wpst-ew-process-steps-pro{grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.wpst-process-layout-timeline .wpst-ew-process-steps-pro:before{content:"";position:absolute;left:8%;right:8%;top:36px;height:1px;background:#cbd5e1}
.wpst-process-layout-cards .wpst-ew-process-steps-pro article{border:1px solid #e2e8f0;border-radius:18px;padding:22px}
.wpst-process-layout-compact .wpst-ew-process-steps-pro article{padding:14px;min-height:0}
.wpst-process-layout-editorial .wpst-ew-process-steps-pro{grid-template-columns:minmax(0,1fr)}
.wpst-process-layout-editorial .wpst-ew-process-steps-pro article{display:grid;grid-template-columns:90px minmax(0,1fr);gap:24px;padding:28px 0;border-bottom:1px solid #e2e8f0}

.wpst-timeline-layout-alternating .wpst-ew-timeline-modern article:nth-child(even) div{text-align:right}
.wpst-timeline-layout-compact .wpst-ew-timeline-modern article{gap:10px;padding-block:12px}
.wpst-timeline-layout-cards .wpst-ew-timeline-modern article div{padding:20px;border:1px solid #e2e8f0;border-radius:16px}
.wpst-timeline-layout-milestones .wpst-ew-timeline-modern article h3{font-size:clamp(28px,3vw,44px)}

.wpst-stats-layout-strip .wpst-ew-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid #e2e8f0}
.wpst-stats-layout-editorial .wpst-ew-stats-grid article strong{font-size:clamp(52px,7vw,90px)}
.wpst-stats-layout-compact .wpst-ew-stats-grid article{padding:14px}
.wpst-stats-layout-hero .wpst-ew-stats-grid article:first-child{grid-column:span 2;grid-row:span 2}
.wpst-stats-layout-hero .wpst-ew-stats-grid article:first-child strong{font-size:clamp(72px,10vw,130px)}

.wpst-counter-layout-inline .wpst-ew-animated-counter{display:flex;align-items:baseline;gap:14px}
.wpst-counter-layout-boxed .wpst-ew-animated-counter{padding:24px;border:1px solid #e2e8f0;border-radius:18px}
.wpst-counter-layout-statement .wpst-ew-animated-counter strong{font-size:clamp(70px,11vw,140px);line-height:.9}

.wpst-logo-cloud-layout-strip .wpst-ew-logo-cloud>div{display:flex;overflow-x:auto;gap:18px}
.wpst-logo-cloud-layout-boxed .wpst-ew-logo-cloud figure{border:1px solid #e2e8f0;border-radius:14px;padding:18px}
.wpst-logo-cloud-layout-editorial .wpst-ew-logo-cloud>div{grid-template-columns:repeat(3,minmax(0,1fr))}
.wpst-logo-grid-layout-compact .wpst-logo-grid-pro{gap:6px}
.wpst-logo-grid-layout-framed .wpst-logo-grid-pro>div{border:1px solid #e2e8f0;border-radius:14px}
.wpst-logo-grid-layout-editorial .wpst-logo-grid-pro{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.wpst-logo-marquee-layout-pill .wpst-ew-logo-marquee figure{border:1px solid #e2e8f0;border-radius:999px;padding:10px 18px}
.wpst-logo-marquee-layout-boxed .wpst-ew-logo-marquee figure{border:1px solid #e2e8f0;border-radius:12px;padding:14px 20px;background:#fff}
.wpst-trust-badges-layout-strip .wpst-ew-trust-badges{display:flex;overflow-x:auto}
.wpst-trust-badges-layout-cards .wpst-ew-trust-badges article{padding:18px;border:1px solid #e2e8f0;border-radius:16px}
.wpst-trust-badges-layout-compact .wpst-ew-trust-badges article{padding:10px;gap:10px}

.wpst-video-gallery-pro.is-editorial{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.wpst-video-gallery-pro.is-editorial .wpst-video-card{grid-column:span 4}
.wpst-video-gallery-pro.is-editorial .wpst-video-card:first-child{grid-column:span 8;grid-row:span 2}
.wpst-video-gallery-pro.is-filmstrip{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px}
.wpst-video-gallery-pro.is-filmstrip .wpst-video-card{flex:0 0 min(72vw,520px);scroll-snap-align:center}
.wpst-video-gallery-pro.is-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.wpst-video-gallery-pro.is-stack .wpst-video-card{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);align-items:center;gap:24px}

@media(max-width:767px){
 .wpst-tabs-layout-sidebar .wpst-ew-tabs{display:block}
 .wpst-tabs-layout-sidebar .wpst-ew-tabs-nav{flex-direction:row;overflow-x:auto}
 .wpst-mosaic-layout-balanced .wpst-ew-feature-mosaic,
 .wpst-mosaic-layout-editorial .wpst-ew-feature-mosaic,
 .wpst-mosaic-layout-media-left .wpst-ew-feature-mosaic{grid-template-columns:minmax(0,1fr)}
 .wpst-process-layout-timeline .wpst-ew-process-steps-pro{grid-template-columns:minmax(0,1fr)}
 .wpst-process-layout-timeline .wpst-ew-process-steps-pro:before{display:none}
 .wpst-process-layout-editorial .wpst-ew-process-steps-pro article{grid-template-columns:60px minmax(0,1fr)}
 .wpst-stats-layout-strip .wpst-ew-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wpst-stats-layout-hero .wpst-ew-stats-grid article:first-child{grid-column:auto;grid-row:auto}
 .wpst-logo-cloud-layout-editorial .wpst-ew-logo-cloud>div,
 .wpst-logo-grid-layout-editorial .wpst-logo-grid-pro{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wpst-video-gallery-pro.is-editorial{grid-template-columns:minmax(0,1fr)}
 .wpst-video-gallery-pro.is-editorial .wpst-video-card,
 .wpst-video-gallery-pro.is-editorial .wpst-video-card:first-child{grid-column:auto;grid-row:auto}
 .wpst-video-gallery-pro.is-filmstrip .wpst-video-card{flex-basis:86vw}
 .wpst-video-gallery-pro.is-stack .wpst-video-card{grid-template-columns:minmax(0,1fr)}
}


/* ==========================================================
   v3.2.73 — Widget Controls UX + Signature Presets
   Presets are opt-in visual systems and do not override widget layout variants.
   ========================================================== */

/* Shared preset tokens */
.elementor-widget.wpst-preset-signature{
  --wpst-preset-radius:22px;
  --wpst-preset-gap:22px;
  --wpst-preset-shadow:none;
  --wpst-preset-border:#e7eaf0;
  --wpst-preset-surface:#ffffff;
  --wpst-preset-text:#0f172a;
  --wpst-preset-muted:#64748b;
  --wpst-preset-accent:#315cf5;
}

/* v3.3.15 — WPSoft Signature is a clean, flat-white design language.
   No ambient tint, glow or cast shadow is added behind the widget/template. */
.elementor-widget.wpst-preset-signature > .elementor-widget-container{
  background:#ffffff!important;
  background-color:#ffffff!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
}
.elementor-widget.wpst-preset-signature > .elementor-widget-container::before,
.elementor-widget.wpst-preset-signature > .elementor-widget-container::after{
  box-shadow:none!important;
  filter:none!important;
}
.elementor-widget.wpst-preset-corporate{
  --wpst-preset-radius:14px;
  --wpst-preset-gap:18px;
  --wpst-preset-shadow:0 10px 30px rgba(15,23,42,.07);
  --wpst-preset-border:#dce3ec;
  --wpst-preset-surface:#ffffff;
  --wpst-preset-text:#111827;
  --wpst-preset-muted:#5f6b7a;
  --wpst-preset-accent:#2563eb;
}
.elementor-widget.wpst-preset-editorial{
  --wpst-preset-radius:4px;
  --wpst-preset-gap:28px;
  --wpst-preset-shadow:none;
  --wpst-preset-border:#d8d8d3;
  --wpst-preset-surface:#faf9f6;
  --wpst-preset-text:#151515;
  --wpst-preset-muted:#66645f;
  --wpst-preset-accent:#111111;
}
.elementor-widget.wpst-preset-soft{
  --wpst-preset-radius:26px;
  --wpst-preset-gap:20px;
  --wpst-preset-shadow:0 16px 44px rgba(73,86,116,.09);
  --wpst-preset-border:#edf0f5;
  --wpst-preset-surface:#f7f9fc;
  --wpst-preset-text:#172033;
  --wpst-preset-muted:#68748a;
  --wpst-preset-accent:#635bff;
}
.elementor-widget.wpst-preset-dark{
  --wpst-preset-radius:20px;
  --wpst-preset-gap:20px;
  --wpst-preset-shadow:0 24px 64px rgba(0,0,0,.28);
  --wpst-preset-border:rgba(255,255,255,.09);
  --wpst-preset-surface:#0f172a;
  --wpst-preset-text:#f8fafc;
  --wpst-preset-muted:#b6c0cf;
  --wpst-preset-accent:#7c8cff;
}
.elementor-widget.wpst-preset-minimal{
  --wpst-preset-radius:0px;
  --wpst-preset-gap:16px;
  --wpst-preset-shadow:none;
  --wpst-preset-border:#e5e7eb;
  --wpst-preset-surface:transparent;
  --wpst-preset-text:#111827;
  --wpst-preset-muted:#6b7280;
  --wpst-preset-accent:#111827;
}

/* Apply shared tokens only to clear surface components, never blindly to all descendants. */
.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-ew-service-cards-pro article,
  .wpst-ew-pricing,
  .wpst-ew-testimonial-slider,
  .wpst-blog-card,
  .wpst-related-post-card,
  .wpst-ew-portfolio>a,
  .wpst-ew-image-text,
  .wpst-ew-cta
){
  border-color:var(--wpst-preset-border);
  border-radius:var(--wpst-preset-radius);
  box-shadow:var(--wpst-preset-shadow);
}

.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-ew-service-cards-pro article,
  .wpst-ew-pricing,
  .wpst-ew-testimonial-slider,
  .wpst-blog-card,
  .wpst-related-post-card
){
  background:var(--wpst-preset-surface);
  color:var(--wpst-preset-text);
}

.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-ew-service-cards-pro,
  .wpst-blog-grid,
  .wpst-related-posts-grid,
  .wpst-ew-portfolio
){
  gap:var(--wpst-preset-gap);
}

.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-ew-service-cards-pro p,
  .wpst-ew-pricing-desc,
  .wpst-ew-pricing li,
  .wpst-blog-card p,
  .wpst-ew-image-text-copy p,
  .wpst-ew-cta p
){
  color:var(--wpst-preset-muted);
}

.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-ew-button,
  .wpst-service-icon,
  .wpst-faq-toggle
){
  --wpst-accent:var(--wpst-preset-accent);
}

/* Editorial preset gets a deliberately flatter, publication-like treatment. */
.elementor-widget.wpst-preset-editorial :is(
  .wpst-ew-service-cards-pro article,
  .wpst-ew-pricing,
  .wpst-blog-card,
  .wpst-ew-image-text,
  .wpst-ew-cta
){
  border-width:0 0 1px;
  background:transparent;
  box-shadow:none;
}

/* Dark preset is intentionally scoped to component surfaces only. */
.elementor-widget.wpst-preset-dark :is(
  .wpst-ew-service-cards-pro article,
  .wpst-ew-pricing,
  .wpst-ew-testimonial-slider,
  .wpst-ew-cta
){
  background:var(--wpst-preset-surface);
  color:var(--wpst-preset-text);
}
.elementor-widget.wpst-preset-dark :is(h2,h3,h4,strong,blockquote){
  color:var(--wpst-preset-text);
}

/* Mobile preset rhythm */
@media(max-width:767px){
  .elementor-widget.wpst-preset-signature{--wpst-preset-radius:18px;--wpst-preset-gap:16px}
  .elementor-widget.wpst-preset-soft{--wpst-preset-radius:20px;--wpst-preset-gap:16px}
  .elementor-widget.wpst-preset-dark{--wpst-preset-radius:18px;--wpst-preset-gap:16px}
}


/* ==========================================================
   v3.2.74 — Signature Presets / Stage 2
   Tabs / Accordion / Mosaic / Team / Gallery / Process /
   Timeline / Stats / Counter / Logo / Trust
   ========================================================== */

/* Tabs */
.elementor-widget[class*="wpst-preset-"] .wpst-ew-tabs-nav button{
  border-radius:calc(var(--wpst-preset-radius) * .55);
}
.elementor-widget[class*="wpst-preset-"] .wpst-ew-tabs-panels article{
  border-radius:var(--wpst-preset-radius);
  border-color:var(--wpst-preset-border);
  background:var(--wpst-preset-surface);
  color:var(--wpst-preset-text);
  box-shadow:var(--wpst-preset-shadow);
}
.elementor-widget.wpst-preset-editorial .wpst-ew-tabs-panels article{
  background:transparent;
  box-shadow:none;
  border-width:0 0 1px;
  border-radius:0;
}

/* Accordion */
.elementor-widget[class*="wpst-preset-"] .wpst-adv-accordion details{
  border-color:var(--wpst-preset-border);
  border-radius:var(--wpst-preset-radius);
  background:var(--wpst-preset-surface);
  color:var(--wpst-preset-text);
  box-shadow:var(--wpst-preset-shadow);
}
.elementor-widget.wpst-preset-editorial .wpst-adv-accordion details{
  border-radius:0;
  border-width:0 0 1px;
  background:transparent;
  box-shadow:none;
}

/* Feature Mosaic */
.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-fm-main,
  .wpst-fm-cards article
){
  border-radius:var(--wpst-preset-radius);
  border-color:var(--wpst-preset-border);
  background:var(--wpst-preset-surface);
  color:var(--wpst-preset-text);
  box-shadow:var(--wpst-preset-shadow);
}
.elementor-widget[class*="wpst-preset-"] .wpst-fm-cards{
  gap:var(--wpst-preset-gap);
}

/* Team */
.elementor-widget[class*="wpst-preset-"] .wpst-team-pro{
  gap:var(--wpst-preset-gap);
}
.elementor-widget[class*="wpst-preset-"] .wpst-team-pro article{
  border-color:var(--wpst-preset-border);
  border-radius:var(--wpst-preset-radius);
  background:var(--wpst-preset-surface);
  color:var(--wpst-preset-text);
  box-shadow:var(--wpst-preset-shadow);
}
.elementor-widget.wpst-preset-editorial .wpst-team-pro article{
  border-radius:0;
  background:transparent;
  box-shadow:none;
  border-width:0 0 1px;
}

/* Gallery + Video */
.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-gallery-zoom-item,
  .wpst-video-card
){
  border-radius:var(--wpst-preset-radius);
  border-color:var(--wpst-preset-border);
  box-shadow:var(--wpst-preset-shadow);
  overflow:hidden;
}
.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-gallery-zoom-pro,
  .wpst-video-gallery-pro
){
  gap:var(--wpst-preset-gap);
}

/* Process / Timeline */
.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-ew-process-steps-pro article,
  .wpst-ew-timeline-modern article div
){
  border-color:var(--wpst-preset-border);
  border-radius:var(--wpst-preset-radius);
  background:var(--wpst-preset-surface);
  color:var(--wpst-preset-text);
  box-shadow:var(--wpst-preset-shadow);
}
.elementor-widget.wpst-preset-editorial :is(
  .wpst-ew-process-steps-pro article,
  .wpst-ew-timeline-modern article div
){
  border-radius:0;
  box-shadow:none;
  background:transparent;
}

/* Stats + Counter */
.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-ew-stats-grid article,
  .wpst-ew-animated-counter
){
  border-color:var(--wpst-preset-border);
  border-radius:var(--wpst-preset-radius);
  background:var(--wpst-preset-surface);
  color:var(--wpst-preset-text);
  box-shadow:var(--wpst-preset-shadow);
}
.elementor-widget[class*="wpst-preset-"] .wpst-ew-stats-grid{
  gap:var(--wpst-preset-gap);
}
.elementor-widget.wpst-preset-editorial :is(
  .wpst-ew-stats-grid article,
  .wpst-ew-animated-counter
){
  background:transparent;
  box-shadow:none;
  border-radius:0;
  border-width:0 0 1px;
}

/* Logo + Trust */
.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-ew-logo-cloud figure,
  .wpst-logo-grid-pro>div,
  .wpst-ew-logo-marquee figure,
  .wpst-ew-trust-badges article
){
  border-color:var(--wpst-preset-border);
  border-radius:var(--wpst-preset-radius);
  background:var(--wpst-preset-surface);
  color:var(--wpst-preset-text);
  box-shadow:var(--wpst-preset-shadow);
}
.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-ew-logo-cloud,
  .wpst-logo-grid-pro,
  .wpst-ew-trust-badges
){
  gap:var(--wpst-preset-gap);
}
.elementor-widget.wpst-preset-minimal :is(
  .wpst-ew-logo-cloud figure,
  .wpst-logo-grid-pro>div,
  .wpst-ew-logo-marquee figure,
  .wpst-ew-trust-badges article
){
  background:transparent;
  box-shadow:none;
  border-color:transparent;
}

/* Dark preset text safety for the newly supported components */
.elementor-widget.wpst-preset-dark :is(
  .wpst-ew-tabs-panels article,
  .wpst-adv-accordion details,
  .wpst-fm-main,
  .wpst-fm-cards article,
  .wpst-team-pro article,
  .wpst-ew-process-steps-pro article,
  .wpst-ew-timeline-modern article div,
  .wpst-ew-stats-grid article,
  .wpst-ew-animated-counter,
  .wpst-ew-trust-badges article
){
  color:var(--wpst-preset-text);
}
.elementor-widget.wpst-preset-dark :is(
  .wpst-ew-tabs-panels article p,
  .wpst-adv-accordion details p,
  .wpst-fm-cards article p,
  .wpst-team-pro article p,
  .wpst-ew-process-steps-pro article p,
  .wpst-ew-timeline-modern article p,
  .wpst-ew-stats-grid article p
){
  color:var(--wpst-preset-muted);
}

@media(max-width:767px){
  .elementor-widget[class*="wpst-preset-"] :is(
    .wpst-team-pro,
    .wpst-gallery-zoom-pro,
    .wpst-video-gallery-pro,
    .wpst-ew-stats-grid
  ){
    gap:min(var(--wpst-preset-gap),18px);
  }
}


/* ==========================================================
   v3.2.75 — Reference Expansion Widgets
   Table / Map / Reviews / Stories / Link Grid / Price List
   ========================================================== */

/* Advanced Table */
.wpst-advanced-table-wrap{width:100%;max-width:100%;overflow-x:auto;border-radius:20px}
.wpst-advanced-table{width:100%;min-width:640px;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e5e7eb;border-radius:20px;overflow:hidden}
.wpst-advanced-table caption{text-align:left;padding:18px 20px;font-size:20px;font-weight:800;color:#0f172a;background:#f8fafc;border-bottom:1px solid #e5e7eb}
.wpst-advanced-table th,.wpst-advanced-table td{padding:16px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:middle}
.wpst-advanced-table thead th{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f8fafc}
.wpst-advanced-table tbody th{font-weight:800;color:#0f172a}
.wpst-advanced-table td{color:#475569}
.wpst-advanced-table .is-highlight{background:color-mix(in srgb,var(--wpst-table-accent,#315cf5) 8%,#fff)}
.wpst-table-layout-striped .wpst-advanced-table tbody tr:nth-child(even)>*{background:#fafbfc}
.wpst-table-layout-minimal .wpst-advanced-table{border:0;border-radius:0}
.wpst-table-layout-minimal .wpst-advanced-table caption,.wpst-table-layout-minimal .wpst-advanced-table thead th{background:transparent}
.wpst-table-layout-comparison .wpst-advanced-table thead th.is-highlight{color:#fff;background:var(--wpst-table-accent,#315cf5)}
@media(max-width:767px){
 .wpst-table-mobile-stack .wpst-advanced-table{min-width:0;border:0;background:transparent}
 .wpst-table-mobile-stack .wpst-advanced-table caption{border-radius:16px;margin-bottom:10px}
 .wpst-table-mobile-stack .wpst-advanced-table thead{display:none}
 .wpst-table-mobile-stack .wpst-advanced-table tbody,.wpst-table-mobile-stack .wpst-advanced-table tr{display:block}
 .wpst-table-mobile-stack .wpst-advanced-table tr{margin-bottom:12px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;overflow:hidden}
 .wpst-table-mobile-stack .wpst-advanced-table th,.wpst-table-mobile-stack .wpst-advanced-table td{display:grid;grid-template-columns:minmax(100px,.45fr) minmax(0,1fr);gap:12px;border-bottom:1px solid #edf0f4}
 .wpst-table-mobile-stack .wpst-advanced-table td:before{content:attr(data-label);font-size:11px;font-weight:800;color:#64748b}
}

/* Location Map */
.wpst-location-map{position:relative;display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr);overflow:hidden;border:1px solid #e5e7eb;background:#fff}
.wpst-location-map-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,64px);min-width:0}
.wpst-location-map-copy>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#64748b}
.wpst-location-map-copy h3{margin:12px 0;font-size:clamp(32px,4vw,54px);line-height:1;letter-spacing:-.045em}
.wpst-location-map-copy p{margin:0;color:#64748b;line-height:1.7}
.wpst-location-map-copy a{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-weight:800;color:#0f172a;text-decoration:none}
.wpst-location-map-media{position:relative;min-height:480px;background:#eef2f6}
.wpst-location-map-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.wpst-location-map-placeholder{position:absolute;inset:0;display:grid;place-content:center;gap:7px;text-align:center;color:#64748b}
.wpst-location-map-placeholder svg{margin:auto}
.wpst-map-layout-full .wpst-location-map{display:block}
.wpst-map-layout-full .wpst-location-map-copy{position:absolute;left:24px;bottom:24px;z-index:2;width:min(420px,calc(100% - 48px));padding:24px;border-radius:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.wpst-map-layout-overlay .wpst-location-map{grid-template-columns:minmax(0,1fr)}
.wpst-map-layout-overlay .wpst-location-map-copy{position:absolute;z-index:2;left:28px;top:28px;width:min(390px,calc(100% - 56px));padding:24px;border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.14)}
@media(max-width:767px){
 .wpst-location-map{grid-template-columns:minmax(0,1fr)}
 .wpst-location-map-media{min-height:320px}
 .wpst-map-layout-full .wpst-location-map-copy,.wpst-map-layout-overlay .wpst-location-map-copy{position:relative;left:auto;top:auto;bottom:auto;width:100%;border-radius:0;box-shadow:none}
}

/* Reviews Pro */
.wpst-reviews-pro{display:grid;grid-template-columns:repeat(var(--wpst-review-cols,3),minmax(0,1fr));gap:16px}
.wpst-reviews-pro article{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid #e5e7eb;border-radius:20px;background:#fff}
.wpst-review-stars{display:flex;gap:3px;color:#f59e0b}
.wpst-review-stars svg{fill:currentColor}
.wpst-reviews-pro blockquote{margin:18px 0 24px;font-size:18px;line-height:1.55;color:#0f172a}
.wpst-reviews-pro footer{margin-top:auto;display:flex;align-items:center;gap:12px}
.wpst-reviews-pro footer img,.wpst-review-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:50%;object-fit:cover}
.wpst-review-avatar{display:grid;place-items:center;background:#eef2ff;color:#4338ca;font-weight:900}
.wpst-reviews-pro footer div{display:grid;gap:2px}.wpst-reviews-pro footer strong{font-size:13px}.wpst-reviews-pro footer small{font-size:11px;color:#64748b}
.wpst-reviews-layout-featured .wpst-reviews-pro article:first-child{grid-column:span 2;grid-row:span 2;padding:36px}
.wpst-reviews-layout-featured .wpst-reviews-pro article:first-child blockquote{font-size:clamp(28px,3vw,42px);line-height:1.2}
.wpst-reviews-layout-compact .wpst-reviews-pro article{padding:16px}.wpst-reviews-layout-compact .wpst-reviews-pro blockquote{font-size:15px;margin:12px 0 18px}
.wpst-reviews-layout-wall .wpst-reviews-pro{align-items:start}.wpst-reviews-layout-wall .wpst-reviews-pro article:nth-child(2n){transform:translateY(22px)}
@media(max-width:767px){.wpst-reviews-layout-featured .wpst-reviews-pro article:first-child{grid-column:auto;grid-row:auto}.wpst-reviews-layout-wall .wpst-reviews-pro article:nth-child(2n){transform:none}}

/* Story Cards */
.wpst-story-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.wpst-story-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e5e7eb;border-radius:22px;background:#fff;color:inherit;text-decoration:none}
.wpst-story-media{aspect-ratio:4/3;overflow:hidden;background:#eef2f6}
.wpst-story-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.wpst-story-card:hover .wpst-story-media img{transform:scale(1.035)}
.wpst-story-copy{position:relative;padding:24px}
.wpst-story-copy>span{font-size:10px;font-weight:900;letter-spacing:.1em;color:#64748b}
.wpst-story-copy h3{margin:10px 0 8px;font-size:28px;line-height:1.05}.wpst-story-copy p{margin:0;color:#64748b;line-height:1.6}
.wpst-story-copy>i{position:absolute;right:20px;top:20px}
.wpst-story-layout-horizontal .wpst-story-cards{grid-template-columns:minmax(0,1fr)}
.wpst-story-layout-horizontal .wpst-story-card{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);align-items:center}
.wpst-story-layout-steps .wpst-story-card{border-radius:0;border-width:0 0 1px}.wpst-story-layout-steps .wpst-story-media{display:none}.wpst-story-layout-steps .wpst-story-copy h3{font-size:clamp(30px,3vw,46px)}
.wpst-story-layout-visual .wpst-story-copy{min-height:210px}
@media(max-width:767px){.wpst-story-cards{grid-template-columns:minmax(0,1fr)}.wpst-story-layout-horizontal .wpst-story-card{grid-template-columns:minmax(0,1fr)}}

/* Link Grid */
.wpst-link-grid{display:grid;grid-template-columns:repeat(var(--wpst-link-cols,3),minmax(0,1fr));gap:14px}
.wpst-link-grid>a{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:14px;padding:18px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;color:#0f172a;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.wpst-link-grid>a:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(15,23,42,.08)}
.wpst-link-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#eef2ff;color:#4338ca}
.wpst-link-grid>a div{display:grid;gap:4px;min-width:0}.wpst-link-grid>a strong{font-size:15px}.wpst-link-grid>a small{font-size:12px;color:#64748b;line-height:1.4}.wpst-link-grid>a>i{justify-self:end}
.wpst-link-grid-layout-rows .wpst-link-grid{grid-template-columns:minmax(0,1fr)}
.wpst-link-grid-layout-minimal .wpst-link-grid>a{border-width:0 0 1px;border-radius:0;background:transparent;padding-inline:0;box-shadow:none}
.wpst-link-grid-layout-tiles .wpst-link-grid>a{min-height:170px;align-content:end;grid-template-columns:44px minmax(0,1fr);position:relative}.wpst-link-grid-layout-tiles .wpst-link-grid>a>i{position:absolute;right:18px;top:18px}

/* Price / Menu List */
.wpst-price-list{display:grid;gap:0}
.wpst-price-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:20px 0;border-bottom:1px solid #e5e7eb}
.wpst-price-list-copy>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wpst-price-list h3{margin:0;font-size:20px}.wpst-price-list-copy span{padding:4px 8px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.wpst-price-list p{margin:6px 0 0;color:#64748b;line-height:1.5}.wpst-price-list article>b{font-size:18px;color:#0f172a;white-space:nowrap}
.wpst-price-list-layout-cards .wpst-price-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wpst-price-list-layout-cards .wpst-price-list article{padding:20px;border:1px solid #e5e7eb;border-radius:18px}
.wpst-price-list-layout-compact .wpst-price-list article{padding:12px 0}.wpst-price-list-layout-compact .wpst-price-list p{display:none}
.wpst-price-list-layout-dots .wpst-price-list article{position:relative;grid-template-columns:auto 1fr auto;align-items:baseline;gap:10px}.wpst-price-list-layout-dots .wpst-price-list article:before{content:"";grid-column:2;border-bottom:1px dotted #cbd5e1}.wpst-price-list-layout-dots .wpst-price-list-copy{grid-column:1}.wpst-price-list-layout-dots .wpst-price-list article>b{grid-column:3}.wpst-price-list-layout-dots .wpst-price-list p{max-width:520px}
@media(max-width:767px){.wpst-price-list-layout-cards .wpst-price-list{grid-template-columns:minmax(0,1fr)}.wpst-price-list article{gap:12px}.wpst-price-list-layout-dots .wpst-price-list article{grid-template-columns:minmax(0,1fr) auto}.wpst-price-list-layout-dots .wpst-price-list article:before{display:none}}


/* Signature preset integration for v3.2.75 widgets */
.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-advanced-table,
  .wpst-location-map,
  .wpst-reviews-pro article,
  .wpst-story-card,
  .wpst-link-grid>a,
  .wpst-price-list article
){
  border-color:var(--wpst-preset-border);
  border-radius:var(--wpst-preset-radius);
  box-shadow:var(--wpst-preset-shadow);
}
.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-advanced-table,
  .wpst-location-map,
  .wpst-reviews-pro article,
  .wpst-story-card,
  .wpst-link-grid>a
){
  background:var(--wpst-preset-surface);
  color:var(--wpst-preset-text);
}
.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-reviews-pro,
  .wpst-story-cards,
  .wpst-link-grid
){
  gap:var(--wpst-preset-gap);
}
.elementor-widget.wpst-preset-editorial :is(
  .wpst-advanced-table,
  .wpst-reviews-pro article,
  .wpst-story-card,
  .wpst-link-grid>a,
  .wpst-price-list article
){
  box-shadow:none;
}
.elementor-widget.wpst-preset-dark :is(
  .wpst-reviews-pro article,
  .wpst-story-card,
  .wpst-link-grid>a,
  .wpst-location-map
){
  color:var(--wpst-preset-text);
}
.elementor-widget.wpst-preset-dark :is(
  .wpst-reviews-pro blockquote,
  .wpst-story-copy h3,
  .wpst-link-grid>a strong,
  .wpst-location-map-copy h3
){
  color:var(--wpst-preset-text);
}


/* ==========================================================
   v3.2.76 — Reference Expansion 2
   Content Finder / Expert Profile / Promo Banner / Form Shell
   ========================================================== */
.wpst-content-finder{display:grid;gap:14px;width:100%}
.wpst-content-finder>label{font-size:clamp(28px,4vw,52px);font-weight:850;letter-spacing:-.04em;color:#0f172a}
.wpst-content-finder-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 8px 8px 16px;border:1px solid #dfe5ec;border-radius:18px;background:#fff;box-shadow:0 14px 40px rgba(15,23,42,.07)}
.wpst-content-finder-row input{width:100%;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;font-size:16px}
.wpst-content-finder-row button{min-height:44px;padding:0 20px;border:0;border-radius:12px;background:#0f172a;color:#fff;font-weight:800;cursor:pointer}
.wpst-finder-layout-inline .wpst-content-finder{grid-template-columns:auto minmax(0,1fr);align-items:center}.wpst-finder-layout-inline .wpst-content-finder>label{font-size:20px}
.wpst-finder-layout-compact .wpst-content-finder>label{display:none}.wpst-finder-layout-compact .wpst-content-finder-row{box-shadow:none;border-radius:12px}
.wpst-finder-layout-card .wpst-content-finder{padding:28px;border:1px solid #e5e7eb;border-radius:22px;background:#fff}

.wpst-expert-profile{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(26px,5vw,64px);align-items:center}
.wpst-expert-media{min-height:420px;border-radius:24px;overflow:hidden;background:#eef2f6}
.wpst-expert-media img{width:100%;height:100%;min-height:420px;object-fit:cover}.wpst-expert-placeholder{min-height:420px;display:grid;place-content:center}
.wpst-expert-copy>span{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#64748b}.wpst-expert-copy h3{margin:10px 0 14px;font-size:clamp(36px,5vw,64px);line-height:1;letter-spacing:-.045em}
.wpst-expert-copy p{max-width:62ch;color:#64748b;line-height:1.7}.wpst-expert-copy ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:22px 0;list-style:none}.wpst-expert-copy li{padding:7px 10px;border-radius:999px;background:#f1f5f9;font-size:11px;font-weight:800}
.wpst-expert-copy a{display:inline-flex;min-height:44px;align-items:center;padding:0 16px;border-radius:12px;background:#0f172a;color:#fff;text-decoration:none;font-weight:800}
.wpst-expert-layout-card .wpst-expert-profile{padding:18px;border:1px solid #e5e7eb;border-radius:24px;background:#fff}.wpst-expert-layout-compact .wpst-expert-profile{grid-template-columns:120px minmax(0,1fr)}.wpst-expert-layout-compact .wpst-expert-media,.wpst-expert-layout-compact .wpst-expert-media img,.wpst-expert-layout-compact .wpst-expert-placeholder{min-height:140px}
.wpst-expert-layout-editorial .wpst-expert-profile{align-items:end}.wpst-expert-layout-editorial .wpst-expert-copy h3{font-size:clamp(48px,6vw,82px)}

.wpst-promo-banner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);overflow:hidden;border-radius:26px;background:#111827;color:#fff}
.wpst-promo-media{min-height:360px;order:2}.wpst-promo-media img{width:100%;height:100%;min-height:360px;object-fit:cover}.wpst-promo-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,6vw,74px)}
.wpst-promo-copy>span{font-size:10px;font-weight:900;letter-spacing:.14em;color:#a5b4fc}.wpst-promo-copy h3{margin:12px 0;font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.05em;color:inherit}.wpst-promo-copy p{max-width:52ch;color:#cbd5e1;line-height:1.65}
.wpst-promo-copy a{align-self:flex-start;margin-top:18px;display:inline-flex;min-height:46px;align-items:center;padding:0 18px;border-radius:12px;background:#fff;color:#111827;text-decoration:none;font-weight:800}
.wpst-promo-layout-overlay .wpst-promo-media{position:absolute;inset:0}.wpst-promo-layout-overlay .wpst-promo-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,20,.88),rgba(5,10,20,.2))}.wpst-promo-layout-overlay .wpst-promo-copy{position:relative;z-index:2;min-height:480px}
.wpst-promo-layout-minimal .wpst-promo-banner{grid-template-columns:minmax(0,1fr);background:#f7f8fb;color:#0f172a;border:1px solid #e5e7eb}.wpst-promo-layout-minimal .wpst-promo-media{display:none}.wpst-promo-layout-minimal .wpst-promo-copy p{color:#64748b}
.wpst-promo-layout-wide .wpst-promo-banner{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr)}

.wpst-form-shell{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:clamp(28px,5vw,70px);align-items:start;padding:clamp(28px,5vw,60px);border:1px solid #e5e7eb;border-radius:26px;background:#fff}
.wpst-form-shell-copy>span{font-size:10px;font-weight:900;letter-spacing:.14em;color:#64748b}.wpst-form-shell-copy h3{margin:10px 0 14px;font-size:clamp(36px,4.5vw,60px);line-height:1;letter-spacing:-.045em}.wpst-form-shell-copy p{color:#64748b;line-height:1.7}
.wpst-form-shell-form{min-width:0}.wpst-form-shell-placeholder{min-height:260px;display:grid;place-content:center;gap:6px;padding:24px;border:1px dashed #cbd5e1;border-radius:18px;text-align:center;color:#64748b}.wpst-form-shell-placeholder strong{color:#0f172a}
.wpst-form-shell :is(input,select,textarea){width:100%;max-width:100%;min-height:46px;border-radius:12px!important;border:1px solid #dbe2ea!important;background:#fff!important;padding:10px 12px!important}.wpst-form-shell textarea{min-height:130px}.wpst-form-shell button,.wpst-form-shell input[type=submit]{min-height:48px;border-radius:12px!important;padding:0 18px!important}
.wpst-form-shell-layout-card .wpst-form-shell{grid-template-columns:minmax(0,1fr);max-width:760px;margin-inline:auto}.wpst-form-shell-layout-minimal .wpst-form-shell{border:0;border-radius:0;padding-inline:0}.wpst-form-shell-layout-dark .wpst-form-shell{background:#0f172a;color:#fff;border-color:#1e293b}.wpst-form-shell-layout-dark .wpst-form-shell-copy h3{color:#fff}.wpst-form-shell-layout-dark .wpst-form-shell-copy p{color:#cbd5e1}

@media(max-width:767px){
 .wpst-finder-layout-inline .wpst-content-finder{grid-template-columns:minmax(0,1fr)}
 .wpst-content-finder-row{grid-template-columns:22px minmax(0,1fr)}.wpst-content-finder-row button{grid-column:1/-1;width:100%}
 .wpst-expert-profile,.wpst-expert-layout-compact .wpst-expert-profile,.wpst-promo-banner,.wpst-promo-layout-wide .wpst-promo-banner,.wpst-form-shell{grid-template-columns:minmax(0,1fr)}
 .wpst-expert-media,.wpst-expert-media img,.wpst-expert-placeholder{min-height:320px}.wpst-promo-media{order:0;min-height:260px}.wpst-promo-media img{min-height:260px}
 .wpst-promo-layout-overlay .wpst-promo-copy{min-height:420px}.wpst-form-shell{padding:24px 18px}
}


/* ==========================================================
   v3.2.79 · Widget Deep Controls 4.0 — Stage 1
   ========================================================== */
.wpst-ew-image-cascade{position:relative;min-height:var(--wpst-cascade-height,560px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--wpst-cascade-gap,18px)}
.wpst-ew-image-cascade img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,box-shadow .35s ease}
.wpst-ew-image-cascade .img-1{grid-column:1/8;grid-row:1/9}.wpst-ew-image-cascade .img-2{grid-column:8/13;grid-row:2/6}.wpst-ew-image-cascade .img-3{grid-column:7/12;grid-row:6/10}
.wpst-ew-image-cascade figcaption{position:absolute;left:18px;bottom:18px;z-index:2;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);font-size:12px;font-weight:800}
.wpst-cascade-layout-editorial .wpst-ew-image-cascade .img-1{grid-column:1/9}.wpst-cascade-layout-editorial .wpst-ew-image-cascade .img-2{grid-column:9/13;grid-row:1/5}.wpst-cascade-layout-editorial .wpst-ew-image-cascade .img-3{grid-column:9/13;grid-row:5/10}
.wpst-cascade-layout-stack .wpst-ew-image-cascade .img-1{grid-column:1/9;grid-row:1/9}.wpst-cascade-layout-stack .wpst-ew-image-cascade .img-2{grid-column:7/12;grid-row:2/7;transform:rotate(3deg)}.wpst-cascade-layout-stack .wpst-ew-image-cascade .img-3{grid-column:5/10;grid-row:5/10;transform:rotate(-3deg)}
.wpst-cascade-layout-cards .wpst-ew-image-cascade img{border:8px solid #fff}.wpst-cascade-shadow-soft .wpst-ew-image-cascade img{box-shadow:0 14px 38px rgba(15,23,42,.10)}.wpst-cascade-shadow-medium .wpst-ew-image-cascade img{box-shadow:0 22px 55px rgba(15,23,42,.16)}.wpst-cascade-shadow-strong .wpst-ew-image-cascade img{box-shadow:0 28px 70px rgba(15,23,42,.24)}

.wpst-logo-marquee-dir-right .wpst-ew-logo-marquee-track{animation-direction:reverse}.wpst-logo-marquee-pause-yes .wpst-ew-logo-marquee:hover .wpst-ew-logo-marquee-track{animation-play-state:paused}
.wpst-ew-logo-marquee-track{animation-duration:var(--wpst-marquee-duration,28s)}

.wpst-badge-layout-compact .wpst-ew-badge-grid article{padding:16px}.wpst-badge-layout-numbered .wpst-ew-badge-grid article>span{font-size:30px;font-weight:900;opacity:.22}.wpst-badge-layout-soft .wpst-ew-badge-grid article{background:#f7f8fb;border-color:transparent}

.wpst-spotlight-layout-left .wpst-hsp-inner{margin-right:auto;text-align:left}.wpst-spotlight-layout-wide .wpst-hsp-inner{max-width:1100px!important}
.wpst-ew-hero-spotlight .wpst-spotlight{width:var(--wpst-spotlight-size,560px);height:var(--wpst-spotlight-size,560px);background:radial-gradient(circle,var(--wpst-spotlight-color,rgba(99,102,241,.28)) 0%,transparent 68%)}

@media(max-width:767px){
 .wpst-ew-image-cascade{min-height:max(360px,var(--wpst-cascade-height,420px));grid-template-columns:repeat(6,minmax(0,1fr))}
 .wpst-ew-image-cascade .img-1,.wpst-cascade-layout-editorial .wpst-ew-image-cascade .img-1{grid-column:1/7;grid-row:1/7}
 .wpst-ew-image-cascade .img-2,.wpst-cascade-layout-editorial .wpst-ew-image-cascade .img-2{grid-column:1/4;grid-row:7/10}
 .wpst-ew-image-cascade .img-3,.wpst-cascade-layout-editorial .wpst-ew-image-cascade .img-3{grid-column:4/7;grid-row:7/10}
}


/* ==========================================================
   v3.2.80 · Widget Deep Controls 4.0 — Stage 2
   ========================================================== */

/* Breadcrumb */
.wpst-breadcrumb-layout-center .wpst-ew-breadcrumb{text-align:center}
.wpst-breadcrumb-layout-center .wpst-ew-breadcrumb nav{justify-content:center}
.wpst-breadcrumb-layout-compact .wpst-ew-breadcrumb h1{font-size:clamp(24px,3vw,40px)}
.wpst-breadcrumb-layout-compact .wpst-ew-breadcrumb{padding-block:24px}
.wpst-breadcrumb-layout-hero .wpst-ew-breadcrumb{min-height:280px;display:grid;align-items:end}

/* Quote */
.wpst-ew-big-quote{position:relative}
.wpst-ew-big-quote .wpst-quote-mark{color:var(--wpst-quote-accent,#315cf5)}
.wpst-ew-big-quote footer{display:flex;align-items:center;gap:12px}
.wpst-ew-big-quote footer img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.wpst-ew-big-quote footer div{display:grid;gap:2px}
.wpst-quote-layout-card .wpst-ew-big-quote{padding:28px;border:1px solid #e5e7eb;border-radius:22px;background:#fff}
.wpst-quote-layout-editorial .wpst-ew-big-quote{border-left:4px solid var(--wpst-quote-accent,#315cf5);padding-left:28px}
.wpst-quote-layout-profile .wpst-ew-big-quote p{font-size:clamp(22px,3vw,38px)}

/* Progress */
.wpst-progress-pro{display:grid}
.wpst-progress-row{display:grid;gap:8px}
.wpst-progress-row>div{display:flex;justify-content:space-between;gap:16px}
.wpst-progress-row>i{display:block;overflow:hidden;border-radius:999px}
.wpst-progress-row>i>b{display:block;height:100%;border-radius:inherit}
.wpst-progress-layout-thin .wpst-progress-row>i{height:3px!important}
.wpst-progress-layout-cards .wpst-progress-row{padding:18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}
.wpst-progress-layout-minimal .wpst-progress-row>i{background:transparent!important;border-bottom:1px solid #e5e7eb;border-radius:0}

/* Mega quick nav */
.wpst-ew-mega-quicknav{display:grid}
.wpst-ew-mega-quicknav>a{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;text-decoration:none}
.wpst-ew-mega-quicknav>a>i{width:42px;height:42px;display:grid;place-items:center;border-radius:12px}
.wpst-ew-mega-quicknav>a span{display:grid;gap:2px}
.wpst-ew-mega-quicknav>a small{opacity:.7}
.wpst-mega-quicknav-layout-rows .wpst-ew-mega-quicknav{grid-template-columns:minmax(0,1fr)!important}
.wpst-mega-quicknav-layout-compact .wpst-ew-mega-quicknav>a{padding:10px}
.wpst-mega-quicknav-layout-minimal .wpst-ew-mega-quicknav>a{background:transparent!important;border:0!important}

/* Hero SaaS */
.wpst-hero-saas-layout-centered .wpst-ew-hero-saas{grid-template-columns:minmax(0,1fr);text-align:center}
.wpst-hero-saas-layout-centered .wpst-hs-copy{margin-inline:auto}
.wpst-hero-saas-layout-centered .wpst-hs-actions{justify-content:center}
.wpst-hero-saas-layout-dashboard-first .wpst-hs-dashboard{order:-1}
.wpst-hero-saas-layout-compact .wpst-ew-hero-saas{min-height:0}
.wpst-ew-hero-saas .wpst-hs-badge{color:var(--wpst-saas-accent,#635bff)}

/* Fancy Box */
.wpst-fancy-layout-split .wpst-ew-fancy-box{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.wpst-fancy-layout-split .wpst-ew-fancy-box>img{position:relative;inset:auto;width:100%;height:100%;object-fit:cover}
.wpst-fancy-layout-minimal .wpst-ew-fancy-box{background:#fff;color:#111827;border:1px solid #e5e7eb}
.wpst-fancy-layout-minimal .wpst-ew-fancy-box>img,.wpst-fancy-layout-minimal .wpst-fb-overlay{display:none}
.wpst-fancy-layout-hover-card .wpst-ew-fancy-box{transition:transform .25s ease,box-shadow .25s ease}
.wpst-fancy-layout-hover-card .wpst-ew-fancy-box:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(15,23,42,.12)}

/* Info Strip */
.wpst-info-strip-layout-compact .wpst-ew-info-strip{padding-block:10px}
.wpst-info-strip-layout-center .wpst-ew-info-strip{justify-content:center;text-align:center}
.wpst-info-strip-layout-pill .wpst-ew-info-strip{border-radius:999px}
.wpst-info-strip-layout-pill .wpst-ew-info-strip-icon{border-radius:999px}

/* Logo Grid */
.wpst-logo-grid-gray-yes .wpst-logo-grid-pro img{filter:grayscale(1);opacity:.72;transition:filter .2s ease,opacity .2s ease}
.wpst-logo-grid-gray-yes.wpst-logo-grid-hover-color-yes .wpst-logo-grid-pro a:hover img{filter:none;opacity:1}
.wpst-logo-grid-pro>div{display:grid;place-items:center}
.wpst-logo-grid-pro>div>a{display:grid;place-items:center;width:100%;height:100%}

/* Mega Promo */
.wpst-mega-promo-layout-card .wpst-ew-mega-promo{background:#fff;color:#111827;border:1px solid #e5e7eb}
.wpst-mega-promo-layout-card .wpst-mega-promo-shade{display:none}
.wpst-mega-promo-layout-split .wpst-ew-mega-promo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.wpst-mega-promo-layout-split .wpst-ew-mega-promo>img{position:relative;inset:auto;width:100%;height:100%;object-fit:cover}
.wpst-mega-promo-layout-minimal .wpst-ew-mega-promo>img,.wpst-mega-promo-layout-minimal .wpst-mega-promo-shade{display:none}

/* Marquee Text */
.wpst-marquee-text-dir-right .wpst-ew-marquee-text>div{animation-direction:reverse}
.wpst-marquee-text-pause-yes .wpst-ew-marquee-text:hover>div{animation-play-state:paused}

@media(max-width:767px){
 .wpst-fancy-layout-split .wpst-ew-fancy-box,
 .wpst-mega-promo-layout-split .wpst-ew-mega-promo{grid-template-columns:minmax(0,1fr)}
 .wpst-info-strip-layout-pill .wpst-ew-info-strip{border-radius:18px}
}


/* ==========================================================
   v3.2.81 · Widget Deep Controls 4.0 — Stage 3
   Interaction / Visual Utilities
   ========================================================== */

/* Scroll progress */
.wpst-scroll-progress-style-pill .wpst-ew-scroll-progress{left:12px;right:12px;width:auto;border-radius:999px;overflow:hidden}
.wpst-scroll-progress-style-glass .wpst-ew-scroll-progress{left:12px;right:12px;width:auto;border-radius:999px;overflow:hidden;backdrop-filter:blur(12px)}
.wpst-scroll-progress-pos-bottom .wpst-ew-scroll-progress{top:auto!important;bottom:0!important}
@media(max-width:767px){.wpst-scroll-progress-hide-mobile-yes .wpst-ew-scroll-progress{display:none}}

/* Scroll reveal text */
.wpst-ew-scroll-reveal-text p{color:var(--wpst-reveal-muted,#cbd5e1)}
.wpst-ew-scroll-reveal-text p span{color:inherit}
.wpst-reveal-text-mode-fade .wpst-ew-scroll-reveal-text p span{transition:color .35s ease,opacity .35s ease}
.wpst-reveal-text-mode-line .wpst-ew-scroll-reveal-text p{max-width:20ch}

/* Morphing CTA */
.wpst-morphing-cta-layout-center .wpst-ew-morphing-cta{text-align:center;justify-content:center}
.wpst-morphing-cta-layout-center .wpst-ew-morphing-cta>div{margin-inline:auto}
.wpst-morphing-cta-layout-compact .wpst-ew-morphing-cta{padding-block:20px}
.wpst-morphing-cta-layout-statement .wpst-ew-morphing-cta h3{font-size:clamp(42px,7vw,96px);line-height:.95}
.wpst-morphing-cta-style-circle .wpst-ew-morphing-cta>a{border-radius:999px;aspect-ratio:1/1}
.wpst-morphing-cta-style-pill .wpst-ew-morphing-cta>a{border-radius:999px}
.wpst-morphing-cta-style-none .wpst-ew-morphing-cta>a:before{display:none}

/* Mouse follow */
.wpst-mouse-card-layout-light .wpst-ew-mouse-card{color:#111827;background:#fff;border:1px solid #e5e7eb}
.wpst-mouse-card-layout-glass .wpst-ew-mouse-card{background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.48);color:#111827}
.wpst-mouse-card-layout-minimal .wpst-ew-mouse-card{background:transparent;border:1px solid #e5e7eb;color:#111827}
.wpst-ew-mouse-card{overflow:hidden}

/* Logo cloud */
.wpst-ew-logo-cloud>div{display:grid}
.wpst-logo-cloud-gray-yes .wpst-ew-logo-cloud img{filter:grayscale(1);opacity:.72}
.wpst-logo-cloud-layout-strip .wpst-ew-logo-cloud>div{display:flex;overflow-x:auto;scroll-snap-type:x proximity}
.wpst-logo-cloud-layout-strip .wpst-ew-logo-cloud figure{flex:0 0 180px;scroll-snap-align:start}
.wpst-logo-cloud-layout-boxed .wpst-ew-logo-cloud figure{border:1px solid #e5e7eb}
.wpst-logo-cloud-layout-editorial .wpst-ew-logo-cloud figure{border-radius:0!important;border-bottom:1px solid #e5e7eb}

/* Orbit */
.wpst-ew-icon-orbit{width:min(100%,var(--wpst-orbit-size,520px));aspect-ratio:1/1;margin-inline:auto}
.wpst-orbit-layout-ellipse .wpst-ew-icon-orbit{aspect-ratio:1.25/1}
.wpst-orbit-layout-compact .wpst-ew-icon-orbit{--wpst-orbit-size:380px}
.wpst-orbit-rotate-yes .wpst-ew-orbit-ring{animation:wpst-orbit-spin 32s linear infinite}
.wpst-orbit-rotate-yes .wpst-ew-orbit-item>div{animation:wpst-orbit-spin 32s linear infinite reverse}
@keyframes wpst-orbit-spin{to{transform:rotate(360deg)}}

/* Mega Banner */
.wpst-mega-banner-layout-split .wpst-ew-mega-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.wpst-mega-banner-layout-split .wpst-ew-mega-banner>img{position:relative;inset:auto;width:100%;height:100%;object-fit:cover}
.wpst-mega-banner-layout-card .wpst-ew-mega-banner{background:#fff;color:#111827;border:1px solid #e5e7eb}
.wpst-mega-banner-layout-card .wpst-mb-shade{display:none}
.wpst-mega-banner-layout-minimal .wpst-ew-mega-banner>img,.wpst-mega-banner-layout-minimal .wpst-mb-shade{display:none}
.wpst-mega-banner-ratio-4-3 .wpst-ew-mega-banner{aspect-ratio:4/3}
.wpst-mega-banner-ratio-3-2 .wpst-ew-mega-banner{aspect-ratio:3/2}
.wpst-mega-banner-ratio-1-1 .wpst-ew-mega-banner{aspect-ratio:1/1}

/* SVG Shape */
.wpst-svg-position-absolute .wpst-svg-shape{position:absolute;left:0;top:0;transform:translate(var(--wpst-svg-x,0),var(--wpst-svg-y,0));pointer-events:none}
.wpst-svg-position-inline .wpst-svg-shape{transform:translate(var(--wpst-svg-x,0),var(--wpst-svg-y,0))}
.wpst-svg-animate-yes .wpst-svg-shape{animation:wpst-svg-float 7s ease-in-out infinite}
@keyframes wpst-svg-float{50%{translate:0 -10px}}

/* Image Reveal */
.wpst-image-reveal-trigger-hover .wpst-image-reveal-media i{transform:none!important}
.wpst-image-reveal-trigger-hover .wpst-image-reveal:hover .wpst-image-reveal-media i{transform:translateX(110%)!important}

/* Reveal Cards */
.wpst-ew-reveal-cards{display:grid}
.wpst-reveal-cards-layout-staggered .wpst-ew-reveal-cards article:nth-child(even){transform:translateY(24px)}
.wpst-reveal-cards-layout-rows .wpst-ew-reveal-cards{grid-template-columns:minmax(0,1fr)!important}
.wpst-reveal-cards-layout-editorial .wpst-ew-reveal-cards article{border-radius:0!important;border-width:0 0 1px!important;box-shadow:none!important}
.wpst-reveal-card-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;margin-bottom:18px}

/* Icon Grid */
.wpst-icon-grid-layout-minimal .wpst-ew-icon-grid article{border-radius:0!important;border-width:0 0 1px!important;background:transparent!important}
.wpst-icon-grid-layout-horizontal .wpst-ew-icon-grid{grid-template-columns:minmax(0,1fr)!important}
.wpst-icon-grid-layout-horizontal .wpst-ew-icon-grid article{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:16px;align-items:start}
.wpst-icon-grid-layout-horizontal .wpst-ew-icon-grid article p{grid-column:2}
.wpst-icon-grid-layout-numbered .wpst-ew-icon-grid article:before{content:attr(data-index);display:block;font-size:12px;font-weight:900;opacity:.45;margin-bottom:14px}

@media(max-width:767px){
 .wpst-mega-banner-layout-split .wpst-ew-mega-banner{grid-template-columns:minmax(0,1fr)}
 .wpst-reveal-cards-layout-staggered .wpst-ew-reveal-cards article:nth-child(even){transform:none}
 .wpst-orbit-layout-compact .wpst-ew-icon-orbit{--wpst-orbit-size:300px}
}
@media(prefers-reduced-motion:reduce){
 .wpst-orbit-rotate-yes .wpst-ew-orbit-ring,
 .wpst-orbit-rotate-yes .wpst-ew-orbit-item>div,
 .wpst-svg-animate-yes .wpst-svg-shape{animation:none!important}
}


/* ==========================================================
   v3.2.83 · Image Box Pro
   ========================================================== */
.wpst-image-box-pro{
  position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;
  border:1px solid #e5e7eb;border-radius:22px;background:#fff;color:#0f172a;
  text-decoration:none;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease
}
.wpst-image-box-media{position:relative;overflow:hidden;background:#eef2f6}
.wpst-image-box-media img{display:block;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.wpst-image-box-overlay{position:absolute;inset:0;opacity:0;transition:opacity .3s ease;pointer-events:none}
.wpst-image-box-badge{position:absolute;z-index:3;left:16px;top:16px;padding:6px 9px;border-radius:999px;background:#fff;color:#0f172a;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.wpst-image-box-copy{position:relative;padding:22px}
.wpst-image-box-copy>small{display:block;margin-bottom:8px;font-size:9px;font-weight:900;letter-spacing:.12em;color:#64748b}
.wpst-image-box-copy h3{margin:0;font-size:24px;line-height:1.08;letter-spacing:-.035em;color:inherit}
.wpst-image-box-copy p{margin:10px 0 0;color:#64748b;line-height:1.6}
.wpst-image-box-action{display:inline-flex;align-items:center;gap:8px;margin-top:16px}
.wpst-image-box-action b{font-size:12px}.wpst-image-box-action i{display:grid;place-items:center;transition:transform .2s ease}
.wpst-image-box-pro:hover .wpst-image-box-action i{transform:translate(2px,-2px)}

/* ratios */
.wpst-image-box-ratio-1-1 .wpst-image-box-media{aspect-ratio:1/1}
.wpst-image-box-ratio-4-3 .wpst-image-box-media{aspect-ratio:4/3}
.wpst-image-box-ratio-3-2 .wpst-image-box-media{aspect-ratio:3/2}
.wpst-image-box-ratio-16-9 .wpst-image-box-media{aspect-ratio:16/9}
.wpst-image-box-ratio-4-5 .wpst-image-box-media{aspect-ratio:4/5}
.wpst-image-box-ratio-3-4 .wpst-image-box-media{aspect-ratio:3/4}

/* layouts */
.wpst-image-box-layout-overlay .wpst-image-box-pro,
.wpst-image-box-layout-poster .wpst-image-box-pro,
.wpst-image-box-layout-floating .wpst-image-box-pro{min-height:360px}
.wpst-image-box-layout-overlay .wpst-image-box-media,
.wpst-image-box-layout-poster .wpst-image-box-media,
.wpst-image-box-layout-floating .wpst-image-box-media{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.wpst-image-box-layout-overlay .wpst-image-box-overlay,
.wpst-image-box-layout-poster .wpst-image-box-overlay{opacity:1;background:linear-gradient(180deg,rgba(2,6,23,.04),rgba(2,6,23,.82))}
.wpst-image-box-layout-overlay .wpst-image-box-copy,
.wpst-image-box-layout-poster .wpst-image-box-copy{z-index:2;margin-top:auto;color:#fff}
.wpst-image-box-layout-overlay .wpst-image-box-copy>small,
.wpst-image-box-layout-overlay .wpst-image-box-copy p,
.wpst-image-box-layout-poster .wpst-image-box-copy>small,
.wpst-image-box-layout-poster .wpst-image-box-copy p{color:#dbeafe}
.wpst-image-box-layout-poster .wpst-image-box-pro{min-height:500px}
.wpst-image-box-layout-poster .wpst-image-box-copy h3{font-size:clamp(32px,4vw,54px)}
.wpst-image-box-layout-side .wpst-image-box-pro{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(0,1.1fr);align-items:stretch}
.wpst-image-box-layout-side .wpst-image-box-media{height:100%;aspect-ratio:auto}
.wpst-image-box-layout-minimal .wpst-image-box-pro{border:0;border-radius:0;background:transparent}
.wpst-image-box-layout-minimal .wpst-image-box-copy{padding-inline:0}
.wpst-image-box-layout-floating .wpst-image-box-copy{z-index:2;align-self:flex-start;margin:22px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-radius:16px;max-width:78%}

/* hovers */
.wpst-image-box-hover-zoom .wpst-image-box-pro:hover img{transform:scale(1.06)}
.wpst-image-box-hover-zoom-out .wpst-image-box-media img{transform:scale(1.08)}
.wpst-image-box-hover-zoom-out .wpst-image-box-pro:hover img{transform:scale(1)}
.wpst-image-box-hover-lift .wpst-image-box-pro:hover{transform:translateY(-6px)}
.wpst-image-box-hover-tilt .wpst-image-box-pro:hover{transform:perspective(900px) rotateX(1.5deg) rotateY(-1.5deg) translateY(-3px)}
.wpst-image-box-hover-reveal .wpst-image-box-pro:hover .wpst-image-box-overlay{opacity:1}
.wpst-image-box-hover-reveal .wpst-image-box-pro:hover img{transform:scale(1.03)}

/* shadows */
.wpst-image-box-shadow-none .wpst-image-box-pro{box-shadow:none}
.wpst-image-box-shadow-soft .wpst-image-box-pro{box-shadow:0 14px 36px rgba(15,23,42,.08)}
.wpst-image-box-shadow-medium .wpst-image-box-pro{box-shadow:0 20px 52px rgba(15,23,42,.13)}
.wpst-image-box-shadow-strong .wpst-image-box-pro{box-shadow:0 28px 72px rgba(15,23,42,.20)}

/* signature presets */
.elementor-widget[class*="wpst-preset-"] .wpst-image-box-pro{
  border-color:var(--wpst-preset-border);
  border-radius:var(--wpst-preset-radius);
  box-shadow:var(--wpst-preset-shadow)
}
.elementor-widget[class*="wpst-preset-"] .wpst-image-box-pro{background:var(--wpst-preset-surface);color:var(--wpst-preset-text)}
.elementor-widget[class*="wpst-preset-"] .wpst-image-box-copy p{color:var(--wpst-preset-muted)}

@media(max-width:767px){
  .wpst-image-box-layout-side .wpst-image-box-pro{grid-template-columns:minmax(0,1fr)}
  .wpst-image-box-layout-side .wpst-image-box-media{aspect-ratio:4/3}
  .wpst-image-box-layout-poster .wpst-image-box-pro{min-height:420px}
  .wpst-image-box-layout-floating .wpst-image-box-copy{max-width:calc(100% - 32px);margin:16px}
}


/* ==========================================================
   v3.2.84 · Image Box Pro · Full Image layout
   ========================================================== */
.wpst-image-box-layout-full-image .wpst-image-box-pro{
  position:relative;
  min-height:var(--wpst-image-box-full-height,420px);
  display:flex;
  justify-content:flex-end;
  overflow:hidden;
  background:#0f172a;
}
.wpst-image-box-layout-full-image .wpst-image-box-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  aspect-ratio:auto!important;
  border-radius:inherit;
}
.wpst-image-box-layout-full-image .wpst-image-box-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.wpst-image-box-layout-full-image .wpst-image-box-overlay{
  opacity:1;
  background:linear-gradient(180deg,rgba(2,6,23,.04) 0%,rgba(2,6,23,.18) 45%,rgba(2,6,23,.82) 100%);
}
.wpst-image-box-layout-full-image .wpst-image-box-copy{
  position:relative;
  z-index:3;
  width:100%;
  margin-top:auto;
  color:#fff;
}
.wpst-image-box-layout-full-image .wpst-image-box-copy>small,
.wpst-image-box-layout-full-image .wpst-image-box-copy p{
  color:rgba(255,255,255,.78);
}
.wpst-image-box-layout-full-image .wpst-image-box-copy h3{
  color:#fff;
}
.wpst-image-box-layout-full-image .wpst-image-box-action{
  color:#fff;
}

/* vertical content position */
.wpst-image-box-layout-full-image.wpst-image-box-full-v-top .wpst-image-box-pro{
  justify-content:flex-start;
}
.wpst-image-box-layout-full-image.wpst-image-box-full-v-top .wpst-image-box-copy{
  margin-top:0;
  margin-bottom:auto;
}
.wpst-image-box-layout-full-image.wpst-image-box-full-v-center .wpst-image-box-pro{
  justify-content:center;
}
.wpst-image-box-layout-full-image.wpst-image-box-full-v-center .wpst-image-box-copy{
  margin:auto 0;
}
.wpst-image-box-layout-full-image.wpst-image-box-full-v-bottom .wpst-image-box-pro{
  justify-content:flex-end;
}

/* content modes */
.wpst-image-box-layout-full-image.wpst-image-box-full-content-none .wpst-image-box-copy{
  display:none;
}
.wpst-image-box-layout-full-image.wpst-image-box-full-content-none .wpst-image-box-overlay{
  opacity:0;
}
.wpst-image-box-layout-full-image.wpst-image-box-full-content-hover .wpst-image-box-copy{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .28s ease,transform .28s ease;
}
.wpst-image-box-layout-full-image.wpst-image-box-full-content-hover .wpst-image-box-overlay{
  opacity:.18;
  transition:opacity .28s ease;
}
.wpst-image-box-layout-full-image.wpst-image-box-full-content-hover .wpst-image-box-pro:hover .wpst-image-box-copy{
  opacity:1;
  transform:none;
}
.wpst-image-box-layout-full-image.wpst-image-box-full-content-hover .wpst-image-box-pro:hover .wpst-image-box-overlay{
  opacity:1;
}

@media(max-width:767px){
  .wpst-image-box-layout-full-image .wpst-image-box-pro{
    min-height:min(var(--wpst-image-box-full-height,420px),72vh);
  }
  .wpst-image-box-layout-full-image.wpst-image-box-full-content-hover .wpst-image-box-copy{
    opacity:1;
    transform:none;
  }
  .wpst-image-box-layout-full-image.wpst-image-box-full-content-hover .wpst-image-box-overlay{
    opacity:1;
  }
}


/* ==========================================================
   v3.2.97 · Services System 3.0
   Modern service grids + service carousel card language
   ========================================================== */

/* ---------- Services Grid Pro 3.0 ---------- */
.wpst-ew-service-cards-pro{
  display:grid;
  gap:20px;
  align-items:stretch;
}
.wpst-service-card{
  --svc-bg:#fff;
  --svc-border:#e5e7eb;
  --svc-accent:#315cf5;
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:100%;
  overflow:hidden;
  border:1px solid var(--svc-border);
  border-radius:24px;
  background:var(--svc-bg);
  color:#0f172a;
  text-decoration:none!important;
  box-shadow:0 8px 28px rgba(15,23,42,.045);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease;
}
.wpst-service-card-content{
  display:flex;
  flex:1;
  flex-direction:column;
  min-width:0;
  padding:26px;
}
.wpst-service-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:24px;
  gap:10px;
  margin-bottom:20px;
}
.wpst-service-card-top small{
  color:#94a3b8;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}
.wpst-service-card-top em{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  background:color-mix(in srgb,var(--svc-accent) 9%,#fff);
  color:var(--svc-accent);
  font-size:9px;
  font-style:normal;
  font-weight:850;
  letter-spacing:.04em;
}
.wpst-service-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin-bottom:24px;
  border-radius:16px;
  background:color-mix(in srgb,var(--svc-accent) 9%,#fff);
  color:var(--svc-accent);
  transition:transform .25s ease,background-color .25s ease,color .25s ease;
}
.wpst-service-card h3{
  margin:0;
  color:#0f172a;
  font-size:clamp(20px,2vw,27px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.wpst-service-card p{
  margin:12px 0 0;
  color:#64748b;
  font-size:14px;
  line-height:1.65;
}
.wpst-service-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  padding-top:24px;
  color:#0f172a;
  font-size:11px;
  font-weight:850;
  letter-spacing:.02em;
}
.wpst-service-action>i{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#f1f5f9;
  color:#0f172a;
  transition:transform .22s ease,background-color .22s ease,color .22s ease;
}
.wpst-service-media{
  position:relative;
  display:block;
  height:220px;
  overflow:hidden;
  background:#e2e8f0;
}
.wpst-service-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(2,6,23,.14));
  pointer-events:none;
}
.wpst-service-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .42s cubic-bezier(.2,.8,.2,1);
}

/* Surface presets */
.wpst-service-style-flat .wpst-service-card{
  border-color:transparent;
  box-shadow:none;
}
.wpst-service-style-soft .wpst-service-card{
  border-color:transparent;
  background:#f8fafc;
  box-shadow:none;
}
.wpst-service-style-glass .wpst-service-card{
  border-color:rgba(255,255,255,.55);
  background:rgba(255,255,255,.74);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.wpst-service-style-outline .wpst-service-card{
  box-shadow:none;
}

/* Grid compositions */
.wpst-service-layout-modern .wpst-service-card:nth-child(3n+2){
  transform:translateY(14px);
}
.wpst-service-layout-modern.wpst-service-hover-none .wpst-service-card:nth-child(3n+2){
  transform:none;
}

.wpst-service-layout-image .wpst-service-card-content{
  padding-top:22px;
}
.wpst-service-layout-image .wpst-service-icon{
  position:absolute;
  z-index:3;
  top:190px;
  right:22px;
  margin:0;
  border:4px solid var(--svc-bg);
  box-shadow:0 10px 28px rgba(15,23,42,.13);
}

.wpst-service-layout-editorial .wpst-ew-service-cards-pro{
  grid-template-columns:1fr!important;
}
.wpst-service-layout-editorial .wpst-service-card{
  display:grid;
  grid-template-columns:96px 74px minmax(190px,.7fr) minmax(0,1fr) 52px;
  align-items:center;
  min-height:118px;
  border-width:0 0 1px;
  border-radius:0!important;
  background:transparent;
  box-shadow:none;
}
.wpst-service-layout-editorial .wpst-service-card-content{
  display:contents;
}
.wpst-service-layout-editorial .wpst-service-card-top{
  display:contents;
}
.wpst-service-layout-editorial .wpst-service-card-top small{
  grid-column:1;
  padding-left:6px;
  font-size:13px;
}
.wpst-service-layout-editorial .wpst-service-card-top em{
  display:none;
}
.wpst-service-layout-editorial .wpst-service-icon{
  grid-column:2;
  margin:0;
}
.wpst-service-layout-editorial .wpst-service-card h3{
  grid-column:3;
  padding-right:24px;
  font-size:clamp(24px,3vw,36px);
}
.wpst-service-layout-editorial .wpst-service-card p{
  grid-column:4;
  margin:0;
  padding-right:28px;
}
.wpst-service-layout-editorial .wpst-service-action{
  grid-column:5;
  margin:0;
  padding:0;
  font-size:0;
}
.wpst-service-layout-editorial .wpst-service-action>i{
  width:42px;
  height:42px;
}

.wpst-service-layout-bento .wpst-ew-service-cards-pro{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
}
.wpst-service-layout-bento .wpst-service-card{
  grid-column:span 4;
  min-height:300px;
}
.wpst-service-layout-bento .wpst-service-card:nth-child(1),
.wpst-service-layout-bento .wpst-service-card:nth-child(4){
  grid-column:span 8;
}
.wpst-service-layout-bento .wpst-service-card:nth-child(1) h3,
.wpst-service-layout-bento .wpst-service-card:nth-child(4) h3{
  font-size:clamp(28px,4vw,46px);
}

.wpst-service-layout-minimal .wpst-service-card{
  border-width:0 0 1px;
  border-radius:0!important;
  background:transparent;
  box-shadow:none;
}
.wpst-service-layout-minimal .wpst-service-card-content{
  padding-inline:0!important;
}
.wpst-service-layout-minimal .wpst-service-icon{
  width:42px;
  height:42px;
  background:transparent;
  border:1px solid #e2e8f0;
}
.wpst-service-layout-minimal .wpst-service-card-top em{
  background:transparent;
  padding:0;
}

.wpst-service-layout-dark .wpst-service-card{
  --svc-bg:#101827;
  --svc-border:rgba(255,255,255,.08);
  background:var(--svc-bg);
  color:#fff;
  box-shadow:0 14px 44px rgba(2,6,23,.15);
}
.wpst-service-layout-dark .wpst-service-card h3,
.wpst-service-layout-dark .wpst-service-action{
  color:#fff;
}
.wpst-service-layout-dark .wpst-service-card p{
  color:#aebbd0;
}
.wpst-service-layout-dark .wpst-service-action>i{
  background:rgba(255,255,255,.09);
  color:#fff;
}
.wpst-service-layout-dark .wpst-service-icon{
  background:rgba(255,255,255,.08);
}

/* Hover */
.wpst-service-hover-lift .wpst-service-card:hover{
  transform:translateY(-7px);
  box-shadow:0 24px 56px rgba(15,23,42,.12);
}
.wpst-service-layout-modern.wpst-service-hover-lift .wpst-service-card:nth-child(3n+2):hover{
  transform:translateY(7px);
}
.wpst-service-hover-zoom .wpst-service-card:hover .wpst-service-media img{
  transform:scale(1.06);
}
.wpst-service-hover-border .wpst-service-card:hover{
  border-color:var(--svc-accent);
}
.wpst-service-hover-glow .wpst-service-card:hover{
  box-shadow:0 22px 60px color-mix(in srgb,var(--svc-accent) 18%,transparent);
}
.wpst-service-card:hover .wpst-service-action>i{
  transform:translate(2px,-2px);
  background:var(--svc-accent);
  color:#fff;
}
.wpst-service-card:hover .wpst-service-icon{
  transform:rotate(-4deg) scale(1.05);
}

/* ---------- Services Carousel Pro ---------- */
.wpst-ew-service-carousel{
  --wpst-carousel-visible-desktop:3;
  --wpst-carousel-visible-tablet:2;
  --wpst-carousel-visible-mobile:1;
  position:relative;
  overflow:hidden;
}
.wpst-service-carousel-viewport{
  overflow:hidden;
  width:100%;
}
.wpst-ew-service-carousel-track{
  display:flex;
  align-items:stretch;
  gap:var(--wpst-service-carousel-gap,20px);
  will-change:transform;
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.wpst-service-carousel-card{
  --svc-c-bg:#fff;
  --svc-c-accent:#315cf5;
  flex:0 0 calc((100% - (var(--wpst-carousel-visible-desktop) - 1) * var(--wpst-service-carousel-gap,20px)) / var(--wpst-carousel-visible-desktop));
  min-width:0;
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #e5e7eb;
  border-radius:24px;
  background:var(--svc-c-bg);
  color:#0f172a;
  text-decoration:none!important;
  box-shadow:0 8px 28px rgba(15,23,42,.05);
}
.wpst-service-carousel-content{
  display:flex;
  flex:1;
  flex-direction:column;
  min-height:320px;
  padding:26px;
}
.wpst-service-carousel-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:24px;
}
.wpst-service-carousel-meta small{
  color:#94a3b8;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
}
.wpst-service-carousel-meta em{
  color:var(--svc-c-accent);
  font-size:9px;
  font-style:normal;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.wpst-service-carousel-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  border-radius:15px;
  background:color-mix(in srgb,var(--svc-c-accent) 9%,#fff);
  color:var(--svc-c-accent);
}
.wpst-service-carousel-card h3{
  margin:0;
  font-size:clamp(22px,2.4vw,31px);
  line-height:1.04;
  letter-spacing:-.04em;
}
.wpst-service-carousel-card p{
  margin:13px 0 0;
  color:#64748b;
  font-size:14px;
  line-height:1.65;
}
.wpst-service-carousel-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  padding-top:28px;
  color:#0f172a;
  font-size:11px;
  font-weight:850;
}
.wpst-service-carousel-action>i{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#f1f5f9;
  transition:.2s ease;
}
.wpst-service-carousel-media{
  height:220px;
  display:block;
  overflow:hidden;
  background:#e2e8f0;
}
.wpst-service-carousel-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .4s cubic-bezier(.2,.8,.2,1);
}
.wpst-service-carousel-card:hover .wpst-service-carousel-media img{
  transform:scale(1.055);
}
.wpst-service-carousel-card:hover .wpst-service-carousel-action>i{
  transform:translate(2px,-2px);
  background:var(--svc-c-accent);
  color:#fff;
}
.wpst-service-carousel-nav{
  margin-top:18px!important;
}

/* Carousel style variants */
.wpst-service-carousel-style-icon .wpst-service-carousel-media{
  display:none;
}
.wpst-service-carousel-style-icon .wpst-service-carousel-content{
  min-height:350px;
}

.wpst-service-carousel-style-dark .wpst-service-carousel-card{
  --svc-c-bg:#0f172a;
  border-color:rgba(255,255,255,.07);
  background:#0f172a;
  color:#fff;
}
.wpst-service-carousel-style-dark .wpst-service-carousel-card h3,
.wpst-service-carousel-style-dark .wpst-service-carousel-action{
  color:#fff;
}
.wpst-service-carousel-style-dark .wpst-service-carousel-card p{
  color:#9fb0c8;
}
.wpst-service-carousel-style-dark .wpst-service-carousel-icon,
.wpst-service-carousel-style-dark .wpst-service-carousel-action>i{
  background:rgba(255,255,255,.08);
  color:#fff;
}

.wpst-service-carousel-style-numbered .wpst-service-carousel-icon,
.wpst-service-carousel-style-numbered .wpst-service-carousel-media{
  display:none;
}
.wpst-service-carousel-style-numbered .wpst-service-carousel-meta small{
  font-size:clamp(44px,6vw,76px);
  line-height:1;
  letter-spacing:-.06em;
  color:#dbe3ee;
}
.wpst-service-carousel-style-numbered .wpst-service-carousel-content{
  min-height:390px;
}

.wpst-service-carousel-style-minimal .wpst-service-carousel-card{
  border-width:0 0 1px;
  border-radius:0!important;
  box-shadow:none;
}
.wpst-service-carousel-style-minimal .wpst-service-carousel-media{
  border-radius:18px;
}
.wpst-service-carousel-style-minimal .wpst-service-carousel-content{
  padding-inline:0!important;
}

.wpst-service-carousel-peek-yes .wpst-service-carousel-viewport{
  overflow:visible;
}
.wpst-service-carousel-peek-yes .wpst-ew-service-carousel{
  overflow:hidden;
}

/* Equal height */
.wpst-service-equal-yes .wpst-service-card{
  height:100%;
}

@media(max-width:1024px){
  .wpst-service-carousel-card{
    flex-basis:calc((100% - (var(--wpst-carousel-visible-tablet) - 1) * var(--wpst-service-carousel-gap,18px)) / var(--wpst-carousel-visible-tablet));
  }
  .wpst-service-layout-bento .wpst-service-card{
    grid-column:span 6;
  }
  .wpst-service-layout-editorial .wpst-service-card{
    grid-template-columns:70px 58px minmax(160px,.65fr) minmax(0,1fr) 44px;
  }
}
@media(max-width:767px){
  .wpst-service-layout-modern .wpst-service-card:nth-child(3n+2){
    transform:none;
  }
  .wpst-service-layout-bento .wpst-ew-service-cards-pro{
    grid-template-columns:1fr!important;
  }
  .wpst-service-layout-bento .wpst-service-card,
  .wpst-service-layout-bento .wpst-service-card:nth-child(1),
  .wpst-service-layout-bento .wpst-service-card:nth-child(4){
    grid-column:auto;
  }
  .wpst-service-layout-editorial .wpst-service-card{
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 40px;
    min-height:110px;
    padding-block:14px;
  }
  .wpst-service-layout-editorial .wpst-service-card-top small{
    grid-column:1;
  }
  .wpst-service-layout-editorial .wpst-service-icon{
    display:none;
  }
  .wpst-service-layout-editorial .wpst-service-card h3{
    grid-column:2;
    padding:0;
    font-size:22px;
  }
  .wpst-service-layout-editorial .wpst-service-card p{
    display:none;
  }
  .wpst-service-layout-editorial .wpst-service-action{
    grid-column:3;
  }
  .wpst-service-carousel-card{
    flex-basis:calc((100% - (var(--wpst-carousel-visible-mobile) - 1) * var(--wpst-service-carousel-gap,14px)) / var(--wpst-carousel-visible-mobile));
  }
  .wpst-service-carousel-content{
    min-height:300px;
    padding:22px;
  }
}

@media(prefers-reduced-motion:reduce){
  .wpst-service-card,
  .wpst-service-card *,
  .wpst-service-carousel-card,
  .wpst-service-carousel-card *{
    transition:none!important;
  }
  .wpst-service-card:hover,
  .wpst-service-card:hover .wpst-service-media img,
  .wpst-service-carousel-card:hover .wpst-service-carousel-media img{
    transform:none!important;
  }
}


/* v3.2.97 · Services 3.0 backward compatibility for existing saved layouts */
.wpst-service-layout-horizontal .wpst-ew-service-cards-pro{
  grid-template-columns:1fr!important;
}
.wpst-service-layout-horizontal .wpst-service-card{
  display:grid;
  grid-template-columns:70px minmax(180px,.55fr) minmax(0,1fr) auto;
  align-items:center;
}
.wpst-service-layout-horizontal .wpst-service-card-content{
  display:contents;
}
.wpst-service-layout-horizontal .wpst-service-card-top{
  display:none;
}
.wpst-service-layout-horizontal .wpst-service-icon{
  grid-column:1;
  margin:20px;
}
.wpst-service-layout-horizontal .wpst-service-card h3{grid-column:2;margin:0;padding-right:20px}
.wpst-service-layout-horizontal .wpst-service-card p{grid-column:3;margin:0;padding-right:20px}
.wpst-service-layout-horizontal .wpst-service-action{grid-column:4;margin:0;padding:20px}
.wpst-service-layout-horizontal .wpst-service-media{display:none}

.wpst-service-layout-icon-top .wpst-service-card{
  text-align:left;
}
.wpst-service-layout-icon-top .wpst-service-icon{
  margin-bottom:28px;
}
.wpst-service-layout-compact .wpst-service-card-content{
  padding:18px;
}
.wpst-service-layout-compact .wpst-service-icon{
  width:40px!important;
  height:40px!important;
  margin-bottom:14px;
}
.wpst-service-layout-compact .wpst-service-card h3{
  font-size:18px;
}
.wpst-service-layout-compact .wpst-service-card p{
  font-size:13px;
}

.wpst-service-style-minimal .wpst-service-card{
  border-color:transparent;
  box-shadow:none;
}
.wpst-service-style-dark .wpst-service-card{
  --svc-bg:#0f172a;
  --svc-border:rgba(255,255,255,.08);
  background:#0f172a;
  color:#fff;
}
.wpst-service-style-dark .wpst-service-card h3,
.wpst-service-style-dark .wpst-service-action{color:#fff}
.wpst-service-style-dark .wpst-service-card p{color:#aebbd0}
.wpst-service-style-dark .wpst-service-icon,
.wpst-service-style-dark .wpst-service-action>i{background:rgba(255,255,255,.08);color:#fff}

@media(max-width:767px){
  .wpst-service-layout-horizontal .wpst-service-card{
    grid-template-columns:52px minmax(0,1fr) 40px;
  }
  .wpst-service-layout-horizontal .wpst-service-icon{grid-column:1;margin:14px}
  .wpst-service-layout-horizontal .wpst-service-card h3{grid-column:2;padding:0}
  .wpst-service-layout-horizontal .wpst-service-card p{display:none}
  .wpst-service-layout-horizontal .wpst-service-action{grid-column:3;padding:8px;font-size:0}
}


/* ==========================================================
   v3.2.98 · Services icon visibility + mouse drag
   ========================================================== */
.wpst-service-icons- .wpst-service-icon,
.wpst-service-carousel-icons- .wpst-service-carousel-icon{
  display:none!important;
}

/* Keep composition balanced when icons are hidden. */
.wpst-service-icons- .wpst-service-card h3{
  margin-top:4px;
}
.wpst-service-carousel-icons- .wpst-service-carousel-card h3{
  margin-top:2px;
}
.wpst-service-layout-editorial.wpst-service-icons- .wpst-service-card{
  grid-template-columns:96px minmax(190px,.72fr) minmax(0,1fr) 52px;
}
.wpst-service-layout-editorial.wpst-service-icons- .wpst-service-card h3{grid-column:2}
.wpst-service-layout-editorial.wpst-service-icons- .wpst-service-card p{grid-column:3}
.wpst-service-layout-editorial.wpst-service-icons- .wpst-service-action{grid-column:4}

.wpst-service-carousel-grab- .wpst-service-carousel-viewport,
.wpst-service-carousel-grab- .wpst-ew-service-carousel-track{
  cursor:grab;
}
.wpst-service-carousel-grab- .wpst-ew-service-carousel.is-mouse-dragging .wpst-service-carousel-viewport,
.wpst-service-carousel-grab- .wpst-ew-service-carousel.is-mouse-dragging .wpst-ew-service-carousel-track{
  cursor:grabbing;
}
.wpst-ew-service-carousel.is-mouse-dragging{
  user-select:none;
  -webkit-user-select:none;
}
.wpst-ew-service-carousel.is-mouse-dragging .wpst-ew-service-carousel-track{
  transition:none!important;
}
.wpst-ew-service-carousel img{
  -webkit-user-drag:none;
  user-select:none;
}

@media(max-width:767px){
  .wpst-service-layout-editorial.wpst-service-icons- .wpst-service-card{
    grid-template-columns:48px minmax(0,1fr) 40px;
  }
  .wpst-service-layout-editorial.wpst-service-icons- .wpst-service-card h3{grid-column:2}
  .wpst-service-layout-editorial.wpst-service-icons- .wpst-service-action{grid-column:3}
}


/* ==========================================================
   v3.2.99 · Services automatic vertical rhythm
   Collapses empty icon/meta space automatically.
   ========================================================== */

/* When metadata is absent PHP no longer renders .wpst-service-card-top.
   This creates a consistent first-content rhythm instead of an empty 44px row. */
.wpst-service-card-content>h3:first-child{
  margin-top:0;
}

/* Image cards: keep a compact, predictable distance from media to title
   when both icon and metadata are disabled. */
.wpst-service-layout-image.wpst-service-icons- .wpst-service-card-content{
  padding-top:22px!important;
}
.wpst-service-layout-image.wpst-service-icons- .wpst-service-card-content>h3:first-child{
  margin-top:0!important;
}

/* If metadata exists but icon is disabled, keep just one balanced spacing step. */
.wpst-service-icons- .wpst-service-card-top{
  margin-bottom:16px;
}
.wpst-service-icons- .wpst-service-card-top + h3{
  margin-top:0;
}

/* If icon exists but metadata is absent, icon becomes the first content item. */
.wpst-service-card-content>.wpst-service-icon:first-child{
  margin-top:0;
}

/* No icon + no metadata: title starts naturally from card padding. */
.wpst-service-icons- .wpst-service-card-content>h3:first-child{
  margin-top:0!important;
}

/* Minimal/compact modes receive a slightly tighter automatic rhythm. */
.wpst-service-layout-minimal.wpst-service-icons- .wpst-service-card-content>h3:first-child,
.wpst-service-layout-compact.wpst-service-icons- .wpst-service-card-content>h3:first-child{
  margin-top:0!important;
}

/* Carousel: when icons are disabled do not reserve extra visual rhythm. */
.wpst-service-carousel-icons- .wpst-service-carousel-meta + h3{
  margin-top:0;
}
.wpst-service-carousel-icons- .wpst-service-carousel-content>h3:first-child{
  margin-top:0;
}

@media(max-width:767px){
  .wpst-service-layout-image.wpst-service-icons- .wpst-service-card-content{
    padding-top:18px!important;
  }
}


/* ==========================================================
   v3.3.00 · Services Grid responsive column authority fix
   Elementor responsive Columns control must be authoritative.
   ========================================================== */

/* Default fallbacks only. Elementor-generated widget CSS overrides these
   when Desktop / Tablet / Mobile column values are selected. */
.wpst-ew-service-cards-pro{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media(max-width:1024px){
  .wpst-ew-service-cards-pro{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:767px){
  /* No !important here: Elementor's responsive selector is intentionally
     allowed to override this fallback with 1, 2, 3 or 4 columns. */
  .wpst-ew-service-cards-pro{
    grid-template-columns:repeat(1,minmax(0,1fr));
  }

  /* Two-column mobile cards need a slightly tighter automatic rhythm. */
  .wpst-ew-service-cards-pro{
    min-width:0;
  }
  .wpst-service-card{
    min-width:0;
  }
  .wpst-service-card-content{
    min-width:0;
  }
}

/* Bento is intentionally compositional on desktop/tablet.
   On phone it falls back to normal responsive cards so Elementor's
   mobile column choice can be respected. */
@media(max-width:767px){
  .wpst-service-layout-bento .wpst-ew-service-cards-pro{
    grid-template-columns:inherit!important;
  }
  .wpst-service-layout-bento .wpst-service-card,
  .wpst-service-layout-bento .wpst-service-card:nth-child(1),
  .wpst-service-layout-bento .wpst-service-card:nth-child(4){
    grid-column:auto!important;
  }
}


/* ==========================================================
   v3.3.03 · Services Carousel interaction UX
   Makes drag/swipe affordance obvious without visual clutter.
   ========================================================== */

.wpst-ew-service-carousel{
  --svc-hint-bg:rgba(15,23,42,.88);
  --svc-hint-fg:#fff;
}

/* Clear drag / swipe pill */
.wpst-service-carousel-drag-hint{
  position:absolute;
  z-index:12;
  top:14px;
  right:14px;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:var(--svc-hint-bg);
  color:var(--svc-hint-fg);
  box-shadow:0 10px 30px rgba(15,23,42,.18);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-size:9px;
  font-weight:850;
  letter-spacing:.04em;
  pointer-events:none;
  opacity:.78;
  transform:translateY(0);
  transition:opacity .22s ease,transform .22s ease,background-color .22s ease;
}
.wpst-service-carousel-drag-hint i{
  display:grid;
  place-items:center;
  opacity:.7;
}
.wpst-service-carousel-drag-hint b{
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor;
  opacity:.55;
}
.wpst-service-drag-touch{display:none}

.wpst-service-carousel-hint- .wpst-service-carousel-drag-hint{
  display:none!important;
}

/* Hovering the carousel clearly communicates interactivity */
@media(hover:hover) and (pointer:fine){
  .wpst-ew-service-carousel.is-hovered .wpst-service-carousel-drag-hint{
    opacity:1;
    transform:translateY(2px);
    background:var(--svc-c-accent,#315cf5);
  }

  .wpst-ew-service-carousel.is-hovered .wpst-service-carousel-card{
    border-color:color-mix(in srgb,var(--svc-c-accent,#315cf5) 16%,#dbe3ee);
  }

  .wpst-ew-service-carousel.is-hovered .wpst-service-carousel-card:not(:hover){
    opacity:.93;
  }

  .wpst-ew-service-carousel .wpst-service-carousel-card:hover{
    transform:translateY(-7px);
    box-shadow:0 24px 58px rgba(15,23,42,.13);
    border-color:color-mix(in srgb,var(--svc-c-accent,#315cf5) 38%,#dbe3ee);
  }

  .wpst-ew-service-carousel .wpst-service-carousel-card:hover h3{
    color:var(--svc-c-accent,#315cf5);
  }
}

/* Dragging feedback */
.wpst-ew-service-carousel.is-mouse-dragging .wpst-service-carousel-card{
  transform:scale(.985);
  box-shadow:0 12px 32px rgba(15,23,42,.09);
}
.wpst-ew-service-carousel.is-mouse-dragging .wpst-service-carousel-drag-hint{
  opacity:1;
  background:var(--svc-c-accent,#315cf5);
}
.wpst-ew-service-carousel.is-mouse-dragging .wpst-service-carousel-drag-hint b{
  width:16px;
  border-radius:999px;
  transition:width .18s ease;
}

/* Subtle edge fade = more content exists */
.wpst-service-carousel-edge-yes .wpst-service-carousel-viewport{
  position:relative;
}
.wpst-service-carousel-edge-yes .wpst-service-carousel-viewport:before,
.wpst-service-carousel-edge-yes .wpst-service-carousel-viewport:after{
  content:"";
  position:absolute;
  z-index:8;
  top:0;
  bottom:0;
  width:46px;
  pointer-events:none;
  opacity:1;
  transition:opacity .2s ease;
}
.wpst-service-carousel-edge-yes .wpst-service-carousel-viewport:before{
  left:0;
  background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,0));
}
.wpst-service-carousel-edge-yes .wpst-service-carousel-viewport:after{
  right:0;
  background:linear-gradient(270deg,rgba(255,255,255,.94),rgba(255,255,255,0));
}
.wpst-service-carousel-edge-yes.is-at-start .wpst-service-carousel-viewport:before{opacity:0}
.wpst-service-carousel-edge-yes.is-at-end .wpst-service-carousel-viewport:after{opacity:0}

.wpst-service-carousel-style-dark.wpst-service-carousel-edge-yes .wpst-service-carousel-viewport:before{
  background:linear-gradient(90deg,#080d18,rgba(8,13,24,0));
}
.wpst-service-carousel-style-dark.wpst-service-carousel-edge-yes .wpst-service-carousel-viewport:after{
  background:linear-gradient(270deg,#080d18,rgba(8,13,24,0));
}

/* Navigation becomes a more intentional control */
.wpst-service-carousel-nav{
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  gap:8px!important;
}
.wpst-service-carousel-nav button{
  width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  border:1px solid #dbe3ee!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:0 8px 24px rgba(15,23,42,.07);
  transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;
}
.wpst-service-carousel-nav button:not(:disabled):hover{
  transform:translateY(-2px);
  background:var(--svc-c-accent,#315cf5)!important;
  color:#fff!important;
  border-color:var(--svc-c-accent,#315cf5)!important;
}
.wpst-service-carousel-nav button:disabled{
  opacity:.32!important;
}
.wpst-service-carousel-nav-label{
  margin-right:auto;
  color:#94a3b8;
  font-size:9px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* Thin progress line */
.wpst-service-carousel-progress{
  position:relative;
  width:100%;
  height:3px;
  margin-top:14px;
  overflow:hidden;
  border-radius:999px;
  background:#e8edf3;
}
.wpst-service-carousel-progress>span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:var(--svc-c-accent,#315cf5);
  transition:width .35s cubic-bezier(.22,1,.36,1);
}
.wpst-service-carousel-style-dark .wpst-service-carousel-progress{
  background:rgba(255,255,255,.10);
}

/* Touch devices: communicate swipe, not hover */
@media(hover:none), (pointer:coarse){
  .wpst-service-carousel-drag-hint{
    top:auto;
    right:12px;
    bottom:12px;
    min-height:32px;
    opacity:.92;
    background:rgba(15,23,42,.80);
  }
  .wpst-service-drag-desktop{display:none}
  .wpst-service-drag-touch{display:inline}

  .wpst-ew-service-carousel.is-touching .wpst-service-carousel-drag-hint{
    background:var(--svc-c-accent,#315cf5);
    transform:scale(.96);
  }

  .wpst-service-carousel-card{
    transition:transform .2s ease,box-shadow .2s ease;
  }

  /* Slight next-card peek makes horizontal swipe obvious on touch. */
  .wpst-service-carousel-peek-yes .wpst-service-carousel-viewport{
    padding-right:28px;
    overflow:visible;
  }

  .wpst-service-carousel-nav{
    margin-top:14px!important;
  }
}

@media(max-width:767px){
  .wpst-service-carousel-drag-hint{
    font-size:8px;
    padding:6px 9px;
  }
  .wpst-service-carousel-nav button{
    width:42px!important;
    height:42px!important;
    border-radius:13px!important;
  }
  .wpst-service-carousel-nav-label{
    display:none;
  }
  .wpst-service-carousel-progress{
    margin-top:10px;
  }
}

@media(prefers-reduced-motion:reduce){
  .wpst-service-carousel-drag-hint,
  .wpst-service-carousel-card,
  .wpst-service-carousel-progress>span,
  .wpst-service-carousel-nav button{
    transition:none!important;
  }
}


/* ==========================================================
   v3.3.04 · Services Carousel clean peek navigation
   ========================================================== */

/* Remove the previous side fade/shadow treatment completely. */
.wpst-service-carousel-edge-yes .wpst-service-carousel-viewport:before,
.wpst-service-carousel-edge-yes .wpst-service-carousel-viewport:after{
  display:none!important;
  content:none!important;
}
.wpst-ew-service-carousel .wpst-service-carousel-viewport{
  box-shadow:none!important;
  filter:none!important;
}

/* Peek: 3 selected desktop cards + a visible part of card 4.
   The visible-card setting remains the logical navigation count. */
.wpst-service-carousel-peek-yes{
  --wpst-service-peek:120px;
}
.wpst-service-carousel-peek-yes .wpst-service-carousel-viewport{
  overflow:hidden!important;
  padding-right:var(--wpst-service-peek)!important;
}
.wpst-service-carousel-peek-yes .wpst-ew-service-carousel-track{
  overflow:visible!important;
}
.wpst-service-carousel-peek-yes .wpst-service-carousel-card{
  flex-basis:calc(
    (100% - ((var(--wpst-carousel-visible-desktop,3) - 1) * var(--wpst-service-carousel-gap,20px)))
    / var(--wpst-carousel-visible-desktop,3)
  )!important;
}

/* Side arrows: vertically centered, clean and without shadow. */
.wpst-service-carousel-side{
  position:absolute;
  z-index:18;
  top:50%;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  margin:0;
  border:1px solid #dbe3ee;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  color:#0f172a;
  box-shadow:none!important;
  transform:translateY(-50%);
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease;
}
.wpst-service-carousel-side-prev{left:12px}
.wpst-service-carousel-side-next{right:12px}
.wpst-service-carousel-side:not(:disabled):hover{
  background:var(--svc-c-accent,#315cf5);
  border-color:var(--svc-c-accent,#315cf5);
  color:#fff;
}
.wpst-service-carousel-side:disabled{
  opacity:.22;
  cursor:default;
}

/* No card shadow on hover: use movement + border only. */
@media(hover:hover) and (pointer:fine){
  .wpst-ew-service-carousel .wpst-service-carousel-card:hover{
    box-shadow:none!important;
    transform:translateY(-5px);
  }
  .wpst-ew-service-carousel.is-mouse-dragging .wpst-service-carousel-card{
    box-shadow:none!important;
  }
}

/* Tablet uses a smaller continuation peek. */
@media(min-width:768px) and (max-width:1024px){
  .wpst-service-carousel-peek-yes{
    --wpst-service-peek:70px;
  }
  .wpst-service-carousel-peek-yes .wpst-service-carousel-card{
    flex-basis:calc(
      (100% - ((var(--wpst-carousel-visible-tablet,2) - 1) * var(--wpst-service-carousel-gap,20px)))
      / var(--wpst-carousel-visible-tablet,2)
    )!important;
  }
}

/* Mobile: keep a clear partial next card, arrows stay on the sides. */
@media(max-width:767px){
  .wpst-service-carousel-peek-yes{
    --wpst-service-peek:46px;
  }
  .wpst-service-carousel-peek-yes .wpst-service-carousel-viewport{
    padding-right:var(--wpst-service-peek)!important;
  }
  .wpst-service-carousel-peek-yes .wpst-service-carousel-card{
    flex-basis:calc(
      (100% - ((var(--wpst-carousel-visible-mobile,1) - 1) * var(--wpst-service-carousel-gap,20px)))
      / var(--wpst-carousel-visible-mobile,1)
    )!important;
  }
  .wpst-service-carousel-side{
    width:40px;
    height:40px;
  }
  .wpst-service-carousel-side-prev{left:8px}
  .wpst-service-carousel-side-next{right:8px}
}


/* ==========================================================
   v3.3.13 · Global Quick Design Preset Bridge
   ========================================================== */

/* "Global Tasarımı Takip Et": resolves to the preset selected in
   Global Design > Widget Hızlı Tasarım. */
.elementor-widget.wpst-preset-global{
  --wpst-preset-radius:var(--wpst-card-radius,20px);
  --wpst-preset-gap:var(--wpst-gap,24px);
  --wpst-preset-shadow:var(--wpst-shadow,0 10px 32px rgba(15,23,42,.07));
  --wpst-preset-border:var(--wpst-border,#e2e8f0);
  --wpst-preset-surface:var(--wpst-surface,#fff);
  --wpst-preset-text:var(--wpst-text,#334155);
  --wpst-preset-muted:var(--wpst-muted,#64748b);
  --wpst-preset-accent:var(--wpst-primary,#2563eb);
}

/* Global Design can choose a specific quick-design character while preserving
   the live site color tokens. */
body.wpst-widget-quick-signature .elementor-widget.wpst-preset-global{
  --wpst-preset-radius:var(--wpst-card-radius,22px);
  --wpst-preset-gap:var(--wpst-gap,24px);
  --wpst-preset-shadow:none;
  --wpst-preset-surface:#ffffff;
  --wpst-preset-border:#e7eaf0;
}
/* Portfolio 2.0 intentionally has no forced widget-surface color while it
   follows Global Design. Its grid must inherit the surrounding Elementor
   section/container background so the same widget works on light, dark and
   branded surfaces without a white rectangle being injected by Signature. */
body.wpst-widget-quick-signature .elementor-widget.wpst-preset-global:not(.elementor-widget-wpsoft-portfolio) > .elementor-widget-container{
  background:#ffffff!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
}
body.wpst-widget-quick-corporate .elementor-widget.wpst-preset-global{
  --wpst-preset-radius:var(--wpst-radius-lg,16px);
  --wpst-preset-gap:var(--wpst-gap,22px);
  --wpst-preset-shadow:var(--wpst-shadow-sm);
}
body.wpst-widget-quick-editorial .elementor-widget.wpst-preset-global{
  --wpst-preset-radius:var(--wpst-radius-sm,4px);
  --wpst-preset-gap:var(--wpst-gap,26px);
  --wpst-preset-shadow:none;
}
body.wpst-widget-quick-soft .elementor-widget.wpst-preset-global{
  --wpst-preset-radius:var(--wpst-radius-xl,28px);
  --wpst-preset-gap:var(--wpst-gap,28px);
  --wpst-preset-shadow:var(--wpst-shadow-sm);
  --wpst-preset-surface:var(--wpst-soft,#f8fafc);
}
body.wpst-widget-quick-dark .elementor-widget.wpst-preset-global{
  --wpst-preset-radius:var(--wpst-card-radius,22px);
  --wpst-preset-gap:var(--wpst-gap,24px);
  --wpst-preset-shadow:var(--wpst-shadow-lg);
  --wpst-preset-surface:var(--wpst-surface-dark,#0f172a);
  --wpst-preset-text:var(--wpst-on-dark,#fff);
  --wpst-preset-muted:color-mix(in srgb,var(--wpst-on-dark,#fff) 70%,transparent);
}
body.wpst-widget-quick-minimal .elementor-widget.wpst-preset-global{
  --wpst-preset-radius:0px;
  --wpst-preset-gap:var(--wpst-gap,18px);
  --wpst-preset-shadow:none;
  --wpst-preset-surface:transparent;
}

/* Automatic component rhythm.
   These variables are intentionally fallbacks: widget-specific responsive
   controls still win when the user explicitly changes them. */
.elementor-widget[class*="wpst-preset-"] > .elementor-widget-container{
  --wpst-responsive-gap:var(--wpst-preset-gap);
  --wpst-quality-gap:var(--wpst-preset-gap);
}

.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-ew-service-cards-pro,
  .wpst-ew-service-carousel-track,
  .wpst-ew-contact-cards,
  .wpst-ew-number-cards,
  .wpst-ew-icon-grid,
  .wpst-ew-icon-list,
  .wpst-ew-reveal-cards,
  .wpst-ew-portfolio,
  .wpst-team-pro,
  .wpst-ew-testimonials,
  .wpst-story-cards,
  .wpst-fm-cards,
  .wpst-ew-process-steps-pro,
  .wpst-ew-trust-badges,
  .wpst-ew-logo-cloud,
  .wpst-ew-product-showcase
){
  gap:var(--wpst-preset-gap);
}

/* Component surfaces */
.elementor-widget[class*="wpst-preset-"] :is(
  .wpst-service-card,
  .wpst-service-carousel-card,
  .wpst-ew-contact-cards article,
  .wpst-ew-number-cards article,
  .wpst-ew-icon-grid article,
  .wpst-ew-icon-list article,
  .wpst-ew-reveal-cards article,
  .wpst-team-pro article,
  .wpst-story-card,
  .wpst-fm-cards article,
  .wpst-adv-accordion details
){
  border-radius:var(--wpst-preset-radius);
  border-color:var(--wpst-preset-border);
  box-shadow:var(--wpst-preset-shadow);
}

/* Preset-specific rhythm: balances content padding without changing layout. */
.elementor-widget.wpst-preset-signature :is(.wpst-service-card-content,.wpst-service-carousel-content),
body.wpst-widget-quick-signature .elementor-widget.wpst-preset-global :is(.wpst-service-card-content,.wpst-service-carousel-content){
  padding:clamp(22px,2.1vw,30px);
}
.elementor-widget.wpst-preset-corporate :is(.wpst-service-card-content,.wpst-service-carousel-content),
body.wpst-widget-quick-corporate .elementor-widget.wpst-preset-global :is(.wpst-service-card-content,.wpst-service-carousel-content){
  padding:clamp(20px,1.8vw,26px);
}
.elementor-widget.wpst-preset-soft :is(.wpst-service-card-content,.wpst-service-carousel-content),
body.wpst-widget-quick-soft .elementor-widget.wpst-preset-global :is(.wpst-service-card-content,.wpst-service-carousel-content){
  padding:clamp(24px,2.4vw,34px);
}
.elementor-widget.wpst-preset-minimal :is(.wpst-service-card-content,.wpst-service-carousel-content),
body.wpst-widget-quick-minimal .elementor-widget.wpst-preset-global :is(.wpst-service-card-content,.wpst-service-carousel-content){
  padding:clamp(16px,1.5vw,22px);
}

@media(max-width:1024px){
  .elementor-widget[class*="wpst-preset-"]{
    --wpst-preset-gap:min(var(--wpst-gap,20px),22px);
  }
}
@media(max-width:767px){
  .elementor-widget[class*="wpst-preset-"]{
    --wpst-preset-gap:min(var(--wpst-gap,16px),18px);
  }
  .elementor-widget[class*="wpst-preset-"] :is(.wpst-service-card-content,.wpst-service-carousel-content){
    padding:18px;
  }
}


/* ==========================================================
   v3.3.15 · Signature clean-surface enforcement
   ========================================================== */
.elementor-widget.wpst-preset-signature :is(
  .wpst-service-card,
  .wpst-service-carousel-card,
  .wpst-ew-service-cards-pro article,
  .wpst-ew-pricing,
  .wpst-ew-testimonial-slider,
  .wpst-blog-card,
  .wpst-related-post-card,
  .wpst-ew-contact-cards article,
  .wpst-ew-number-cards article,
  .wpst-ew-icon-grid article,
  .wpst-ew-reveal-cards article,
  .wpst-team-pro article,
  .wpst-story-card,
  .wpst-fm-cards article
),
body.wpst-widget-quick-signature .elementor-widget.wpst-preset-global :is(
  .wpst-service-card,
  .wpst-service-carousel-card,
  .wpst-ew-service-cards-pro article,
  .wpst-ew-pricing,
  .wpst-ew-testimonial-slider,
  .wpst-blog-card,
  .wpst-related-post-card,
  .wpst-ew-contact-cards article,
  .wpst-ew-number-cards article,
  .wpst-ew-icon-grid article,
  .wpst-ew-reveal-cards article,
  .wpst-team-pro article,
  .wpst-story-card,
  .wpst-fm-cards article
){
  background-color:#ffffff;
  box-shadow:none!important;
  filter:none!important;
}

/* Hover may still use movement/border feedback, but Signature never introduces
   a new ambient shadow behind the component. */
@media(hover:hover) and (pointer:fine){
  .elementor-widget.wpst-preset-signature :is(
    .wpst-service-card,
    .wpst-service-carousel-card,
    .wpst-blog-card,
    .wpst-related-post-card
  ):hover,
  body.wpst-widget-quick-signature .elementor-widget.wpst-preset-global :is(
    .wpst-service-card,
    .wpst-service-carousel-card,
    .wpst-blog-card,
    .wpst-related-post-card
  ):hover{
    box-shadow:none!important;
  }
}


/* ==========================================================
   v3.3.18.4 · Media Height Control Fix
   Elementor media-height controls now affect both the media frame and
   the actual image/video element instead of only the outer wrapper.
   ========================================================== */

/* Hero media */
:where(
  .wpst-hb-image,
  .wpst-hi-media,
  .wpst-hm-media,
  .wpst-hc-media,
  .wpst-hs-dashboard,
  .wpst-hsm-media
){
  height:var(--wpst-media-height,auto);
  min-height:var(--wpst-media-height,0);
}
:where(
  .wpst-hb-image,
  .wpst-hi-media,
  .wpst-hm-media,
  .wpst-hc-media,
  .wpst-hs-dashboard,
  .wpst-hsm-media
)>img{
  width:100%;
  height:var(--wpst-media-height,100%);
  min-height:var(--wpst-media-height,0);
  object-fit:cover;
}

/* SaaS dashboard intentionally keeps contain mode. */
.wpst-hs-dashboard>img{
  object-fit:contain;
}

/* Generic media widgets */
.wpst-ew-image-text-media,
.wpst-service-media,
.wpst-story-media,
.wpst-media-card-media{
  height:var(--wpst-media-height,auto);
  min-height:var(--wpst-media-height,0);
}
.wpst-ew-image-text-media>img,
.wpst-service-media>img,
.wpst-story-media>img,
.wpst-media-card-media>img,
.wpst-media-card-media>video{
  display:block;
  width:100%;
  height:var(--wpst-media-height,100%);
  min-height:var(--wpst-media-height,0);
  object-fit:cover;
}

/* Placeholder should follow the same value as a real image. */
.wpst-ew-image-text-media>.wpst-ew-media-placeholder,
.wpst-media-card-media>.wpst-media-placeholder{
  min-height:var(--wpst-media-height,0);
  height:var(--wpst-media-height,auto);
}

/* On responsive breakpoints Elementor changes the custom property value,
   so no desktop value is accidentally forced onto mobile/tablet. */


/* ==========================================================
   v3.3.18.5 · Responsive Media Position Controls
   Left / Center / Right + custom X/Y focal point.
   ========================================================== */

/* Elementor CHOOSE writes left/center/right/custom into the x token.
   Custom mode resolves to the separate percentage slider. */
.elementor-element{
  --wpst-media-pos-y:50%;
  --wpst-media-custom-x:50%;
}
.elementor-element[style*="--wpst-media-pos-x:left"]{--wpst-media-object-x:0%}
.elementor-element[style*="--wpst-media-pos-x:center"]{--wpst-media-object-x:50%}
.elementor-element[style*="--wpst-media-pos-x:right"]{--wpst-media-object-x:100%}
.elementor-element[style*="--wpst-media-pos-x:custom"]{--wpst-media-object-x:var(--wpst-media-custom-x,50%)}

/* Hero + content/media widgets */
:where(
  .wpst-hb-image,
  .wpst-hi-media,
  .wpst-hm-media,
  .wpst-hc-media,
  .wpst-hs-dashboard,
  .wpst-hsm-media,
  .wpst-ew-image-text-media,
  .wpst-service-media,
  .wpst-story-media,
  .wpst-media-card-media
)>img,
.wpst-media-card-media>video{
  object-position:var(--wpst-media-object-x,50%) var(--wpst-media-pos-y,50%)!important;
}

/* Dashboard screenshots usually look best centered, but explicit user
   positioning now takes precedence through the same object-position token. */
.wpst-hs-dashboard>img{
  object-position:var(--wpst-media-object-x,50%) var(--wpst-media-pos-y,50%)!important;
}

/* ==========================================================
   Advanced Button 3.0 · preset + state consistency
   Backward compatible: .wpst-button-type-custom keeps legacy controls.
   ========================================================== */
.elementor-widget-wpsoft-advanced-button .wpst-adv-button{
  --ab-hover-border:var(--ab-hover);
  --ab-icon-color:currentColor;
  --ab-hover-icon-color:currentColor;
  border-style:solid;
  border-color:var(--ab-border);
}
.elementor-widget-wpsoft-advanced-button .wpst-adv-button .wpst-adv-button-label{
  color:inherit!important;
}
.elementor-widget-wpsoft-advanced-button .wpst-adv-button .wpst-adv-button-icon{
  color:var(--ab-icon-color,currentColor)!important;
}
.elementor-widget-wpsoft-advanced-button .wpst-adv-button .wpst-adv-button-icon svg{
  color:inherit!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}
.elementor-widget-wpsoft-advanced-button .wpst-adv-button:hover{
  border-color:var(--ab-hover-border,var(--ab-hover))!important;
}
.elementor-widget-wpsoft-advanced-button .wpst-adv-button:hover .wpst-adv-button-icon{
  color:var(--ab-hover-icon-color,var(--ab-hover-color,currentColor))!important;
}
.elementor-widget-wpsoft-advanced-button .wpst-adv-button.icon-left:hover .wpst-adv-button-icon{
  transform:translateX(-2px);
}
.elementor-widget-wpsoft-advanced-button .wpst-adv-button.icon-right:hover .wpst-adv-button-icon{
  transform:translateX(2px);
}
.elementor-widget-wpsoft-advanced-button .wpst-adv-button:focus-visible{
  outline:3px solid color-mix(in srgb,var(--ab-hover,#2563eb) 35%,transparent);
  outline-offset:3px;
}

/* Structure additions. Existing solid/outline/soft/ghost remain untouched. */
.wpst-button-style-gradient .wpst-adv-button{
  background:linear-gradient(135deg,var(--ab-bg),var(--ab-hover));
  border-color:transparent;
}
.wpst-button-style-gradient .wpst-adv-button:not(.effect-slide):hover{
  background:linear-gradient(135deg,var(--ab-hover),var(--ab-bg));
}
.wpst-button-style-glass .wpst-adv-button{
  background:color-mix(in srgb,var(--ab-bg) 14%,transparent);
  border-color:color-mix(in srgb,var(--ab-border) 38%,transparent);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

/* Automatic button types. Higher specificity intentionally beats Elementor's
   legacy default color selectors only when a non-custom type is selected. */
.elementor-widget-wpsoft-advanced-button.wpst-button-type-primary .wpst-adv-button{
  --ab-bg:#2563eb!important;--ab-color:#fff!important;--ab-border:#2563eb!important;
  --ab-hover:#1d4ed8!important;--ab-hover-color:#fff!important;--ab-hover-border:#1d4ed8!important;
  --ab-icon-color:#fff!important;--ab-hover-icon-color:#fff!important;
  background:#2563eb!important;color:#fff!important;border-color:#2563eb!important;
}
.elementor-widget-wpsoft-advanced-button.wpst-button-type-primary .wpst-adv-button:not(.effect-slide):hover{background:#1d4ed8!important}

.elementor-widget-wpsoft-advanced-button.wpst-button-type-secondary .wpst-adv-button{
  --ab-bg:#e2e8f0!important;--ab-color:#0f172a!important;--ab-border:#e2e8f0!important;
  --ab-hover:#cbd5e1!important;--ab-hover-color:#0f172a!important;--ab-hover-border:#cbd5e1!important;
  --ab-icon-color:#0f172a!important;--ab-hover-icon-color:#0f172a!important;
  background:#e2e8f0!important;color:#0f172a!important;border-color:#e2e8f0!important;
}
.elementor-widget-wpsoft-advanced-button.wpst-button-type-secondary .wpst-adv-button:not(.effect-slide):hover{background:#cbd5e1!important}

.elementor-widget-wpsoft-advanced-button.wpst-button-type-dark .wpst-adv-button{
  --ab-bg:#0f172a!important;--ab-color:#fff!important;--ab-border:#0f172a!important;
  --ab-hover:#020617!important;--ab-hover-color:#fff!important;--ab-hover-border:#020617!important;
  --ab-icon-color:#fff!important;--ab-hover-icon-color:#fff!important;
  background:#0f172a!important;color:#fff!important;border-color:#0f172a!important;
}
.elementor-widget-wpsoft-advanced-button.wpst-button-type-dark .wpst-adv-button:not(.effect-slide):hover{background:#020617!important}

.elementor-widget-wpsoft-advanced-button.wpst-button-type-light .wpst-adv-button{
  --ab-bg:#fff!important;--ab-color:#0f172a!important;--ab-border:#e2e8f0!important;
  --ab-hover:#f8fafc!important;--ab-hover-color:#0f172a!important;--ab-hover-border:#cbd5e1!important;
  --ab-icon-color:#0f172a!important;--ab-hover-icon-color:#0f172a!important;
  background:#fff!important;color:#0f172a!important;border-color:#e2e8f0!important;
  box-shadow:0 8px 22px rgba(15,23,42,.06);
}
.elementor-widget-wpsoft-advanced-button.wpst-button-type-light .wpst-adv-button:not(.effect-slide):hover{background:#f8fafc!important}

.elementor-widget-wpsoft-advanced-button.wpst-button-type-outline .wpst-adv-button{
  --ab-bg:transparent!important;--ab-color:#2563eb!important;--ab-border:#2563eb!important;
  --ab-hover:#2563eb!important;--ab-hover-color:#fff!important;--ab-hover-border:#2563eb!important;
  --ab-icon-color:#2563eb!important;--ab-hover-icon-color:#fff!important;
  background:transparent!important;color:#2563eb!important;border-color:#2563eb!important;
}
.elementor-widget-wpsoft-advanced-button.wpst-button-type-outline .wpst-adv-button:not(.effect-slide):hover{background:#2563eb!important}

.elementor-widget-wpsoft-advanced-button.wpst-button-type-soft .wpst-adv-button{
  --ab-bg:#eff6ff!important;--ab-color:#1d4ed8!important;--ab-border:#dbeafe!important;
  --ab-hover:#dbeafe!important;--ab-hover-color:#1e40af!important;--ab-hover-border:#bfdbfe!important;
  --ab-icon-color:#2563eb!important;--ab-hover-icon-color:#1d4ed8!important;
  background:#eff6ff!important;color:#1d4ed8!important;border-color:#dbeafe!important;
}
.elementor-widget-wpsoft-advanced-button.wpst-button-type-soft .wpst-adv-button:not(.effect-slide):hover{background:#dbeafe!important}

.elementor-widget-wpsoft-advanced-button.wpst-button-type-gradient .wpst-adv-button{
  --ab-bg:#2563eb!important;--ab-color:#fff!important;--ab-border:transparent!important;
  --ab-hover:#7c3aed!important;--ab-hover-color:#fff!important;--ab-hover-border:transparent!important;
  --ab-icon-color:#fff!important;--ab-hover-icon-color:#fff!important;
  background:linear-gradient(135deg,#2563eb,#7c3aed)!important;color:#fff!important;border-color:transparent!important;
  box-shadow:0 12px 28px rgba(37,99,235,.20);
}
.elementor-widget-wpsoft-advanced-button.wpst-button-type-gradient .wpst-adv-button:not(.effect-slide):hover{
  background:linear-gradient(135deg,#1d4ed8,#6d28d9)!important;
}

.elementor-widget-wpsoft-advanced-button.wpst-button-type-glass .wpst-adv-button{
  --ab-bg:rgba(255,255,255,.14)!important;--ab-color:#fff!important;--ab-border:rgba(255,255,255,.28)!important;
  --ab-hover:rgba(255,255,255,.22)!important;--ab-hover-color:#fff!important;--ab-hover-border:rgba(255,255,255,.42)!important;
  --ab-icon-color:#fff!important;--ab-hover-icon-color:#fff!important;
  background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.28)!important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 28px rgba(15,23,42,.10);
}
.elementor-widget-wpsoft-advanced-button.wpst-button-type-glass .wpst-adv-button:not(.effect-slide):hover{background:rgba(255,255,255,.22)!important}

/* Slide effect must also respect automatic type colors. */
.elementor-widget-wpsoft-advanced-button[class*="wpst-button-type-"] .wpst-adv-button.effect-slide::before{
  background:var(--ab-hover)!important;
}

@media(max-width:767px){
  .wpst-button-full-yes .wpst-adv-button{display:flex}
}


/* ==========================================================
   v3.3.18.21.13.8.23.15.15 · Widget Quick Design Button System
   Modern action styling only applies when a quick-design preset is active.
   Local "Buton / Link Biçimi" colors remain the final authority.
   ========================================================== */
.elementor-widget[class*="wpst-preset-"]{
  --wpst-quick-btn-height:50px;
  --wpst-quick-btn-radius:14px;
  --wpst-quick-btn-pad-x:22px;
  --wpst-quick-btn-gap:9px;
  --wpst-quick-btn-weight:750;
  --wpst-quick-btn-bg:var(--wpst-button-bg,var(--wpst-primary,#2563eb));
  --wpst-quick-btn-text:var(--wpst-button-text,#fff);
  --wpst-quick-btn-border:color-mix(in srgb,var(--wpst-primary,#2563eb) 18%,transparent);
  --wpst-quick-btn-hover-bg:var(--wpst-button-hover-bg,var(--wpst-primary-dark,#1d4ed8));
  --wpst-quick-btn-hover-text:var(--wpst-button-hover-text,#fff);
  --wpst-quick-btn-shadow:0 9px 22px color-mix(in srgb,var(--wpst-primary,#2563eb) 18%,transparent);
  --wpst-quick-btn-hover-shadow:0 13px 30px color-mix(in srgb,var(--wpst-primary,#2563eb) 24%,transparent);
  --wpst-quick-btn-shift:-2px;
}

/* Preset personalities. */
.elementor-widget.wpst-preset-signature,
body.wpst-widget-quick-signature .elementor-widget.wpst-preset-global{
  --wpst-quick-btn-radius:14px;
  --wpst-quick-btn-height:50px;
}
.elementor-widget.wpst-preset-corporate,
body.wpst-widget-quick-corporate .elementor-widget.wpst-preset-global{
  --wpst-quick-btn-radius:10px;
  --wpst-quick-btn-height:48px;
  --wpst-quick-btn-shadow:0 7px 18px color-mix(in srgb,var(--wpst-primary,#2563eb) 14%,transparent);
  --wpst-quick-btn-hover-shadow:0 10px 24px color-mix(in srgb,var(--wpst-primary,#2563eb) 19%,transparent);
}
.elementor-widget.wpst-preset-editorial,
body.wpst-widget-quick-editorial .elementor-widget.wpst-preset-global{
  --wpst-quick-btn-radius:999px;
  --wpst-quick-btn-height:50px;
  --wpst-quick-btn-bg:var(--wpst-heading,#0f172a);
  --wpst-quick-btn-text:#fff;
  --wpst-quick-btn-hover-bg:color-mix(in srgb,var(--wpst-heading,#0f172a) 88%,#fff);
  --wpst-quick-btn-shadow:none;
  --wpst-quick-btn-hover-shadow:none;
}
.elementor-widget.wpst-preset-soft,
body.wpst-widget-quick-soft .elementor-widget.wpst-preset-global{
  --wpst-quick-btn-radius:16px;
  --wpst-quick-btn-height:50px;
  --wpst-quick-btn-bg:color-mix(in srgb,var(--wpst-primary,#2563eb) 11%,var(--wpst-surface,#fff));
  --wpst-quick-btn-text:var(--wpst-primary,#2563eb);
  --wpst-quick-btn-border:color-mix(in srgb,var(--wpst-primary,#2563eb) 14%,transparent);
  --wpst-quick-btn-hover-bg:color-mix(in srgb,var(--wpst-primary,#2563eb) 18%,var(--wpst-surface,#fff));
  --wpst-quick-btn-hover-text:var(--wpst-primary-dark,#1d4ed8);
  --wpst-quick-btn-shadow:none;
  --wpst-quick-btn-hover-shadow:none;
}
.elementor-widget.wpst-preset-dark,
body.wpst-widget-quick-dark .elementor-widget.wpst-preset-global{
  --wpst-quick-btn-radius:14px;
  --wpst-quick-btn-bg:var(--wpst-primary,#2563eb);
  --wpst-quick-btn-text:#fff;
  --wpst-quick-btn-hover-bg:color-mix(in srgb,var(--wpst-primary,#2563eb) 84%,#fff);
  --wpst-quick-btn-border:rgba(255,255,255,.12);
  --wpst-quick-btn-shadow:0 10px 28px rgba(0,0,0,.22);
  --wpst-quick-btn-hover-shadow:0 14px 34px rgba(0,0,0,.28);
}
.elementor-widget.wpst-preset-minimal,
body.wpst-widget-quick-minimal .elementor-widget.wpst-preset-global{
  --wpst-quick-btn-radius:9px;
  --wpst-quick-btn-height:46px;
  --wpst-quick-btn-bg:transparent;
  --wpst-quick-btn-text:var(--wpst-primary,#2563eb);
  --wpst-quick-btn-border:var(--wpst-border,#e2e8f0);
  --wpst-quick-btn-hover-bg:var(--wpst-soft,#f8fafc);
  --wpst-quick-btn-hover-text:var(--wpst-primary-dark,#1d4ed8);
  --wpst-quick-btn-shadow:none;
  --wpst-quick-btn-hover-shadow:none;
  --wpst-quick-btn-shift:-1px;
}

/* Manual button character selected under Global Design > Widget Hızlı Tasarım. */
body.wpst-widget-button-modern .elementor-widget.wpst-preset-global{
  --wpst-quick-btn-radius:14px;--wpst-quick-btn-height:50px;
  --wpst-quick-btn-bg:var(--wpst-button-bg,var(--wpst-primary,#2563eb));--wpst-quick-btn-text:var(--wpst-button-text,#fff);
  --wpst-quick-btn-border:color-mix(in srgb,var(--wpst-primary,#2563eb) 18%,transparent);
  --wpst-quick-btn-hover-bg:var(--wpst-button-hover-bg,var(--wpst-primary-dark,#1d4ed8));--wpst-quick-btn-hover-text:var(--wpst-button-hover-text,#fff);
}
body.wpst-widget-button-pill .elementor-widget.wpst-preset-global{
  --wpst-quick-btn-radius:999px;--wpst-quick-btn-height:50px;
}
body.wpst-widget-button-soft .elementor-widget.wpst-preset-global{
  --wpst-quick-btn-radius:16px;--wpst-quick-btn-bg:color-mix(in srgb,var(--wpst-primary,#2563eb) 11%,var(--wpst-surface,#fff));
  --wpst-quick-btn-text:var(--wpst-primary,#2563eb);--wpst-quick-btn-border:color-mix(in srgb,var(--wpst-primary,#2563eb) 14%,transparent);
  --wpst-quick-btn-hover-bg:color-mix(in srgb,var(--wpst-primary,#2563eb) 18%,var(--wpst-surface,#fff));--wpst-quick-btn-hover-text:var(--wpst-primary-dark,#1d4ed8);
  --wpst-quick-btn-shadow:none;--wpst-quick-btn-hover-shadow:none;
}
body.wpst-widget-button-outline .elementor-widget.wpst-preset-global{
  --wpst-quick-btn-radius:12px;--wpst-quick-btn-bg:transparent;--wpst-quick-btn-text:var(--wpst-primary,#2563eb);
  --wpst-quick-btn-border:color-mix(in srgb,var(--wpst-primary,#2563eb) 52%,transparent);
  --wpst-quick-btn-hover-bg:var(--wpst-primary,#2563eb);--wpst-quick-btn-hover-text:#fff;
  --wpst-quick-btn-shadow:none;--wpst-quick-btn-hover-shadow:0 10px 24px color-mix(in srgb,var(--wpst-primary,#2563eb) 18%,transparent);
}
body.wpst-widget-button-glass .elementor-widget.wpst-preset-global{
  --wpst-quick-btn-radius:16px;--wpst-quick-btn-bg:color-mix(in srgb,var(--wpst-surface,#fff) 76%,transparent);
  --wpst-quick-btn-text:var(--wpst-heading,#0f172a);--wpst-quick-btn-border:color-mix(in srgb,var(--wpst-heading,#0f172a) 14%,transparent);
  --wpst-quick-btn-hover-bg:color-mix(in srgb,var(--wpst-surface,#fff) 92%,transparent);--wpst-quick-btn-hover-text:var(--wpst-heading,#0f172a);
  --wpst-quick-btn-shadow:0 10px 26px rgba(15,23,42,.08);--wpst-quick-btn-hover-shadow:0 14px 32px rgba(15,23,42,.12);
}
body.wpst-widget-button-minimal .elementor-widget.wpst-preset-global{
  --wpst-quick-btn-radius:9px;--wpst-quick-btn-height:46px;--wpst-quick-btn-bg:transparent;--wpst-quick-btn-text:var(--wpst-primary,#2563eb);
  --wpst-quick-btn-border:var(--wpst-border,#e2e8f0);--wpst-quick-btn-hover-bg:var(--wpst-soft,#f8fafc);--wpst-quick-btn-hover-text:var(--wpst-primary-dark,#1d4ed8);
  --wpst-quick-btn-shadow:none;--wpst-quick-btn-hover-shadow:none;--wpst-quick-btn-shift:-1px;
}

/* Action contract: excludes carousel arrows, tabs and disclosure buttons. */
.elementor-widget:is(.wpst-preset-global,.wpst-preset-signature,.wpst-preset-corporate,.wpst-preset-editorial,.wpst-preset-soft,.wpst-preset-dark,.wpst-preset-minimal) > .elementor-widget-container :is(
  a.wpst-ew-button,a.wpst-q-button,.wpst-button,[class*="cta"] a,a[class*="button"],button[class*="button"],
  .wpst-ew-hero-slide a,.wpst-content-slide-copy a,.wpst-video-bg-copy>a,.wpst-ew-video-content>a,.wpst-media-card-copy>a,.wpst-booking-strip a,
  .wpst-hsm-actions a,.wpst-hb-main>a,.wpst-hs-actions a,.wpst-hsp-inner>a,.wpst-hi-copy>a,.wpst-hh-copy>a,.wpst-hm-copy>a,.wpst-hc-copy>a,
  .wpst-ew-footer-newsletter button[type="submit"],.wpforms-submit
){
  min-height:var(--wpst-quick-btn-height)!important;
  padding-inline:var(--wpst-quick-btn-pad-x)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:var(--wpst-quick-btn-gap)!important;
  border:1px solid var(--wpst-quick-btn-border)!important;
  border-radius:var(--wpst-quick-btn-radius)!important;
  background:var(--wpst-quick-btn-bg)!important;
  color:var(--wpst-quick-btn-text)!important;
  box-shadow:var(--wpst-quick-btn-shadow)!important;
  font-weight:var(--wpst-quick-btn-weight);
  letter-spacing:-.01em;
  line-height:1.1;
  text-decoration:none!important;
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease,color .22s ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.elementor-widget:is(.wpst-preset-global,.wpst-preset-signature,.wpst-preset-corporate,.wpst-preset-editorial,.wpst-preset-soft,.wpst-preset-dark,.wpst-preset-minimal) > .elementor-widget-container :is(
  a.wpst-ew-button,a.wpst-q-button,.wpst-button,[class*="cta"] a,a[class*="button"],button[class*="button"],
  .wpst-ew-hero-slide a,.wpst-content-slide-copy a,.wpst-video-bg-copy>a,.wpst-ew-video-content>a,.wpst-media-card-copy>a,.wpst-booking-strip a,
  .wpst-hsm-actions a,.wpst-hb-main>a,.wpst-hs-actions a,.wpst-hsp-inner>a,.wpst-hi-copy>a,.wpst-hh-copy>a,.wpst-hm-copy>a,.wpst-hc-copy>a,
  .wpst-ew-footer-newsletter button[type="submit"],.wpforms-submit
):is(:hover,:focus-visible){
  background:var(--wpst-quick-btn-hover-bg)!important;
  color:var(--wpst-quick-btn-hover-text)!important;
  box-shadow:var(--wpst-quick-btn-hover-shadow)!important;
  transform:translateY(var(--wpst-quick-btn-shift));
}
.elementor-widget:is(.wpst-preset-global,.wpst-preset-signature,.wpst-preset-corporate,.wpst-preset-editorial,.wpst-preset-soft,.wpst-preset-dark,.wpst-preset-minimal) > .elementor-widget-container :is(
  a.wpst-ew-button,a.wpst-q-button,.wpst-button,[class*="cta"] a,a[class*="button"],button[class*="button"]
):focus-visible{
  outline:3px solid color-mix(in srgb,var(--wpst-primary,#2563eb) 28%,transparent)!important;
  outline-offset:3px!important;
}
body.wpst-widget-button-glass .elementor-widget.wpst-preset-global > .elementor-widget-container :is(
  a.wpst-ew-button,a.wpst-q-button,.wpst-button,[class*="cta"] a,a[class*="button"],button[class*="button"]
){backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}

@media(hover:none),(pointer:coarse){
  .elementor-widget:is(.wpst-preset-global,.wpst-preset-signature,.wpst-preset-corporate,.wpst-preset-editorial,.wpst-preset-soft,.wpst-preset-dark,.wpst-preset-minimal) > .elementor-widget-container :is(
    a.wpst-ew-button,a.wpst-q-button,.wpst-button,[class*="cta"] a,a[class*="button"],button[class*="button"]
  ):is(:hover,:focus-visible){transform:none}
}
@media(max-width:767px){
  .elementor-widget:is(.wpst-preset-global,.wpst-preset-signature,.wpst-preset-corporate,.wpst-preset-editorial,.wpst-preset-soft,.wpst-preset-dark,.wpst-preset-minimal){--wpst-quick-btn-height:48px;--wpst-quick-btn-pad-x:19px}
}


/* ==========================================================
   v3.3.18.21.13.8.23.15.16 · Advanced Button preset authority
   Quick Design may style Advanced Button only in Custom mode.
   Explicit ready types keep their own Advanced Button 3.0 palette.
   ========================================================== */
.elementor-widget-wpsoft-advanced-button.wpst-button-type-custom:is(.wpst-preset-global,.wpst-preset-signature,.wpst-preset-corporate,.wpst-preset-editorial,.wpst-preset-soft,.wpst-preset-dark,.wpst-preset-minimal) > .elementor-widget-container .wpst-adv-button{
  min-height:var(--wpst-quick-btn-height)!important;
  padding-inline:var(--wpst-quick-btn-pad-x)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:var(--wpst-quick-btn-gap)!important;
  border-radius:var(--wpst-quick-btn-radius)!important;
  box-shadow:var(--wpst-quick-btn-shadow)!important;
  font-weight:var(--wpst-quick-btn-weight);
  letter-spacing:-.01em;
  line-height:1.1;
  text-decoration:none!important;
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease,color .22s ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.elementor-widget-wpsoft-advanced-button.wpst-button-type-custom:is(.wpst-preset-global,.wpst-preset-signature,.wpst-preset-corporate,.wpst-preset-editorial,.wpst-preset-soft,.wpst-preset-dark,.wpst-preset-minimal) > .elementor-widget-container .wpst-adv-button:is(:hover,:focus-visible){
  box-shadow:var(--wpst-quick-btn-hover-shadow)!important;
}

/* Explicit ready types are isolated from the generic Quick Design action contract. */
.elementor-widget-wpsoft-advanced-button:not(.wpst-button-type-custom) .wpst-adv-button{
  font-weight:inherit;
}


/* ==========================================================
   v3.3 · Widget Quality Pass 1
   Link Grid 2.0 / Reviews Pro 2.0 / Glass Card 2.0 /
   Advanced Table 2.0 / Location Map 2.0
   Global Design tokens stay the default source; Elementor
   widget controls only override the variables they define.
   ========================================================== */

/* Link Grid 2.0 */
.wpst-link-grid{
  display:grid;
  grid-template-columns:repeat(var(--wpst-link-cols,3),minmax(0,1fr));
  gap:var(--wpst-link-gap,16px);
}
.wpst-link-grid>a{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-width:0;
  border:1px solid var(--wpst-link-border,var(--wpst-border,#e2e8f0));
  border-radius:var(--wpst-link-radius,var(--wpst-card-radius,20px));
  background:var(--wpst-link-surface,var(--wpst-surface,#fff));
  color:inherit;
  text-decoration:none;
  overflow:hidden;
  transition:transform var(--wpst-motion,.28s) ease,border-color var(--wpst-motion,.28s) ease,box-shadow var(--wpst-motion,.28s) ease,background var(--wpst-motion,.28s) ease;
}
.wpst-link-grid>a:before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(135deg,color-mix(in srgb,var(--wpst-primary,#2563eb) 8%,transparent),transparent 46%);
  opacity:0;
  transition:opacity var(--wpst-motion,.28s) ease;
  pointer-events:none;
}
.wpst-link-grid>a:hover{
  background:var(--wpst-link-hover-surface,var(--wpst-link-surface,var(--wpst-surface,#fff)));
  border-color:color-mix(in srgb,var(--wpst-primary,#2563eb) 38%,var(--wpst-link-border,var(--wpst-border,#e2e8f0)));
  box-shadow:0 16px 40px rgba(15,23,42,.08);
}
.wpst-link-grid>a:hover:before{opacity:1}
.wpst-link-grid strong{display:block;color:var(--wpst-link-title,var(--wpst-heading,#0f172a));font-size:16px;line-height:1.25}
.wpst-link-grid small{display:block;margin-top:5px;color:var(--wpst-link-text,var(--wpst-muted,#64748b));font-size:13px;line-height:1.55}
.wpst-link-icon{
  position:relative;z-index:1;
  display:grid;place-items:center;
  width:42px;height:42px;border-radius:13px;
  background:var(--wpst-link-icon-bg,color-mix(in srgb,var(--wpst-primary,#2563eb) 10%,var(--wpst-surface,#fff)));
  color:var(--wpst-link-icon,var(--wpst-primary,#2563eb));
}
.wpst-link-icon svg,.wpst-link-arrow svg{color:inherit;stroke:currentColor}
.wpst-link-arrow{position:relative;z-index:1;color:var(--wpst-link-arrow,var(--wpst-muted,#64748b));transition:transform .2s ease,color .2s ease}
.wpst-link-grid>a:hover .wpst-link-arrow{color:var(--wpst-primary,#2563eb);transform:translate(2px,-2px)}
.wpst-link-motion-lift .wpst-link-grid>a:hover{transform:translateY(-4px)}
.wpst-link-motion-slide .wpst-link-grid>a:hover{transform:translateX(4px)}
.wpst-link-grid-layout-rows .wpst-link-grid{grid-template-columns:1fr}
.wpst-link-grid-layout-minimal .wpst-link-grid>a{border-width:0 0 1px;border-radius:0;background:transparent;box-shadow:none}
.wpst-link-grid-layout-tiles .wpst-link-grid>a{background:linear-gradient(145deg,var(--wpst-link-surface,var(--wpst-surface,#fff)),color-mix(in srgb,var(--wpst-primary,#2563eb) 6%,var(--wpst-surface,#fff)))}

/* Reviews Pro 2.0 */
.wpst-reviews-pro{gap:var(--wpst-review-gap,18px)}
.wpst-reviews-pro article{
  position:relative;
  border-color:var(--wpst-review-border,var(--wpst-border,#e2e8f0));
  border-radius:var(--wpst-review-radius,var(--wpst-card-radius,22px));
  background:var(--wpst-review-surface,var(--wpst-surface,#fff));
  box-shadow:0 10px 30px rgba(15,23,42,.045);
  transition:transform var(--wpst-motion,.28s) ease,border-color var(--wpst-motion,.28s) ease,box-shadow var(--wpst-motion,.28s) ease;
  overflow:hidden;
}
.wpst-reviews-pro article:hover{
  transform:translateY(-3px);
  border-color:var(--wpst-review-hover-border,color-mix(in srgb,var(--wpst-primary,#2563eb) 32%,var(--wpst-review-border,var(--wpst-border,#e2e8f0))));
  box-shadow:0 18px 44px rgba(15,23,42,.08);
}
.wpst-review-quote-mark{
  position:absolute;right:18px;top:10px;
  font:700 58px/1 Georgia,serif;
  color:color-mix(in srgb,var(--wpst-primary,#2563eb) 12%,transparent);
  pointer-events:none;
}
.wpst-review-stars{color:var(--wpst-review-stars,#f59e0b)}
.wpst-reviews-pro blockquote{position:relative;color:var(--wpst-review-quote,var(--wpst-heading,#0f172a))}
.wpst-reviews-pro footer strong{color:var(--wpst-review-name,var(--wpst-heading,#0f172a))}
.wpst-reviews-pro footer small{color:var(--wpst-review-role,var(--wpst-muted,#64748b))}
.wpst-review-avatar{
  background:var(--wpst-review-avatar-bg,color-mix(in srgb,var(--wpst-primary,#2563eb) 10%,var(--wpst-surface,#fff)));
  color:var(--wpst-review-avatar-color,var(--wpst-primary,#2563eb));
}
.wpst-reviews-layout-featured .wpst-reviews-pro{grid-template-columns:minmax(0,1.3fr) repeat(calc(var(--wpst-review-cols,3) - 1),minmax(0,1fr))}
.wpst-reviews-layout-featured .wpst-reviews-pro article:first-child{background:linear-gradient(145deg,color-mix(in srgb,var(--wpst-primary,#2563eb) 7%,var(--wpst-surface,#fff)),var(--wpst-surface,#fff))}
.wpst-reviews-layout-compact .wpst-reviews-pro article{padding-top:20px!important;padding-bottom:20px!important}
.wpst-reviews-layout-compact .wpst-reviews-pro blockquote{font-size:15px;margin:12px 0 18px}
.wpst-reviews-layout-wall .wpst-reviews-pro article:nth-child(3n+2){transform:translateY(12px)}
.wpst-reviews-layout-wall .wpst-reviews-pro article:nth-child(3n+2):hover{transform:translateY(8px)}

/* Glass Card 2.0 */
.wpst-glass-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  border:1px solid var(--wpst-glass-border,rgba(255,255,255,.34));
  border-radius:var(--wpst-glass-radius,26px);
  background:var(--wpst-glass-surface,rgba(255,255,255,.18));
  backdrop-filter:blur(var(--wpst-glass-blur,18px));
  -webkit-backdrop-filter:blur(var(--wpst-glass-blur,18px));
  overflow:hidden;
}
.wpst-glass-card:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(145deg,rgba(255,255,255,.16),transparent 44%);
  pointer-events:none;
}
.wpst-glass-card>*{position:relative;z-index:1}
.wpst-glass-icon{
  display:grid;place-items:center;width:46px;height:46px;margin-bottom:18px;
  border-radius:14px;
  background:var(--wpst-glass-icon-bg,color-mix(in srgb,var(--wpst-primary,#2563eb) 10%,rgba(255,255,255,.18)));
  color:var(--wpst-glass-icon,var(--wpst-primary,#2563eb));
}
.wpst-glass-icon svg{stroke:currentColor}
.wpst-glass-card>small{color:var(--wpst-glass-eyebrow,var(--wpst-primary,#2563eb));font-size:10px;font-weight:900;letter-spacing:.14em}
.wpst-glass-card h3{color:var(--wpst-glass-title,var(--wpst-heading,#0f172a));margin:10px 0 12px;font-size:clamp(25px,3vw,38px);line-height:1.04;letter-spacing:-.035em}
.wpst-glass-card p{color:var(--wpst-glass-text,var(--wpst-muted,#64748b));margin:0;line-height:1.7}
.wpst-glass-card .wpst-ew-button{margin-top:24px;align-self:flex-start}
.wpst-glass-align-center .wpst-glass-card{align-items:center;text-align:center}
.wpst-glass-align-center .wpst-glass-card .wpst-ew-button{align-self:center}
.wpst-glass-align-right .wpst-glass-card{align-items:flex-end;text-align:right}
.wpst-glass-align-right .wpst-glass-card .wpst-ew-button{align-self:flex-end}
.wpst-glass-shadow-none .wpst-glass-card{box-shadow:none}
.wpst-glass-shadow-soft .wpst-glass-card{box-shadow:0 16px 44px rgba(15,23,42,.08)}
.wpst-glass-shadow-medium .wpst-glass-card{box-shadow:0 22px 60px rgba(15,23,42,.12)}
.wpst-glass-shadow-strong .wpst-glass-card{box-shadow:0 28px 80px rgba(15,23,42,.17)}

/* Advanced Table 2.0 */
.wpst-advanced-table-wrap{
  border-radius:var(--wpst-table-radius,20px);
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--wpst-primary,#2563eb) 28%,transparent) transparent;
}
.wpst-advanced-table{
  border-radius:var(--wpst-table-radius,20px);
  background:var(--wpst-table-surface,var(--wpst-surface,#fff));
  border-color:var(--wpst-table-border,var(--wpst-border,#e2e8f0));
}
.wpst-advanced-table caption{
  color:var(--wpst-table-strong,var(--wpst-heading,#0f172a));
  background:var(--wpst-table-head-bg,var(--wpst-soft,#f8fafc));
  border-color:var(--wpst-table-border,var(--wpst-border,#e2e8f0));
}
.wpst-advanced-table th,.wpst-advanced-table td{border-color:var(--wpst-table-border,var(--wpst-border,#e2e8f0))}
.wpst-advanced-table thead th{color:var(--wpst-table-head-text,var(--wpst-muted,#64748b));background:var(--wpst-table-head-bg,var(--wpst-soft,#f8fafc))}
.wpst-advanced-table tbody th{color:var(--wpst-table-strong,var(--wpst-heading,#0f172a))}
.wpst-advanced-table td{color:var(--wpst-table-text,var(--wpst-text,#334155))}
.wpst-advanced-table tbody tr>*{transition:background .18s ease}
.wpst-advanced-table tbody tr:hover>*{background:var(--wpst-table-row-hover,color-mix(in srgb,var(--wpst-primary,#2563eb) 4%,var(--wpst-table-surface,var(--wpst-surface,#fff))))}
.wpst-advanced-table .is-highlight{background:color-mix(in srgb,var(--wpst-table-accent,var(--wpst-primary,#2563eb)) 8%,var(--wpst-table-surface,var(--wpst-surface,#fff)))}
.wpst-table-layout-comparison .wpst-advanced-table thead th.is-highlight{background:var(--wpst-table-accent,var(--wpst-primary,#2563eb));color:#fff}
.wpst-table-sticky-yes .wpst-advanced-table thead th{position:sticky;top:0;z-index:2}
.wpst-advanced-table-wrap:focus-visible{outline:3px solid color-mix(in srgb,var(--wpst-primary,#2563eb) 28%,transparent);outline-offset:3px}

/* Location Map 2.0 */
.wpst-location-map{
  border-color:var(--wpst-map-border,var(--wpst-border,#e2e8f0));
  border-radius:var(--wpst-map-radius,24px);
  background:var(--wpst-map-copy-bg,var(--wpst-surface,#fff));
  box-shadow:0 14px 42px rgba(15,23,42,.055);
}
.wpst-location-map-copy{background:var(--wpst-map-copy-bg,var(--wpst-surface,#fff))}
.wpst-location-map-copy>span{color:var(--wpst-map-eyebrow,var(--wpst-primary,#2563eb))}
.wpst-location-map-copy h3{color:var(--wpst-map-title,var(--wpst-heading,#0f172a))}
.wpst-location-map-copy p{color:var(--wpst-map-text,var(--wpst-muted,#64748b))}
.wpst-location-map-copy .wpst-ew-button{width:max-content;margin-top:24px;color:var(--wpst-button-text,#fff)}
.wpst-location-map-copy .wpst-ew-button i{display:grid;place-items:center}
.wpst-location-map-copy .wpst-ew-button svg{stroke:currentColor}
.wpst-map-layout-full .wpst-location-map-copy,.wpst-map-layout-overlay .wpst-location-map-copy{
  background:color-mix(in srgb,var(--wpst-map-copy-bg,var(--wpst-surface,#fff)) 92%,transparent);
  border:1px solid color-mix(in srgb,var(--wpst-map-border,var(--wpst-border,#e2e8f0)) 78%,transparent);
  backdrop-filter:blur(14px);
}
.wpst-map-filter-soft .wpst-location-map-media iframe{filter:saturate(.82) contrast(.94)}
.wpst-map-filter-gray .wpst-location-map-media iframe{filter:grayscale(1) contrast(.92)}
.wpst-map-filter-contrast .wpst-location-map-media iframe{filter:saturate(.85) contrast(1.18)}
.wpst-location-map-media iframe{transition:filter .25s ease}

@media(max-width:767px){
  .wpst-link-grid{grid-template-columns:repeat(var(--wpst-link-cols,1),minmax(0,1fr))}
  .wpst-reviews-pro{grid-template-columns:repeat(var(--wpst-review-cols,1),minmax(0,1fr))}
  .wpst-reviews-layout-featured .wpst-reviews-pro{grid-template-columns:repeat(var(--wpst-review-cols,1),minmax(0,1fr))}
  .wpst-reviews-layout-wall .wpst-reviews-pro article:nth-child(3n+2){transform:none}
  .wpst-glass-card{padding:24px}
  .wpst-map-layout-full .wpst-location-map-copy,.wpst-map-layout-overlay .wpst-location-map-copy{
    border-left:0;border-right:0;border-top:0;
    background:var(--wpst-map-copy-bg,var(--wpst-surface,#fff));
    backdrop-filter:none;
  }
}


/* ==========================================================
   v3.3 · Widget Quality Pass 2
   Video Popup Pro 2.0 / Scroll Progress 3.0 / Native Icon 2.0 /
   Expert Profile 2.0 / Form Shell 2.0
   ========================================================== */

/* Video Popup Pro 2.0 */
.wpst-video-popup-pro{
  position:relative;
  display:flex;
  align-items:flex-end;
  width:100%;
  overflow:hidden;
  border:1px solid var(--wpst-video-border,color-mix(in srgb,var(--wpst-border,#e2e8f0) 84%,transparent));
  border-radius:var(--wpst-video-radius,22px);
  background-position:center;
  background-size:cover;
  background-color:#0f172a;
  color:#fff;
  cursor:pointer;
  text-align:left;
  box-shadow:0 16px 42px rgba(15,23,42,.10);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.wpst-video-popup-pro:hover{transform:translateY(-3px);box-shadow:0 24px 58px rgba(15,23,42,.16)}
.wpst-video-popup-pro:focus-visible{outline:3px solid color-mix(in srgb,var(--wpst-primary,#2563eb) 38%,transparent);outline-offset:3px}
.wpst-video-popup-pro:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(2,6,23,.72) 100%);
  pointer-events:none;
}
.wpst-video-popup-scrim{position:absolute;inset:0;background:var(--wpst-video-overlay,rgba(2,6,23,.16));z-index:0}
.wpst-video-play{
  position:absolute;left:28px;top:28px;z-index:2;
  display:grid;place-items:center;
  width:var(--wpst-video-play-size,68px);height:var(--wpst-video-play-size,68px);
  border-radius:999px;
  color:var(--wpst-video-play,#fff);
  background:var(--wpst-video-play-bg,rgba(255,255,255,.18));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.28);
  transition:transform .25s ease,background .25s ease;
}
.wpst-video-popup-pro:hover .wpst-video-play{transform:scale(1.06)}
.wpst-video-play svg{fill:currentColor;stroke:currentColor}
.wpst-video-popup-copy{
  position:relative;z-index:2;
  display:grid;gap:6px;
  width:min(620px,calc(100% - 56px));
  margin:28px;
}
.wpst-video-popup-copy small{color:var(--wpst-video-subtitle,rgba(255,255,255,.72));font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.wpst-video-popup-copy strong{color:var(--wpst-video-title,#fff);font-size:clamp(26px,4vw,50px);line-height:1.02;letter-spacing:-.035em}
.wpst-video-play-style-solid .wpst-video-play{background:var(--wpst-primary,#2563eb);border-color:transparent}
.wpst-video-play-style-outline .wpst-video-play{background:transparent;border-color:rgba(255,255,255,.72)}
.wpst-video-copy-pos-bottom-center .wpst-video-popup-pro{justify-content:center;text-align:center}
.wpst-video-copy-pos-bottom-center .wpst-video-popup-copy{justify-items:center}
.wpst-video-copy-pos-center .wpst-video-popup-pro{align-items:center;justify-content:center;text-align:center}
.wpst-video-copy-pos-center .wpst-video-popup-copy{justify-items:center;margin-top:110px}
.wpst-video-copy-pos-center .wpst-video-play{left:50%;top:50%;transform:translate(-50%,-105%)}
.wpst-video-copy-pos-center .wpst-video-popup-pro:hover .wpst-video-play{transform:translate(-50%,-105%) scale(1.06)}
.wpst-video-filter-cinematic .wpst-video-popup-pro{filter:saturate(.84) contrast(1.12)}
.wpst-video-filter-soft .wpst-video-popup-pro{filter:saturate(.86) contrast(.94)}
.wpst-video-filter-mono .wpst-video-popup-pro{filter:grayscale(1) contrast(1.04)}

/* Scroll Progress 3.0 */
.wpst-ew-scroll-progress{
  position:fixed;
  left:var(--wpst-progress-inset,0);
  right:var(--wpst-progress-inset,0);
  overflow:visible;
  background:var(--wpst-progress-track,color-mix(in srgb,var(--wpst-text,#334155) 12%,transparent));
  pointer-events:none;
}
.wpst-scroll-progress-pos-top .wpst-ew-scroll-progress{top:0}
.wpst-scroll-progress-pos-bottom .wpst-ew-scroll-progress{bottom:0}
.wpst-ew-scroll-progress>span{
  display:block;width:0;height:100%;
  background:var(--wpst-progress-color,var(--wpst-primary,#2563eb));
  transition:width .06s linear;
}
.wpst-scroll-progress-style-gradient .wpst-ew-scroll-progress>span{
  background:linear-gradient(90deg,var(--wpst-progress-color,var(--wpst-primary,#2563eb)),var(--wpst-progress-color-2,var(--wpst-secondary,#7c3aed)));
}
.wpst-scroll-progress-style-pill .wpst-ew-scroll-progress,
.wpst-scroll-progress-style-glass .wpst-ew-scroll-progress{top:12px;bottom:auto;border-radius:999px}
.wpst-scroll-progress-pos-bottom.wpst-scroll-progress-style-pill .wpst-ew-scroll-progress,
.wpst-scroll-progress-pos-bottom.wpst-scroll-progress-style-glass .wpst-ew-scroll-progress{top:auto;bottom:12px}
.wpst-scroll-progress-style-pill .wpst-ew-scroll-progress>span,
.wpst-scroll-progress-style-glass .wpst-ew-scroll-progress>span{border-radius:inherit}
.wpst-scroll-progress-style-glass .wpst-ew-scroll-progress{
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid color-mix(in srgb,var(--wpst-border,#e2e8f0) 70%,transparent);
}
.wpst-ew-scroll-progress>b{
  display:none;
  position:absolute;right:0;top:calc(100% + 7px);
  min-width:42px;padding:5px 8px;border-radius:999px;
  background:var(--wpst-surface,#fff);color:var(--wpst-heading,#0f172a);
  box-shadow:0 8px 22px rgba(15,23,42,.10);
  font-size:10px;font-weight:850;text-align:center;
}
.wpst-scroll-progress-pos-bottom .wpst-ew-scroll-progress>b{top:auto;bottom:calc(100% + 7px)}
.wpst-scroll-progress-percent-yes .wpst-ew-scroll-progress>b{display:block}
@media(max-width:767px){.wpst-scroll-progress-hide-mobile-yes .wpst-ew-scroll-progress{display:none!important}}

/* Native Icon 2.0 */
.wpst-native-icon{
  display:inline-grid;place-items:center;
  color:var(--wpst-native-color,var(--wpst-primary,#2563eb));
  background:var(--wpst-native-bg,color-mix(in srgb,var(--wpst-primary,#2563eb) 8%,var(--wpst-surface,#fff)));
  border:1px solid var(--wpst-native-border,color-mix(in srgb,var(--wpst-primary,#2563eb) 14%,transparent));
  text-decoration:none;
  transition:transform .22s ease,color .22s ease,background .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.wpst-native-icon:hover{color:var(--wpst-native-hover-color,var(--wpst-native-color,var(--wpst-primary,#2563eb)));background:var(--wpst-native-hover-bg,var(--wpst-native-bg,color-mix(in srgb,var(--wpst-primary,#2563eb) 8%,var(--wpst-surface,#fff))))}
.wpst-native-icon svg{color:inherit;stroke:currentColor}
.wpst-native-motion-lift .wpst-native-icon:hover{transform:translateY(-4px)}
.wpst-native-motion-scale .wpst-native-icon:hover{transform:scale(1.08)}
.wpst-native-motion-rotate .wpst-native-icon:hover{transform:rotate(6deg)}
.wpst-native-shadow-soft .wpst-native-icon{box-shadow:0 10px 28px rgba(15,23,42,.08)}
.wpst-native-shadow-medium .wpst-native-icon{box-shadow:0 16px 38px rgba(15,23,42,.13)}
.wpst-native-icon:focus-visible{outline:3px solid color-mix(in srgb,var(--wpst-primary,#2563eb) 30%,transparent);outline-offset:3px}

/* Expert Profile 2.0 */
.wpst-expert-profile{
  gap:var(--wpst-expert-gap,clamp(26px,5vw,64px));
  border:1px solid var(--wpst-expert-border,transparent);
  border-radius:var(--wpst-expert-radius,24px);
  background:var(--wpst-expert-surface,transparent);
}
.wpst-expert-copy>span{color:var(--wpst-expert-role,var(--wpst-primary,#2563eb))}
.wpst-expert-copy h3{color:var(--wpst-expert-name,var(--wpst-heading,#0f172a))}
.wpst-expert-copy p{color:var(--wpst-expert-bio,var(--wpst-muted,#64748b))}
.wpst-expert-copy li{
  background:var(--wpst-expert-meta-bg,color-mix(in srgb,var(--wpst-primary,#2563eb) 7%,var(--wpst-soft,#f8fafc)));
  color:var(--wpst-expert-meta,var(--wpst-text,#334155));
}
.wpst-expert-copy .wpst-ew-button{width:max-content}
.wpst-expert-image-square .wpst-expert-media,.wpst-expert-image-square .wpst-expert-media img,.wpst-expert-image-square .wpst-expert-placeholder{min-height:0;aspect-ratio:1/1}
.wpst-expert-image-wide .wpst-expert-media,.wpst-expert-image-wide .wpst-expert-media img,.wpst-expert-image-wide .wpst-expert-placeholder{min-height:0;aspect-ratio:16/10}
.wpst-expert-image-portrait .wpst-expert-media,.wpst-expert-image-portrait .wpst-expert-media img,.wpst-expert-image-portrait .wpst-expert-placeholder{min-height:0;aspect-ratio:4/5}
.wpst-expert-media{box-shadow:0 14px 40px rgba(15,23,42,.08)}
.wpst-expert-layout-card .wpst-expert-profile{border-color:var(--wpst-expert-border,var(--wpst-border,#e2e8f0));background:var(--wpst-expert-surface,var(--wpst-surface,#fff))}

/* Form Shell 2.0 */
.wpst-form-shell{
  gap:var(--wpst-form-shell-gap,clamp(28px,5vw,70px));
  border-color:var(--wpst-form-shell-border,var(--wpst-border,#e2e8f0));
  border-radius:var(--wpst-form-shell-radius,26px);
  background:var(--wpst-form-shell-bg,var(--wpst-surface,#fff));
  box-shadow:0 14px 42px rgba(15,23,42,.045);
}
.wpst-form-shell-copy>span{color:var(--wpst-form-eyebrow,var(--wpst-primary,#2563eb))}
.wpst-form-shell-copy h3{color:var(--wpst-form-title,var(--wpst-heading,#0f172a))}
.wpst-form-shell-copy p{color:var(--wpst-form-text,var(--wpst-muted,#64748b))}
.wpst-form-shell-form{
  padding:24px;
  border-radius:calc(var(--wpst-form-shell-radius,26px) - 6px);
  background:var(--wpst-form-panel-bg,color-mix(in srgb,var(--wpst-soft,#f8fafc) 70%,var(--wpst-surface,#fff)));
}
.wpst-form-shell :is(input:not([type=submit]):not([type=checkbox]):not([type=radio]),select,textarea){
  border-color:var(--wpst-form-input-border,var(--wpst-input-border,#cbd5e1))!important;
  border-radius:var(--wpst-form-input-radius,var(--wpst-input-radius,12px))!important;
  background:var(--wpst-form-input-bg,var(--wpst-input-bg,#fff))!important;
  color:var(--wpst-form-input-text,var(--wpst-input-text,#0f172a))!important;
  box-shadow:none!important;
  transition:border-color .18s ease,box-shadow .18s ease!important;
}
.wpst-form-shell :is(input,select,textarea):focus{
  outline:none!important;
  border-color:var(--wpst-form-input-focus,var(--wpst-input-focus,var(--wpst-primary,#2563eb)))!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--wpst-form-input-focus,var(--wpst-input-focus,var(--wpst-primary,#2563eb))) 12%,transparent)!important;
}
.wpst-form-shell :is(button,input[type=submit],.wpforms-submit){
  color:var(--wpst-button-text,#fff)!important;
  background:var(--wpst-button-bg,#2563eb)!important;
  border-color:var(--wpst-button-bg,#2563eb)!important;
  min-height:var(--wpst-button-height,48px);
  border-radius:var(--wpst-button-radius-global,12px)!important;
  font-weight:var(--wpst-button-weight,800);
}
.wpst-form-shell :is(button,input[type=submit],.wpforms-submit):hover{
  color:var(--wpst-button-hover-text,#fff)!important;
  background:var(--wpst-button-hover-bg,#1d4ed8)!important;
}
.wpst-form-shell-position-left .wpst-form-shell-copy{order:2}
.wpst-form-shell-position-left .wpst-form-shell-form{order:1}
.wpst-form-shell-layout-dark .wpst-form-shell{
  --wpst-form-shell-bg:var(--wpst-surface-dark,#0f172a);
  --wpst-form-title:#fff;
  --wpst-form-text:#cbd5e1;
  --wpst-form-shell-border:#1e293b;
  --wpst-form-panel-bg:#111827;
}
@media(max-width:767px){
  .wpst-video-popup-copy{margin:20px;width:calc(100% - 40px)}
  .wpst-video-play{left:20px;top:20px}
  .wpst-expert-profile{gap:20px}
  .wpst-form-shell-form{padding:18px}
  .wpst-form-shell-position-left .wpst-form-shell-copy,.wpst-form-shell-position-left .wpst-form-shell-form{order:initial}
}


/* ==========================================================
   v3.3 · Widget Quality Pass 3
   Countdown / Story Cards / Feature Mosaic / Hero Bento / Hero Industry
   ========================================================== */

/* Countdown Modern 2.0 */
.wpst-ew-countdown-modern{
  padding:clamp(24px,4vw,44px);
  border:1px solid var(--wpst-countdown-border,var(--wpst-border,#e2e8f0));
  border-radius:var(--wpst-countdown-radius,26px);
  background:var(--wpst-countdown-surface,var(--wpst-surface,#fff));
  box-shadow:0 16px 42px rgba(15,23,42,.055);
}
.wpst-ew-countdown-modern>small{display:block;color:var(--wpst-countdown-eyebrow,var(--wpst-primary,#2563eb));font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.wpst-ew-countdown-modern>h3{margin:10px 0 24px;color:var(--wpst-countdown-title,var(--wpst-heading,#0f172a));font-size:clamp(26px,4vw,46px);line-height:1.05;letter-spacing:-.035em}
.wpst-countdown-cells{display:grid;gap:var(--wpst-countdown-gap,12px)}
.wpst-countdown-cells>b{
  display:grid;place-items:center;gap:5px;
  min-height:126px;
  padding:18px 12px;
  border:1px solid var(--wpst-countdown-cell-border,var(--wpst-border,#e2e8f0));
  border-radius:var(--wpst-countdown-cell-radius,18px);
  background:var(--wpst-countdown-cell,var(--wpst-soft,#f8fafc));
}
.wpst-countdown-cells strong{color:var(--wpst-countdown-number,var(--wpst-heading,#0f172a));font-size:48px;line-height:1;font-variant-numeric:tabular-nums}
.wpst-countdown-cells span{color:var(--wpst-countdown-label,var(--wpst-muted,#64748b));font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.wpst-countdown-layout-minimal .wpst-ew-countdown-modern{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.wpst-countdown-layout-minimal .wpst-countdown-cells>b{border-width:0 0 2px;border-radius:0;background:transparent}
.wpst-countdown-layout-glass .wpst-ew-countdown-modern{background:color-mix(in srgb,var(--wpst-surface,#fff) 72%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.wpst-countdown-layout-dark .wpst-ew-countdown-modern{--wpst-countdown-surface:var(--wpst-surface-dark,#0f172a);--wpst-countdown-title:#fff;--wpst-countdown-number:#fff;--wpst-countdown-label:#94a3b8;--wpst-countdown-cell:#111827;--wpst-countdown-cell-border:#253047}

/* Story Cards 2.0 */
.wpst-story-cards{gap:var(--wpst-story-gap,18px)}
.wpst-story-card{
  display:flex;flex-direction:column;
  overflow:hidden;
  min-width:0;
  border:1px solid var(--wpst-story-border,var(--wpst-border,#e2e8f0));
  border-radius:var(--wpst-story-radius,22px);
  background:var(--wpst-story-surface,var(--wpst-surface,#fff));
  color:inherit;text-decoration:none;
  box-shadow:0 10px 30px rgba(15,23,42,.045);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.wpst-story-card:hover{border-color:var(--wpst-story-hover-border,color-mix(in srgb,var(--wpst-primary,#2563eb) 35%,var(--wpst-story-border,var(--wpst-border,#e2e8f0))));box-shadow:0 18px 44px rgba(15,23,42,.09)}
.wpst-story-motion-lift .wpst-story-card:hover{transform:translateY(-4px)}
.wpst-story-motion-scale .wpst-story-card:hover{transform:scale(1.015)}
.wpst-story-media{height:var(--wpst-media-height,240px);overflow:hidden;background:var(--wpst-soft,#f8fafc)}
.wpst-story-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.wpst-story-card:hover .wpst-story-media img{transform:scale(1.035)}
.wpst-story-copy{position:relative;display:flex;flex-direction:column;flex:1;padding:24px}
.wpst-story-copy>span{color:var(--wpst-story-eyebrow,var(--wpst-primary,#2563eb));font-size:10px;font-weight:900;letter-spacing:.12em}
.wpst-story-copy h3{margin:10px 0 8px;color:var(--wpst-story-title,var(--wpst-heading,#0f172a));font-size:clamp(22px,2.4vw,32px);line-height:1.08;letter-spacing:-.025em}
.wpst-story-copy p{margin:0;color:var(--wpst-story-text,var(--wpst-muted,#64748b));line-height:1.65}
.wpst-story-copy i{display:grid;place-items:center;width:34px;height:34px;margin-top:20px;border-radius:999px;color:var(--wpst-story-arrow,var(--wpst-primary,#2563eb));background:color-mix(in srgb,var(--wpst-primary,#2563eb) 8%,var(--wpst-surface,#fff));font-style:normal}
.wpst-story-copy i svg{stroke:currentColor}
.wpst-story-layout-horizontal .wpst-story-card{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr)}
.wpst-story-layout-horizontal .wpst-story-media{height:100%;min-height:200px}
.wpst-story-layout-steps .wpst-story-media{display:none}
.wpst-story-layout-steps .wpst-story-copy>span{font-size:30px;letter-spacing:-.04em;color:color-mix(in srgb,var(--wpst-primary,#2563eb) 38%,var(--wpst-heading,#0f172a))}

/* Feature Mosaic 2.0 */
.wpst-ew-feature-mosaic{gap:var(--wpst-fm-gap,18px);padding:clamp(18px,3vw,28px);border:1px solid var(--wpst-fm-border,var(--wpst-border,#e2e8f0));border-radius:var(--wpst-fm-radius,24px);background:var(--wpst-fm-surface,var(--wpst-surface,#fff))}
.wpst-fm-main{overflow:hidden;border-radius:calc(var(--wpst-fm-radius,24px) - 6px)}
.wpst-fm-main h2{margin:0 0 18px;color:var(--wpst-fm-title,var(--wpst-heading,#0f172a));font-size:clamp(32px,5vw,58px);line-height:1;letter-spacing:-.045em}
.wpst-fm-main img{width:100%;height:var(--wpst-fm-media-height,420px);object-fit:cover;border-radius:inherit}
.wpst-fm-cards{display:grid;gap:var(--wpst-fm-gap,18px)}
.wpst-fm-cards article{position:relative;border:1px solid var(--wpst-fm-border,var(--wpst-border,#e2e8f0));border-radius:calc(var(--wpst-fm-radius,24px) - 4px);background:var(--wpst-fm-card,var(--wpst-soft,#f8fafc));transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.wpst-fm-cards article:hover{transform:translateY(-3px);border-color:var(--wpst-fm-hover-border,color-mix(in srgb,var(--wpst-primary,#2563eb) 34%,var(--wpst-fm-border,var(--wpst-border,#e2e8f0))));box-shadow:0 16px 36px rgba(15,23,42,.075)}
.wpst-feature-mosaic-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:13px;color:var(--wpst-fm-icon,var(--wpst-primary,#2563eb));background:var(--wpst-fm-icon-bg,color-mix(in srgb,var(--wpst-primary,#2563eb) 9%,var(--wpst-surface,#fff)))}
.wpst-feature-mosaic-icon svg{stroke:currentColor}
.wpst-fm-cards h3{margin:0 0 8px;color:var(--wpst-fm-card-title,var(--wpst-heading,#0f172a))}
.wpst-fm-cards p{margin:0;color:var(--wpst-fm-text,var(--wpst-muted,#64748b));line-height:1.6}
.wpst-mosaic-layout-balanced .wpst-ew-feature-mosaic{grid-template-columns:1fr 1fr}
.wpst-mosaic-layout-media-left .wpst-fm-main{order:1}.wpst-mosaic-layout-media-left .wpst-fm-cards{order:2}
.wpst-mosaic-layout-compact .wpst-fm-main img{display:none}

/* Hero Bento 2.0 */
.wpst-ew-hero-bento{
  border:1px solid var(--wpst-hb-border,var(--wpst-border,#e2e8f0));
  border-radius:var(--wpst-hb-radius,30px);
  background:var(--wpst-hb-bg,var(--wpst-soft,#f8fafc));
}
.wpst-hb-main{background:var(--wpst-hb-main-bg,transparent)}
.wpst-hb-main>small{color:var(--wpst-hb-eyebrow,var(--wpst-primary,#2563eb))}
.wpst-hb-main h1{color:var(--wpst-hb-title,var(--wpst-heading,#0f172a))}
.wpst-hb-main p{color:var(--wpst-hb-text,var(--wpst-muted,#64748b))}
.wpst-hb-stat{background:var(--wpst-hb-stat-bg,color-mix(in srgb,var(--wpst-surface,#fff) 86%,transparent))}
.wpst-hb-note{background:var(--wpst-hb-note-bg,color-mix(in srgb,var(--wpst-surface,#fff) 86%,transparent))}
.wpst-hb-stat b{color:var(--wpst-heading,#0f172a)}
.wpst-hb-note b{color:var(--wpst-heading,#0f172a)}
.wpst-hb-image img{transition:transform .5s ease}.wpst-ew-hero-bento:hover .wpst-hb-image img{transform:scale(1.02)}

/* Hero Industry 2.0 */
.wpst-ew-hero-industry{
  border:1px solid var(--wpst-hi-border,color-mix(in srgb,var(--wpst-border,#e2e8f0) 18%,transparent));
  border-radius:var(--wpst-hi-radius,30px);
  background:var(--wpst-hi-bg,#0b1120);
}
.wpst-hi-copy small{color:var(--wpst-hi-eyebrow,#60a5fa)}
.wpst-hi-copy h1{color:var(--wpst-hi-title,#fff)}
.wpst-hi-copy p{color:var(--wpst-hi-text,#94a3b8)}
.wpst-hi-metrics div{border-color:var(--wpst-hi-metric-border,#273247)}
.wpst-hi-metrics b{color:var(--wpst-hi-metric-value,#fff)}
.wpst-hi-metrics span{color:var(--wpst-hi-metric-label,#64748b)}
.wpst-hi-media>span{background:var(--wpst-hi-badge-bg,rgba(2,6,23,.75));color:var(--wpst-hi-badge-color,#fff)}
.wpst-hi-media img{transition:transform .5s ease}.wpst-ew-hero-industry:hover .wpst-hi-media img{transform:scale(1.018)}

@media(max-width:767px){
 .wpst-story-layout-horizontal .wpst-story-card{grid-template-columns:1fr}
 .wpst-story-layout-horizontal .wpst-story-media{height:var(--wpst-media-height,220px)}
 .wpst-mosaic-layout-balanced .wpst-ew-feature-mosaic{grid-template-columns:1fr}
 .wpst-ew-countdown-modern{padding:22px}
}


/* ==========================================================
   v3.3 · Remaining Widget Quality Pass
   Critical no-style widgets: Hero Medical / Team Carousel Pro /
   Content Slider
   ========================================================== */

/* Hero Medical 2.0 */
.wpst-ew-hero-medical{
  border:1px solid var(--wpst-hm-border,color-mix(in srgb,var(--wpst-border,#e2e8f0) 55%,transparent));
  border-radius:var(--wpst-hm-radius,30px);
  background:var(--wpst-hm-bg,linear-gradient(135deg,#ecfeff,#eff6ff));
}
.wpst-hm-copy small{color:var(--wpst-hm-eyebrow,var(--wpst-primary,#0891b2))}
.wpst-hm-copy h1{color:var(--wpst-hm-title,var(--wpst-heading,#0f172a))}
.wpst-hm-copy p{color:var(--wpst-hm-text,var(--wpst-muted,#64748b))}
.wpst-hm-trust span{
  color:var(--wpst-hm-trust-color,#0f766e);
  background:var(--wpst-hm-trust-bg,var(--wpst-surface,#fff));
  border:1px solid color-mix(in srgb,var(--wpst-hm-trust-color,#0f766e) 12%,transparent);
}
.wpst-hm-media i{
  background:var(--wpst-hm-accent,var(--wpst-primary,#0891b2));
  box-shadow:0 16px 38px color-mix(in srgb,var(--wpst-hm-accent,var(--wpst-primary,#0891b2)) 24%,transparent);
}
.wpst-hm-media img{transition:transform .5s ease}
.wpst-ew-hero-medical:hover .wpst-hm-media img{transform:scale(1.018)}

/* Team Carousel Pro 2.0 */
.wpst-team-pro{gap:var(--wpst-team-gap,18px)}
.wpst-team-pro article{
  overflow:hidden;
  border:1px solid var(--wpst-team-border,var(--wpst-border,#e2e8f0));
  border-radius:var(--wpst-team-radius,22px);
  background:var(--wpst-team-surface,var(--wpst-surface,#fff));
  box-shadow:0 10px 30px rgba(15,23,42,.045);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.wpst-team-pro article:hover{
  border-color:var(--wpst-team-hover-border,color-mix(in srgb,var(--wpst-primary,#2563eb) 34%,var(--wpst-team-border,var(--wpst-border,#e2e8f0))));
  box-shadow:0 18px 44px rgba(15,23,42,.09);
}
.wpst-team-pro article>img,.wpst-team-ph{
  width:100%;
  height:var(--wpst-team-image-h,360px);
  object-fit:cover;
  background:var(--wpst-soft,#f8fafc);
  transition:transform .45s ease;
}
.wpst-team-pro h3{margin:18px 18px 4px;color:var(--wpst-team-name,var(--wpst-heading,#0f172a))}
.wpst-team-pro article>span{display:block;margin:0 18px 20px;color:var(--wpst-team-role,var(--wpst-muted,#64748b))}
.wpst-team-motion-lift .wpst-team-pro article:hover{transform:translateY(-4px)}
.wpst-team-motion-image .wpst-team-pro article:hover>img{transform:scale(1.035)}
.wpst-team-carousel-nav button{
  color:var(--wpst-team-nav-color,var(--wpst-heading,#0f172a));
  background:var(--wpst-team-nav-bg,var(--wpst-surface,#fff));
  border-color:var(--wpst-border,#e2e8f0);
}
.wpst-team-carousel-nav button svg{stroke:currentColor}
.wpst-team-layout-compact .wpst-team-pro article>img,.wpst-team-layout-compact .wpst-team-ph{height:min(var(--wpst-team-image-h,300px),260px)}
.wpst-team-layout-editorial .wpst-team-pro article:nth-child(even){margin-top:28px}
.wpst-team-layout-spotlight .wpst-team-pro article:first-child{grid-column:span 2}
.wpst-team-layout-strip .wpst-team-pro article{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center}
.wpst-team-layout-strip .wpst-team-pro article>img,.wpst-team-layout-strip .wpst-team-ph{height:120px}
.wpst-team-layout-strip .wpst-team-pro h3{margin:0 16px 4px}.wpst-team-layout-strip .wpst-team-pro article>span{margin:0 16px}

/* Content Slider 2.1 */
.wpst-content-slider{
  overflow:hidden;
  border:1px solid var(--wpst-cs-border,var(--wpst-border,#e2e8f0));
  border-radius:var(--wpst-cs-radius,28px);
  background:var(--wpst-cs-surface,var(--wpst-surface,#fff));
  box-shadow:0 18px 50px rgba(15,23,42,.06);
}
.wpst-content-slide{gap:var(--wpst-responsive-gap,clamp(24px,4vw,56px))}
.wpst-content-slide-copy small{color:var(--wpst-cs-eyebrow,var(--wpst-primary,#2563eb))}
.wpst-content-slide-copy h3{color:var(--wpst-cs-title,var(--wpst-heading,#0f172a))}
.wpst-content-slide-copy p{color:var(--wpst-cs-text,var(--wpst-muted,#64748b))}
.wpst-content-slide-copy>a{color:var(--wpst-local-button-color,var(--wpst-button-text,#fff));background:var(--wpst-local-button-bg,var(--wpst-button-bg,#2563eb))}
.wpst-content-slider-nav button{
  color:var(--wpst-cs-nav-color,var(--wpst-heading,#0f172a));
  background:var(--wpst-cs-nav-bg,var(--wpst-surface,#fff));
  border-color:var(--wpst-border,#e2e8f0);
}
.wpst-content-slider-nav button svg{stroke:currentColor}
.wpst-content-slider-dots button{background:color-mix(in srgb,var(--wpst-cs-nav-color,var(--wpst-heading,#0f172a)) 20%,transparent)}
.wpst-content-slider-dots button.is-active{background:var(--wpst-primary,#2563eb)}
.wpst-content-slide-media img{transition:transform .55s ease}
.wpst-content-slide.is-active .wpst-content-slide-media img{transform:scale(1.012)}
.wpst-content-slider-style-dark .wpst-content-slider{
  --wpst-cs-surface:var(--wpst-surface-dark,#0f172a);
  --wpst-cs-title:#fff;
  --wpst-cs-text:#cbd5e1;
  --wpst-cs-border:#263246;
  --wpst-cs-nav-bg:#111827;
  --wpst-cs-nav-color:#fff;
}
.wpst-content-slider-style-soft .wpst-content-slider{--wpst-cs-surface:var(--wpst-soft,#f8fafc)}
.wpst-content-slider-style-editorial .wpst-content-slide-copy h3{font-size:clamp(40px,6vw,76px);max-width:12ch}
@media(max-width:767px){
 .wpst-team-layout-editorial .wpst-team-pro article:nth-child(even){margin-top:0}
 .wpst-team-layout-spotlight .wpst-team-pro article:first-child{grid-column:auto}
 .wpst-team-layout-strip .wpst-team-pro article{grid-template-columns:90px minmax(0,1fr)}
}


/* ==========================================================
   v3.3 · Portfolio 2.0 Layout / Media Fix
   - Responsive image height
   - Real grid/card spacing
   - Distinct layout compositions
   - Local Style & Typography remains authoritative
   ========================================================== */
.elementor-widget-wpsoft-portfolio .wpst-ew-portfolio{
  --wpst-portfolio-cols:3;
  --wpst-portfolio-gap:20px;
  --wpst-portfolio-media-height:300px;
  --wpst-portfolio-media-radius:20px;
  --wpst-portfolio-card-radius:22px;
  --wpst-portfolio-card-bg:transparent;
  --wpst-portfolio-card-border:transparent;
  --wpst-portfolio-media-bg:var(--wpst-soft,#eef2f7);
  --wpst-portfolio-card-pt:0px;
  --wpst-portfolio-card-pr:0px;
  --wpst-portfolio-card-pb:0px;
  --wpst-portfolio-card-pl:0px;
  --wpst-portfolio-copy-pt:16px;
  --wpst-portfolio-copy-pr:4px;
  --wpst-portfolio-copy-pb:4px;
  --wpst-portfolio-copy-pl:4px;
  display:grid;
  grid-template-columns:repeat(var(--wpst-portfolio-cols),minmax(0,1fr))!important;
  gap:var(--wpst-portfolio-gap,var(--wpst-preset-gap,20px))!important;
  align-items:start;
}

.elementor-widget-wpsoft-portfolio .wpst-portfolio-item{
  position:relative;
  display:block;
  min-width:0;
  overflow:hidden;
  padding:
    var(--wpst-portfolio-card-pt)
    var(--wpst-portfolio-card-pr)
    var(--wpst-portfolio-card-pb)
    var(--wpst-portfolio-card-pl);
  border:1px solid var(--wpst-portfolio-card-border,transparent);
  border-radius:var(--wpst-portfolio-card-radius,22px);
  background:var(--wpst-portfolio-card-bg,transparent);
  color:inherit;
  text-decoration:none;
  box-sizing:border-box;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;
}

.elementor-widget-wpsoft-portfolio .wpst-ew-project-media{
  position:relative;
  width:100%;
  height:var(--wpst-portfolio-media-height,300px);
  min-height:0;
  aspect-ratio:auto;
  overflow:hidden;
  border-radius:var(--wpst-portfolio-media-radius,20px);
  background:var(--wpst-portfolio-media-bg,var(--wpst-soft,#eef2f7));
}

.elementor-widget-wpsoft-portfolio .wpst-ew-project-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.elementor-widget-wpsoft-portfolio .wpst-portfolio-copy{
  min-width:0;
  padding:
    var(--wpst-portfolio-copy-pt)
    var(--wpst-portfolio-copy-pr)
    var(--wpst-portfolio-copy-pb)
    var(--wpst-portfolio-copy-pl);
}

.elementor-widget-wpsoft-portfolio .wpst-portfolio-copy small{
  display:block;
  margin:0 0 6px;
  color:var(--portfolio-accent,var(--wpst-primary,#2563eb));
}

.elementor-widget-wpsoft-portfolio .wpst-portfolio-copy h3{
  margin:0;
  color:var(--wpst-local-heading,var(--wpst-heading,#0f172a));
}

.elementor-widget-wpsoft-portfolio .wpst-project-action{
  z-index:3;
}
.elementor-widget-wpsoft-portfolio .wpst-project-action svg{
  stroke:currentColor;
}

/* Ratio presets. When a ratio is selected it intentionally overrides
   the manual height; "Yüksekliği Kullan" keeps responsive height active. */
.elementor-widget-wpsoft-portfolio.wpst-portfolio-ratio-1-1 .wpst-ew-project-media{
  height:auto!important;aspect-ratio:1/1!important;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-ratio-4-3 .wpst-ew-project-media{
  height:auto!important;aspect-ratio:4/3!important;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-ratio-3-2 .wpst-ew-project-media{
  height:auto!important;aspect-ratio:3/2!important;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-ratio-16-9 .wpst-ew-project-media{
  height:auto!important;aspect-ratio:16/9!important;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-ratio-4-5 .wpst-ew-project-media{
  height:auto!important;aspect-ratio:4/5!important;
}

/* Card surface presets */
.elementor-widget-wpsoft-portfolio.wpst-portfolio-card-card .wpst-portfolio-item{
  --wpst-portfolio-card-bg:var(--wpst-surface,#fff);
  --wpst-portfolio-card-border:var(--wpst-border,#e2e8f0);
  box-shadow:0 12px 34px rgba(15,23,42,.055);
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-card-card .wpst-portfolio-copy,
.elementor-widget-wpsoft-portfolio.wpst-portfolio-card-soft .wpst-portfolio-copy,
.elementor-widget-wpsoft-portfolio.wpst-portfolio-card-outline .wpst-portfolio-copy{
  padding-left:max(var(--wpst-portfolio-copy-pl),18px);
  padding-right:max(var(--wpst-portfolio-copy-pr),18px);
  padding-bottom:max(var(--wpst-portfolio-copy-pb),18px);
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-card-soft .wpst-portfolio-item{
  --wpst-portfolio-card-bg:var(--wpst-soft,#f8fafc);
  --wpst-portfolio-card-border:transparent;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-card-outline .wpst-portfolio-item{
  --wpst-portfolio-card-bg:transparent;
  --wpst-portfolio-card-border:var(--wpst-border,#e2e8f0);
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-card-minimal .wpst-portfolio-item{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

/* GRID — clean equal cards, explicit gap and no inherited fake padding */
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-grid .wpst-ew-portfolio{
  grid-template-columns:repeat(var(--wpst-portfolio-cols),minmax(0,1fr))!important;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-grid .wpst-portfolio-item{
  width:100%;
}

/* EDITORIAL — larger lead project + supporting cards */
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-editorial .wpst-ew-portfolio{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-editorial .wpst-portfolio-item:nth-child(3n+1){
  grid-column:1 / -1;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-editorial .wpst-portfolio-item:nth-child(3n+1) .wpst-ew-project-media{
  height:calc(var(--wpst-portfolio-media-height,300px) * 1.28);
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-editorial.wpst-portfolio-ratio-1-1 .wpst-portfolio-item:nth-child(3n+1) .wpst-ew-project-media,
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-editorial.wpst-portfolio-ratio-4-3 .wpst-portfolio-item:nth-child(3n+1) .wpst-ew-project-media,
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-editorial.wpst-portfolio-ratio-3-2 .wpst-portfolio-item:nth-child(3n+1) .wpst-ew-project-media,
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-editorial.wpst-portfolio-ratio-16-9 .wpst-portfolio-item:nth-child(3n+1) .wpst-ew-project-media,
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-editorial.wpst-portfolio-ratio-4-5 .wpst-portfolio-item:nth-child(3n+1) .wpst-ew-project-media{
  height:auto!important;
}

/* MASONRY RHYTHM — varied heights without breaking grid spacing */
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-masonry .wpst-ew-portfolio{
  grid-template-columns:repeat(var(--wpst-portfolio-cols),minmax(0,1fr))!important;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-masonry.wpst-portfolio-ratio-auto .wpst-portfolio-item:nth-child(3n+2) .wpst-ew-project-media{
  height:calc(var(--wpst-portfolio-media-height,300px) * 1.22);
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-masonry.wpst-portfolio-ratio-auto .wpst-portfolio-item:nth-child(4n) .wpst-ew-project-media{
  height:calc(var(--wpst-portfolio-media-height,300px) * .84);
}

/* CINEMATIC — image height becomes the complete case height */
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-cinematic .wpst-ew-portfolio{
  grid-template-columns:minmax(0,1fr)!important;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-cinematic .wpst-portfolio-item{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:380px;
  height:var(--wpst-portfolio-media-height,560px);
  padding:clamp(24px,4vw,42px);
  border-radius:var(--wpst-portfolio-card-radius,28px);
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-cinematic .wpst-ew-project-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%!important;
  aspect-ratio:auto!important;
  border-radius:inherit;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-cinematic .wpst-ew-project-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(2,6,23,.84),rgba(2,6,23,.04) 68%);
  opacity:1;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-cinematic .wpst-portfolio-copy{
  position:relative;
  z-index:2;
  padding:0;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-cinematic .wpst-portfolio-copy small{
  margin:0 0 8px;
  color:color-mix(in srgb,var(--portfolio-accent,var(--wpst-primary,#60a5fa)) 78%,#fff);
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-cinematic .wpst-portfolio-copy h3{
  color:#fff;
  font-size:clamp(32px,4vw,58px);
  max-width:18ch;
}

/* PROJECT INDEX — compact, readable, no grid/card padding collision */
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-index .wpst-ew-portfolio{
  display:block!important;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-index .wpst-portfolio-item{
  display:grid;
  grid-template-columns:90px minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  padding:16px 0;
  border:0;
  border-bottom:1px solid var(--wpst-local-border,var(--wpst-border,#e2e8f0));
  border-radius:0;
  background:transparent;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-index .wpst-ew-project-media{
  position:relative;
  width:90px;
  height:68px!important;
  min-height:0;
  aspect-ratio:auto!important;
  border-radius:12px;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-index .wpst-portfolio-copy{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:0;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-index .wpst-portfolio-copy h3{
  grid-column:1;
  grid-row:1;
  font-size:clamp(21px,2.5vw,34px);
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-index .wpst-portfolio-copy small{
  grid-column:2;
  grid-row:1;
  margin:0;
  white-space:nowrap;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-index .wpst-project-action{
  position:static;
  width:38px;
  height:38px;
  opacity:1;
  transform:none;
}

/* ASYMMETRIC TILES */
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-tiles .wpst-ew-portfolio{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:var(--wpst-portfolio-gap,18px)!important;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-tiles .wpst-portfolio-item{
  grid-column:span 5;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-tiles .wpst-portfolio-item:nth-child(3n+1){
  grid-column:span 7;
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-tiles.wpst-portfolio-ratio-auto .wpst-ew-project-media{
  height:var(--wpst-portfolio-media-height,360px);
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-style-tiles.wpst-portfolio-ratio-auto .wpst-portfolio-item:nth-child(3n+1) .wpst-ew-project-media{
  height:calc(var(--wpst-portfolio-media-height,360px) * 1.12);
}

/* Hover */
.elementor-widget-wpsoft-portfolio.wpst-portfolio-hover-border .wpst-portfolio-item:hover{
  border-color:var(--portfolio-accent,var(--wpst-primary,#2563eb));
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-hover-lift .wpst-portfolio-item:hover{
  transform:translateY(-5px);
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-hover-zoom .wpst-portfolio-item:hover img{
  transform:scale(1.045);
}
.elementor-widget-wpsoft-portfolio.wpst-portfolio-hover-overlay .wpst-portfolio-item:hover .wpst-ew-project-media:after{
  opacity:1;
}

/* Tablet */
@media(max-width:1024px){
  .elementor-widget-wpsoft-portfolio .wpst-ew-portfolio{
    --wpst-portfolio-cols:2;
  }
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-tiles .wpst-ew-portfolio{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-tiles .wpst-portfolio-item,
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-tiles .wpst-portfolio-item:nth-child(3n+1){
    grid-column:auto;
  }
}

/* Mobile */
@media(max-width:767px){
  .elementor-widget-wpsoft-portfolio .wpst-ew-portfolio{
    grid-template-columns:minmax(0,1fr)!important;
    --wpst-portfolio-cols:1;
  }
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-editorial .wpst-portfolio-item:nth-child(3n+1){
    grid-column:auto;
  }
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-editorial .wpst-portfolio-item:nth-child(3n+1) .wpst-ew-project-media{
    height:var(--wpst-portfolio-media-height,240px);
  }
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-cinematic .wpst-portfolio-item{
    height:var(--wpst-portfolio-media-height,430px);
    min-height:340px;
    padding:24px 20px;
  }
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-index .wpst-portfolio-item{
    grid-template-columns:72px minmax(0,1fr) 38px;
    gap:12px;
    padding:14px 0;
  }
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-index .wpst-ew-project-media{
    width:72px;
    height:62px!important;
  }
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-index .wpst-portfolio-copy{
    display:block;
  }
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-index .wpst-portfolio-copy small{
    margin:4px 0 0;
    white-space:normal;
  }
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-tiles .wpst-ew-portfolio{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-tiles .wpst-portfolio-item,
  .elementor-widget-wpsoft-portfolio.wpst-portfolio-style-tiles .wpst-portfolio-item:nth-child(3n+1){
    grid-column:auto;
  }
}


/* Link Grid 2.0 · Per item icon source / size */
.wpst-link-grid .wpst-link-icon{
  --wpst-link-item-icon-size:20px;
}
.wpst-link-grid .wpst-link-icon svg,
.wpst-link-grid .wpst-link-icon .elementor-icon,
.wpst-link-grid .wpst-link-icon i{
  width:var(--wpst-link-item-icon-size)!important;
  height:var(--wpst-link-item-icon-size)!important;
  font-size:var(--wpst-link-item-icon-size)!important;
  line-height:1!important;
  flex:0 0 auto;
}
.wpst-link-grid .wpst-link-icon .wpst-link-custom-svg,
.wpst-link-grid .wpst-link-icon .wpst-link-inline-svg,
.wpst-link-grid .wpst-link-icon .wpst-link-inline-svg svg{
  display:block;
  width:var(--wpst-link-item-icon-size)!important;
  height:var(--wpst-link-item-icon-size)!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain;
}
.wpst-link-grid .wpst-link-icon .wpst-link-inline-svg{
  color:inherit;
}
.wpst-link-grid .wpst-link-icon .wpst-link-inline-svg svg{
  color:inherit;
}


/* Footer Social 2.0 · official platform color system */
.wpst-ew-footer-social .wpst-social-link{
  --wpst-social-brand:var(--wpst-footer-social-color,#475569);
  position:relative;
  overflow:hidden;
}
.wpst-ew-footer-social .wpst-social-link .wpst-social-icon{
  color:var(--wpst-social-brand);
  border-color:color-mix(in srgb,var(--wpst-social-brand) 26%,transparent);
  background:color-mix(in srgb,var(--wpst-social-brand) 9%,transparent);
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.wpst-ew-footer-social .wpst-social-link .wpst-social-icon svg{
  fill:currentColor;
  stroke:currentColor;
}
.wpst-ew-footer-social .wpst-social-link .wpst-social-icon svg path[fill="none"],
.wpst-ew-footer-social .wpst-social-link .wpst-social-icon svg circle[fill="none"],
.wpst-ew-footer-social .wpst-social-link .wpst-social-icon svg rect[fill="none"]{
  fill:none;
}
.wpst-footer-social-brand-yes .wpst-ew-footer-social .wpst-social-link{
  color:var(--wpst-social-brand)!important;
}
.wpst-footer-social-brand-yes .wpst-ew-footer-social .wpst-social-link:hover,
.wpst-footer-social-brand-yes .wpst-ew-footer-social .wpst-social-link:focus-visible{
  color:#fff!important;
  background:var(--wpst-social-brand)!important;
  border-color:var(--wpst-social-brand)!important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--wpst-social-brand) 25%,transparent);
}
.wpst-footer-social-brand-yes .wpst-ew-footer-social .wpst-social-link:hover .wpst-social-icon,
.wpst-footer-social-brand-yes .wpst-ew-footer-social .wpst-social-link:focus-visible .wpst-social-icon{
  color:var(--wpst-social-brand)!important;
  background:#fff!important;
  border-color:#fff!important;
}
.wpst-footer-social-brand-yes .wpst-ew-footer-social .wpst-social-link:active{
  transform:translateY(0) scale(.97);
}
.wpst-footer-social-brand-yes .wpst-ew-footer-social .wpst-social-instagram:hover,
.wpst-footer-social-brand-yes .wpst-ew-footer-social .wpst-social-instagram:focus-visible{
  background:linear-gradient(135deg,#833AB4 0%,#E1306C 48%,#F77737 100%)!important;
  border-color:#E1306C!important;
}
.wpst-footer-social-brand-yes .wpst-ew-footer-social .wpst-social-tiktok:hover,
.wpst-footer-social-brand-yes .wpst-ew-footer-social .wpst-social-tiktok:focus-visible{
  box-shadow:6px 6px 0 rgba(37,244,238,.16),-6px -6px 0 rgba(254,44,85,.12);
}
.wpst-footer-social-style-icons .wpst-ew-footer-social .wpst-social-link>span{display:none!important}
.wpst-footer-social-style-icons .wpst-ew-footer-social .wpst-social-link{padding-inline:0!important}


/* Footer Social 2.0 · transparent icon surface + Instagram visibility fix */
.wpst-ew-footer-social .wpst-social-link .wpst-social-icon{
  background:transparent!important;
  background-color:transparent!important;
}
.wpst-ew-footer-social .wpst-social-link .wpst-social-icon svg{
  color:currentColor;
}
.wpst-ew-footer-social .wpst-social-instagram .wpst-social-icon svg{
  fill:none!important;
  stroke:currentColor!important;
}
.wpst-ew-footer-social .wpst-social-instagram .wpst-social-icon svg rect,
.wpst-ew-footer-social .wpst-social-instagram .wpst-social-icon svg circle{
  fill:none;
  stroke:currentColor;
}
.wpst-ew-footer-social .wpst-social-instagram .wpst-social-icon svg circle:last-child{
  fill:currentColor!important;
  stroke:none!important;
}

/* Hover/focus keeps icon box transparent. Only link surface uses brand color. */
.wpst-footer-social-brand-yes .wpst-ew-footer-social .wpst-social-link:hover .wpst-social-icon,
.wpst-footer-social-brand-yes .wpst-ew-footer-social .wpst-social-link:focus-visible .wpst-social-icon{
  background:transparent!important;
  background-color:transparent!important;
  border-color:currentColor!important;
  color:#fff!important;
}

/* Minimal/icons modes must also stay transparent at all times. */
.wpst-footer-social-style-icons .wpst-ew-footer-social .wpst-social-icon,
.wpst-footer-social-style-minimal .wpst-ew-footer-social .wpst-social-icon{
  background:transparent!important;
  background-color:transparent!important;
}


/* Footer Brand 2.0 · modern contact system */
.wpst-ew-footer-brand{
  --wpst-footer-brand-contact-bg:rgba(148,163,184,.08);
  --wpst-footer-brand-contact-border:rgba(148,163,184,.16);
  display:flex;
  flex-direction:column;
  gap:var(--wpst-footer-brand-gap,18px);
}
.wpst-footer-brand-head{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.wpst-footer-brand-contact{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.wpst-footer-contact-link{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:54px;
  padding:9px 13px;
  color:var(--wpst-footer-brand-contact-color,inherit);
  text-decoration:none!important;
  background:var(--wpst-footer-brand-contact-bg);
  border:1px solid var(--wpst-footer-brand-contact-border);
  transition:transform .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.wpst-footer-contact-link:hover{
  color:var(--wpst-footer-brand-contact-hover,var(--footer-brand-accent,#2563eb));
  border-color:color-mix(in srgb,var(--footer-brand-accent,#2563eb) 34%,transparent);
  background:color-mix(in srgb,var(--footer-brand-accent,#2563eb) 7%,transparent);
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.wpst-footer-contact-icon{
  width:34px;
  height:34px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:var(--wpst-footer-brand-icon-color,var(--footer-brand-accent,#2563eb));
  background:var(--wpst-footer-brand-icon-bg,color-mix(in srgb,var(--footer-brand-accent,#2563eb) 10%,transparent));
}
.wpst-footer-contact-icon svg{
  width:16px;
  height:16px;
}
.wpst-footer-contact-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
}
.wpst-footer-contact-label{
  display:block;
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#94a3b8;
}
.wpst-footer-contact-text{
  display:block;
  line-height:1.35;
  font-weight:700;
}

/* Modern preset: premium contact blocks. */
.wpst-footer-brand-style-modern .wpst-footer-brand-contact{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:560px;
}
.wpst-footer-brand-style-modern .wpst-footer-contact-link.is-email{
  grid-column:1/-1;
}

/* Contact Cards: all contact methods as equal cards. */
.wpst-footer-brand-style-contact-cards .wpst-footer-brand-contact{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.wpst-footer-brand-style-contact-cards .wpst-footer-contact-link{
  min-height:72px;
  padding:13px 15px;
}

/* Compact preserves a light one-line character. */
.wpst-footer-brand-style-compact .wpst-footer-contact-link{
  min-height:40px;
  padding:4px 7px;
  border-color:transparent;
  background:transparent;
  box-shadow:none;
}
.wpst-footer-brand-style-compact .wpst-footer-contact-icon{
  width:28px;
  height:28px;
  background:transparent;
}

/* Soft makes the brand/contact group a calm surface. */
.wpst-footer-brand-style-soft .wpst-ew-footer-brand{
  padding:22px;
  border-radius:22px;
  background:rgba(148,163,184,.07);
  border:1px solid rgba(148,163,184,.14);
}

/* Dark preset remains readable on light or dark footer contexts. */
.wpst-footer-brand-style-dark .wpst-footer-contact-link{
  --wpst-footer-brand-contact-bg:rgba(15,23,42,.46);
  --wpst-footer-brand-contact-border:rgba(255,255,255,.10);
}

@media(max-width:767px){
  .wpst-footer-brand-style-modern .wpst-footer-brand-contact,
  .wpst-footer-brand-style-contact-cards .wpst-footer-brand-contact{
    grid-template-columns:1fr;
  }
  .wpst-footer-brand-style-modern .wpst-footer-contact-link.is-email{
    grid-column:auto;
  }
}


/* ==========================================================
   Footer Brand 2.0 · Premium visual refinement
   Cleaner hierarchy, less "boxed", more theme-quality.
   ========================================================== */
.wpst-ew-footer-brand{
  max-width:620px;
}
.wpst-footer-brand-logo{
  display:block;
  height:auto;
  object-fit:contain;
}
.wpst-footer-brand-name{
  display:inline-flex;
  align-items:center;
  font-size:clamp(24px,2.2vw,34px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:750;
}
.wpst-footer-brand-head p{
  margin:0;
  line-height:1.72;
  opacity:.78;
}
.wpst-footer-brand-contact{
  margin-top:4px;
}

/* Signature: contacts behave like refined rows instead of heavy cards. */
.wpst-footer-brand-style-modern .wpst-footer-brand-contact{
  display:flex;
  flex-direction:column!important;
  gap:0!important;
  width:min(100%,520px);
  border-top:1px solid color-mix(in srgb,currentColor 12%,transparent);
}
.wpst-footer-brand-style-modern .wpst-footer-contact-link{
  width:100%;
  min-height:62px;
  padding:10px 2px;
  border:0!important;
  border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.wpst-footer-brand-style-modern .wpst-footer-contact-link:hover{
  padding-left:8px;
  transform:none;
  background:transparent!important;
  border-color:color-mix(in srgb,var(--footer-brand-accent,#2563eb) 30%,transparent)!important;
}
.wpst-footer-brand-style-modern .wpst-footer-contact-icon{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid color-mix(in srgb,var(--footer-brand-accent,#2563eb) 20%,transparent);
  background:color-mix(in srgb,var(--footer-brand-accent,#2563eb) 8%,transparent);
  transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease;
}
.wpst-footer-brand-style-modern .wpst-footer-contact-link:hover .wpst-footer-contact-icon{
  transform:scale(1.06);
  color:#fff;
  border-color:var(--footer-brand-accent,#2563eb);
  background:var(--footer-brand-accent,#2563eb);
}
.wpst-footer-brand-style-modern .wpst-footer-contact-text{
  font-size:15px;
  letter-spacing:-.01em;
}
.wpst-footer-brand-style-modern .wpst-footer-contact-label{
  font-size:9px;
  opacity:.72;
}

/* Contact Cards: premium compact cards, not oversized blocks. */
.wpst-footer-brand-style-contact-cards .wpst-footer-brand-contact{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px!important;
  width:min(100%,600px);
}
.wpst-footer-brand-style-contact-cards .wpst-footer-contact-link{
  min-height:68px;
  padding:12px 14px;
  border-radius:16px;
  background:color-mix(in srgb,currentColor 4%,transparent);
  border:1px solid color-mix(in srgb,currentColor 10%,transparent);
  box-shadow:none;
}
.wpst-footer-brand-style-contact-cards .wpst-footer-contact-link.is-email{
  grid-column:1/-1;
}
.wpst-footer-brand-style-contact-cards .wpst-footer-contact-link:hover{
  transform:translateY(-2px);
  background:color-mix(in srgb,var(--footer-brand-accent,#2563eb) 6%,transparent);
  box-shadow:0 16px 34px rgba(15,23,42,.07);
}
.wpst-footer-brand-style-contact-cards .wpst-footer-contact-icon{
  border-radius:12px;
}

/* Minimal Pro: clean inline footer identity. */
.wpst-footer-brand-style-minimal-pro .wpst-ew-footer-brand{
  gap:14px;
}
.wpst-footer-brand-style-minimal-pro .wpst-footer-brand-contact{
  flex-direction:row!important;
  align-items:center;
  gap:8px 22px!important;
}
.wpst-footer-brand-style-minimal-pro .wpst-footer-contact-link{
  min-height:auto;
  padding:0;
  border:0;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.wpst-footer-brand-style-minimal-pro .wpst-footer-contact-link:hover{
  transform:none;
  background:transparent!important;
}
.wpst-footer-brand-style-minimal-pro .wpst-footer-contact-icon{
  width:26px!important;
  height:26px!important;
  border-radius:8px;
  background:transparent;
}
.wpst-footer-brand-style-minimal-pro .wpst-footer-contact-label{
  display:none;
}

/* Glass: suitable for premium dark/image footers. */
.wpst-footer-brand-style-glass .wpst-ew-footer-brand{
  padding:24px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  box-shadow:0 20px 60px rgba(2,6,23,.10);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.wpst-footer-brand-style-glass .wpst-footer-contact-link{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.10);
}
.wpst-footer-brand-style-glass .wpst-footer-contact-link:hover{
  background:rgba(255,255,255,.10);
}

/* Hide labels without changing layout structure. */
.wpst-footer-brand-labels- .wpst-footer-contact-label{
  display:none;
}

@media(max-width:767px){
  .wpst-footer-brand-style-contact-cards .wpst-footer-brand-contact{
    grid-template-columns:1fr;
  }
  .wpst-footer-brand-style-contact-cards .wpst-footer-contact-link.is-email{
    grid-column:auto;
  }
  .wpst-footer-brand-style-minimal-pro .wpst-footer-brand-contact{
    flex-direction:column!important;
    align-items:stretch;
  }
}


/* ==========================================================
   Footer Brand 2.0 · Control Authority + Premium Layout 3.0
   Elementor controls always win through CSS variables.
   ========================================================== */
.wpst-ew-footer-brand{
  --wpst-footer-brand-contact-direction:column;
  --wpst-footer-brand-contact-gap:10px;
  --wpst-footer-brand-item-gap:12px;
  --wpst-footer-brand-contact-radius:14px;
  --wpst-footer-brand-icon-box:38px;
  --wpst-footer-brand-contact-py:10px;
  --wpst-footer-brand-contact-px:12px;
}

.wpst-ew-footer-brand .wpst-footer-brand-contact,
.wpst-footer-brand-style-modern .wpst-footer-brand-contact,
.wpst-footer-brand-style-contact-cards .wpst-footer-brand-contact,
.wpst-footer-brand-style-minimal-pro .wpst-footer-brand-contact,
.wpst-footer-brand-style-glass .wpst-footer-brand-contact{
  display:flex!important;
  flex-direction:var(--wpst-footer-brand-contact-direction)!important;
  flex-wrap:wrap;
  gap:var(--wpst-footer-brand-contact-gap)!important;
  width:100%;
  max-width:620px;
  border-top:0;
}

.wpst-ew-footer-brand .wpst-footer-contact-link{
  gap:var(--wpst-footer-brand-item-gap)!important;
  padding:var(--wpst-footer-brand-contact-py) var(--wpst-footer-brand-contact-px)!important;
  border-radius:var(--wpst-footer-brand-contact-radius)!important;
}

.wpst-ew-footer-brand .wpst-footer-contact-icon{
  width:var(--wpst-footer-brand-icon-box)!important;
  height:var(--wpst-footer-brand-icon-box)!important;
}

/* Dikey: refined stacked contact rows */
.wpst-ew-footer-brand[style*="--wpst-footer-brand-contact-direction:column"] .wpst-footer-brand-contact{
  align-items:stretch;
}
.wpst-ew-footer-brand[style*="--wpst-footer-brand-contact-direction:column"] .wpst-footer-contact-link{
  width:100%;
}

/* Modern Signature uses subtle elevated rows but never overrides user spacing. */
.wpst-footer-brand-style-modern .wpst-footer-contact-link{
  min-height:58px;
  border:1px solid color-mix(in srgb,currentColor 9%,transparent)!important;
  background:color-mix(in srgb,currentColor 3.5%,transparent)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.035)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,padding .22s ease;
}
.wpst-footer-brand-style-modern .wpst-footer-contact-link:hover{
  transform:translateY(-2px);
  padding-left:calc(var(--wpst-footer-brand-contact-px) + 4px)!important;
  border-color:color-mix(in srgb,var(--footer-brand-accent,#2563eb) 32%,transparent)!important;
  background:color-mix(in srgb,var(--footer-brand-accent,#2563eb) 5%,transparent)!important;
  box-shadow:0 14px 30px rgba(15,23,42,.075)!important;
}
.wpst-footer-brand-style-modern .wpst-footer-contact-icon{
  border-radius:calc(var(--wpst-footer-brand-contact-radius) * .72);
  background:color-mix(in srgb,var(--footer-brand-accent,#2563eb) 9%,transparent);
  border:1px solid color-mix(in srgb,var(--footer-brand-accent,#2563eb) 18%,transparent);
}
.wpst-footer-brand-style-modern .wpst-footer-contact-link:hover .wpst-footer-contact-icon{
  color:#fff;
  background:var(--footer-brand-accent,#2563eb);
  border-color:var(--footer-brand-accent,#2563eb);
}

/* Yatay düzen seçildiğinde her öğe doğal genişliğinde, dengeli pill-card olur. */
.wpst-ew-footer-brand[style*="--wpst-footer-brand-contact-direction:row"] .wpst-footer-brand-contact{
  align-items:stretch;
}
.wpst-ew-footer-brand[style*="--wpst-footer-brand-contact-direction:row"] .wpst-footer-contact-link{
  flex:0 1 auto;
  min-width:190px;
}
.wpst-ew-footer-brand[style*="--wpst-footer-brand-contact-direction:row"] .wpst-footer-contact-link.is-email{
  flex:1 1 230px;
}

/* Contact Cards keeps visual personality while allowing row/column and gaps. */
.wpst-footer-brand-style-contact-cards .wpst-footer-contact-link{
  min-height:72px;
  flex:1 1 220px;
  border:1px solid color-mix(in srgb,currentColor 10%,transparent)!important;
  background:color-mix(in srgb,currentColor 4%,transparent)!important;
}
.wpst-footer-brand-style-contact-cards .wpst-footer-contact-link.is-email{
  grid-column:auto!important;
}

/* Minimal Pro stays lightweight but obeys direction/gap/icon size. */
.wpst-footer-brand-style-minimal-pro .wpst-footer-contact-link{
  min-height:auto;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding-top:max(2px,var(--wpst-footer-brand-contact-py))!important;
  padding-bottom:max(2px,var(--wpst-footer-brand-contact-py))!important;
}
.wpst-footer-brand-style-minimal-pro .wpst-footer-contact-icon{
  background:transparent!important;
  border:0!important;
}

/* Glass retains translucent surface, controls still authoritative. */
.wpst-footer-brand-style-glass .wpst-footer-contact-link{
  border:1px solid rgba(255,255,255,.10)!important;
  background:rgba(255,255,255,.055)!important;
}

/* More refined hierarchy */
.wpst-ew-footer-brand .wpst-footer-contact-copy{
  gap:3px;
}
.wpst-ew-footer-brand .wpst-footer-contact-label{
  font-size:9px;
  letter-spacing:.085em;
  opacity:.68;
}
.wpst-ew-footer-brand .wpst-footer-contact-text{
  font-size:15px;
  font-weight:650;
  letter-spacing:-.012em;
}

@media(max-width:767px){
  .wpst-ew-footer-brand .wpst-footer-brand-contact{
    max-width:100%;
  }
  .wpst-ew-footer-brand[style*="--wpst-footer-brand-contact-direction:row"] .wpst-footer-contact-link{
    min-width:0;
    flex:1 1 100%;
  }
}


/* Portfolio 2.0 · category filters + load more */
.wpst-portfolio-shell{
  width:100%;
}
.wpst-portfolio-filters{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 24px;
}
.wpst-portfolio-filter{
  appearance:none;
  border:1px solid color-mix(in srgb,currentColor 12%,transparent);
  background:transparent;
  color:inherit;
  min-height:40px;
  padding:8px 15px;
  border-radius:999px;
  font:inherit;
  font-size:13px;
  font-weight:650;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.wpst-portfolio-filter:hover{
  border-color:color-mix(in srgb,var(--portfolio-accent,#2563eb) 38%,transparent);
  color:var(--portfolio-accent,#2563eb);
  transform:translateY(-1px);
}
.wpst-portfolio-filter.is-active{
  color:#fff;
  background:var(--portfolio-accent,#2563eb);
  border-color:var(--portfolio-accent,#2563eb);
  box-shadow:0 8px 22px color-mix(in srgb,var(--portfolio-accent,#2563eb) 18%,transparent);
}
.wpst-portfolio-item.is-wpst-portfolio-hidden{
  display:none!important;
}
.wpst-portfolio-more-wrap{
  display:flex;
  justify-content:center;
  margin-top:30px;
}
.wpst-portfolio-more{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:10px 20px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--portfolio-accent,#2563eb) 25%,transparent);
  color:var(--portfolio-accent,#2563eb);
  background:color-mix(in srgb,var(--portfolio-accent,#2563eb) 5%,transparent);
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.wpst-portfolio-more:hover{
  color:#fff;
  background:var(--portfolio-accent,#2563eb);
  transform:translateY(-2px);
  box-shadow:0 12px 26px color-mix(in srgb,var(--portfolio-accent,#2563eb) 20%,transparent);
}
.wpst-portfolio-more span{
  transition:transform .2s ease;
}
.wpst-portfolio-more:hover span{
  transform:translateY(2px);
}
@media(max-width:767px){
  .wpst-portfolio-filters{
    gap:6px;
    margin-bottom:18px;
  }
  .wpst-portfolio-filter{
    min-height:36px;
    padding:7px 12px;
    font-size:12px;
  }
}


/* Video Gallery 2.0 · play control exact media center */
.wpst-video-gallery-pro .wpst-video-poster{
  position:relative;
}
.wpst-video-gallery-pro .wpst-video-poster > .wpst-video-play{
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center center!important;
}
.wpst-video-gallery-pro .wpst-video-card:hover .wpst-video-poster > .wpst-video-play,
.wpst-video-gallery-pro .wpst-video-card:focus-visible .wpst-video-poster > .wpst-video-play{
  transform:translate(-50%,-50%) scale(1.06)!important;
}
@media(max-width:767px){
  .wpst-video-gallery-pro .wpst-video-poster > .wpst-video-play{
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
  }
  .wpst-video-gallery-pro .wpst-video-card:hover .wpst-video-poster > .wpst-video-play,
  .wpst-video-gallery-pro .wpst-video-card:focus-visible .wpst-video-poster > .wpst-video-play{
    transform:translate(-50%,-50%) scale(1.05)!important;
  }
}


/* ==========================================================
   Reveal Cards 2.0 + Icon Grid 2.0 · Local background authority
   Elementor Biçim color is the final local override.
   ========================================================== */
.elementor-widget-wpsoft-reveal-cards .wpst-ew-reveal-cards article{
  background-color:var(--wpst-reveal-card-bg,#fff)!important;
  background-image:none;
}

/* Icon Grid keeps its historical default when no local color is chosen. */
.elementor-widget-wpsoft-icon-grid .wpst-ew-icon-grid article{
  background-color:var(--wpst-icon-grid-card-bg,#fff);
}

/* Minimal layout may be transparent by design, but an explicitly selected
   local card color must win over its historical !important declaration. */
.elementor-widget-wpsoft-icon-grid.wpst-icon-grid-layout-minimal .wpst-ew-icon-grid article{
  background-color:var(--wpst-icon-grid-card-bg,transparent)!important;
}


/* Reveal Cards 2.0 · uploaded PNG/SVG media */
.wpst-reveal-card-media{
  --wpst-reveal-media-size:42px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:var(--wpst-reveal-media-size);
  margin-bottom:18px;
}
.wpst-reveal-card-media .wpst-reveal-card-icon{
  width:var(--wpst-reveal-media-size)!important;
  height:var(--wpst-reveal-media-size)!important;
  margin:0!important;
  flex:0 0 auto;
}
.wpst-reveal-card-media .wpst-reveal-card-icon svg{
  width:calc(var(--wpst-reveal-media-size) * .46)!important;
  height:calc(var(--wpst-reveal-media-size) * .46)!important;
}
.wpst-reveal-card-image,
.wpst-reveal-card-svg{
  display:block;
  width:var(--wpst-reveal-media-size)!important;
  height:var(--wpst-reveal-media-size)!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain;
}
.wpst-reveal-card-svg{
  object-position:left center;
}


/* ==========================================================
   Widget Quality Round · low-control content/card family 1
   ========================================================== */
.wpst-ew-floating-icons article,
.wpst-ew-number-cards article,
.wpst-ew-badge-grid article,
.wpst-ew-contact-cards article{
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background-color .24s ease;
}
.wpst-floating-hover-yes .wpst-ew-floating-icons article:hover,
.wpst-number-hover-yes .wpst-ew-number-cards article:hover,
.wpst-badge-hover-yes .wpst-ew-badge-grid article:hover,
.wpst-contact-hover-yes .wpst-ew-contact-cards article:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(15,23,42,.08);
}
.wpst-floating-icons-layout-grid .wpst-ew-floating-icons{display:grid!important}
.wpst-floating-icons-layout-compact .wpst-ew-floating-icons article{padding-block:14px!important}
.wpst-number-cards-layout-minimal .wpst-ew-number-cards article{background:transparent!important;box-shadow:none!important;border-width:0 0 1px!important;border-radius:0!important}
.wpst-number-cards-layout-accent .wpst-ew-number-cards article>span{color:var(--wpst-primary,#2563eb)}
.wpst-contact-native-icon{display:grid;place-items:center;flex:0 0 auto}
.wpst-ew-contact-cards article{min-width:0}
.wpst-ew-contact-cards a{min-width:0}
.wpst-ew-faq details{transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}
.wpst-ew-faq details[open]{border-color:color-mix(in srgb,var(--faq-accent,#2563eb) 28%,transparent);box-shadow:0 10px 26px rgba(15,23,42,.045)}
.wpst-ew-faq summary{cursor:pointer}
.wpst-ew-big-quote{border:1px solid transparent}
.wpst-ew-big-quote footer{align-items:center}
.wpst-ew-marquee-text{border:1px solid transparent;overflow:hidden}
.wpst-logo-hover-full-yes .wpst-ew-logo-cloud figure{transition:opacity .22s ease,transform .22s ease,filter .22s ease}
.wpst-logo-hover-full-yes .wpst-ew-logo-cloud figure:hover{opacity:1!important;transform:translateY(-2px);filter:none!important}
@media(max-width:767px){
  .wpst-floating-hover-yes .wpst-ew-floating-icons article:hover,
  .wpst-number-hover-yes .wpst-ew-number-cards article:hover,
  .wpst-badge-hover-yes .wpst-ew-badge-grid article:hover,
  .wpst-contact-hover-yes .wpst-ew-contact-cards article:hover{transform:none}
}


/* ==========================================================
   v3.3.2 · Large Desktop / Ultrawide Responsive Page System
   Prevent WPSoft page templates from looking like a narrow desktop
   canvas on 1920px, 2K and ultrawide displays.
   ========================================================== */

/* Normal desktop keeps the established layout. */
.wpst-page-section{
  box-sizing:border-box;
}

/* Large desktop: page-level Elementor boxed containers become fluid,
   but preserve safe side gutters and a readable maximum. */
@media(min-width:1600px){
  .wpst-page-section.e-con,
  .wpst-page-section.elementor-element.e-con{
    --width:min(1720px,calc(100vw - 96px))!important;
    --content-width:min(1720px,calc(100vw - 96px))!important;
  }

  .wpst-page-section.e-con > .e-con-inner,
  .wpst-page-section.elementor-element.e-con > .e-con-inner,
  .wpst-page-section > .e-con-inner{
    width:min(100%,1720px)!important;
    max-width:min(1720px,calc(100vw - 96px))!important;
    margin-inline:auto!important;
  }

  /* Hero can breathe slightly wider than ordinary content sections. */
  .wpst-page-section.wpst-page-hero-section.e-con,
  .wpst-page-section.wpst-page-hero.e-con{
    --width:min(1800px,calc(100vw - 64px))!important;
    --content-width:min(1800px,calc(100vw - 64px))!important;
  }
  .wpst-page-section.wpst-page-hero-section > .e-con-inner,
  .wpst-page-section.wpst-page-hero > .e-con-inner{
    width:min(100%,1800px)!important;
    max-width:min(1800px,calc(100vw - 64px))!important;
  }

  /* Shared widget width presets should scale with the larger canvas. */
  .wpst-content-width-standard > .elementor-widget-container{
    max-width:min(1320px,calc(100vw - 160px));
  }
  .wpst-content-width-wide > .elementor-widget-container{
    max-width:min(1560px,calc(100vw - 112px));
  }

  /* Full/showcase compositions should not inherit a historical narrow cap. */
  .wpst-page-showcase > .e-con-inner,
  .wpst-page-section .wpst-content-width-full > .elementor-widget-container{
    max-width:none!important;
    width:100%!important;
  }
}

/* 2K / very wide screens: allow a bit more canvas without stretching text
   into an unreadable full 100vw layout. */
@media(min-width:2200px){
  .wpst-page-section.e-con,
  .wpst-page-section.elementor-element.e-con{
    --width:min(1920px,calc(100vw - 128px))!important;
    --content-width:min(1920px,calc(100vw - 128px))!important;
  }
  .wpst-page-section.e-con > .e-con-inner,
  .wpst-page-section.elementor-element.e-con > .e-con-inner,
  .wpst-page-section > .e-con-inner{
    width:min(100%,1920px)!important;
    max-width:min(1920px,calc(100vw - 128px))!important;
  }
  .wpst-page-section.wpst-page-hero-section.e-con,
  .wpst-page-section.wpst-page-hero.e-con{
    --width:min(2040px,calc(100vw - 96px))!important;
    --content-width:min(2040px,calc(100vw - 96px))!important;
  }
  .wpst-page-section.wpst-page-hero-section > .e-con-inner,
  .wpst-page-section.wpst-page-hero > .e-con-inner{
    max-width:min(2040px,calc(100vw - 96px))!important;
  }
}

/* Keep the current tablet/mobile behavior untouched. */
@media(max-width:1024px){
  .wpst-page-section.e-con,
  .wpst-page-section.elementor-element.e-con{
    --width:100%!important;
  }
}


/* v3.3.18 · Stats Grid 2.0: center content vertically when no icon is rendered. */
.elementor-widget-wpsoft-stats-grid .wpst-ew-stats-grid article.wpst-stat-no-icon{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
