/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor Child theme for the GHL Nexa site.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.1784640584
Updated: 2026-07-21 13:29:44

*/

/* ════════════════════════════════════════════════════════════
   GHL NEXA — design system ported from the source site.
   Structure lives in Elementor (containers/widgets carry these
   classes); this stylesheet reproduces the exact visual design.
   ════════════════════════════════════════════════════════════ */

/* ═══ TOKENS ═══ */
:root{
  --bg:#030c1a;--bg2:#040f1f;--card:#081626;--c2:#0b1d30;--c3:#0f2440;
  --ac:#0284c7;--al:#0ea5e9;--gn:#22c55e;--tl:#06b6d4;--rd:#ef4444;
  --wh:#ffffff;--tx:#cce4f4;--mu:#4a7596;
  --bd:rgba(14,165,233,.16);--bd2:rgba(255,255,255,.06);
  --fh:'Oxanium',sans-serif;--fb:'Inter',sans-serif;--fm:'Space Mono',monospace;
  --r6:6px;--r12:12px;--r16:16px;--r20:20px;
}
html{scroll-behavior:smooth;}
body{font-family:var(--fb);background:var(--bg);color:var(--tx);overflow-x:hidden;max-width:100vw;}

/* ═══ NAVBAR (header template root carries .ghlnav) ═══ */
.ghlnav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  height:68px;padding:0 5%!important;
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;
  background:transparent;max-width:none!important;
  border-bottom:1px solid transparent;
  transition:background .4s,border-color .4s,backdrop-filter .4s;
}
.ghlnav.sc{
  background:rgba(3,12,26,.92);
  backdrop-filter:blur(20px);
  border-bottom-color:rgba(255,255,255,.06);
}
body.admin-bar .ghlnav{top:32px;}
.ghlnav .nlo img{height:36px;width:auto;}
/* nav menu widget adapter */
.ghlnav .nlinks-el .elementor-nav-menu--main .elementor-item{
  color:rgba(204,228,244,.5);font-size:.84rem;font-weight:500;letter-spacing:.02em;
  padding:0;transition:color .2s;font-family:var(--fb);
}
.ghlnav .nlinks-el .elementor-nav-menu--main .elementor-item:hover,
.ghlnav .nlinks-el .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--wh);}
.ghlnav .nlinks-el .elementor-nav-menu--main .elementor-nav-menu li{margin:0 13px;}
.ghlnav .nlinks-el .elementor-nav-menu{gap:0;}
/* nav CTA button */
.ncta-el .elementor-button{
  background:var(--ac);color:#fff;padding:9px 22px;border-radius:var(--r6);
  font-weight:700;font-size:.82rem;border:1px solid rgba(14,165,233,.4);
  transition:all .2s;letter-spacing:.04em;font-family:var(--fb);
}
.ncta-el .elementor-button:hover{background:var(--al);box-shadow:0 0 24px rgba(14,165,233,.35);transform:translateY(-1px);color:#fff;}
/* mobile menu (Elementor dropdown) */
.ghlnav .elementor-menu-toggle{color:var(--tx);border:1px solid var(--bd2);border-radius:8px;background:rgba(255,255,255,.03);}
.ghlnav .elementor-menu-toggle.elementor-active{color:var(--al);}
.ghlnav .elementor-nav-menu--dropdown{
  background:rgba(3,12,26,.98);backdrop-filter:blur(20px);
  border:1px solid var(--bd2);border-radius:0 0 12px 12px;margin-top:10px;
}
.ghlnav .elementor-nav-menu--dropdown .elementor-item{
  color:rgba(204,228,244,.75);font-size:.95rem;font-weight:600;padding:13px 22px;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.ghlnav .elementor-nav-menu--dropdown .elementor-item:hover{color:var(--wh);background:rgba(14,165,233,.06);}

/* ═══ HERO ═══ */
.hero{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:120px 5% 90px;overflow:hidden;background:var(--bg);
  max-width:none!important;
}
.hero>.e-con-inner{max-width:none;}
/* Aurora layers */
.aur{position:absolute;inset:0;z-index:0;background:var(--bg);}
.aur::before{
  content:"";position:absolute;inset:-60%;
  background:
    radial-gradient(ellipse 70% 50% at 20% 35%,rgba(2,132,199,.42) 0%,transparent 55%),
    radial-gradient(ellipse 60% 55% at 80% 65%,rgba(34,197,94,.24) 0%,transparent 55%),
    radial-gradient(ellipse 50% 40% at 55% 50%,rgba(6,182,212,.18) 0%,transparent 50%);
  animation:a1 9s ease-in-out infinite alternate;
}
.aur::after{
  content:"";position:absolute;inset:-40%;
  background:
    radial-gradient(ellipse 45% 35% at 75% 20%,rgba(14,165,233,.28) 0%,transparent 50%),
    radial-gradient(ellipse 55% 45% at 25% 75%,rgba(2,132,199,.22) 0%,transparent 50%);
  animation:a2 12s ease-in-out infinite alternate;
}
@keyframes a1{0%{transform:translate(0,0) scale(1);}50%{transform:translate(5%,-6%) scale(1.12);}100%{transform:translate(-4%,4%) scale(.93);}}
@keyframes a2{0%{transform:translate(0,0) scale(1);}50%{transform:translate(-7%,6%) scale(1.14);}100%{transform:translate(6%,-5%) scale(.9);}}
.pillars{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;}
.pillar{position:absolute;top:0;bottom:0;width:1px;opacity:0;animation:pillar-pulse ease-in-out infinite;}
.pillar:nth-child(1){left:12%;background:linear-gradient(to bottom,transparent,rgba(14,165,233,.55),rgba(34,197,94,.25),transparent);animation-duration:6s;animation-delay:0s;}
.pillar:nth-child(2){left:24%;background:linear-gradient(to bottom,transparent,rgba(34,197,94,.45),rgba(14,165,233,.2),transparent);animation-duration:8s;animation-delay:1.2s;}
.pillar:nth-child(3){left:38%;background:linear-gradient(to bottom,transparent,rgba(6,182,212,.6),rgba(14,165,233,.2),transparent);animation-duration:7s;animation-delay:2.1s;}
.pillar:nth-child(4){left:52%;background:linear-gradient(to bottom,transparent,rgba(14,165,233,.65),rgba(6,182,212,.3),transparent);animation-duration:9s;animation-delay:.6s;}
.pillar:nth-child(5){left:65%;background:linear-gradient(to bottom,transparent,rgba(34,197,94,.5),rgba(14,165,233,.25),transparent);animation-duration:6.5s;animation-delay:3s;}
.pillar:nth-child(6){left:78%;background:linear-gradient(to bottom,transparent,rgba(14,165,233,.55),rgba(34,197,94,.2),transparent);animation-duration:8.5s;animation-delay:1.8s;}
.pillar:nth-child(7){left:90%;background:linear-gradient(to bottom,transparent,rgba(6,182,212,.5),rgba(14,165,233,.3),transparent);animation-duration:7.5s;animation-delay:4s;}
@keyframes pillar-pulse{0%{opacity:0;}30%{opacity:.9;}70%{opacity:.6;}100%{opacity:0;}}
.scans{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;}
.scan{position:absolute;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(14,165,233,.08) 20%,rgba(14,165,233,.25) 50%,rgba(14,165,233,.08) 80%,transparent 100%);
  animation:scan-move linear infinite;opacity:0;}
.scan:nth-child(1){animation-duration:14s;animation-delay:0s;}
.scan:nth-child(2){animation-duration:11s;animation-delay:4s;}
.scan:nth-child(3){animation-duration:17s;animation-delay:8s;}
@keyframes scan-move{0%{top:-2px;opacity:0;}5%{opacity:.8;}90%{opacity:.4;}100%{top:100%;opacity:0;}}
.hgrid{position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:linear-gradient(rgba(14,165,233,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.03) 1px,transparent 1px);
  background-size:60px 60px;}
#nc{position:absolute;inset:0;z-index:2;width:100%;height:100%;}
.vign{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse 85% 75% at 50% 50%,transparent 25%,rgba(3,12,26,.85) 100%);}
.hero .hcont{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;max-width:none;}
.scind{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:6px;animation:scind-in 1s 2s both;}
.scind-line{width:1px;height:48px;background:linear-gradient(to bottom,transparent,rgba(14,165,233,.65));animation:scind-bob 2s ease-in-out infinite;}
.scind-dot{width:4px;height:4px;border-radius:50%;background:rgba(14,165,233,.6);animation:scind-bob 2s ease-in-out infinite .3s;}
@keyframes scind-in{from{opacity:0;transform:translateX(-50%) translateY(14px);}to{opacity:.6;transform:translateX(-50%) translateY(0);}}
@keyframes scind-bob{0%,100%{opacity:.4;transform:scaleY(1);}50%{opacity:1;transform:scaleY(.7);}}

/* ═══ EYEBROW ═══ */
.ey,.ey-el .elementor-heading-title{
  display:inline-flex;align-items:center;gap:9px;
  padding:4px 0;border-radius:4px;
  font-family:var(--fm);font-size:.68rem;font-weight:400;
  letter-spacing:.16em;text-transform:uppercase;color:var(--al);
}
.ey-el{margin-bottom:28px;}
.eydot{width:6px;height:6px;border-radius:50%;background:var(--gn);box-shadow:0 0 8px var(--gn);animation:dot-pulse 1.8s ease-in-out infinite;display:inline-block;flex-shrink:0;}
@keyframes dot-pulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.7);opacity:.45;}}

/* ═══ HEADINGS ═══ */
h1.ht,.ht-el .elementor-heading-title{
  font-family:var(--fh);font-size:70px;font-weight:800;line-height:1.04;
  letter-spacing:-.02em;color:var(--wh);max-width:980px;
}
.ht-el{margin-bottom:24px;}
@media(max-width:1200px){h1.ht,.ht-el .elementor-heading-title{font-size:58px;}}
@media(max-width:960px){h1.ht,.ht-el .elementor-heading-title{font-size:48px;}}
@media(max-width:768px){h1.ht,.ht-el .elementor-heading-title{font-size:38px;}}
@media(max-width:480px){h1.ht,.ht-el .elementor-heading-title{font-size:30px;}}
.grad,h1 .grad{
  background:linear-gradient(135deg,#38bdf8 0%,#34d399 40%,#22d3ee 80%,#60a5fa 100%);
  background-size:300% 300%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:grad-shift 5s ease infinite;
}
@keyframes grad-shift{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
h2.st,.st-el .elementor-heading-title{
  font-family:var(--fh);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.1;
  letter-spacing:-.01em;color:var(--wh);
}
.st-el{margin-bottom:14px;}
.hi,.hi-gn,.hi-tl{
  background:linear-gradient(135deg,#38bdf8 0%,#34d399 45%,#22d3ee 80%,#60a5fa 100%);
  background-size:300% 300%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:grad-shift 5s ease infinite;
}
.hs,.hs-el p{font-size:1rem;color:rgba(204,228,244,.58);max-width:580px;line-height:1.84;margin:0 auto;text-align:center;}
.hs-el{margin-bottom:42px;}
.hbtns{display:flex;flex-direction:row;gap:12px;flex-wrap:wrap;justify-content:center;}
.hbtns-el{margin-bottom:48px;}
.hpr{display:flex;flex-direction:row;align-items:center;gap:12px;justify-content:center;}
.havs{display:flex;}
.hav{width:30px;height:30px;border-radius:50%;border:2px solid var(--bg);background:var(--c2);display:grid;place-items:center;font-size:.65rem;font-weight:700;color:var(--wh);margin-left:-8px;font-family:var(--fb);}
.hav:first-child{margin-left:0;}
.hpr-t{font-size:.78rem;color:var(--mu);}
.hpr-t strong{color:var(--al);}

/* ═══ SECTION SHELL ═══ */
.sec{position:relative;z-index:1;padding:88px 5%;max-width:none!important;}
.sec-pt0{padding-top:0!important;}
.sec-pb0{padding-bottom:0!important;}
.sh{margin-bottom:52px;}
.sh.ct,.sh-ct{text-align:center;align-items:center;}
.slabel,.slabel-el .elementor-heading-title{
  display:block;font-family:var(--fm);font-size:.65rem;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--gn);
}
.slabel-el{margin-bottom:11px;}
.slabel-pre{opacity:.4;}
.sdesc,.sdesc-el p{color:var(--mu);font-size:.91rem;line-height:1.8;max-width:560px;margin:0;}
.sh-ct .sdesc-el p,.sdesc-ct p{margin:0 auto;}
.sec-line{position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--bd),transparent);}

/* ═══ BUTTONS (Elementor adapters) ═══ */
.eb .elementor-button{
  padding:12px 28px;border-radius:var(--r6);font-weight:700;font-size:.87rem;
  transition:all .25s;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--fb);letter-spacing:.03em;line-height:1.35;
}
.eb-p .elementor-button{background:var(--ac);color:#fff;border:1px solid rgba(14,165,233,.38);}
.eb-p .elementor-button:hover{background:var(--al);transform:translateY(-2px);box-shadow:0 0 28px rgba(14,165,233,.32);color:#fff;}
.eb-o .elementor-button{border:1px solid rgba(255,255,255,.13);color:var(--wh);background:rgba(255,255,255,.03);}
.eb-o .elementor-button:hover{border-color:var(--al);background:rgba(14,165,233,.06);color:var(--wh);}
.eb-w .elementor-button{background:#25d366;color:#fff;border:1px solid rgba(37,211,102,.3);}
.eb-w .elementor-button:hover{background:#22c55e;transform:translateY(-2px);box-shadow:0 0 22px rgba(37,211,102,.3);color:#fff;}
.eb-full .elementor-button{width:100%;justify-content:center;display:flex;}

/* ═══ STATS STRIP ═══ */
.sstrip{
  position:relative;z-index:1;margin:0 5% 88px;width:auto!important;
  background:var(--card);border:1px solid var(--bd2);border-radius:var(--r16);overflow:hidden;
  max-width:none!important;display:block;
}
.ss-viewport{overflow:hidden;}
.ss-track{display:flex!important;flex-direction:row;flex-wrap:nowrap;transition:transform .45s cubic-bezier(.23,1,.32,1);width:100%;}
.e-con.sstat{
  flex:0 0 calc(100% / 6);display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:28px 12px;gap:0;
  border-right:1px solid var(--bd2);transition:background .3s;cursor:default;min-width:0;
}
.e-con.sstat:hover{background:rgba(14,165,233,.04);}
.e-con.sstat:last-child{border-right:none;}
.snum,.snum .elementor-heading-title{font-family:var(--fh);font-size:2rem;font-weight:800;color:var(--wh);line-height:1;}
.slb,.slb .elementor-heading-title{font-family:var(--fm);font-size:.63rem;color:var(--mu);letter-spacing:.08em;font-weight:400;}
.slb{margin-top:5px;}
.ss-nav{display:none;padding:10px 16px;border-top:1px solid var(--bd2);justify-content:space-between;align-items:center;}
.ss-arr{width:28px;height:28px;border-radius:50%;background:var(--c2);border:1px solid var(--bd2);display:grid;place-items:center;cursor:pointer;font-size:.75rem;color:var(--tx);transition:all .2s;}
.ss-arr:hover{border-color:rgba(14,165,233,.3);color:var(--wh);}
.ss-dots-wrap{display:flex;gap:5px;}
.ss-dot{width:5px;height:5px;border-radius:50%;background:var(--bd);cursor:pointer;transition:all .3s;}
.ss-dot.act{width:14px;border-radius:3px;background:var(--al);}

/* ═══ INTRO ═══ */
.e-con.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center;width:100%;}
.e-con.icard{background:var(--card);border:1px solid var(--bd);border-radius:var(--r20);padding:48px 40px;text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;}
.icard::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--al),var(--gn),transparent);}
.icard::after{content:"";position:absolute;top:-60px;right:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(14,165,233,.06),transparent 70%);}
.iicon,.iicon .elementor-heading-title{font-size:1.6rem;line-height:1;}
.iicon{width:66px;height:66px;border-radius:var(--r16);background:linear-gradient(135deg,var(--ac),var(--tl));display:grid;place-items:center;margin:0 auto 18px;box-shadow:0 0 28px rgba(14,165,233,.18);}
.icard-h .elementor-heading-title,.icard h3{font-family:var(--fh);font-size:1.38rem;font-weight:700;color:var(--wh);}
.icard-h{margin-bottom:11px;}
.icard-p p,.icard>p{color:var(--mu);font-size:.86rem;line-height:1.72;margin:0;}
.ibadges{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-top:22px;}
.ibadges p{margin:0;display:flex;flex-wrap:wrap;gap:7px;justify-content:center;}
.ibadge{border:1px solid rgba(14,165,233,.2);background:rgba(14,165,233,.05);padding:5px 13px;border-radius:4px;font-family:var(--fm);font-size:.65rem;color:var(--al);letter-spacing:.05em;display:inline-block;}
.cklist{list-style:none;display:flex;flex-direction:column;gap:13px;margin:0;padding:0;}
.cklist li{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;line-height:1.56;color:var(--tx);}
.ckbox{width:20px;height:20px;border-radius:5px;background:linear-gradient(135deg,var(--ac),var(--gn));display:grid;place-items:center;font-size:.55rem;color:#fff;flex-shrink:0;margin-top:2px;}

/* ═══ SERVICE CARDS ═══ */
.e-con.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;margin-top:52px;width:100%;}
.e-con.svc-card{
  background:var(--card);border:1px solid var(--bd2);border-radius:var(--r16);
  padding:26px;transition:all .35s cubic-bezier(.23,1,.32,1);
  position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:0;
}
.svc-card::before{content:"";position:absolute;inset:0;border-radius:var(--r16);opacity:0;background:radial-gradient(ellipse at top left,rgba(14,165,233,.07),transparent 60%);transition:opacity .35s;pointer-events:none;}
.svc-card::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--al),transparent);opacity:0;transition:opacity .3s;}
.svc-card:hover{border-color:rgba(14,165,233,.38);transform:translateY(-6px);box-shadow:0 18px 50px rgba(14,165,233,.09);}
.svc-card:hover::before{opacity:1;}
.svc-card:hover::after{opacity:1;}
.svc-badge{position:absolute;top:14px;right:14px;font-family:var(--fm);font-size:.6rem;padding:3px 9px;border-radius:4px;letter-spacing:.05em;z-index:1;}
.svc-badge-el{position:absolute!important;top:14px;right:14px;z-index:1;}
.svc-badge-el .elementor-heading-title{font-family:var(--fm);font-size:.6rem;padding:3px 9px;border-radius:4px;letter-spacing:.05em;font-weight:400;}
.b-blue .elementor-heading-title,.svc-badge.b-blue{background:rgba(14,165,233,.12);color:var(--al);border:1px solid rgba(14,165,233,.22);}
.b-green .elementor-heading-title,.svc-badge.b-green{background:rgba(34,197,94,.09);color:var(--gn);border:1px solid rgba(34,197,94,.17);}
.b-red .elementor-heading-title,.svc-badge.b-red{background:rgba(239,68,68,.09);color:#fca5a5;border:1px solid rgba(239,68,68,.15);}
.b-gray .elementor-heading-title,.svc-badge.b-gray{background:rgba(255,255,255,.04);color:var(--mu);border:1px solid var(--bd2);}
.svc-ic,.svc-ic .elementor-heading-title{font-size:1.2rem;line-height:1;}
.svc-ic{width:44px;height:44px;border-radius:var(--r12);display:flex;align-items:center;justify-content:center;margin-bottom:15px;background:rgba(14,165,233,.08);border:1px solid rgba(14,165,233,.13);transition:all .3s;}
.svc-card:hover .svc-ic{background:rgba(14,165,233,.15);box-shadow:0 0 14px rgba(14,165,233,.12);}
.svc-h .elementor-heading-title,.svc-card h3{font-family:var(--fh);font-size:1rem;font-weight:700;color:var(--wh);letter-spacing:-.01em;}
.svc-h{margin-bottom:8px;}
.svc-p p{color:var(--mu);font-size:.81rem;line-height:1.65;margin:0;}
.svc-p{margin-bottom:13px;}
.svc-feat{list-style:none;margin:0;padding:0;width:100%;}
.svc-feat li{font-size:.77rem;color:var(--mu);padding:4px 0;display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--bd2);}
.svc-feat li:last-child{border-bottom:none;}
.svc-feat li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--al);flex-shrink:0;}

/* ═══ A2P ═══ */
.e-con.a2p-wrap{background:var(--card);border:1px solid var(--bd);border-radius:var(--r20);padding:52px;display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;position:relative;overflow:hidden;width:100%;}
.a2p-wrap::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(239,68,68,.6),rgba(239,68,68,.25),transparent);}
.a2p-h .elementor-heading-title{font-family:var(--fh);font-size:1.85rem;font-weight:800;color:var(--wh);}
.a2p-h{margin-bottom:13px;}
.a2p-desc p{color:var(--mu);line-height:1.78;font-size:.89rem;margin:0;}
.a2p-desc{margin-bottom:20px;}
.a2p-list{list-style:none;margin:0;padding:0;}
.a2p-list li{padding:9px 0;border-bottom:1px solid var(--bd2);display:flex;align-items:flex-start;gap:11px;font-size:.87rem;color:var(--tx);}
.a2p-list li:last-child{border-bottom:none;}
.a2p-dot{width:6px;height:6px;border-radius:50%;background:var(--gn);box-shadow:0 0 6px var(--gn);margin-top:7px;flex-shrink:0;display:inline-block;}
.e-con.a2p-steps{display:flex;flex-direction:column;gap:11px;}
.e-con.a2p-step{background:var(--c2);border:1px solid var(--bd2);border-radius:var(--r12);padding:15px 18px;display:flex;flex-direction:row;align-items:center;gap:14px;transition:all .25s;flex-wrap:nowrap;}
.e-con.a2p-step:hover{border-color:rgba(14,165,233,.28);transform:translateX(4px);}
.a2p-num,.a2p-num .elementor-heading-title{font-family:var(--fh);font-weight:800;font-size:.8rem;color:#fff;line-height:1;}
.a2p-num{width:34px;height:34px;border-radius:9px;flex-shrink:0;background:linear-gradient(135deg,var(--ac),var(--tl));display:grid;place-items:center;}
.a2p-step h4{font-family:var(--fh);font-size:.87rem;font-weight:700;color:var(--wh);margin:0 0 2px;}
.a2p-step p{font-size:.76rem;color:var(--mu);margin:0;}

/* ═══ PROCESS ═══ */
.e-con.proc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:52px;position:relative;width:100%;}
.proc-grid::before{content:"";position:absolute;top:32px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--bd),var(--bd),transparent);z-index:0;}
.e-con.pstep{border-radius:var(--r12);padding:20px 12px;text-align:center;position:relative;z-index:1;transition:all .3s;display:flex;flex-direction:column;align-items:center;gap:0;}
.e-con.pstep:hover{transform:translateY(-6px);}
.pnum,.pnum .elementor-heading-title{font-family:var(--fh);font-weight:800;font-size:.75rem;color:var(--al);line-height:1;}
.pnum{width:46px;height:46px;border-radius:50%;margin:0 auto 14px;background:var(--card);border:2px solid var(--bd);display:grid;place-items:center;transition:all .3s;}
.pstep:hover .pnum{background:var(--ac);border-color:var(--ac);box-shadow:0 0 18px rgba(14,165,233,.38);}
.pstep:hover .pnum .elementor-heading-title,.pstep:hover .pnum{color:#fff;}
.pem,.pem .elementor-heading-title{font-size:1.45rem;line-height:1;}
.pem{display:block;margin-bottom:10px;}
.pstep-h .elementor-heading-title{font-family:var(--fh);font-size:.85rem;font-weight:700;color:var(--wh);}
.pstep-h{margin-bottom:6px;}
.pstep-p p{color:var(--mu);font-size:.74rem;line-height:1.6;margin:0;}

/* ═══ PRICING ═══ */
.e-con.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:52px;width:100%;}
.e-con.p-card{background:var(--card);border:1px solid var(--bd2);border-radius:var(--r20);padding:28px;position:relative;transition:all .3s;overflow:visible;display:flex;flex-direction:column;align-items:stretch;gap:0;}
.p-card::before{content:"";position:absolute;inset:0;border-radius:var(--r20);background:radial-gradient(ellipse at top,rgba(14,165,233,.05),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none;}
.p-card:hover{transform:translateY(-5px);border-color:rgba(14,165,233,.28);}
.p-card:hover::before{opacity:1;}
.e-con.p-card.feat{border-color:rgba(14,165,233,.42);background:linear-gradient(155deg,var(--c2),var(--card));box-shadow:0 0 0 1px rgba(14,165,233,.09),0 20px 70px rgba(14,165,233,.09);padding-top:32px;}
.p-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,var(--ac),var(--gn));color:#fff;font-family:var(--fm);font-size:.6rem;padding:4px 16px;border-radius:20px;white-space:nowrap;letter-spacing:.07em;z-index:2;}
.p-tier,.p-tier .elementor-heading-title{font-family:var(--fm);font-size:.6rem;letter-spacing:.18em;color:var(--mu);font-weight:400;}
.p-tier{margin-bottom:9px;}
.p-price,.p-price .elementor-heading-title{font-family:var(--fh);font-size:2.2rem;font-weight:800;color:var(--wh);line-height:1;}
.p-price{margin-bottom:4px;}
.p-price span,.p-price .elementor-heading-title span{font-family:var(--fb);font-size:.76rem;color:var(--mu);font-weight:400;}
.p-desc p{color:var(--mu);font-size:.76rem;line-height:1.6;margin:0;}
.p-desc{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--bd2);}
.p-feats{list-style:none;margin:0 0 22px;padding:0;}
.p-feats li{font-size:.78rem;padding:6px 0;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--bd2);color:var(--tx);}
.p-feats li:last-child{border-bottom:none;}
.pck{color:var(--gn);font-weight:700;flex-shrink:0;font-size:.82rem;}
.pcx{color:#1a3050;flex-shrink:0;font-size:.82rem;}
.p-feats-el{margin-bottom:0;}
.p-btn-el{margin-top:auto;}
.p-btn-el .elementor-button{width:100%;padding:11px;border-radius:var(--r6);font-weight:700;font-size:.83rem;display:flex;justify-content:center;text-align:center;transition:all .2s;font-family:var(--fb);letter-spacing:.04em;}
.p-btn-s .elementor-button{background:linear-gradient(90deg,var(--ac),var(--tl));color:#fff;border:none;}
.p-btn-s .elementor-button:hover{opacity:.9;box-shadow:0 0 20px rgba(14,165,233,.28);color:#fff;}
.p-btn-o .elementor-button{background:transparent;color:var(--tx);border:1px solid var(--bd2);}
.p-btn-o .elementor-button:hover{border-color:rgba(14,165,233,.38);background:rgba(14,165,233,.04);color:var(--tx);}
.p-note{text-align:center;margin-top:28px;padding:14px 0;}
.p-note p{margin:0;font-family:var(--fm);font-size:.72rem;color:var(--mu);}
.p-note a{color:var(--al);text-decoration:none;font-weight:600;}

/* ═══ WHY US ═══ */
.e-con.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:52px;width:100%;}
.e-con.why-card{background:var(--card);border:1px solid var(--bd2);border-radius:var(--r16);padding:24px;transition:all .3s;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:0;}
.why-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;opacity:0;background:linear-gradient(90deg,transparent,var(--al),transparent);transition:opacity .3s;}
.why-card:hover{border-color:rgba(14,165,233,.28);transform:translateY(-4px);}
.why-card:hover::after{opacity:1;}
.why-ic,.why-ic .elementor-heading-title{font-size:1.2rem;line-height:1;}
.why-ic{width:42px;height:42px;border-radius:var(--r12);background:rgba(14,165,233,.08);border:1px solid rgba(14,165,233,.13);display:grid;place-items:center;margin-bottom:13px;transition:all .3s;}
.why-card:hover .why-ic{background:rgba(14,165,233,.15);box-shadow:0 0 12px rgba(14,165,233,.11);}
.why-h .elementor-heading-title{font-family:var(--fh);font-size:.92rem;font-weight:700;color:var(--wh);}
.why-h{margin-bottom:7px;}
.why-p p{color:var(--mu);font-size:.8rem;line-height:1.65;margin:0;}

/* ═══ TECH MARQUEE ═══ */
.cr-wrap{overflow:hidden;position:relative;margin-top:48px;padding:4px 0;width:100%;}
.cr-wrap::before,.cr-wrap::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;}
.cr-wrap::before{left:0;background:linear-gradient(to right,var(--bg),transparent);}
.cr-wrap::after{right:0;background:linear-gradient(to left,var(--bg),transparent);}
.cr-track{display:flex;gap:9px;width:max-content;animation:cr-scroll 30s linear infinite;}
.cr-track:hover{animation-play-state:paused;}
.cr-pill{background:var(--c2);border:1px solid var(--bd2);padding:10px 20px;border-radius:var(--r6);font-size:.78rem;font-weight:500;white-space:nowrap;color:var(--tx);display:flex;align-items:center;gap:8px;transition:all .22s;font-family:var(--fb);}
.cr-pill:hover{border-color:rgba(14,165,233,.38);background:rgba(14,165,233,.06);color:var(--wh);}
@keyframes cr-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ═══ TESTIMONIALS ═══ */
.test-out{padding:88px 0!important;overflow:hidden;max-width:none!important;}
.test-head{padding:0 5%;margin-bottom:48px;text-align:center;align-items:center;}
.t-row{overflow:hidden;position:relative;margin-bottom:14px;width:100%;}
.t-row::before,.t-row::after{content:"";position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none;}
.t-row::before{left:0;background:linear-gradient(to right,var(--bg),transparent);}
.t-row::after{right:0;background:linear-gradient(to left,var(--bg),transparent);}
.t-track{display:flex;gap:14px;width:max-content;padding:12px 0;}
.t-track.fwd{animation:t-fwd 44s linear infinite;}
.t-track.rev{animation:t-rev 50s linear infinite;}
.t-track:hover{animation-play-state:paused;}
@keyframes t-fwd{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes t-rev{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}
.t-card{width:350px;flex-shrink:0;background:var(--card);border:1px solid var(--bd2);border-radius:var(--r16);padding:24px;transition:all .3s;position:relative;overflow:hidden;}
.t-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;opacity:0;background:linear-gradient(90deg,transparent,var(--al),transparent);transition:opacity .3s;}
.t-card:hover{border-color:rgba(14,165,233,.28);transform:translateY(-4px);}
.t-card:hover::before{opacity:1;}
.t-q{font-family:var(--fh);font-size:1.9rem;line-height:1;color:rgba(14,165,233,.15);margin-bottom:10px;font-weight:800;}
.t-txt{font-size:.82rem;color:var(--mu);line-height:1.74;margin-bottom:16px;}
.t-foot{display:flex;align-items:center;justify-content:space-between;}
.t-auth{display:flex;align-items:center;gap:9px;}
.t-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.8rem;color:#fff;flex-shrink:0;border:2px solid rgba(255,255,255,.09);font-family:var(--fb);}
.t-name{font-family:var(--fh);font-size:.82rem;font-weight:700;color:var(--wh);}
.t-role{font-size:.7rem;color:var(--mu);}
.t-stars{color:#fbbf24;font-size:.76rem;letter-spacing:1px;}

/* ═══ BLOG CAROUSEL ═══ */
.bc-wrap{position:relative;margin-top:52px;width:100%;}
.bc-viewport{overflow:hidden;border-radius:12px;}
.bc-track{display:flex;gap:20px;transition:transform .5s cubic-bezier(.23,1,.32,1);will-change:transform;}
.bc-slide{flex:0 0 calc(25% - 15px);min-width:0;}
@media(max-width:1100px){.bc-slide{flex:0 0 calc(33.333% - 14px);}}
@media(max-width:768px){.bc-slide{flex:0 0 calc(50% - 10px);}}
@media(max-width:520px){.bc-slide{flex:0 0 100%;}}
.b-feat-card{background:var(--card);border:1px solid var(--bd2);border-radius:var(--r16);overflow:hidden;display:flex;flex-direction:column;height:100%;transition:all .3s;cursor:pointer;position:relative;text-decoration:none;color:var(--tx);}
.b-feat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--al),var(--gn),transparent);opacity:0;transition:opacity .3s;z-index:1;}
.b-feat-card:hover{border-color:rgba(14,165,233,.35);transform:translateY(-6px);box-shadow:0 20px 50px rgba(14,165,233,.1);}
.b-feat-card:hover::before{opacity:1;}
.b-feat-thumb{width:100%;height:180px;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:2.8rem;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--c2) 0%,var(--c3) 100%);}
.b-feat-thumb .b-th-icon{font-size:3rem;z-index:1;position:relative;}
.b-feat-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(3,12,26,.7) 100%);}
.b-feat-body{padding:20px;flex:1;display:flex;flex-direction:column;}
.b-feat-cat{font-family:var(--fm);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--al);margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.b-feat-cat::before{content:"";width:16px;height:1px;background:var(--al);}
.b-feat-card h3{font-family:var(--fh);font-size:.95rem;font-weight:700;color:var(--wh);line-height:1.4;margin:0 0 9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.b-feat-card p{font-size:.79rem;color:var(--mu);line-height:1.65;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 14px;}
.b-feat-meta{display:flex;align-items:center;gap:8px;font-family:var(--fm);font-size:.62rem;color:var(--mu);margin-top:auto;}
.b-feat-dot{width:3px;height:3px;border-radius:50%;background:var(--mu);}
.b-feat-read{display:inline-flex;align-items:center;gap:5px;font-family:var(--fm);font-size:.65rem;color:var(--al);font-weight:600;margin-top:10px;letter-spacing:.06em;text-transform:uppercase;transition:gap .2s;}
.b-feat-card:hover .b-feat-read{gap:9px;}
.bc-controls{display:flex;align-items:center;justify-content:space-between;margin-top:24px;}
.bc-dots{display:flex;gap:6px;}
.bc-dot{width:6px;height:6px;border-radius:50%;background:var(--bd);cursor:pointer;transition:all .3s;}
.bc-dot.act{width:22px;border-radius:3px;background:var(--al);}
.bc-arrows{display:flex;gap:8px;}
.bc-arr{width:40px;height:40px;border-radius:50%;background:var(--card);border:1px solid var(--bd2);display:grid;place-items:center;cursor:pointer;font-size:.9rem;color:var(--tx);transition:all .25s;}
.bc-arr:hover{background:rgba(14,165,233,.1);border-color:rgba(14,165,233,.35);color:var(--wh);}
.bc-arr:disabled{opacity:.3;cursor:not-allowed;}
.bc-view-all{display:inline-flex;align-items:center;gap:8px;font-family:var(--fm);font-size:.7rem;color:var(--al);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:gap .2s;background:none;border:none;padding:0;text-decoration:none;}
.bc-view-all:hover{gap:12px;}

/* ═══ CONTACT ═══ */
.e-con.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:start;width:100%;}
.e-con.cf{background:var(--card);border:1px solid var(--bd);border-radius:var(--r20);padding:38px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;}
.cf::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--al),var(--gn),transparent);}
.cf-title .elementor-heading-title{font-family:var(--fh);font-size:1.4rem;font-weight:800;color:var(--wh);}
.cf-title{margin-bottom:22px;}
/* Elementor Pro form adapter — matches .cf-inp exactly */
.cf-form .elementor-field-group{margin-bottom:12px;padding:0;}
.cf-form .elementor-form-fields-wrapper{gap:0 12px;}
.cf-form label.elementor-field-label{font-family:var(--fm);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);display:block;margin-bottom:5px;font-weight:400;}
.cf-form .elementor-field-textual{
  width:100%;background:var(--c2);border:1px solid var(--bd2);border-radius:var(--r6);
  padding:11px 13px;font-size:.86rem;color:var(--tx);outline:none;
  transition:border-color .2s,box-shadow .2s;font-family:var(--fb);min-height:0;
}
.cf-form .elementor-field-textual:focus{border-color:rgba(14,165,233,.48);box-shadow:0 0 0 3px rgba(14,165,233,.06);}
.cf-form .elementor-field-textual::placeholder{color:#3d617e;opacity:1;}
.cf-form select.elementor-field-textual{color:var(--tx);}
.cf-form select.elementor-field-textual option{background:var(--c2);color:var(--tx);}
.cf-form textarea.elementor-field-textual{resize:vertical;min-height:110px;}
.cf-form .elementor-button[type="submit"]{
  width:100%;padding:12px;background:linear-gradient(90deg,var(--ac),var(--tl));color:#fff;border:none;border-radius:var(--r6);
  font-weight:700;font-size:.88rem;font-family:var(--fb);letter-spacing:.04em;transition:all .25s;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.cf-form .elementor-button[type="submit"]:hover{opacity:.9;box-shadow:0 0 22px rgba(14,165,233,.28);transform:translateY(-1px);}
.cf-form .elementor-message-success{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);border-radius:var(--r6);padding:13px;color:#4ade80;font-size:.86rem;text-align:center;margin-top:12px;}
.cf-form .elementor-message-danger{color:#fca5a5;font-size:.8rem;}
.e-con.cinfo{display:flex;flex-direction:column;gap:16px;}
.e-con.cinfo-hero{background:var(--card);border:1px solid var(--bd);border-radius:var(--r16);padding:24px;display:flex;flex-direction:column;align-items:stretch;gap:0;}
.cinfo-hero-p p{color:var(--mu);font-size:.86rem;line-height:1.74;margin:0;}
.cinfo-hero-p{margin-bottom:18px;}
.cinfo-hero .eb .elementor-button{width:100%;justify-content:center;display:flex;}
.cinfo-hero .eb-w{margin-bottom:10px;}
.e-con.cinfo-card{background:var(--card);border:1px solid var(--bd2);border-radius:var(--r16);padding:22px 24px;display:flex;flex-direction:row;align-items:center;gap:15px;transition:all .25s;flex-wrap:nowrap;}
.e-con.cinfo-card:hover{border-color:rgba(14,165,233,.28);transform:translateX(3px);}
.cinfo-ic,.cinfo-ic .elementor-heading-title{font-size:1.15rem;line-height:1;}
.cinfo-ic{width:42px;height:42px;border-radius:var(--r12);background:rgba(14,165,233,.08);border:1px solid rgba(14,165,233,.13);display:grid;place-items:center;flex-shrink:0;}
.cinfo-lbl,.cinfo-lbl .elementor-heading-title{font-family:var(--fm);font-size:.65rem;color:var(--mu);letter-spacing:.05em;font-weight:400;}
.cinfo-lbl{margin-bottom:3px;}
.cinfo-val,.cinfo-val .elementor-heading-title,.cinfo-val a{font-family:var(--fh);font-size:.88rem;font-weight:700;color:var(--wh);text-decoration:none;}
.cinfo-val a:hover{color:var(--al);}

/* ═══ FAQ (Elementor accordion adapter) ═══ */
.faq-wrap{max-width:740px;margin:52px auto 0;width:100%;}
.faq-el .elementor-accordion-item{background:var(--card);border:1px solid var(--bd2)!important;border-radius:var(--r12);margin-bottom:8px;overflow:hidden;transition:border-color .25s;}
.faq-el .elementor-accordion-item:has(.elementor-tab-title.elementor-active){border-color:rgba(14,165,233,.28)!important;}
.faq-el .elementor-tab-title{
  padding:18px 20px;font-family:var(--fh);font-weight:700;font-size:.88rem;color:var(--tx);
  display:flex;justify-content:space-between;align-items:center;gap:12px;transition:color .2s;border:none;
}
.faq-el .elementor-tab-title:hover,.faq-el .elementor-tab-title:hover a{color:var(--wh);}
.faq-el .elementor-tab-title a{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;flex:1;}
.faq-el .elementor-tab-title .elementor-accordion-icon{
  order:2;width:26px;height:26px;min-width:26px;border-radius:6px;background:rgba(14,165,233,.08);
  display:grid;place-items:center;font-size:.86rem;transition:transform .3s,background .2s;color:var(--al);float:none;
}
.faq-el .elementor-tab-title .elementor-accordion-icon svg{fill:var(--al);width:.75em;}
.faq-el .elementor-tab-title.elementor-active .elementor-accordion-icon{transform:rotate(45deg);background:rgba(14,165,233,.16);}
.faq-el .elementor-accordion-icon.elementor-accordion-icon-right{float:none;}
.faq-el .elementor-tab-content{color:var(--mu);font-size:.85rem;line-height:1.76;padding:0 20px 16px;border:none!important;font-family:var(--fb);}

/* ═══ CTA ═══ */
.e-con.cta-box{background:var(--card);border:1px solid var(--bd);border-radius:var(--r20);padding:72px 52px;text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;width:100%;}
.cta-box::before{content:"";position:absolute;top:-100px;left:50%;transform:translateX(-50%);width:500px;height:350px;background:radial-gradient(ellipse,rgba(14,165,233,.09),rgba(34,197,94,.04) 50%,transparent 70%);filter:blur(35px);pointer-events:none;}
.cta-box::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--al),var(--gn),var(--tl),transparent);}
.cta-h .elementor-heading-title{font-family:var(--fh);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:800;color:var(--wh);letter-spacing:-.01em;}
.cta-h{margin-bottom:12px;position:relative;}
.cta-p p{color:var(--mu);font-size:.95rem;margin:0;}
.cta-p{margin-bottom:34px;position:relative;}
/* newsletter strip (Elementor form adapter) */
.nl-form{max-width:480px;margin:0 auto 18px;position:relative;width:100%;}
.nl-form .elementor-form-fields-wrapper{
  display:flex;flex-wrap:nowrap;gap:0;border-radius:var(--r6);overflow:hidden;border:1px solid rgba(14,165,233,.3);align-items:stretch;
}
.nl-form .elementor-field-group{margin:0;padding:0;flex:1;}
.nl-form .elementor-field-group.elementor-field-type-submit{flex:0 0 auto;width:auto;}
.nl-form .elementor-field-textual{
  width:100%;padding:12px 16px;background:rgba(3,12,26,.6);border:none;outline:none;color:var(--tx);
  font-family:var(--fb);font-size:.85rem;border-radius:0;min-height:100%;
}
.nl-form .elementor-field-textual::placeholder{color:#3d617e;opacity:1;}
.nl-form .elementor-button[type="submit"]{
  padding:12px 20px;background:var(--al);border:none;color:#fff;font-family:var(--fm);font-size:.72rem;font-weight:700;
  letter-spacing:.08em;cursor:pointer;white-space:nowrap;transition:background .2s;border-radius:0;height:100%;
}
.nl-form .elementor-button[type="submit"]:hover{background:var(--gn);}
.nl-form .elementor-message-success{color:#4ade80;font-size:.82rem;margin-top:14px;font-family:var(--fm);}
.cta-btns{display:flex;flex-direction:row;gap:12px;justify-content:center;flex-wrap:wrap;position:relative;}
.cta-note p{margin:0;font-family:var(--fm);font-size:.68rem;color:var(--mu);letter-spacing:.05em;}
.cta-note{margin-top:18px;position:relative;}

/* ═══ FOOTER ═══ */
.ghlfoot{position:relative;z-index:1;background:var(--bg2);border-top:1px solid var(--bd2);padding:54px 5% 26px!important;max-width:none!important;}
.e-con.f-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:36px;margin-bottom:38px;width:100%;}
.e-con.f-brand{display:flex;flex-direction:column;align-items:flex-start;gap:0;}
.f-brand .f-logo img{height:32px;width:auto;}
.f-brand-p p{color:var(--mu);font-size:.81rem;line-height:1.68;margin:13px 0 16px;}
.f-socials{display:flex;gap:7px;}
.f-socials p{margin:0;display:flex;gap:7px;}
.fsoc{width:33px;height:33px;border-radius:var(--r6);background:var(--card);border:1px solid var(--bd2);display:grid;place-items:center;font-size:.78rem;text-decoration:none;color:var(--mu);transition:all .2s;}
.fsoc:hover{border-color:rgba(14,165,233,.38);color:var(--wh);background:rgba(14,165,233,.06);}
.f-col-h .elementor-heading-title{font-family:var(--fm);font-size:.63rem;letter-spacing:.14em;color:var(--mu);text-transform:uppercase;font-weight:400;}
.f-col-h{margin-bottom:14px;}
.f-links{list-style:none;margin:0;padding:0;}
.f-links li a{color:var(--mu);font-size:.81rem;text-decoration:none;display:block;padding:4px 0;transition:color .2s;}
.f-links li a:hover{color:var(--wh);}
.e-con.f-bottom{border-top:1px solid var(--bd2);padding-top:18px;display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;gap:8px;width:100%;}
.f-bottom p{font-family:var(--fm);font-size:.68rem;color:var(--mu);letter-spacing:.03em;margin:0;}
.f-bottom a{color:inherit;opacity:.6;text-decoration:underline;text-underline-offset:3px;}

/* ═══ WHATSAPP FLOAT ═══ */
.wa-float{position:fixed;bottom:26px;right:26px;z-index:400;width:52px;height:52px;border-radius:50%;background:#25d366;display:grid;place-items:center;font-size:1.4rem;text-decoration:none;animation:wa-pulse 2.5s ease-in-out infinite;}
@keyframes wa-pulse{0%,100%{box-shadow:0 4px 18px rgba(37,211,102,.38);}50%{box-shadow:0 4px 38px rgba(37,211,102,.66);}}

/* ═══ REVEAL ═══ */
.reveal{opacity:1;transform:none;animation:rv-up .65s cubic-bezier(.23,1,.32,1) both;}
.reveal.from-left{animation-name:rv-left;}
.reveal.from-right{animation-name:rv-right;}
.reveal.from-scale{animation-name:rv-scale;}
@keyframes rv-up{from{opacity:0;transform:translateY(32px);}to{opacity:1;transform:translateY(0);}}
@keyframes rv-left{from{opacity:0;transform:translateX(-40px);}to{opacity:1;transform:translateX(0);}}
@keyframes rv-right{from{opacity:0;transform:translateX(40px);}to{opacity:1;transform:translateX(0);}}
@keyframes rv-scale{from{opacity:0;transform:scale(.93);}to{opacity:1;transform:scale(1);}}
.d1{animation-delay:.06s;}.d2{animation-delay:.12s;}.d3{animation-delay:.18s;}.d4{animation-delay:.24s;}.d5{animation-delay:.30s;}.d6{animation-delay:.36s;}
.reveal,.reveal.visible{opacity:1!important;}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1100px){
  .e-con.price-grid{grid-template-columns:repeat(2,1fr);}
  .e-con.proc-grid{grid-template-columns:repeat(3,1fr);}
  .proc-grid::before{display:none;}
  .e-con.sstat{flex:0 0 calc(100% / 4);}
  .ss-nav{display:flex;}
}
@media(max-width:960px){
  .e-con.intro-grid,.e-con.a2p-wrap,.e-con.contact-grid{grid-template-columns:1fr;}
  .e-con.why-grid{grid-template-columns:1fr 1fr;}
  .e-con.f-grid{grid-template-columns:1fr!important;gap:28px;}
  .e-con.a2p-steps{display:grid;grid-template-columns:1fr 1fr;}
  .e-con.price-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .e-con.sstat{flex:0 0 calc(100% / 3);}
  .e-con.a2p-steps{grid-template-columns:1fr;}
  .e-con.price-grid{grid-template-columns:1fr;}
  .hbtns{flex-direction:column;gap:10px;align-items:center;}
  .e-con.cta-box{padding:28px 16px;}
  .e-con.f-bottom{flex-direction:column;gap:8px;text-align:center;align-items:center;}
  .f-bottom p{font-size:.73rem;}
  .cr-pill{font-size:.73rem;padding:6px 12px;}
  .e-con.a2p-wrap{padding:26px 18px;}
  .e-con.why-grid{grid-template-columns:1fr;}
  .e-con.proc-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:480px){
  .sec{padding:48px 4%!important;}
  .test-out{padding:48px 0!important;}
  .sh{margin-bottom:28px!important;}
  .e-con.proc-grid{grid-template-columns:1fr;}
  .snum,.snum .elementor-heading-title{font-size:2rem;}
  .ey,.ey-el .elementor-heading-title{font-size:.73rem;}
  .t-card{width:85vw;}
  .nl-form .elementor-form-fields-wrapper{flex-wrap:wrap;}
  .nl-form .elementor-field-group.elementor-field-type-submit{width:100%;}
  .nl-form .elementor-button[type="submit"]{width:100%;}
}

/* ════════════════════════════════════════════════════════════
   CASCADE GUARDS — win over Elementor generated CSS
   (kit globals, widget defaults, container padding vars)
   ════════════════════════════════════════════════════════════ */

/* ---- shell layout (structural; rarely user-tweaked) ---- */
.e-con.hero{min-height:100vh!important;padding:120px 5% 90px!important;position:relative!important;overflow:hidden!important;}
.e-con.sec{padding:88px 5%!important;position:relative;}
.e-con.sec.sec-pt0{padding-top:0!important;}
.e-con.sec.sec-pb0{padding-bottom:0!important;}
.e-con.test-out{padding:88px 0!important;overflow:hidden;}
.e-con.sstrip{margin:0 5% 88px!important;padding:0!important;display:block!important;max-width:none!important;}
.e-con.sh{margin-bottom:52px!important;}
.e-con.faq-wrap{max-width:740px!important;margin:52px auto 0!important;}
.e-con.ghlnav{position:fixed!important;top:0;left:0;right:0;height:68px!important;padding:0 5%!important;z-index:500!important;}
body.admin-bar .e-con.ghlnav{top:32px;}
.e-con.ghlfoot{padding:54px 5% 26px!important;}
.e-con.intro-grid{gap:68px!important;}
.e-con.svc-grid{margin-top:52px!important;}
.e-con.proc-grid{margin-top:52px!important;}
.e-con.price-grid{margin-top:52px!important;}
.e-con.why-grid{margin-top:52px!important;}
@media(max-width:480px){
  .e-con.sec{padding:48px 4%!important;}
  .e-con.test-out{padding:48px 0!important;}
  .e-con.sh{margin-bottom:28px!important;}
}

/* ---- heading colors/typography vs kit + widget defaults ---- */
.elementor-widget.ht-el .elementor-heading-title{font-family:var(--fh);font-size:70px;font-weight:800;line-height:1.04;letter-spacing:-.02em;color:var(--wh);max-width:980px;}
@media(max-width:1200px){.elementor-widget.ht-el .elementor-heading-title{font-size:58px;}}
@media(max-width:960px){.elementor-widget.ht-el .elementor-heading-title{font-size:48px;}}
@media(max-width:768px){.elementor-widget.ht-el .elementor-heading-title{font-size:38px;}}
@media(max-width:480px){.elementor-widget.ht-el .elementor-heading-title{font-size:30px;}}
.elementor-widget.st-el .elementor-heading-title{font-family:var(--fh);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.1;letter-spacing:-.01em;color:var(--wh);}
.elementor-widget.ey-el .elementor-heading-title{display:inline-flex;align-items:center;gap:9px;font-family:var(--fm);font-size:.68rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--al);}
.elementor-widget.slabel-el .elementor-heading-title{display:block;font-family:var(--fm);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gn);font-weight:400;}
.elementor-widget.snum .elementor-heading-title{font-family:var(--fh);font-size:2rem;font-weight:800;color:var(--wh);line-height:1;}
.elementor-widget.slb .elementor-heading-title{font-family:var(--fm);font-size:.63rem;color:var(--mu);letter-spacing:.08em;font-weight:400;}
.elementor-widget.icard-h .elementor-heading-title{font-family:var(--fh);font-size:1.38rem;font-weight:700;color:var(--wh);}
.elementor-widget.iicon .elementor-heading-title{font-size:1.6rem;line-height:1;color:#fff;}
.elementor-widget.svc-h .elementor-heading-title{font-family:var(--fh);font-size:1rem;font-weight:700;color:var(--wh);letter-spacing:-.01em;}
.elementor-widget.svc-ic .elementor-heading-title{font-size:1.2rem;line-height:1;color:var(--tx);}
.elementor-widget.svc-badge-el .elementor-heading-title{font-family:var(--fm);font-size:.6rem;padding:3px 9px;border-radius:4px;letter-spacing:.05em;font-weight:400;}
.elementor-widget.b-blue .elementor-heading-title{background:rgba(14,165,233,.12);color:var(--al);border:1px solid rgba(14,165,233,.22);}
.elementor-widget.b-green .elementor-heading-title{background:rgba(34,197,94,.09);color:var(--gn);border:1px solid rgba(34,197,94,.17);}
.elementor-widget.b-red .elementor-heading-title{background:rgba(239,68,68,.09);color:#fca5a5;border:1px solid rgba(239,68,68,.15);}
.elementor-widget.b-gray .elementor-heading-title{background:rgba(255,255,255,.04);color:var(--mu);border:1px solid var(--bd2);}
.elementor-widget.a2p-h .elementor-heading-title{font-family:var(--fh);font-size:1.85rem;font-weight:800;color:var(--wh);}
.elementor-widget.a2p-num .elementor-heading-title{font-family:var(--fh);font-weight:800;font-size:.8rem;color:#fff;line-height:1;}
.elementor-widget.pnum .elementor-heading-title{font-family:var(--fh);font-weight:800;font-size:.75rem;color:var(--al);line-height:1;}
.e-con.pstep:hover .elementor-widget.pnum .elementor-heading-title{color:#fff;}
.elementor-widget.pem .elementor-heading-title{font-size:1.45rem;line-height:1;color:var(--tx);}
.elementor-widget.pstep-h .elementor-heading-title{font-family:var(--fh);font-size:.85rem;font-weight:700;color:var(--wh);}
.elementor-widget.p-tier .elementor-heading-title{font-family:var(--fm);font-size:.6rem;letter-spacing:.18em;color:var(--mu);font-weight:400;}
.elementor-widget.p-price .elementor-heading-title{font-family:var(--fh);font-size:2.2rem;font-weight:800;color:var(--wh);line-height:1;}
.elementor-widget.p-price .elementor-heading-title span{font-family:var(--fb);font-size:.76rem;color:var(--mu);font-weight:400;}
.elementor-widget.why-h .elementor-heading-title{font-family:var(--fh);font-size:.92rem;font-weight:700;color:var(--wh);}
.elementor-widget.why-ic .elementor-heading-title{font-size:1.2rem;line-height:1;color:var(--tx);}
.elementor-widget.cf-title .elementor-heading-title{font-family:var(--fh);font-size:1.4rem;font-weight:800;color:var(--wh);}
.elementor-widget.cinfo-ic .elementor-heading-title{font-size:1.15rem;line-height:1;color:var(--tx);}
.elementor-widget.cta-h .elementor-heading-title{font-family:var(--fh);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:800;color:var(--wh);letter-spacing:-.01em;}
.elementor-widget.f-col-h .elementor-heading-title{font-family:var(--fm);font-size:.63rem;letter-spacing:.14em;color:var(--mu);text-transform:uppercase;font-weight:400;}

/* gradient spans must beat the color set above */
.elementor-widget .elementor-heading-title .grad,
.elementor-widget .elementor-heading-title .hi,
.elementor-widget .elementor-heading-title .hi-gn,
.elementor-widget .elementor-heading-title .hi-tl{
  background:linear-gradient(135deg,#38bdf8 0%,#34d399 45%,#22d3ee 80%,#60a5fa 100%);
  background-size:300% 300%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:grad-shift 5s ease infinite;
}

/* ---- buttons vs kit button globals ---- */
.elementor-widget.eb .elementor-button,.elementor-widget.ncta-el .elementor-button,.elementor-widget.p-btn-el .elementor-button{
  text-transform:none;background-image:none;
}
.elementor-widget.eb .elementor-button{padding:12px 28px;border-radius:var(--r6);font-weight:700;font-size:.87rem;font-family:var(--fb);letter-spacing:.03em;line-height:1.35;}
.elementor-widget.eb-p .elementor-button{background-color:var(--ac);color:#fff;border:1px solid rgba(14,165,233,.38);}
.elementor-widget.eb-p .elementor-button:hover{background-color:var(--al);transform:translateY(-2px);box-shadow:0 0 28px rgba(14,165,233,.32);color:#fff;}
.elementor-widget.eb-o .elementor-button{border:1px solid rgba(255,255,255,.13);color:var(--wh);background-color:rgba(255,255,255,.03);}
.elementor-widget.eb-o .elementor-button:hover{border-color:var(--al);background-color:rgba(14,165,233,.06);color:var(--wh);}
.elementor-widget.eb-w .elementor-button{background-color:#25d366;color:#fff;border:1px solid rgba(37,211,102,.3);}
.elementor-widget.eb-w .elementor-button:hover{background-color:#22c55e;transform:translateY(-2px);box-shadow:0 0 22px rgba(37,211,102,.3);color:#fff;}
.elementor-widget.eb-full .elementor-button{width:100%;justify-content:center;display:flex;}
.elementor-widget.ncta-el .elementor-button{background-color:var(--ac);color:#fff;padding:9px 22px;border-radius:var(--r6);font-weight:700;font-size:.82rem;border:1px solid rgba(14,165,233,.4);letter-spacing:.04em;font-family:var(--fb);}
.elementor-widget.ncta-el .elementor-button:hover{background-color:var(--al);box-shadow:0 0 24px rgba(14,165,233,.35);transform:translateY(-1px);color:#fff;}
.elementor-widget.p-btn-el .elementor-button{width:100%;padding:11px;border-radius:var(--r6);font-weight:700;font-size:.83rem;display:flex;justify-content:center;font-family:var(--fb);letter-spacing:.04em;}
.elementor-widget.p-btn-s .elementor-button{background:linear-gradient(90deg,var(--ac),var(--tl));color:#fff;border:none;}
.elementor-widget.p-btn-s .elementor-button:hover{opacity:.9;box-shadow:0 0 20px rgba(14,165,233,.28);color:#fff;}
.elementor-widget.p-btn-o .elementor-button{background:transparent;color:var(--tx);border:1px solid var(--bd2);}
.elementor-widget.p-btn-o .elementor-button:hover{border-color:rgba(14,165,233,.38);background:rgba(14,165,233,.04);color:var(--tx);}

/* ---- text widget colors vs kit body/text globals ---- */
.elementor-widget.hs-el p{font-size:1rem;color:rgba(204,228,244,.58);max-width:580px;line-height:1.84;margin:0 auto;text-align:center;}
.elementor-widget.sdesc-el p{color:var(--mu);font-size:.91rem;line-height:1.8;max-width:560px;}
.elementor-widget.icard-p p{color:var(--mu);font-size:.86rem;line-height:1.72;}
.elementor-widget.svc-p p{color:var(--mu);font-size:.81rem;line-height:1.65;}
.elementor-widget.a2p-desc p{color:var(--mu);line-height:1.78;font-size:.89rem;}
.elementor-widget.pstep-p p{color:var(--mu);font-size:.74rem;line-height:1.6;}
.elementor-widget.p-desc p{color:var(--mu);font-size:.76rem;line-height:1.6;}
.elementor-widget.why-p p{color:var(--mu);font-size:.8rem;line-height:1.65;}
.elementor-widget.cinfo-hero-p p{color:var(--mu);font-size:.86rem;line-height:1.74;}
.elementor-widget.cta-p p{color:var(--mu);font-size:.95rem;}
.elementor-widget.cta-note p{font-family:var(--fm);font-size:.68rem;color:var(--mu);letter-spacing:.05em;}
.elementor-widget.f-brand-p p{color:var(--mu);font-size:.81rem;line-height:1.68;}
.elementor-widget.p-note p{font-family:var(--fm);font-size:.72rem;color:var(--mu);}
.elementor-widget.p-note a{color:var(--al);}

/* nav menu link colors vs pro defaults */
.elementor-widget.nlinks-el .elementor-nav-menu--main .elementor-item{color:rgba(204,228,244,.5);fill:rgba(204,228,244,.5);}
.elementor-widget.nlinks-el .elementor-nav-menu--main .elementor-item:hover{color:var(--wh);}

/* html widgets hosting absolute layers must not trap them */
.e-con.hero .elementor-widget-html,
.e-con.p-card .elementor-widget-html,
.e-con.sstrip .elementor-widget-html{position:static;}

/* ═══ SPACING GUARDS — widget margins (beat Elementor --margin vars) ═══ */
.elementor-widget.ey-el{margin-bottom:28px;}
.elementor-widget.ht-el{margin-bottom:24px;}
.elementor-widget.hs-el{margin-bottom:42px;}
.e-con.hbtns{margin-bottom:48px;}
.elementor-widget.slabel-el{margin-bottom:11px;}
.elementor-widget.st-el{margin-bottom:14px;}
.elementor-widget.iicon{margin:0 auto 18px;}
.elementor-widget.icard-h{margin-bottom:11px;}
.elementor-widget.ibadges{margin-top:22px;}
.elementor-widget.svc-ic{margin-bottom:15px;}
.elementor-widget.svc-h{margin-bottom:8px;}
.elementor-widget.svc-p{margin-bottom:13px;}
.elementor-widget.a2p-h{margin-bottom:13px;}
.elementor-widget.a2p-desc{margin-bottom:20px;}
.elementor-widget.pnum{margin:0 auto 14px;}
.elementor-widget.pem{margin-bottom:10px;}
.elementor-widget.pstep-h{margin-bottom:6px;}
.elementor-widget.p-tier{margin-bottom:9px;}
.elementor-widget.p-price{margin-bottom:4px;}
.elementor-widget.p-desc{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--bd2);}
.elementor-widget.p-feats-el{margin-bottom:22px;}
.elementor-widget.p-btn-el{margin-top:auto;}
.elementor-widget.why-ic{margin-bottom:13px;}
.elementor-widget.why-h{margin-bottom:7px;}
.elementor-widget.cf-title{margin-bottom:22px;}
.elementor-widget.cinfo-hero-p{margin-bottom:18px;}
.elementor-widget.eb-w.eb-full{margin-bottom:10px;}
.elementor-widget.cta-h{margin-bottom:12px;}
.elementor-widget.cta-p{margin-bottom:34px;}
.elementor-widget.nl-form{margin-bottom:18px;}
.elementor-widget.cta-note{margin-top:18px;}
.elementor-widget.f-col-h{margin-bottom:14px;}
.elementor-widget.f-brand-p{margin:13px 0 16px;}

/* ═══ LINE-HEIGHT PARITY — source body has default line-height ═══ */
body,.elementor-kit-5{line-height:normal;}
.svc-feat li{line-height:normal;}
.p-feats li{line-height:normal;}
.a2p-list li{line-height:normal;}
.f-links li a{line-height:normal;}
.cklist li{line-height:1.56;}
.hav{line-height:normal;}
.hpr-t{line-height:normal;}

/* ═══ FAQ closed-state + icon box parity ═══ */
.faq-el .elementor-tab-content{border:none!important;}
/* ═══ SPACING GUARDS (important: beat logical-prop ordering) ═══ */
.elementor-widget.ey-el{margin-bottom:28px!important;}
.elementor-widget.ht-el{margin-bottom:24px!important;}
.elementor-widget.hs-el{margin-bottom:42px!important;}
.e-con.hbtns{margin-bottom:48px!important;}
.elementor-widget.slabel-el{margin-bottom:11px!important;}
.elementor-widget.st-el{margin-bottom:14px!important;}
.elementor-widget.iicon{margin:0 auto 18px!important;}
.elementor-widget.icard-h{margin-bottom:11px!important;}
.elementor-widget.ibadges{margin-top:22px!important;}
.elementor-widget.svc-ic{margin-bottom:15px!important;}
.elementor-widget.svc-h{margin-bottom:8px!important;}
.elementor-widget.svc-p{margin-bottom:13px!important;}
.elementor-widget.a2p-h{margin-bottom:13px!important;}
.elementor-widget.a2p-desc{margin-bottom:20px!important;}
.elementor-widget.pnum{margin:0 auto 14px!important;}
.elementor-widget.pem{margin-bottom:10px!important;}
.elementor-widget.pstep-h{margin-bottom:6px!important;}
.elementor-widget.p-tier{margin-bottom:9px!important;}
.elementor-widget.p-price{margin-bottom:4px!important;}
.elementor-widget.p-desc{margin-bottom:16px!important;padding-bottom:16px;border-bottom:1px solid var(--bd2);}
.elementor-widget.p-feats-el{margin-bottom:22px!important;}
.elementor-widget.p-btn-el{margin-top:auto!important;}
.elementor-widget.why-ic{margin-bottom:13px!important;}
.elementor-widget.why-h{margin-bottom:7px!important;}
.elementor-widget.cf-title{margin-bottom:22px!important;}
.elementor-widget.cinfo-hero-p{margin-bottom:18px!important;}
.elementor-widget.eb-w.eb-full{margin-bottom:10px!important;}
.elementor-widget.cta-h{margin-bottom:12px!important;}
.elementor-widget.cta-p{margin-bottom:34px!important;}
.elementor-widget.nl-form{margin-bottom:18px!important;}
.elementor-widget.cta-note{margin-top:18px!important;}
.elementor-widget.f-col-h{margin-bottom:14px!important;}
.elementor-widget.f-brand-p{margin:13px 0 16px!important;}

/* ═══ LINE-HEIGHT PARITY — source body has default line-height ═══ */
body,.elementor-kit-5{line-height:normal;}
.svc-feat li{line-height:normal;}
.p-feats li{line-height:normal;}
.a2p-list li{line-height:normal;}
.f-links li a{line-height:normal;}
.cklist li{line-height:1.56;}
.hav{line-height:normal;}
.hpr-t{line-height:normal;}

/* ═══ FAQ closed-state + icon box parity ═══ */
.faq-el .elementor-tab-content{border:none!important;}

/* ═══ MARGIN-COLLAPSE COMPENSATION ═══
   Source layout is block flow: .sh margin-bottom (52) collapses with the
   following grid's margin-top (52). Flex containers never collapse margins,
   so keep only the .sh side. */
.e-con.svc-grid,.e-con.proc-grid,.e-con.price-grid,.e-con.why-grid{margin-top:0!important;}
.bc-wrap{margin-top:0;}
.cr-wrap{margin-top:0;}
.e-con.faq-wrap{margin-top:0!important;margin-left:auto!important;margin-right:auto!important;}

/* ═══ MARGIN-COLLAPSE COMPENSATION ═══
   Source layout is block flow: .sh margin-bottom (52) collapses with the
   following grid's margin-top (52). Flex containers never collapse margins,
   so keep only the .sh side. */
.e-con.svc-grid,.e-con.proc-grid,.e-con.price-grid,.e-con.why-grid{margin-top:0!important;}
.bc-wrap{margin-top:0;}
.cr-wrap{margin-top:0;}
.e-con.faq-wrap{margin-top:0!important;margin-left:auto!important;margin-right:auto!important;}

/* FAQ title padding must beat elementor widget-accordion css */
.elementor-widget.faq-el .elementor-tab-title{padding:18px 20px;}
.elementor-widget.faq-el .elementor-tab-content{padding:0 20px 16px;}

/* ═══ FORM GUARDS (beat widget-form.min.css) ═══ */
.elementor-widget.cf-form .elementor-form-fields-wrapper{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:0;}
.elementor-widget.cf-form .elementor-field-group{padding:0;margin-bottom:12px;}
.elementor-widget.cf-form .elementor-field-group.elementor-col-50{width:calc(50% - 6px);}
.elementor-widget.cf-form .elementor-field-group.elementor-col-100{width:100%;}
.elementor-widget.cf-form label.elementor-field-label{font-family:var(--fm);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);margin-bottom:5px;font-weight:400;}
.elementor-widget.cf-form .elementor-field-textual{background-color:var(--c2);border:1px solid var(--bd2);border-radius:var(--r6);padding:11px 13px;font-size:.86rem;color:var(--tx);font-family:var(--fb);min-height:0;}
.elementor-widget.cf-form .elementor-field-textual:focus{border-color:rgba(14,165,233,.48);box-shadow:0 0 0 3px rgba(14,165,233,.06);}
.elementor-widget.cf-form .elementor-field-textual::placeholder{color:#3d617e;opacity:1;}
.elementor-widget.cf-form select.elementor-field-textual{color:var(--tx);}
.elementor-widget.cf-form select.elementor-field-textual option{background:var(--c2);color:var(--tx);}
.elementor-widget.cf-form textarea.elementor-field-textual{min-height:110px;resize:vertical;}
.elementor-widget.cf-form .elementor-button[type="submit"]{width:100%;padding:12px;background:linear-gradient(90deg,var(--ac),var(--tl));color:#fff;border:none;border-radius:var(--r6);font-weight:700;font-size:.88rem;font-family:var(--fb);letter-spacing:.04em;text-transform:none;display:flex;align-items:center;justify-content:center;gap:8px;}
.elementor-widget.cf-form .elementor-button[type="submit"]:hover{opacity:.9;box-shadow:0 0 22px rgba(14,165,233,.28);transform:translateY(-1px);}
.elementor-widget.cf-form .elementor-field-group.elementor-field-type-submit{margin-bottom:0;margin-top:0;}

/* card top gradient line (specificity-guarded) */
.e-con.cf::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--al),var(--gn),transparent);z-index:1;}

/* ═══ NEWSLETTER FORM GUARDS ═══ */
.elementor-widget.nl-form{max-width:480px;margin-left:auto!important;margin-right:auto!important;width:100%;}
.elementor-widget.nl-form .elementor-form-fields-wrapper{display:flex;flex-wrap:nowrap;gap:0;border-radius:var(--r6);overflow:hidden;border:1px solid rgba(14,165,233,.3);align-items:stretch;}
.elementor-widget.nl-form .elementor-field-group{padding:0;margin:0;flex:1;}
.elementor-widget.nl-form .elementor-field-group.elementor-field-type-submit{flex:0 0 auto;width:auto;}
.elementor-widget.nl-form .elementor-field-textual{width:100%;padding:12px 16px;background-color:rgba(3,12,26,.6);border:none;color:var(--tx);font-family:var(--fb);font-size:.85rem;border-radius:0;min-height:100%;}
.elementor-widget.nl-form .elementor-field-textual::placeholder{color:#3d617e;opacity:1;}
.elementor-widget.nl-form .elementor-button[type="submit"]{padding:12px 20px;background:var(--al);border:none;color:#fff;font-family:var(--fm);font-size:.72rem;font-weight:700;letter-spacing:.08em;white-space:nowrap;border-radius:0;height:100%;text-transform:none;}
.elementor-widget.nl-form .elementor-button[type="submit"]:hover{background:var(--gn);}
@media(max-width:480px){
  .elementor-widget.nl-form .elementor-form-fields-wrapper{flex-wrap:wrap;}
  .elementor-widget.nl-form .elementor-field-group.elementor-field-type-submit{width:100%;}
  .elementor-widget.nl-form .elementor-button[type="submit"]{width:100%;}
}

/* Final input theming (forced — token constants) */
.elementor-widget.cf-form .elementor-field-textual{
  background-color:#0b1d30!important;border:1px solid rgba(255,255,255,.06)!important;
  color:#cce4f4!important;border-radius:6px!important;
}
.elementor-widget.cf-form .elementor-field-textual:focus{border-color:rgba(14,165,233,.48)!important;}
.elementor-widget.nl-form .elementor-field-textual{
  background-color:rgba(3,12,26,.6)!important;border:none!important;color:#cce4f4!important;border-radius:0!important;
}
.elementor-widget.nl-form{max-width:480px!important;width:100%!important;}

/* ═══ MOBILE NAV PARITY ═══ */
@media(max-width:960px){
  .elementor-widget.ncta-el{display:none!important;}
}
.ghlnav .elementor-menu-toggle{border:none!important;background:none!important;padding:6px;border-radius:0;}
.ghlnav .elementor-menu-toggle svg{width:30px;height:30px;fill:#cce4f4;}
.ghlnav .elementor-menu-toggle i{font-size:26px;color:#cce4f4;}

/* ═══ STATS STRIP MOBILE PARITY ═══ */
.e-con.ss-track{flex-wrap:nowrap!important;}
@media(max-width:960px){
  .e-con.sstat{min-width:160px!important;}
}

/* ═══ CLIP GUARDS (beat .e-con{overflow:var(--overflow)}) ═══ */
.e-con.cr-wrap,.e-con.t-row,.e-con.bc-viewport,.e-con.ss-viewport,.e-con.hero-el{
  overflow:hidden!important;--overflow:hidden;
}

/* ══════════════ SINGLE POST (pp-) — ported from source ══════════════ */
.pp-breadcrumb{display:flex;align-items:center;gap:7px;font-family:var(--fm);font-size:.68rem;letter-spacing:.04em;margin-bottom:22px;}
.pp-bc-btn{color:var(--mu);text-decoration:none;transition:color .2s;}
.pp-bc-btn:hover{color:var(--al);}
.pp-sep{color:var(--bd);font-size:.8rem;}
.pp-bc-cur{color:var(--tx);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.e-con.pp-hero{background:linear-gradient(160deg,#040f1f 0%,#0b1d30 100%);position:relative;overflow:hidden!important;}
.e-con.pp-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 30% 60%,rgba(14,165,233,.12),transparent 55%),radial-gradient(ellipse 50% 40% at 75% 30%,rgba(34,197,94,.07),transparent 50%);pointer-events:none;}
.e-con.pp-hero > .e-con-inner,.e-con.pp-hero > *{position:relative;z-index:1;}
.pp-hero-cat{display:inline-flex;align-items:center;gap:7px;font-family:var(--fm);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--al);background:rgba(14,165,233,.08);border:1px solid rgba(14,165,233,.18);padding:5px 14px;border-radius:3px;width:fit-content;}
.pp-hero-cat::before{content:"//";opacity:.4;margin-right:2px;}
.pp-title .elementor-heading-title,h1.pp-title{font-family:var(--fh);font-size:clamp(1.8rem,4vw,3rem);font-weight:800;color:var(--wh);line-height:1.16;letter-spacing:-.02em;}
.pp-excerpt,.pp-excerpt p{font-size:1.02rem;color:rgba(204,228,244,.6);line-height:1.76;max-width:680px;}
.pp-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-family:var(--fm);font-size:.68rem;color:var(--mu);letter-spacing:.04em;}
.pp-meta-item{display:flex;align-items:center;gap:6px;}
.pp-meta-item span:first-child{color:var(--al);}
.pp-tags{display:flex;gap:6px;flex-wrap:wrap;}
.pp-tag{font-family:var(--fm);font-size:.6rem;letter-spacing:.07em;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);padding:3px 10px;border-radius:3px;color:var(--mu);text-decoration:none;transition:all .2s;}
.pp-tag:hover{border-color:rgba(14,165,233,.3);color:var(--al);}

/* layout + sidebar */
.e-con.pp-layout{align-items:start;}
.e-con.pp-sidebar{position:sticky;top:88px;align-self:start;}
.e-con.pp-sidebar-box{background:#081626;border:1px solid rgba(255,255,255,.06);border-radius:16px;}
.pp-sb-title .elementor-heading-title{font-family:var(--fh);font-size:.85rem;font-weight:700;color:var(--wh);padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);width:100%;}
.pp-rel-item{display:flex;gap:11px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);text-decoration:none;transition:all .2s;}
.pp-rel-item:last-child{border-bottom:none;padding-bottom:0;}
.pp-rel-item:hover h5{color:var(--al);}
.pp-rel-thumb{width:52px;height:52px;border-radius:6px;background:#0b1d30;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;overflow:hidden;}
.pp-rel-thumb img{width:52px;height:52px;object-fit:cover;border-radius:6px;}
.pp-rel-item h5{font-family:var(--fh);font-size:.78rem;font-weight:700;color:var(--tx);line-height:1.35;margin-bottom:4px;transition:color .2s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pp-rel-item span{font-family:var(--fm);font-size:.6rem;color:var(--mu);}

/* content typography (classic-editor HTML) */
.pp-content{font-size:.95rem;color:var(--tx);line-height:1.85;}
.pp-content h2{font-family:var(--fh);font-size:1.55rem;font-weight:800;margin:38px 0 14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(135deg,#38bdf8,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.pp-content h2:first-child{margin-top:0;}
.pp-content h3{font-family:var(--fh);font-size:1.15rem;font-weight:700;color:var(--al);margin:28px 0 10px;-webkit-text-fill-color:currentColor;background:none;}
.pp-content p{margin-bottom:18px;color:rgba(204,228,244,.75);}
.pp-content strong{color:var(--wh);font-weight:700;}
.pp-content ul,.pp-content ol{padding-left:22px;margin-bottom:18px;}
.pp-content li{margin-bottom:7px;color:rgba(204,228,244,.72);line-height:1.7;}
.pp-content blockquote{border-left:3px solid var(--al);padding:14px 20px;background:rgba(14,165,233,.05);border-radius:0 6px 6px 0;margin:24px 0;font-style:italic;color:var(--tx);}
.pp-content a{color:var(--al);}
.pp-content img{max-width:100%;height:auto;border-radius:12px;}
.pp-content table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.85rem;}
.pp-content th,.pp-content td{border:1px solid rgba(255,255,255,.08);padding:10px 12px;text-align:left;}
.pp-content th{background:rgba(14,165,233,.06);color:var(--wh);font-family:var(--fh);}

/* share + in-post cta */
.pp-share-label{font-family:var(--fm);font-size:.68rem;color:var(--mu);letter-spacing:.1em;margin-bottom:10px;}
.pp-share{display:flex;gap:8px;flex-wrap:wrap;}
.pp-share-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:6px;font-family:var(--fm);font-size:.65rem;letter-spacing:.06em;cursor:pointer;border:1px solid rgba(255,255,255,.06);background:#0b1d30;color:var(--mu);transition:all .2s;text-decoration:none;}
.pp-share-btn:hover{border-color:rgba(14,165,233,.3);color:var(--wh);}
.e-con.pp-cta{background:linear-gradient(135deg,#0b1d30,#081626);border:1px solid rgba(14,165,233,.16);border-radius:16px;position:relative;overflow:hidden!important;}
.e-con.pp-cta::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--al),var(--gn),transparent);}

@media(max-width:900px){
  .e-con.pp-sidebar{position:static;}
}

/* ══════════════ BLOG ARCHIVE (bp-) — ported from source ══════════════ */
.e-con.bp-hero{background:linear-gradient(135deg,#040f1f 0%,#081626 100%);border-bottom:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden!important;}
.e-con.bp-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 50% 50%,rgba(14,165,233,.07),transparent 60%);pointer-events:none;}
.bp-hero-title .elementor-heading-title{font-family:var(--fh);font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--wh);}
.bp-hero-sub,.bp-hero-sub p{color:var(--mu);font-size:.92rem;max-width:500px;margin:0 auto;text-align:center;}

.ghl-loop-grid .e-loop-item{height:100%;}
.e-con.bp-card{background:#081626;border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden!important;position:relative;transition:all .35s cubic-bezier(.23,1,.32,1);height:100%;}
.e-con.bp-card::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0284c7,#22c55e,#06b6d4);opacity:0;transition:opacity .3s;}
.e-con.bp-card:hover{border-color:rgba(14,165,233,.32);transform:translateY(-7px);box-shadow:0 24px 60px rgba(14,165,233,.1);}
.e-con.bp-card:hover::after{opacity:1;}
.bp-thumb{width:100%;}
.bp-thumb img{width:100%;height:200px;object-fit:cover;display:block;}
.bp-card-title .elementor-heading-title{font-family:var(--fh);font-size:1.02rem;font-weight:700;color:var(--wh);line-height:1.38;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bp-card-title .elementor-heading-title a{color:inherit;text-decoration:none;}
.bp-card-excerpt,.bp-card-excerpt p{font-size:.81rem;color:var(--mu);line-height:1.68;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.bp-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);width:100%;}
.bp-card-meta{font-family:var(--fm);font-size:.62rem;color:var(--mu);display:flex;gap:8px;align-items:center;}
.bp-read-btn{font-family:var(--fm);font-size:.62rem;color:var(--al);letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:4px;transition:gap .2s;}
.e-con.bp-card:hover .bp-read-btn{gap:8px;}

/* loop grid pagination */
.ghl-loop-grid nav.elementor-pagination{margin-top:36px;display:flex;justify-content:center;gap:6px;font-family:var(--fm);}
.ghl-loop-grid .elementor-pagination .page-numbers{padding:8px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#081626;color:var(--tx);text-decoration:none;font-size:.8rem;}
.ghl-loop-grid .elementor-pagination .page-numbers.current{background:#0284c7;border-color:rgba(14,165,233,.4);color:#fff;}
.ghl-loop-grid .elementor-pagination .page-numbers:hover{border-color:rgba(14,165,233,.35);color:#fff;}
.ghl-loop-grid nav.elementor-pagination{flex-wrap:wrap;row-gap:8px;}
.elementor-widget.pp-title .elementor-heading-title{color:#fff!important;font-family:var(--fh);font-weight:800;}
.elementor-widget.pp-excerpt,.elementor-widget.pp-excerpt p{color:rgba(204,228,244,.6)!important;}

/* ══════════════ QA PASS — alignment, icons, borders ══════════════ */

/* Hero H1: center every line (was inheriting left) */
.hero-el .elementor-widget-heading .elementor-heading-title{text-align:center;}
.hero-el .elementor-widget-heading{text-align:center;}

/* Icon boxes: hard-center the emoji glyph (beat .e-con --display cascade) */
.e-con.svc-ic,.e-con.why-ic,.e-con.iicon,.e-con.cinfo-ic,.e-con.a2p-num,.e-con.ckbox,.e-con.pnum{
  display:grid!important;place-items:center!important;
}
.e-con.svc-ic .elementor-widget-heading,.e-con.why-ic .elementor-widget-heading,
.e-con.iicon .elementor-widget-heading,.e-con.cinfo-ic .elementor-widget-heading,
.e-con.a2p-num .elementor-widget-heading,.e-con.pnum .elementor-widget-heading{
  margin:0!important;line-height:1;
}
.e-con.svc-ic .elementor-heading-title,.e-con.why-ic .elementor-heading-title,
.e-con.iicon .elementor-heading-title,.e-con.cinfo-ic .elementor-heading-title,
.e-con.a2p-num .elementor-heading-title,.e-con.pnum .elementor-heading-title{
  line-height:1!important;display:block;text-align:center;
}
/* checklist ticks + pricing check/cross glyph baseline */
.ckbox,.pck,.pcx{line-height:1!important;}

/* Carousel arrow <button>s: kill Hello reset (pink border, wide padding) */
button.ss-arr,button.bc-arr,.ss-arr,.bc-arr{
  -webkit-appearance:none;appearance:none;
  border:1px solid rgba(255,255,255,.06)!important;
  background:#0b1d30!important;color:#cce4f4!important;
  padding:0!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  font-family:'Inter',sans-serif;line-height:1;cursor:pointer;
}
button.ss-arr,.ss-arr{width:28px!important;height:28px!important;font-size:.75rem!important;}
button.bc-arr,.bc-arr{width:40px!important;height:40px!important;font-size:.9rem!important;}
button.ss-arr:hover,.ss-arr:hover{border-color:rgba(14,165,233,.3)!important;color:#fff!important;background:#0b1d30!important;}
button.bc-arr:hover,.bc-arr:hover{background:rgba(14,165,233,.1)!important;border-color:rgba(14,165,233,.35)!important;color:#fff!important;}
button.bc-arr:disabled,.bc-arr:disabled{opacity:.3;cursor:not-allowed;}
/* view-all + share copy buttons: strip reset borders */
button.bc-view-all{border:none!important;background:none!important;padding:0!important;color:var(--al)!important;}
button.bc-view-all:hover{background:none!important;color:var(--al)!important;}
button.pp-share-btn{-webkit-appearance:none;appearance:none;}
button.pp-share-btn:hover{background:#0b1d30!important;color:#fff!important;}

/* newsletter submit inherits reset too — keep flat */
.elementor-widget.nl-form .elementor-button[type="submit"]{border:none!important;}

/* Stats strip: numbers + labels centered in cell */
.e-con.sstat{text-align:center;}
.e-con.sstat .elementor-widget-heading{margin:0;}

/* Section heading blocks: kill stray heading margins from theme reset */
.elementor-widget-heading .elementor-heading-title{margin-block-start:0;margin-block-end:0;}

/* tighten residual section deltas toward source */
.e-con.contact-sec .cf-form .elementor-field-group{margin-bottom:12px;}
.e-con.contact-sec .elementor-widget.cf-form .elementor-field-type-submit{margin-bottom:0;}

/* grid blowout guard: content column must shrink below min-content */
.e-con.pp-layout > .e-con{min-width:0;}
.pp-content{overflow-wrap:break-word;min-width:0;}

/* ══════════════ QA ROUND 2 — icon centering, sec-lines, logo ══════════════ */

/* Icon boxes are heading WIDGETS: center the glyph fully (both axes) */
.elementor-widget.svc-ic,.elementor-widget.why-ic,.elementor-widget.iicon,
.elementor-widget.cinfo-ic,.elementor-widget.pnum,.elementor-widget.a2p-num{
  display:grid!important;align-items:center!important;justify-items:center!important;
}
.elementor-widget.svc-ic .elementor-heading-title,.elementor-widget.why-ic .elementor-heading-title,
.elementor-widget.iicon .elementor-heading-title,.elementor-widget.cinfo-ic .elementor-heading-title,
.elementor-widget.pnum .elementor-heading-title,.elementor-widget.a2p-num .elementor-heading-title{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%;height:100%;line-height:1!important;text-align:center;padding:0;margin:0;
}
/* twemoji imgs (if present) and native emoji baseline */
img.emoji{margin:0!important;vertical-align:middle!important;}
.pem{line-height:1!important;display:block;}
.elementor-widget.pem .elementor-heading-title{line-height:1!important;text-align:center;}

/* A2P step rows: number box vertically centered against title+desc */
.e-con.a2p-step{align-items:center!important;}
.e-con.a2p-step .elementor-widget.a2p-num{margin:0;}

/* Intro card official logo inside gradient box */
.elementor-widget.iicon img.ghl-mark{width:34px;height:auto;display:block;}

/* ── Section hairlines: at true section tops (source design), not above content ── */
.sec-line,.elementor-widget.sec-line{display:none!important;}
[data-elementor-type="wp-page"] > .e-con:is(:nth-child(3),:nth-child(4),:nth-child(6),:nth-child(7),:nth-child(8),:nth-child(9),:nth-child(11),:nth-child(12))::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(14,165,233,.16),transparent);
  pointer-events:none;z-index:2;
}

/* Stats strip labels center under numbers */
.e-con.sstat .elementor-widget-heading .elementor-heading-title{text-align:center;}

/* ══════════════ FAQ ACCORDION — icon alignment + states ══════════════ */
.faq-el .elementor-accordion-item{background:#081626;border:1px solid rgba(255,255,255,.07)!important;border-radius:12px;margin-bottom:8px;overflow:hidden;transition:border-color .25s;}
.faq-el .elementor-accordion-item:has(.elementor-active){border-color:rgba(14,165,233,.28)!important;}
.faq-el .elementor-tab-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px;padding:18px 20px!important;font-family:'Oxanium',sans-serif;font-weight:700;font-size:.88rem;color:#cce4f4;cursor:pointer;transition:color .2s;}
.faq-el .elementor-tab-title:hover{color:#fff;}
.faq-el .elementor-tab-title a,.faq-el .elementor-accordion-title{flex:1;order:1;color:inherit!important;font-size:inherit;line-height:1.45;}
/* the icon: fixed 26px rounded box, right side, glyph dead-center */
.faq-el .elementor-accordion-icon{order:2;flex:0 0 26px;width:26px;height:26px;min-width:26px;margin:0!important;border-radius:6px;background:rgba(14,165,233,.08);display:flex!important;align-items:center;justify-content:center;transition:transform .3s ease,background .2s ease;}
.faq-el .elementor-accordion-icon span{display:flex!important;align-items:center;justify-content:center;margin:0!important;line-height:1;}
/* render a consistent + glyph; hide icon-font/svg internals (works with or without FontAwesome) */
.faq-el .elementor-accordion-icon i,.faq-el .elementor-accordion-icon svg{display:none!important;}
.faq-el .elementor-accordion-icon-closed::before{content:"+";}
.faq-el .elementor-accordion-icon-opened{display:none!important;}
.faq-el .elementor-accordion-icon-closed{display:flex!important;}
.faq-el .elementor-accordion-icon-closed::before{font-family:'Inter',sans-serif;font-weight:600;font-size:15px;line-height:1;color:#38bdf8;display:block;}
/* open state: same + rotated 45° (matches source), brighter chip */
.faq-el .elementor-tab-title.elementor-active .elementor-accordion-icon{transform:rotate(45deg);background:rgba(14,165,233,.16);}
.faq-el .elementor-tab-title.elementor-active{color:#38bdf8;}
/* answer panel */
.faq-el .elementor-tab-content{padding:4px 20px 16px!important;color:#4a7596;font-size:.85rem;line-height:1.76;border:0!important;}
.faq-el .elementor-tab-content p{color:#8fb0cb;margin:0;}
@media(max-width:640px){
  .faq-el .elementor-tab-title{padding:15px 16px!important;font-size:.84rem;}
  .faq-el .elementor-tab-content{padding:2px 16px 14px!important;font-size:.82rem;}
}

/* ══════════════ PORTFOLIO (pf2) ══════════════ */
.pf2-grid .e-loop-item{height:100%;}
.e-con.pf2-card{background:#081626;border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden!important;position:relative;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;height:100%;}
.e-con.pf2-card::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0284c7,#22c55e,#06b6d4);opacity:0;transition:opacity .3s;z-index:2;}
.e-con.pf2-card:hover{transform:translateY(-7px);border-color:rgba(14,165,233,.35);box-shadow:0 24px 60px rgba(14,165,233,.12);}
.e-con.pf2-card:hover::after{opacity:1;}

/* screenshot frame: fixed height, scroll-on-hover inside */
.e-con.pf2-thumb{height:250px;min-height:250px;overflow:hidden!important;background:#0a1525;position:relative;display:block;}
.e-con.pf2-thumb .elementor-widget.pf2-shot,.e-con.pf2-thumb .elementor-widget-container{height:auto;}
/* !important on the transition is deliberate: Elementor ships a blanket
   `html *{transition-duration:0s!important}` reset under prefers-reduced-motion,
   which — very commonly true on Windows laptops with "Show animations" off —
   silently zeroed this duration and made the pan snap instead of glide. This is a
   short, contained, user-initiated (hover-only) preview, not ambient/autoplay motion,
   so we intentionally keep it animated for everyone rather than let that global
   reset break the site's primary showcase interaction. */
.pf2-thumb img{width:100%!important;height:auto!important;display:block;object-fit:cover;object-position:top;transform:translateY(0);transition:transform .7s ease!important;}
@media(hover:hover) and (pointer:fine){
  .e-con.pf2-card:hover .pf2-thumb img{transform:translateY(calc(-100% + 250px));transition:transform var(--pf2-dur,7s) linear!important;}
}
/* subtle bottom fade so the cut looks intentional */
.e-con.pf2-thumb::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46px;background:linear-gradient(to bottom,transparent,rgba(3,12,26,.55));pointer-events:none;z-index:1;}

/* card body */
.pf2-cat{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#38bdf8;background:rgba(14,165,233,.07);border:1px solid rgba(14,165,233,.15);padding:3px 10px;border-radius:3px;width:fit-content;}
.pf2-title .elementor-heading-title{font-family:'Oxanium',sans-serif;font-size:1.05rem;font-weight:700;color:#fff;line-height:1.35;}
.pf2-desc,.pf2-desc p{font-size:.8rem;color:#4a7596;line-height:1.66;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.pf2-tags{display:flex;flex-wrap:wrap;gap:6px;}
.pf2-tag{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.04em;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);padding:3px 9px;border-radius:3px;color:#4a7596;}
.pf2-btn{display:inline-flex;align-items:center;gap:7px;margin-top:auto;font-family:'Inter',sans-serif;font-size:.8rem;font-weight:700;color:#38bdf8;text-decoration:none;letter-spacing:.02em;transition:gap .2s ease,color .2s ease;width:fit-content;}
.pf2-btn:hover{gap:12px;color:#7dd3fc;}
.pf2-btn-arr{transition:transform .2s;}

/* ══════════════ TAXONOMY FILTER BAR ══════════════ */
.pf2-filter .e-filter{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.pf2-filter .e-filter-item{font-family:'Oxanium',sans-serif;font-weight:600;font-size:.78rem;color:#4a7596;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)!important;border-radius:20px;padding:7px 16px!important;cursor:pointer;transition:all .2s;white-space:nowrap;}
.pf2-filter .e-filter-item:hover{background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.3)!important;color:#38bdf8;}
.pf2-filter .e-filter-item[aria-pressed="true"],.pf2-filter .e-filter-item.e-active{background:rgba(14,165,233,.18)!important;border-color:rgba(14,165,233,.5)!important;color:#38bdf8!important;}
@media(max-width:640px){
  .pf2-filter .e-filter{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
}
