/*
Theme Name: Spark-Ed Child
Template: hello-elementor
Description: Spark-Ed marketing site design system on Hello Elementor. Elementor Free compatible.
Version: 1.0.0
Text Domain: spark-ed-child
*/

:root{
  --sp-bg:#F5F8FC;--sp-surface:#fff;--sp-ink:#0A1A33;--sp-navy:#0A1A33;--sp-accent:#1B63E0;--sp-accent-d:#1450B8;
  --sp-muted:#51617A;--sp-line:#DCE4EF;--sp-ai:#0E9F9A;--sp-tint:#EAF1FD;--sp-tint2:#E6F6F5;
  --sp-r-sm:10px;--sp-r-md:18px;--sp-shadow:0 18px 40px -22px rgba(10,26,51,.35);
  --sp-font:'Plus Jakarta Sans','Cairo',system-ui,-apple-system,'Segoe UI',sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sp-font);color:var(--sp-ink);background:var(--sp-surface);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.rtl,[dir=rtl] body{font-family:'Cairo','Plus Jakarta Sans',system-ui,sans-serif}
h1,h2,h3,h4{font-family:var(--sp-font);color:var(--sp-ink);line-height:1.12;letter-spacing:-.02em;margin:0}
rtl h1,.rtl h1,.rtl h2,.rtl h3,.rtl h4{letter-spacing:0;line-height:1.3}
p{margin:0 0 1em}
a{color:var(--sp-accent)}
:focus-visible{outline:3px solid #86B0F5;outline-offset:3px;border-radius:6px}
.sp-skip{position:absolute;inset-inline-start:-9999px;top:8px;background:#fff;padding:10px 16px;z-index:9999;border-radius:8px}
.sp-skip:focus{inset-inline-start:12px}

/* ---------- Buttons ---------- */
.sp-btn,.sp-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:16px;line-height:1.2;text-decoration:none;border:2px solid transparent;transition:background .18s,color .18s,border-color .18s,transform .18s;white-space:nowrap}
.sp-btn-primary .elementor-button,.sp-btn-primary.sp-btn{background:var(--sp-accent);color:#fff;border-color:var(--sp-accent)}
.sp-btn-primary .elementor-button:hover,.sp-btn-primary.sp-btn:hover{background:var(--sp-accent-d);border-color:var(--sp-accent-d);color:#fff}
.sp-btn-ghost .elementor-button,.sp-btn-ghost.sp-btn{background:transparent;color:var(--sp-navy);border-color:var(--sp-navy)}
.sp-btn-ghost .elementor-button:hover,.sp-btn-ghost.sp-btn:hover{background:var(--sp-navy);color:#fff}
.sp-on-dark .sp-btn-ghost .elementor-button{color:#fff;border-color:rgba(255,255,255,.7)}
.sp-on-dark .sp-btn-ghost .elementor-button:hover{background:#fff;color:var(--sp-navy)}
.sp-btn:active,.sp-btn .elementor-button:active{transform:translateY(1px)}

/* ---------- Header ---------- */
.sp-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);border-bottom:1px solid var(--sp-line);backdrop-filter:saturate(1.4) blur(8px)}
.admin-bar .sp-header{top:32px}
.sp-header-in{max-width:1240px;margin:0 auto;padding:0 24px;height:74px;display:flex;align-items:center;gap:28px}
.sp-logo img{height:38px;width:auto;display:block}
.sp-nav{display:flex;align-items:center;gap:4px;margin-inline-start:12px;flex:1}
.sp-nav>li{list-style:none;position:relative}
.sp-nav{margin-block:0;padding:0}
.sp-nav>li>a{display:block;padding:10px 14px;color:var(--sp-ink);font-weight:600;font-size:15px;text-decoration:none;border-radius:10px}
.sp-nav>li>a:hover,.sp-nav>li:focus-within>a{background:var(--sp-tint);color:var(--sp-accent)}
.sp-nav .sp-has>a::after{content:'';display:inline-block;width:6px;height:6px;margin-inline-start:8px;border-inline-end:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.sp-drop{position:absolute;top:100%;inset-inline-start:0;min-width:270px;background:#fff;border:1px solid var(--sp-line);border-radius:16px;box-shadow:var(--sp-shadow);padding:10px;margin:8px 0 0;list-style:none;display:none}
.sp-has:hover>.sp-drop,.sp-has:focus-within>.sp-drop{display:block}
.sp-drop a{display:block;padding:10px 14px;border-radius:10px;color:var(--sp-ink);text-decoration:none;font-weight:600;font-size:15px}
.sp-drop a small{display:block;font-weight:400;color:var(--sp-muted);font-size:13px;line-height:1.4}
.sp-drop a:hover{background:var(--sp-tint)}
.sp-header-cta{display:flex;align-items:center;gap:14px}
.sp-lang{display:flex;gap:2px;font-size:14px;font-weight:700;background:var(--sp-bg);border:1px solid var(--sp-line);border-radius:999px;padding:3px}
.sp-lang a{padding:5px 12px;border-radius:999px;color:var(--sp-muted);text-decoration:none}
.sp-lang a.on,.sp-lang a[aria-current]{background:var(--sp-navy);color:#fff}
.sp-burger{display:none;background:none;border:1px solid var(--sp-line);border-radius:10px;width:44px;height:44px;cursor:pointer;margin-inline-start:auto}
.sp-burger span{display:block;width:20px;height:2px;background:var(--sp-ink);margin:4px auto;border-radius:2px}

/* ---------- Layout helpers ---------- */
.sp-sec{padding-block:104px}
.sp-sec.e-con{padding-block:104px}
.sp-wrap.e-con>.e-con-inner,.sp-wrap{max-width:1200px;margin-inline:auto;width:100%}
.e-con.sp-sec{--padding-inline-start:24px;--padding-inline-end:24px;padding-inline:24px}
.sp-tint{background:var(--sp-bg)}
.sp-dark{background:var(--sp-navy);color:#fff}
.sp-dark h1,.sp-dark h2,.sp-dark h3,.sp-dark h4{color:#fff}
.sp-dark p,.sp-dark .elementor-widget-text-editor{color:#C6D3E8}
.sp-eyebrow .elementor-heading-title{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--sp-accent)}
.sp-dark .sp-eyebrow .elementor-heading-title{color:#7EE0DB}
.sp-h2 .elementor-heading-title{font-size:clamp(30px,4vw,46px);font-weight:800}
.sp-h3 .elementor-heading-title{font-size:22px;font-weight:700;letter-spacing:-.01em}
.sp-lead{font-size:19px;color:var(--sp-muted);max-width:66ch}
.sp-lead p{margin:0}
.sp-dark .sp-lead{color:#C6D3E8}
.sp-center{text-align:center}
.sp-center .sp-lead{margin-inline:auto}
.e-con.sp-grid-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.e-con.sp-grid-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.e-con.sp-grid-4{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.e-con.sp-split{display:grid!important;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.e-con.sp-row{display:flex!important;flex-direction:row;flex-wrap:wrap;gap:14px;align-items:center}
.sp-center .e-con.sp-row{justify-content:center}

/* ---------- Hero ---------- */
.e-con.sp-hero{background:radial-gradient(1000px 420px at 85% -10%,#DCE9FD 0,transparent 60%),linear-gradient(180deg,#fff 0,var(--sp-bg) 100%);padding-block:72px 88px}
.sp-hero h1 .elementor-heading-title,.sp-hero .elementor-widget-heading h1{font-size:clamp(38px,5.4vw,64px);font-weight:800;line-height:1.05}
.sp-hero h1 .elementor-heading-title{letter-spacing:-.03em}
.sp-hero .sp-lead{margin-block:22px 30px}
.sp-badge{display:inline-flex;align-items:center;gap:8px;background:var(--sp-tint);color:var(--sp-accent-d);border:1px solid #CFE0FB;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700}
.sp-frame{background:#fff;border:1px solid var(--sp-line);border-radius:20px;box-shadow:0 30px 60px -30px rgba(10,26,51,.45);overflow:hidden}
.sp-frame-bar{display:flex;gap:6px;padding:12px 16px;background:var(--sp-bg);border-bottom:1px solid var(--sp-line)}
.sp-frame-bar i{width:10px;height:10px;border-radius:50%;background:#C5D2E6;display:block}
.sp-frame-body{aspect-ratio:16/10;display:grid;place-items:center;text-align:center;padding:24px;background:repeating-linear-gradient(135deg,#F7FAFF 0 14px,#EFF5FE 14px 28px);color:var(--sp-muted)}
.sp-frame-body strong{display:block;color:var(--sp-navy);font-size:18px;margin-bottom:4px}
.sp-frame-body span{font-size:14px}
.sp-ph-tag{display:inline-block;margin-top:12px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8A5A00;background:#FFF3D6;border:1px solid #F2D99B;border-radius:999px;padding:4px 12px}

/* ---------- Trust strip ---------- */
.e-con.sp-strip{padding-block:34px;border-block:1px solid var(--sp-line);background:#fff}
.sp-strip .sp-strip-label{text-align:center;color:var(--sp-muted);font-weight:600;font-size:15px}
.e-con.sp-strip-list{display:flex!important;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:12px 34px}
.sp-strip-item .elementor-heading-title{font-size:16px;font-weight:700;color:var(--sp-navy)}

/* ---------- Cards ---------- */
.e-con.sp-card{background:#fff;border:1px solid var(--sp-line);border-radius:var(--sp-r-md);padding:30px;transition:box-shadow .2s,transform .2s,border-color .2s;gap:10px}
.e-con.sp-card:hover{box-shadow:var(--sp-shadow);transform:translateY(-2px);border-color:#BFD2F1}
.sp-card.sp-c-tint{background:var(--sp-tint);border-color:#D4E3FB}
.sp-card.sp-c-ai{background:var(--sp-tint2);border-color:#C8ECEA}
.sp-card.sp-c-dark{background:var(--sp-navy);border-color:var(--sp-navy);color:#fff}
.sp-card.sp-c-dark h3 .elementor-heading-title,.sp-card.sp-c-dark .elementor-heading-title{color:#fff}
.sp-card.sp-c-dark p{color:#C6D3E8}
.sp-card .elementor-icon-box-wrapper{display:block;text-align:start}
.sp-card .elementor-icon-box-icon{margin-bottom:16px!important}
.sp-card .elementor-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:var(--sp-tint);color:var(--sp-accent);font-size:22px}
.sp-card.sp-c-ai .elementor-icon{background:#fff;color:var(--sp-ai)}
.sp-card .elementor-icon-box-title{font-size:20px;font-weight:700;margin:0 0 6px;color:var(--sp-ink)}
.sp-card .elementor-icon-box-description{color:var(--sp-muted);font-size:16px;line-height:1.6}
.sp-card .elementor-icon svg{width:22px;height:22px;fill:currentColor}
.sp-tag{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px;margin-inline-start:8px;vertical-align:middle;letter-spacing:.03em}
.sp-tag-live{background:#DDF4E6;color:#0F6B37}
.sp-tag-soon{background:#FFF3D6;color:#8A5A00}
.sp-tag-plan{background:#EEF1F6;color:#4A5A72}

/* ---------- Problem ---------- */
.sp-problem-list .elementor-icon-list-item{padding:12px 0;border-bottom:1px solid var(--sp-line);font-size:17px}
.sp-problem-list .elementor-icon-list-icon{color:#C0392B}
.sp-solution{background:var(--sp-navy);color:#fff;border-radius:22px;padding:40px!important}
.sp-solution h3 .elementor-heading-title{color:#fff;font-size:28px}
.sp-solution p,.sp-solution .elementor-widget-text-editor{color:#C6D3E8}

/* ---------- Hub diagram ---------- */
.sp-hub{position:relative;max-width:820px;margin:48px auto 0;aspect-ratio:1.5/1;min-height:420px}
.sp-hub-core{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:170px;height:170px;border-radius:50%;background:var(--sp-accent);color:#fff;display:grid;place-items:center;text-align:center;font-weight:800;font-size:22px;box-shadow:0 0 0 14px rgba(27,99,224,.12),0 0 0 30px rgba(27,99,224,.06)}
.sp-hub-core small{display:block;font-size:12px;font-weight:600;opacity:.85}
.sp-node{position:absolute;transform:translate(-50%,-50%);background:#fff;border:1px solid var(--sp-line);border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;color:var(--sp-navy);box-shadow:0 8px 20px -14px rgba(10,26,51,.5);white-space:nowrap}
.sp-node.ai{border-color:#9FDCD8;color:#0B7A76;background:#F1FBFA}

/* ---------- AI section ---------- */
.sp-ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.e-con.sp-ai-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:22px;gap:6px}
.sp-ai-item h3 .elementor-heading-title{font-size:18px;color:#fff}
.sp-ai-item p{color:#B8C7DE;font-size:15px;margin:0}
.sp-ai-note{display:inline-block;background:rgba(14,159,154,.16);border:1px solid rgba(126,224,219,.4);color:#9FE9E4;font-size:13px;font-weight:700;border-radius:999px;padding:5px 14px}
.sp-ai-glow{background:radial-gradient(900px 380px at 15% 0,rgba(14,159,154,.22),transparent 60%),radial-gradient(800px 360px at 100% 100%,rgba(27,99,224,.35),transparent 60%),var(--sp-navy)}

/* ---------- Showcase ---------- */
.sp-shot .sp-frame-body{aspect-ratio:16/10}
.sp-shot-cap h3 .elementor-heading-title{font-size:19px;margin-top:14px}
.sp-shot-cap p{color:var(--sp-muted);font-size:15px}

/* ---------- CTA band ---------- */
.e-con.sp-cta{background:linear-gradient(120deg,#0A1A33 0,#123A7A 100%);border-radius:28px;padding:64px 40px!important;text-align:center;align-items:center}
.sp-cta h2 .elementor-heading-title{color:#fff;font-size:clamp(28px,3.6vw,42px);font-weight:800}
.sp-cta .sp-lead{color:#C6D3E8;margin:14px auto 28px}
.sp-cta .sp-btn-ghost .elementor-button{color:#fff;border-color:rgba(255,255,255,.7)}
.sp-cta .sp-btn-ghost .elementor-button:hover{background:#fff;color:var(--sp-navy)}
.sp-cta .sp-btn-primary .elementor-button{background:#fff;color:var(--sp-navy);border-color:#fff}
.sp-cta .sp-btn-primary .elementor-button:hover{background:#EAF1FD}

/* ---------- Page hero (inner) ---------- */
.e-con.sp-page-hero{background:linear-gradient(180deg,#fff,var(--sp-bg));padding-block:72px 56px;border-bottom:1px solid var(--sp-line)}
.sp-page-hero h1 .elementor-heading-title{font-size:clamp(34px,4.6vw,54px);font-weight:800}

/* ---------- Pricing ---------- */
.sp-plan-price .elementor-heading-title{font-size:26px;font-weight:800}
.sp-plan .elementor-icon-list-item{padding:6px 0}
.sp-plan .elementor-icon-list-icon{color:var(--sp-accent)}

/* ---------- Footer ---------- */
.sp-footer{background:var(--sp-navy);color:#B8C7DE;padding:72px 24px 28px;font-size:15px}
.sp-footer-in{max-width:1200px;margin:0 auto}
.sp-footer-grid{display:grid;grid-template-columns:1.6fr repeat(5,1fr);gap:32px}
.sp-footer h4{color:#fff;font-size:15px;margin:0 0 14px;letter-spacing:0}
.sp-footer ul{list-style:none;margin:0;padding:0}
.sp-footer li{margin:0 0 9px}
.sp-footer a{color:#B8C7DE;text-decoration:none}
.sp-footer a:hover{color:#fff;text-decoration:underline}
.sp-footer-brand img{height:44px;width:auto;background:#fff;padding:5px 10px;border-radius:10px;box-sizing:border-box;margin-bottom:16px}
.sp-footer-brand p{max-width:34ch;margin:0 0 16px}
.sp-footer-bottom{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;font-size:14px}
.sp-soc{display:flex;gap:10px}
.sp-soc a{width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center}
.sp-soc svg{width:16px;height:16px;fill:currentColor}

/* ---------- Blog ---------- */
.blog .site-main,.archive .site-main,.single-post .site-main{max-width:1100px;margin:0 auto;padding:48px 24px}
.single-post .site-main{max-width:760px}
.single-post .entry-title,.blog .page-header .entry-title{font-size:clamp(30px,4vw,46px);font-weight:800}
.blog .site-main article,.archive .site-main article{border:1px solid var(--sp-line);border-radius:var(--sp-r-md);padding:24px;margin-bottom:20px;background:#fff}
.blog .site-main article h2 a{color:var(--sp-ink);text-decoration:none}

/* ---------- Forms ---------- */
.sp-form input,.sp-form select,.sp-form textarea,.cpabc_appointments_form input,.cpabc_appointments_form select,.cpabc_appointments_form textarea{border:1px solid var(--sp-line);border-radius:var(--sp-r-sm);padding:12px 14px;font:inherit;width:100%;background:#fff}
.sp-form label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
.sp-form .sp-f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.sp-form .sp-f-full{margin-bottom:16px}
.sp-form button{background:var(--sp-accent);color:#fff;border:0;border-radius:999px;padding:14px 30px;font:700 16px var(--sp-font);cursor:pointer}
.sp-form button:hover{background:var(--sp-accent-d)}
.sp-note{font-size:14px;color:var(--sp-muted)}

/* ---------- Breadcrumbs ---------- */
.sp-crumbs{font-size:14px;color:var(--sp-muted);margin-bottom:14px}
.sp-crumbs a{color:var(--sp-muted)}

/* ---------- Elementor resets ---------- */
.elementor-widget-heading .elementor-heading-title{font-family:var(--sp-font)}
.elementor-widget-text-editor{color:var(--sp-muted)}
.page-content,.site-main{max-width:none}

/* ---------- RTL ---------- */
[dir=rtl] .sp-nav .sp-has>a::after{transform:rotate(45deg) translateY(-2px)}
[dir=rtl] .sp-hub-core{letter-spacing:0}
[dir=rtl] .sp-eyebrow .elementor-heading-title{letter-spacing:0}
[dir=rtl] .sp-btn .elementor-button-content-wrapper{flex-direction:row-reverse}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .sp-header-in{gap:14px}
  .sp-nav>li>a{padding:10px 9px;font-size:14px}
  .sp-footer-grid{grid-template-columns:repeat(3,1fr)}
  .sp-footer-brand{grid-column:1/-1}
}
@media (max-width:1024px){
  .sp-burger{display:block}
  .sp-header-in{height:68px}
  .sp-nav{display:none;position:absolute;top:100%;inset-inline:0;background:#fff;border-bottom:1px solid var(--sp-line);padding:12px 20px 20px;flex-direction:column;align-items:stretch;gap:0;margin:0;box-shadow:var(--sp-shadow);max-height:calc(100vh - 68px);overflow:auto}
  .sp-header.open .sp-nav{display:flex}
  .sp-drop{position:static;display:block;border:0;box-shadow:none;padding:0 0 6px 14px;margin:0;min-width:0}
  .sp-nav .sp-has>a::after{display:none}
  .sp-header-cta .sp-btn{display:none}
  .sp-header-in>.sp-header-cta{margin-inline-start:auto}
  .sp-burger{margin-inline-start:0}
  .e-con.sp-split{grid-template-columns:1fr;gap:36px}
  .e-con.sp-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .e-con.sp-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-ai-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:767px){
  body{font-size:16px}
  .e-con.sp-sec{padding-block:64px}
  .e-con.sp-hero{padding-block:44px 56px}
  .e-con.sp-grid-2,.e-con.sp-grid-3,.e-con.sp-grid-4{grid-template-columns:1fr}
  .sp-ai-grid{grid-template-columns:1fr}
  .sp-footer-grid{grid-template-columns:1fr 1fr}
  .sp-form .sp-f-row{grid-template-columns:1fr}
  .e-con.sp-cta{padding:44px 22px!important;border-radius:22px}
  .sp-hub{aspect-ratio:auto;min-height:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:32px}
  .sp-hub-core{position:static;transform:none;width:100%;height:auto;border-radius:18px;padding:22px;box-shadow:none;order:-1}
  .sp-node{position:static;transform:none}
  .sp-btn,.sp-btn .elementor-button{white-space:normal}
  .admin-bar .sp-header{top:46px}
}
/* ---------- Fonts: override Elementor kit defaults (Roboto) ---------- */
body[class*="elementor-kit-"]{--e-global-typography-primary-font-family:'Plus Jakarta Sans','Cairo',sans-serif;--e-global-typography-secondary-font-family:'Plus Jakarta Sans','Cairo',sans-serif;--e-global-typography-text-font-family:'Plus Jakarta Sans','Cairo',sans-serif;--e-global-typography-accent-font-family:'Plus Jakarta Sans','Cairo',sans-serif}
.elementor .elementor-icon-box-title,.elementor .elementor-icon-box-description,.elementor .elementor-heading-title,.elementor .elementor-widget-text-editor,.elementor .elementor-button,.elementor .elementor-icon-list-text{font-family:var(--sp-font)}

.elementor-widget-icon-box .elementor-icon-box-title,.elementor-widget-icon-box .elementor-icon-box-title a,.elementor-widget-icon-box .elementor-icon-box-description,.elementor-widget-icon-list .elementor-icon-list-text,.elementor-widget-button .elementor-button,.elementor-widget-text-editor,.elementor-widget-heading .elementor-heading-title{font-family:'Plus Jakarta Sans','Cairo',system-ui,sans-serif!important}

/* ---------- Card icons: colour and alignment ---------- */
.sp-card .elementor-icon-box-wrapper,.sp-card .elementor-icon-box-content,.sp-card .elementor-icon-box-title,.sp-card .elementor-icon-box-description{text-align:start!important}
.sp-card .elementor-icon-box-icon{display:block;margin-inline:0!important}
.sp-card .elementor-icon-box-icon .elementor-icon,.sp-card .elementor-icon svg,.sp-card .elementor-icon i{color:var(--sp-accent)!important;fill:var(--sp-accent)!important}
.sp-card.sp-c-ai .elementor-icon-box-icon .elementor-icon,.sp-card.sp-c-ai .elementor-icon svg{color:var(--sp-ai)!important;fill:var(--sp-ai)!important}
.sp-card.sp-c-tint .elementor-icon{background:#fff}
.sp-card .elementor-icon svg{width:24px;height:24px}

/* ---------- Scroll reveal (JS adds .sp-js only when it can run) ---------- */
.sp-js .sp-reveal{opacity:0;transform:translateY(26px);transition:opacity .65s cubic-bezier(.2,.7,.2,1) var(--sp-d,0ms),transform .65s cubic-bezier(.2,.7,.2,1) var(--sp-d,0ms),box-shadow .2s,border-color .2s;will-change:opacity,transform}
.sp-js .sp-reveal.sp-in{opacity:1;transform:none}
.sp-js .sp-card.sp-reveal.sp-in:hover{transform:translateY(-3px)}
.sp-js .sp-hub.sp-reveal{transform:scale(.96) translateY(14px)}
.sp-js .sp-hub.sp-reveal.sp-in{transform:none}
.sp-js .sp-hub .sp-node{opacity:0;transition:opacity .5s ease .25s}
.sp-js .sp-hub.sp-in .sp-node{opacity:1}

/* ---------- AI cards: type, icon chip ---------- */
.e-con.sp-ai-item{padding:26px;gap:14px;transition:transform .25s cubic-bezier(.2,.7,.2,1),background .25s,border-color .25s,box-shadow .25s;cursor:default}
.sp-ai-item .elementor-heading-title{font-size:19px!important;line-height:1.25!important;font-weight:700!important;color:#fff!important;letter-spacing:-.01em}
.sp-ai-item .elementor-widget-text-editor,.sp-ai-item .elementor-widget-text-editor p{color:#B8C7DE!important;font-size:15px;line-height:1.6}
.sp-ai-item .elementor-widget-icon .elementor-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:rgba(14,159,154,.2);color:#7EE0DB;transition:background .25s,transform .25s cubic-bezier(.2,.7,.2,1)}
.sp-ai-item .elementor-widget-icon .elementor-icon svg{width:22px;height:22px;fill:#7EE0DB;transition:fill .25s}
.sp-ai-item .elementor-widget-icon{text-align:start!important}

/* ---------- Hover reactions ---------- */
.e-con.sp-ai-item:hover{transform:translateY(-4px);background:rgba(255,255,255,.11);border-color:rgba(126,224,219,.55);box-shadow:0 22px 40px -24px rgba(0,0,0,.6)}
.sp-ai-item:hover .elementor-widget-icon .elementor-icon{background:#0E9F9A;transform:scale(1.1) rotate(-6deg)}
.sp-ai-item:hover .elementor-widget-icon .elementor-icon svg{fill:#fff}
.sp-card .elementor-icon{transition:background .25s,transform .25s cubic-bezier(.2,.7,.2,1)}
.sp-card .elementor-icon svg{transition:fill .25s}
.sp-card:hover .elementor-icon{background:var(--sp-accent)!important;transform:scale(1.1) rotate(-6deg)}
.sp-card:hover .elementor-icon svg,.sp-card:hover .elementor-icon i{fill:#fff!important;color:#fff!important}
.sp-card.sp-c-ai:hover .elementor-icon{background:var(--sp-ai)!important}
.sp-card.sp-c-dark:hover .elementor-icon{background:#fff!important}
.sp-card.sp-c-dark:hover .elementor-icon svg{fill:var(--sp-accent)!important}
.sp-card:hover .elementor-icon-box-title{color:var(--sp-accent)}
.sp-card.sp-c-ai:hover .elementor-icon-box-title{color:#0B7A76}
.sp-btn .elementor-button{transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s}
.sp-btn .elementor-button:hover{transform:translateY(-2px)}
.sp-btn-primary .elementor-button:hover{box-shadow:0 12px 24px -12px rgba(27,99,224,.7)}
.sp-btn .elementor-button:focus-visible{outline:3px solid #86B0F5;outline-offset:3px}
.sp-btn .elementor-button-text::after{content:'\2192';display:inline-block;margin-inline-start:0;max-width:0;opacity:0;overflow:hidden;vertical-align:bottom;transition:max-width .25s,opacity .25s,margin .25s}
.sp-btn .elementor-button:hover .elementor-button-text::after{max-width:1.4em;opacity:1;margin-inline-start:8px}
[dir=rtl] .sp-btn .elementor-button-text::after{content:'\2190'}
.sp-frame{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.sp-shot:hover .sp-frame,.sp-hero-vis:hover .sp-frame{transform:translateY(-6px) scale(1.01);box-shadow:0 40px 70px -32px rgba(10,26,51,.55)}
.sp-shot:hover .sp-shot-cap .elementor-heading-title{color:var(--sp-accent)}
.sp-strip-item{transition:transform .2s,color .2s;cursor:default}
.sp-strip-item:hover{transform:translateY(-2px)}
.sp-strip-item:hover .elementor-heading-title{color:var(--sp-accent)}
.sp-node{transition:transform .2s,background .2s,color .2s,border-color .2s,box-shadow .2s;cursor:default}
.sp-node:hover{transform:translate(-50%,-50%) scale(1.1);background:var(--sp-accent);color:#fff;border-color:var(--sp-accent);box-shadow:0 12px 24px -12px rgba(27,99,224,.7)}
.sp-node.ai:hover{background:var(--sp-ai);border-color:var(--sp-ai)}
.sp-hub-core{transition:box-shadow .3s,transform .3s}
.sp-hub:hover .sp-hub-core{box-shadow:0 0 0 18px rgba(27,99,224,.14),0 0 0 40px rgba(27,99,224,.06)}
.sp-problem-list .elementor-icon-list-item{transition:transform .2s,background .2s;border-radius:10px;padding-inline:8px}
.sp-problem-list .elementor-icon-list-item:hover{transform:translateX(4px);background:rgba(27,99,224,.06)}
[dir=rtl] .sp-problem-list .elementor-icon-list-item:hover{transform:translateX(-4px)}
.sp-footer a{transition:color .15s,padding .15s}
.sp-footer li a:hover{padding-inline-start:4px}
.sp-soc a{transition:background .2s,transform .2s}
.sp-lang a{transition:background .2s,color .2s}
.sp-lang a:hover:not(.on):not([aria-current]){background:var(--sp-tint);color:var(--sp-accent)}
.sp-nav>li>a{transition:background .15s,color .15s}
.sp-drop a{transition:background .15s,padding .15s}
.sp-drop a:hover{padding-inline-start:20px}
@media (hover:none){.e-con.sp-card:hover,.e-con.sp-ai-item:hover,.sp-shot:hover .sp-frame{transform:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.sp-js .sp-reveal{opacity:1!important;transform:none!important}}

/* ---------- Interactive hub ---------- */
.sp-hub{isolation:isolate}
.sp-hub-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
.sp-line{stroke:#C4D5EE;stroke-width:1.5;stroke-dasharray:4 5;vector-effect:non-scaling-stroke;transition:stroke .25s,stroke-width .25s}
.sp-line.on{stroke:var(--sp-accent);stroke-width:2.5;stroke-dasharray:none}
.sp-line.ai.on{stroke:var(--sp-ai)}
.sp-hub-core{z-index:1}
.sp-hub button.sp-node{font-family:var(--sp-font);z-index:2;cursor:pointer;-webkit-appearance:none;appearance:none;line-height:1.2}
.sp-hub button.sp-node:hover,.sp-hub button.sp-node:focus-visible,.sp-hub button.sp-node.open{z-index:20}
.sp-tip{position:absolute;width:264px;white-space:normal;text-align:start;font-weight:400;font-size:14px;line-height:1.55;color:var(--sp-muted);background:#fff;border:1px solid var(--sp-line);border-radius:14px;padding:14px 16px;box-shadow:0 24px 44px -20px rgba(10,26,51,.45);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s;cursor:default}
.sp-tip strong{display:block;color:var(--sp-navy);font-size:15px;font-weight:800;margin-bottom:3px}
.sp-node.ai .sp-tip strong{color:#0B7A76}
.sp-tip::before{content:'';position:absolute;width:12px;height:12px;background:#fff;border:1px solid var(--sp-line);transform:rotate(45deg)}
.sp-tip .sp-tip-soon{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;color:#8A5A00;background:#FFF3D6;border-radius:999px;padding:2px 10px}
/* vertical placement */
.sp-node[data-v=t] .sp-tip{top:calc(100% + 14px);transform:translateY(-6px)}
.sp-node[data-v=t] .sp-tip::before{top:-7px;border-right:0;border-bottom:0}
.sp-node[data-v=b] .sp-tip{bottom:calc(100% + 14px);transform:translateY(6px)}
.sp-node[data-v=b] .sp-tip::before{bottom:-7px;border-left:0;border-top:0}
/* horizontal placement */
.sp-node[data-h=c] .sp-tip{left:50%;margin-left:-132px}
.sp-node[data-h=c] .sp-tip::before{left:50%;margin-left:-6px}
.sp-node[data-h=l] .sp-tip{left:0}
.sp-node[data-h=l] .sp-tip::before{left:28px}
.sp-node[data-h=r] .sp-tip{right:0}
.sp-node[data-h=r] .sp-tip::before{right:28px}
.sp-node:hover .sp-tip,.sp-node:focus-visible .sp-tip,.sp-node.open .sp-tip{opacity:1;visibility:visible;transform:none}
.sp-hub.has-active .sp-hub-core{box-shadow:0 0 0 18px rgba(27,99,224,.16),0 0 0 40px rgba(27,99,224,.07)}
.sp-hub-info{display:none}
@media (max-width:767px){
 .sp-hub-lines{display:none}
 .sp-tip{display:none}
 .sp-hub-info{display:block;order:99;width:100%;background:#fff;border:1px solid var(--sp-line);border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.55;color:var(--sp-muted);text-align:start;min-height:76px}
 .sp-hub-info strong{display:block;color:var(--sp-navy);margin-bottom:2px}
 .sp-node.open{background:var(--sp-accent);color:#fff;border-color:var(--sp-accent)}
 .sp-node:hover{transform:none}
}
@media (hover:none) and (min-width:768px){.sp-node:hover{transform:translate(-50%,-50%)}}
/* ---------- Menu icons + gradient separators ---------- */
.sp-ic{display:inline-block;width:18px;height:18px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;flex:none}
.sp-ic[data-i="layers"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%202%2010%205-10%205L2%207z%22%2F%3E%3Cpath%20d%3D%22m2%2012%2010%205%2010-5%22%2F%3E%3Cpath%20d%3D%22m2%2017%2010%205%2010-5%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="grid"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%2214%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%2214%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="sparkles"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l1.9%205.1L19%2010l-5.1%201.9L12%2017l-1.9-5.1L5%2010l5.1-1.9z%22%2F%3E%3Cpath%20d%3D%22M19%2015l.8%202.2L22%2018l-2.2.8L19%2021l-.8-2.2L16%2018l2.2-.8z%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="plug"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%202v6M15%202v6M6%208h12v4a6%206%200%200%201-12%200z%22%2F%3E%3Cpath%20d%3D%22M12%2018v4%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="shield"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010z%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="phone"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%226%22%20y%3D%222%22%20width%3D%2212%22%20height%3D%2220%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M11%2018h2%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="building"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%223%22%20width%3D%2216%22%20height%3D%2218%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M9%207h1M14%207h1M9%2011h1M14%2011h1M9%2015h1M14%2015h1M10%2021v-3h4v3%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="cap"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m2%209%2010-5%2010%205-10%205z%22%2F%3E%3Cpath%20d%3D%22M6%2011v5c0%201.5%203%203%206%203s6-1.5%206-3v-5%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="book"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%204h7a3%203%200%200%201%203%203v14a2%202%200%200%200-2-2H2z%22%2F%3E%3Cpath%20d%3D%22M22%204h-7a3%203%200%200%200-3%203v14a2%202%200%200%201%202-2h8z%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="award"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229%22%20r%3D%226%22%2F%3E%3Cpath%20d%3D%22m8.5%2014-1.5%208%205-3%205%203-1.5-8%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="briefcase"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%227%22%20width%3D%2220%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M16%207V5a2%202%200%200%200-2-2h-4a2%202%200%200%200-2%202v2M2%2013h20%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="usercheck"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M2%2021a7%207%200%200%201%2014%200%22%2F%3E%3Cpath%20d%3D%22m16%2011%202%202%204-4%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="presentation"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%204h18M4%204v11h16V4M12%2015v5M8%2021l4-1%204%201%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="users"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M1%2021a8%208%200%200%201%2016%200%22%2F%3E%3Cpath%20d%3D%22M17%204a4%204%200%200%201%200%208M19%2015a8%208%200%200%201%204%206%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="server"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%228%22%20rx%3D%222%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%2213%22%20width%3D%2218%22%20height%3D%228%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%207h.01M7%2017h.01%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="tag"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%203h8l10%2010-8%208L3%2011z%22%2F%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%227.5%22%20r%3D%221%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="newspaper"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%204h13v16H6a2%202%200%200%201-2-2z%22%2F%3E%3Cpath%20d%3D%22M17%208h3v10a2%202%200%200%201-2%202M8%208h5M8%2012h5M8%2016h5%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="lifebuoy"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223.5%22%2F%3E%3Cpath%20d%3D%22m5.5%205.5%203.5%203.5M15%2015l3.5%203.5M18.5%205.5%2015%209M9%2015l-3.5%203.5%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="rocket"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2015c-1.5%201.5-2%205-2%205s3.5-.5%205-2M14%204c4-1%206-1%206-1s0%202-1%206l-7%207-5-5z%22%2F%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%229%22%20r%3D%221.5%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="history"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%203-6.7L3%208%22%2F%3E%3Cpath%20d%3D%22M3%203v5h5M12%207v5l3%202%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="info"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%2011v6M12%207.5h.01%22%2F%3E%3C%2Fsvg%3E")}
.sp-ic[data-i="mail"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%224%22%20width%3D%2220%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m2%207%2010%207%2010-7%22%2F%3E%3C%2Fsvg%3E")}
.sp-nav>li>a .sp-ic{width:17px;height:17px;margin-inline-end:8px;vertical-align:-3px;color:var(--sp-accent);transition:transform .2s}
.sp-nav>li>a:hover .sp-ic{transform:scale(1.15) rotate(-6deg)}
.sp-drop a{position:relative;padding-inline-start:58px;min-height:46px}
.sp-drop a .sp-ic{position:absolute;inset-inline-start:12px;top:9px;width:32px;height:32px;padding:7px;box-sizing:border-box;border-radius:10px;background-color:var(--sp-tint);color:var(--sp-accent);-webkit-mask:none;mask:none;background-image:none;display:grid;place-items:center}
.sp-drop a .sp-ic::before{content:'';width:100%;height:100%;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.sp-drop a:hover .sp-ic{background:linear-gradient(135deg,#1B63E0,#0E9F9A);color:#fff}
.sp-drop a[href*="/ai/"] .sp-ic{background-color:var(--sp-tint2);color:var(--sp-ai)}
/* gradient separators */
.sp-header{border-bottom:0}
.sp-header::after{content:'';position:absolute;inset-inline:0;bottom:0;height:3px;background:linear-gradient(90deg,#0A1A33 0%,#1B63E0 35%,#0E9F9A 70%,#7EE0DB 100%)}
.sp-drop{overflow:hidden;padding-top:13px}
.sp-drop::before{content:'';position:absolute;inset-inline:0;top:0;height:3px;background:linear-gradient(90deg,#1B63E0,#0E9F9A)}
.sp-drop li+li{position:relative;margin-top:3px;padding-top:3px}
.sp-drop li+li::before{content:'';position:absolute;inset-inline:14px;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(27,99,224,0),#1B63E0 30%,#0E9F9A 70%,rgba(14,159,154,0))}
.sp-footer-bottom{border-top:0;position:relative}
.sp-footer-bottom::before{content:'';position:absolute;inset-inline:0;top:0;height:2px;background:linear-gradient(90deg,rgba(27,99,224,0),#1B63E0 25%,#0E9F9A 75%,rgba(14,159,154,0))}
@media (max-width:1024px){
 .sp-nav>li+li{position:relative;margin-top:2px;padding-top:2px}
 .sp-nav>li+li::before{content:'';position:absolute;inset-inline:0;top:0;height:2px;background:linear-gradient(90deg,#1B63E0,#0E9F9A,rgba(14,159,154,0))}
 .sp-drop{padding-top:6px;overflow:visible}
 .sp-drop::before{display:none}
 .sp-drop a{padding-inline-start:58px}
}
/* ---------- Heading colours: override Elementor kit defaults ---------- */
body[class*="elementor-kit-"]{--e-global-color-primary:#0A1A33;--e-global-color-secondary:#51617A;--e-global-color-text:#51617A;--e-global-color-accent:#1B63E0}
.elementor .elementor-widget-heading .elementor-heading-title{color:var(--sp-ink)}
.elementor .sp-dark .elementor-widget-heading .elementor-heading-title,.elementor .sp-cta .elementor-widget-heading .elementor-heading-title,.elementor .sp-solution .elementor-widget-heading .elementor-heading-title,.elementor .sp-card.sp-c-dark .elementor-widget-heading .elementor-heading-title,.elementor .sp-ai-item .elementor-widget-heading .elementor-heading-title{color:#fff}
.elementor .sp-eyebrow .elementor-heading-title{color:var(--sp-accent)}
.elementor .sp-strip-item .elementor-heading-title{color:var(--sp-navy)}
.elementor .sp-strip-item:hover .elementor-heading-title{color:var(--sp-accent)}
.elementor .sp-shot-cap .elementor-heading-title{color:var(--sp-ink)}
.elementor .sp-shot:hover .sp-shot-cap .elementor-heading-title{color:var(--sp-accent)}
.elementor .sp-cta .elementor-widget-text-editor,.elementor .sp-cta .sp-lead{color:#C6D3E8}
.elementor .sp-card.sp-c-dark .elementor-widget-text-editor{color:#C6D3E8}
.elementor .sp-solution .elementor-widget-text-editor{color:#C6D3E8}
.elementor .sp-dark .elementor-widget-text-editor{color:#C6D3E8}
/* ---------- Theme toggle button ---------- */
.sp-theme{width:42px;height:42px;border-radius:50%;border:1px solid var(--sp-line);background:var(--sp-bg);color:var(--sp-ink);display:grid;place-items:center;cursor:pointer;padding:0;transition:background .2s,color .2s,border-color .2s,transform .25s cubic-bezier(.2,.7,.2,1);flex:none}
.sp-theme:hover{border-color:var(--sp-accent);color:var(--sp-accent);transform:rotate(-14deg) scale(1.06)}
.sp-theme:focus-visible{outline:3px solid #86B0F5;outline-offset:3px}
.sp-theme .sp-ico-sun{display:none}
html[data-theme=dark] .sp-theme .sp-ico-sun{display:block}
html[data-theme=dark] .sp-theme .sp-ico-moon{display:none}
@media (max-width:1024px){.sp-header-in>.sp-header-cta{gap:10px}}

/* ---------- Dark theme ---------- */
html[data-theme=dark]{color-scheme:dark;--sp-bg:#08111F;--sp-surface:#0D1A2F;--sp-card:#12223B;--sp-ink:#E9EFF9;--sp-muted:#A3B4CD;--sp-line:#25364F;--sp-tint:#152847;--sp-tint2:#0F2C33;--sp-accent:#78A8FF;--sp-accent-d:#9DBFFF;--sp-accent-bg:#1B63E0;--sp-ai:#3CC8C1;--sp-shadow:0 18px 40px -22px rgba(0,0,0,.75)}
html{--sp-card:#fff;--sp-accent-bg:#1B63E0}
html[data-theme=dark] body,html[data-theme=dark] .elementor-page,html[data-theme=dark] .site-main{background:var(--sp-surface);color:var(--sp-ink)}
html[data-theme=dark] body[class*="elementor-kit-"]{--e-global-color-primary:#E9EFF9;--e-global-color-secondary:#A3B4CD;--e-global-color-text:#A3B4CD;--e-global-color-accent:#78A8FF}
html[data-theme=dark] .elementor-widget-text-editor{color:var(--sp-muted)}
html[data-theme=dark] .sp-header{background:rgba(13,26,47,.94)}
html[data-theme=dark] .sp-logo img{background:#fff;padding:5px 10px;border-radius:10px;height:44px;box-sizing:border-box}
html[data-theme=dark] .sp-nav>li>a:hover,html[data-theme=dark] .sp-nav>li:focus-within>a{background:var(--sp-tint);color:#fff}
html[data-theme=dark] .sp-drop{background:var(--sp-card);border-color:var(--sp-line)}
html[data-theme=dark] .sp-nav{background:transparent}
html[data-theme=dark] .sp-burger span{background:var(--sp-ink)}
html[data-theme=dark] .sp-lang{background:var(--sp-bg)}
html[data-theme=dark] .sp-lang a.on,html[data-theme=dark] .sp-lang a[aria-current]{background:var(--sp-accent-bg);color:#fff}
html[data-theme=dark] .sp-drop a:hover{background:var(--sp-tint)}
@media (max-width:1024px){html[data-theme=dark] .sp-nav{background:var(--sp-surface);border-color:var(--sp-line)}}
/* sections */
html[data-theme=dark] .sp-tint{background:var(--sp-bg)}
html[data-theme=dark] .e-con.sp-hero{background:radial-gradient(1000px 420px at 85% -10%,rgba(27,99,224,.28) 0,transparent 60%),linear-gradient(180deg,var(--sp-surface) 0,var(--sp-bg) 100%)}
html[data-theme=dark] .e-con.sp-page-hero{background:linear-gradient(180deg,var(--sp-surface),var(--sp-bg))}
html[data-theme=dark] .e-con.sp-strip{background:var(--sp-surface)}
html[data-theme=dark] .sp-dark{background-color:#050B16}
html[data-theme=dark] .sp-ai-glow{background:radial-gradient(900px 380px at 15% 0,rgba(14,159,154,.22),transparent 60%),radial-gradient(800px 360px at 100% 100%,rgba(27,99,224,.35),transparent 60%),#050B16}
html[data-theme=dark] .sp-footer{background:#050B16}
html[data-theme=dark] .sp-badge{background:var(--sp-tint);border-color:#2A4372;color:#B9D0FF}
/* cards and surfaces */
html[data-theme=dark] .e-con.sp-card{background:var(--sp-card);border-color:var(--sp-line)}
html[data-theme=dark] .e-con.sp-card:hover{border-color:#3A5A93}
html[data-theme=dark] .sp-card.sp-c-tint{background:var(--sp-tint);border-color:#23406E}
html[data-theme=dark] .sp-card.sp-c-ai{background:var(--sp-tint2);border-color:#1B4A50}
html[data-theme=dark] .sp-card.sp-c-dark{background:#050B16;border-color:#1C2B45}
html[data-theme=dark] .sp-card .elementor-icon-box-title{color:var(--sp-ink)}
html[data-theme=dark] .sp-card .elementor-icon{background:var(--sp-tint)}
html[data-theme=dark] .sp-card.sp-c-tint .elementor-icon,html[data-theme=dark] .sp-card.sp-c-ai .elementor-icon{background:var(--sp-card)}
html[data-theme=dark] .sp-card:hover .elementor-icon{background:var(--sp-accent-bg)!important}
html[data-theme=dark] .sp-card.sp-c-ai:hover .elementor-icon{background:#0E9F9A!important}
html[data-theme=dark] .sp-card:hover .elementor-icon-box-title{color:#fff}
html[data-theme=dark] .sp-card .elementor-icon-box-description{color:var(--sp-muted)}
html[data-theme=dark] .sp-frame{background:var(--sp-card);border-color:var(--sp-line)}
html[data-theme=dark] .sp-frame-bar{background:var(--sp-surface);border-color:var(--sp-line)}
html[data-theme=dark] .sp-frame-bar i{background:#3A4E6E}
html[data-theme=dark] .sp-frame-body{background:repeating-linear-gradient(135deg,#10203A 0 14px,#13264A 14px 28px);color:var(--sp-muted)}
html[data-theme=dark] .sp-frame-body strong{color:var(--sp-ink)}
html[data-theme=dark] .sp-ph-tag{background:#3A2C0A;border-color:#6B5417;color:#F5D58A}
html[data-theme=dark] .sp-tag-live{background:#0F3A24;color:#7FE0A8}
html[data-theme=dark] .sp-tag-soon{background:#3A2C0A;color:#F5D58A}
html[data-theme=dark] .sp-tag-plan{background:#1D2C46;color:#B4C4DD}
html[data-theme=dark] .elementor .sp-shot-cap .elementor-heading-title{color:var(--sp-ink)}
html[data-theme=dark] .elementor .sp-strip-item .elementor-heading-title{color:var(--sp-ink)}
html[data-theme=dark] .elementor .sp-strip-item:hover .elementor-heading-title,html[data-theme=dark] .elementor .sp-shot:hover .sp-shot-cap .elementor-heading-title{color:var(--sp-accent)}
html[data-theme=dark] .sp-problem-list .elementor-icon-list-item{border-color:var(--sp-line);color:var(--sp-ink)}
html[data-theme=dark] .sp-problem-list .elementor-icon-list-text{color:var(--sp-ink)}
html[data-theme=dark] .sp-problem-list .elementor-icon-list-item:hover{background:rgba(120,168,255,.09)}
html[data-theme=dark] .sp-solution{background:#050B16;border:1px solid #1C2B45}
html[data-theme=dark] .sp-card.sp-c-dark .elementor-icon-box-title{color:#fff}
/* hub */
html[data-theme=dark] .sp-node{background:var(--sp-card);color:var(--sp-ink);border-color:var(--sp-line)}
html[data-theme=dark] .sp-node.ai{background:var(--sp-tint2);color:#7EE0DB;border-color:#1F5B60}
html[data-theme=dark] .sp-node:hover,html[data-theme=dark] .sp-node.open{background:var(--sp-accent-bg);color:#fff;border-color:var(--sp-accent-bg)}
html[data-theme=dark] .sp-node.ai:hover,html[data-theme=dark] .sp-node.ai.open{background:#0E9F9A;border-color:#0E9F9A}
html[data-theme=dark] .sp-line{stroke:#2C4470}
html[data-theme=dark] .sp-line.on{stroke:var(--sp-accent)}
html[data-theme=dark] .sp-line.ai.on{stroke:var(--sp-ai)}
html[data-theme=dark] .sp-tip{background:var(--sp-card);border-color:#34507F;color:var(--sp-muted);box-shadow:0 24px 44px -20px rgba(0,0,0,.85)}
html[data-theme=dark] .sp-tip::before{background:var(--sp-card);border-color:#34507F}
html[data-theme=dark] .sp-tip strong{color:#fff}
html[data-theme=dark] .sp-node.ai .sp-tip strong{color:#7EE0DB}
html[data-theme=dark] .sp-tip .sp-tip-soon{background:#3A2C0A;color:#F5D58A}
html[data-theme=dark] .sp-hub-info{background:var(--sp-card);border-color:var(--sp-line);color:var(--sp-muted)}
html[data-theme=dark] .sp-hub-info strong{color:#fff}
html[data-theme=dark] .sp-hub-core{background:var(--sp-accent-bg);box-shadow:0 0 0 14px rgba(27,99,224,.22),0 0 0 30px rgba(27,99,224,.1)}
/* buttons */
html[data-theme=dark] .sp-btn-primary .elementor-button,html[data-theme=dark] .sp-btn-primary.sp-btn{background:var(--sp-accent-bg);border-color:var(--sp-accent-bg);color:#fff}
html[data-theme=dark] .sp-btn-primary .elementor-button:hover{background:#2F73F0;border-color:#2F73F0}
html[data-theme=dark] .sp-btn-ghost .elementor-button,html[data-theme=dark] .sp-btn-ghost.sp-btn{color:var(--sp-ink);border-color:rgba(233,239,249,.6)}
html[data-theme=dark] .sp-btn-ghost .elementor-button:hover{background:var(--sp-ink);color:#08111F;border-color:var(--sp-ink)}
html[data-theme=dark] .sp-cta .sp-btn-primary .elementor-button{background:#fff;color:#0A1A33;border-color:#fff}
html[data-theme=dark] .sp-cta .sp-btn-ghost .elementor-button{color:#fff;border-color:rgba(255,255,255,.7)}
html[data-theme=dark] .sp-cta .sp-btn-ghost .elementor-button:hover{background:#fff;color:#0A1A33}
html[data-theme=dark] .sp-dark .sp-btn-ghost .elementor-button{color:#fff;border-color:rgba(255,255,255,.7)}
html[data-theme=dark] .sp-dark .sp-btn-ghost .elementor-button:hover{background:#fff;color:#0A1A33}
html[data-theme=dark] .sp-form button{background:var(--sp-accent-bg)}
/* forms, tables, blog */
html[data-theme=dark] .sp-form input,html[data-theme=dark] .sp-form select,html[data-theme=dark] .sp-form textarea,html[data-theme=dark] .cpabc_appointments_form input,html[data-theme=dark] .cpabc_appointments_form select,html[data-theme=dark] .cpabc_appointments_form textarea{background:var(--sp-card);color:var(--sp-ink);border-color:var(--sp-line)}
html[data-theme=dark] .sp-form label{color:var(--sp-ink)}
html[data-theme=dark] .sp-table td,html[data-theme=dark] .sp-table th{border-color:var(--sp-line)!important}
html[data-theme=dark] .sp-table th{color:var(--sp-ink)}
html[data-theme=dark] .blog .site-main article,html[data-theme=dark] .archive .site-main article{background:var(--sp-card);border-color:var(--sp-line)}
html[data-theme=dark] .blog .site-main article h2 a{color:var(--sp-ink)}
html[data-theme=dark] .sp-crumbs,html[data-theme=dark] .sp-crumbs a,html[data-theme=dark] .sp-note{color:var(--sp-muted)}
html[data-theme=dark] img[src*="/mobile"],html[data-theme=dark] .sp-gallery img{background:var(--sp-card)}
html,body,.sp-header{transition:background-color .25s,border-color .25s,color .25s}
.elementor .sp-card.sp-c-dark .elementor-icon-list-text,.elementor .sp-solution .elementor-icon-list-text,.elementor .sp-dark .elementor-icon-list-text{color:#DCE6F5}
.elementor .sp-card.sp-c-dark .sp-problem-list .elementor-icon-list-item{border-color:rgba(255,255,255,.16)}
.elementor .sp-card.sp-c-dark .elementor-icon-list-icon{color:#7EE0DB}
.elementor .sp-card.sp-c-dark .sp-problem-list .elementor-icon-list-item:hover{background:rgba(255,255,255,.06)}
html[data-theme=dark] .elementor .sp-card.sp-c-dark .elementor-icon-list-text{color:#DCE6F5}

/* dropdown hover-gap fix: invisible bridge so the menu stays open while the pointer travels down */
@media(min-width:1025px){.sp-has{position:relative}.sp-has>.sp-drop{margin-top:0;top:calc(100% + 6px)}.sp-has::after{content:'';position:absolute;inset-inline:-12px;top:100%;height:16px;display:none}.sp-has:hover::after,.sp-has:focus-within::after{display:block}.sp-drop::after{content:'';position:absolute;inset-inline:0;top:-8px;height:8px}}
