.elementor-20 .elementor-element.elementor-element-1dd765a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-20 .elementor-element.elementor-element-1dd765a:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-1dd765a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #033B79 20%, #04172F 100%);}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-20 .elementor-element.elementor-element-439ad74{margin:50px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;text-align:center;}.elementor-20 .elementor-element.elementor-element-439ad74 .elementor-heading-title{font-family:"Archivo", Sans-serif;font-size:85px;font-weight:600;text-transform:uppercase;-webkit-text-stroke-width:0.5px;stroke-width:0.5px;-webkit-text-stroke-color:#FFFFFFFC;stroke:#FFFFFFFC;color:#FFFFFF00;}.elementor-20 .elementor-element.elementor-element-b001606{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-20 .elementor-element.elementor-element-b001606:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-b001606 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#04172F;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-20 .elementor-element.elementor-element-f704c09{--divider-border-style:solid;--divider-color:#383838;--divider-border-width:1px;}.elementor-20 .elementor-element.elementor-element-f704c09 .elementor-divider-separator{width:86%;margin:0 auto;margin-center:0;}.elementor-20 .elementor-element.elementor-element-f704c09 .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-20 .elementor-element.elementor-element-2b2180b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-20 .elementor-element.elementor-element-2b2180b:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-2b2180b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#04172F;}.elementor-20 .elementor-element.elementor-element-c1a1f81{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-20 .elementor-element.elementor-element-c1a1f81:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-c1a1f81 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#04172F;}.elementor-20 .elementor-element.elementor-element-fcf7c47{margin:45px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-20 .elementor-element.elementor-element-fcf7c47 .elementor-heading-title{font-family:"Archivo", Sans-serif;font-size:40px;font-weight:600;text-transform:uppercase;letter-spacing:2px;-webkit-text-stroke-width:0.5px;stroke-width:0.5px;-webkit-text-stroke-color:#FFFFFFFC;stroke:#FFFFFFFC;color:#FFFFFF00;}.elementor-20 .elementor-element.elementor-element-122ce25{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-20 .elementor-element.elementor-element-122ce25:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-122ce25 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#04172F;}.elementor-20 .elementor-element.elementor-element-cbda7df{--spacer-size:50px;}.elementor-20 .elementor-element.elementor-element-b7997ac{--divider-border-style:solid;--divider-color:#383838;--divider-border-width:1px;}.elementor-20 .elementor-element.elementor-element-b7997ac .elementor-divider-separator{width:86%;margin:0 auto;margin-center:0;}.elementor-20 .elementor-element.elementor-element-b7997ac .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}/* Start custom CSS for html, class: .elementor-element-05f4893 *//* =====================================================
   CP PRODUCTS V2 — FULL REBUILD (ISOLATED)
   Scope: #cp-products-v2 ONLY
   ===================================================== */

#cp-products-v2{
  --accent:#00b4ff;
  --bg1:rgba(0,119,182,.12);
  --bg2:rgba(2,62,138,.22);
  --border:rgba(255,255,255,.15);
  --radius:16px;

  max-width:1200px;
  margin:0 auto;
  padding:0 10px;
  color:#ffffff;
  box-sizing:border-box;
}

/* ================= SECTION TITLE ================= */
#cp-products-v2 .cp-title{
  text-align:center;
  font-size:30px;
  font-weight:600;
  margin-bottom:48px;
}

/* ================= GRID ================= */
#cp-products-v2 .cp-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:28px;
}

/* ================= CARD ================= */
#cp-products-v2 .cp-card{
  position:relative;
  padding:18px;
  border-radius:var(--radius);

  background:linear-gradient(180deg,var(--bg1),var(--bg2));
  border:1px solid var(--border);

  overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease;
}

#cp-products-v2 .cp-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 32px rgba(0,0,0,.25);
}

/* ================= CARD HEADER ================= */
#cp-products-v2 .cp-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:10px;
}

/* ================= CARD TITLE ================= */
#cp-products-v2 .cp-head h3{
  font-size:18px;              /* 🔹 CHANGE TITLE SIZE HERE */
  font-weight:600;
  line-height:1.3;
  margin:0;
  color:#ffffff;
}

/* ================= ICON CIRCLE ================= */
#cp-products-v2 .cp-icon{
  width:22px;
  height:22px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.6);
  position:relative;
  flex-shrink:0;
}

/* Glow ring (off by default) */
#cp-products-v2 .cp-icon::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(0,180,255,.55),
    rgba(0,180,255,.25) 40%,
    transparent 70%
  );
  opacity:0;
  transform:scale(.7);
  pointer-events:none;
}

/* Activate glow on card hover */
#cp-products-v2 .cp-card:hover .cp-icon{
  border-color:var(--accent);
}

#cp-products-v2 .cp-card:hover .cp-icon::after{
  opacity:1;
  transform:scale(1);
  animation:cpIconGlow 1.8s ease-in-out infinite;
}

/* ================= ICON GLOW ANIMATION ================= */
@keyframes cpIconGlow{
  0%{opacity:.4;transform:scale(.85);}
  50%{opacity:.9;transform:scale(1.1);}
  100%{opacity:.4;transform:scale(.85);}
}

/* ================= TEXT ================= */
#cp-products-v2 .cp-text{
  font-size:14px;
  line-height:1.7;
  margin:14px 0;
  opacity:.9;
}

/* ================= IMAGE SLIDER ================= */
#cp-products-v2 .cp-slider{
  overflow:hidden;
  margin:14px 0 18px;
}

#cp-products-v2 .cp-track{
  display:flex;
  gap:14px;
  width:max-content;
  animation:cpTrackMove 18s linear infinite;
}

#cp-products-v2 .cp-slider:hover .cp-track{
  animation-play-state:paused;
}

#cp-products-v2 .cp-track img{
  width:120px;
  height:80px;
  object-fit:cover;
  border-radius:10px;
  display:block;

  /* edge-safe */
  transform:translateZ(0);
  backface-visibility:hidden;
  outline:1px solid transparent;
}

/* ================= CTA BUTTON ================= */
#cp-products-v2 .cp-btn{
  display:inline-block;
  padding:10px 18px;
  border-radius:10px;
  background:#0077b6;
  color:#ffffff;
  text-decoration:none;
  font-size:13px;
  font-weight:500;
}

/* ================= SLIDER LOOP ================= */
@keyframes cpTrackMove{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* ================= RESPONSIVE ================= */
@media (max-width:768px){
  #cp-products-v2 .cp-title{
    font-size:24px;
  }
  #cp-products-v2 .cp-head h3{
    font-size:16px;
  }
}

/* ================= MOBILE (DISABLE GLOW) ================= */
@media (hover:none){
  #cp-products-v2 .cp-icon::after{
    animation:none;
    opacity:.35;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fa0ce78 *//* ============================================================
   CSS-ONLY INFINITE LOOP PRODUCT SLIDER — WITH 3D TILT HOVER
   - Transparent background
   - Glass cards
   - Proper spacing between ALL cards (including loop seam)
   - CSS-only infinite loop
   - 3D tilt on hover (pure CSS)
   - CTA button text centered (full-width button)
   ============================================================ */

:root{
  --card-gap: 28px;         /* gap BETWEEN cards */
  --card-padding: 22px;     /* inner padding inside each card */
  --card-radius: 16px;
  --card-bg: rgba(255,255,255,0.06);
  --card-border: rgba(255,255,255,0.12);
  --backdrop-blur: 14px;
  --anim-duration: 55s;     /* loop speed (lower = faster) */
  --card-min-w: 200px;      /* smallest card width on very small screens */

  /* tilt controls */
  --tilt-rotate: 6deg;      /* max rotation */
  --tilt-scale: 1.025;      /* slight scale on hover */
  --tilt-depth-media: 30px; /* pop forward depth for image */
  --tilt-depth-title: 20px; /* title depth */
  --tilt-depth-desc: 14px;  /* desc depth */
  --tilt-depth-cta: 8px;    /* cta depth */
  --tilt-transition: 360ms;
}

/* ------------------------------ */
/* SLIDER WRAPPER (transparent)   */
/* ------------------------------ */
.ps-slider {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 12px 6px;
  background: transparent;
  box-sizing: border-box;
}

/* viewport hides overflow */
.ps-viewport {
  overflow: hidden;
  width: 100%;
  position: relative;
}

/* ------------------------------ */
/* TRACK: A + B groups side-by-side */
/* ------------------------------ */
.ps-track {
  display: flex;
  width: max-content;   /* track size determined by content */
  animation: ps-scroll linear infinite;
  animation-duration: var(--anim-duration);
  animation-timing-function: linear;
  will-change: transform;
}

/* Pause when hover */
.ps-viewport:hover .ps-track,
.ps-viewport:focus-within .ps-track {
  animation-play-state: paused;
}

/* ------------------------------ */
/* GROUP: just a container        */
/* ------------------------------ */
.ps-group {
  display: flex;
  align-items: stretch;
  padding: 6px 0;
  box-sizing: border-box;
}

/* ------------------------------ */
/* CARD STYLING (GLASSMORPHISM)   */
/* ------------------------------ */
.ps-card {
  background: var(--card-bg);
  backdrop-filter: blur(var(--backdrop-blur));
  -webkit-backdrop-filter: blur(var(--backdrop-blur));

  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  box-sizing: border-box;

  box-shadow: 0 8px 22px rgba(0,0,0,0.14);

  /* spacing between all cards */
  margin-right: var(--card-gap);

  min-width: var(--card-min-w);
  flex: 0 0 calc((80vw / 5) - var(--card-gap));
  max-width: calc((80vw / 5) - var(--card-gap));

  display: flex;
  flex-direction: column;
  gap: 12px;

  /* 3D tilt setup */
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  perspective: 1000px;
  transition: transform var(--tilt-transition) cubic-bezier(.22,.9,.35,1), box-shadow var(--tilt-transition);
  will-change: transform;
  position: relative;
  isolation: isolate;
  backface-visibility: hidden;
}

/* Remove last margin for perfect loop alignment (optional) */
.ps-group:last-child .ps-card:last-child {
  margin-right: 0;
}

/* ------------------------------ */
/* CARD HOVER (3D TILT)           */
/* - note: pure CSS fixed-tilt on hover (no pointer-follow). */
/* - increases scale slightly and rotates on both axes.   */
/* ------------------------------ */
.ps-card:hover {
  transform: perspective(1000px) rotateX(var(--tilt-rotate)) rotateY(calc(var(--tilt-rotate) * -1)) scale(var(--tilt-scale));
  box-shadow: 0 20px 50px rgba(3,10,30,0.28);
}

/* inner element popouts (translateZ) for layered parallax effect */
.ps-card .ps-media,
.ps-card .ps-title,
.ps-card .ps-desc,
.ps-card .ps-cta {
  transform: translateZ(0);
  transition: transform var(--tilt-transition) cubic-bezier(.22,.9,.35,1);
  transform-origin: center;
  backface-visibility: hidden;
}

/* on hover, push elements forward - larger depth for media/title */
.ps-card:hover .ps-media {
  transform: translateZ(var(--tilt-depth-media)) translateY(-6px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
  border-radius: 10px;
}
.ps-card:hover .ps-title {
  transform: translateZ(var(--tilt-depth-title));
}
.ps-card:hover .ps-desc {
  transform: translateZ(var(--tilt-depth-desc));
}
.ps-card:hover .ps-cta {
  transform: translateZ(var(--tilt-depth-cta));
}

/* active press effect */
.ps-card:active {
  transform: perspective(1000px) rotateX(0deg) rotateY(0deg) scale(0.995);
  transition-duration: 120ms;
}

/* ------------------------------ */
/* MEDIA AREA                     */
/* ------------------------------ */
.ps-media {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255,255,255,0.04);
  transform: translateZ(0);
}
.ps-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: translateZ(0);
}

/* ------------------------------ */
/* TEXT                           */
/* ------------------------------ */
.ps-title { 
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  color: #fff;
  transform: translateZ(0);
  text-shadow: 0 1px 0 rgba(0,0,0,0.15);
}
.ps-desc {
  margin: 0;
  color: rgba(255,255,255,0.80);
  font-size: 14px;
  line-height: 1.35;
  transform: translateZ(0);
}

/* ------------------------------ */
/* CTA BUTTON (CENTERED TEXT)     */
/* - button is full-width and text centered */
/* ------------------------------ */
.ps-cta {
  margin-top: 12px;
  display: inline-block;
  width: 100%;
  text-align: center;        /* centered text */
  padding: 10px 14px;
  background: #0b84ff;
  color: #fff;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  transform: translateZ(0);
  box-shadow: 0 6px 16px rgba(11,132,255,0.12);
}

/* ------------------------------ */
/* RESPONSIVE BREAKPOINTS         */
/* ------------------------------ */

/* 3 cards visible */
@media (max-width: 1100px){
  .ps-card {
    flex: 0 0 calc((100vw / 3) - var(--card-gap));
    max-width: calc((100vw / 3) - var(--card-gap));
  }
}

/* 2 cards visible */
@media (max-width: 720px){
  .ps-card {
    flex: 0 0 calc((100vw / 2) - var(--card-gap));
    max-width: calc((100vw / 2) - var(--card-gap));
  }
}

/* 1 card visible */
@media (max-width: 420px){
  .ps-card {
    flex: 0 0 calc(100vw - var(--card-gap));
    max-width: calc(100vw - var(--card-gap));
  }
}

/* ------------------------------ */
/* INFINITE LOOP KEYFRAMES        */
/* ------------------------------ */
/* Track width = group A + group B → we move left by 50% */
@keyframes ps-scroll {
  0%   { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce){
  .ps-track { animation: none; }
  .ps-card,
  .ps-card .ps-media,
  .ps-card .ps-title,
  .ps-card .ps-desc,
  .ps-card .ps-cta {
    transition: none !important;
    transform: none !important;
  }
}/* End custom CSS */