/* Makes Elementor containers and widgets behave like the original design.
   Containers keep zero padding/gap unless a design class sets them; buttons get the theme look. */
.elementor .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--widgets-spacing:0px;--kit-widget-spacing:0px;--margin-top:0px;--margin-bottom:0px;--min-height:0px}
.elementor .e-con.e-con-full{--width:100%}
.elementor .elementor-widget{margin-block-end:0}
.elementor .elementor-widget:not(:last-child){margin-bottom:0}
.elementor .elementor-heading-title{line-height:1.12;color:inherit;font-family:"Space Grotesk",sans-serif;font-weight:700}
.elementor .elementor-widget-text-editor{color:inherit;font-family:inherit}
.elementor .elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor .elementor-widget-html{width:100%}

/* rows */
.elementor .e-con.actions,.elementor .e-con.sec-row,.elementor .e-con.cta-band,.elementor .e-con.family-head{flex-direction:row;flex-wrap:wrap}
.elementor .e-con.sec-row>.e-con,.elementor .e-con.family-head>.e-con{width:auto;flex:1 1 420px}
.elementor .e-con.cta-band>.e-con{width:auto;flex:1 1 380px}
.elementor .e-con.actions>.elementor-widget,.elementor .e-con.sec-row>.elementor-widget,.elementor .e-con.cta-band>.elementor-widget,.elementor .e-con.family-head>.elementor-widget{width:auto}
.elementor .e-con.wrap{margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px}
.elementor .e-con.card{padding:28px}
.elementor .e-con.post-card,.elementor .e-con.featured{padding:0}
.elementor .e-con.tile{align-items:center}
.elementor .e-con.case{justify-content:space-between}
.elementor section.e-con{padding-top:110px;padding-bottom:110px}
.elementor section.e-con.page-hero{padding-top:150px;padding-bottom:80px}
.elementor section.e-con.hero-globe-sec{padding-top:150px;padding-bottom:120px;min-height:100vh;justify-content:center}
.elementor .e-con.stats-band{padding:46px 0}
.elementor .e-con.hero-copy{z-index:2}

/* Elementor buttons styled as theme buttons */
.elementor .dxb-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:999px;font-weight:700;font-size:15px;line-height:1.3;border:1px solid transparent;font-family:inherit;transition:.25s;white-space:nowrap}
.elementor .dxb-btn-primary .elementor-button{background:linear-gradient(110deg,#00ded7 0%,#00c687 100%);color:#03211b;box-shadow:0 10px 34px -12px rgba(0,222,215,.7)}
.elementor .dxb-btn-primary .elementor-button:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(0,222,215,.85);color:#03211b}
.elementor .dxb-btn-ghost .elementor-button{border-color:rgba(120,200,220,.22);background:rgba(255,255,255,.02);color:#eaf4f7}
.elementor .dxb-btn-ghost .elementor-button:hover{border-color:#00d9c4;color:#fff}
.elementor .dxb-btn-dark .elementor-button{background:#04121f;color:#fff}
.elementor .dxb-btn-dark .elementor-button:hover{background:#000;color:#fff}

/* hero background video */
.elementor .hero-globe-sec .elementor-background-video-container{z-index:0}
.elementor .hero-globe-sec::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(4,12,26,.55),rgba(4,12,26,0) 60%)}

/* editor: always show content */
.elementor-editor-active .reveal,.elementor-editor-preview .reveal{opacity:1!important;transform:none!important}

/* WordPress bits */
.prose img{max-width:100%;height:auto;border-radius:14px}
.prose a{color:var(--accent)}
.aside ul li{list-style:none}
.aside ul .children{margin-left:12px}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{padding:8px 14px;border-radius:10px;border:1px solid var(--line-2);color:#c4d3de}
.pagination .current{background:var(--grad);color:#03211b;border-color:transparent}
.custom-logo-link img{max-height:40px;width:auto}
.lead-form .hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.form-msg.err{color:#ff8a8a}
@media (max-width:640px){.elementor .e-con.wrap{padding-left:20px;padding-right:20px}.elementor section.e-con{padding-top:76px;padding-bottom:76px}.elementor section.e-con.page-hero{padding-top:120px;padding-bottom:60px}}
.elementor .page-hero{overflow:hidden}
.elementor .page-hero::before{content:"";position:absolute;width:800px;height:800px;right:-250px;top:-300px;background:radial-gradient(circle,rgba(0,222,215,.16),transparent 60%);pointer-events:none;z-index:0}
.elementor .page-hero > .e-con{position:relative;z-index:1}
/* module page layouts */
.elementor .ai-banner .e-con.wrap,.elementor .e-con.ai-callout{flex-direction:row;flex-wrap:wrap;align-items:center}
.elementor .e-con.ai-callout{align-items:flex-start;flex-wrap:nowrap}
.elementor .e-con.ai-callout>.e-con{width:auto;flex:1}
.elementor .e-con.ai-callout>.elementor-widget:first-child{width:auto;flex:0 0 auto}
.elementor .e-con.ai-banner{padding:18px 0}
.elementor .e-con.cmp-col,.elementor .e-con.fstep{padding:28px}
.elementor .e-con.vtl-i{padding:18px 20px}
.elementor .e-con.htl-i{padding-top:34px}
.elementor .e-con.zz,.elementor .e-con.cmp{align-items:center}
.elementor .e-con.mh-center .e-con.mh-text{align-items:center}
@media (max-width:640px){.elementor .e-con.ai-callout{flex-direction:column}}
