:root{--black:#08090d;--navy:#0e1422;--ink:#121722;--muted:#5d6677;--line:#e8edf5;--soft:#f6f8fb;--accent:#19c6d6;--accent2:#8b5cf6;--grad:linear-gradient(135deg,#19c6d6,#8b5cf6)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto}.container{width:min(1160px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:linear-gradient(135deg,#07080b,#0c1220 70%,#111);box-shadow:0 12px 40px rgba(0,0,0,.25)}.nav-shell{width:min(1240px,94%);margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:78px}.brand img{width:220px;display:block}.main-nav{display:flex;align-items:center;gap:8px}.main-nav>a,.has-menu>button{color:#fff;background:transparent;border:0;padding:13px 15px;border-radius:12px;font:600 15px/1 Inter,system-ui;cursor:pointer}.main-nav>a:hover,.has-menu>button:hover{background:rgba(255,255,255,.09);color:var(--accent)}.nav-cta{background:var(--grad)!important;color:#fff!important;box-shadow:0 10px 25px rgba(25,198,214,.25)}.has-menu{position:relative}.mega{position:absolute;right:-180px;top:48px;width:760px;background:#0b1020;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;box-shadow:0 25px 80px rgba(0,0,0,.38)}.has-menu:hover .mega,.has-menu:focus-within .mega{opacity:1;visibility:visible;transform:none}.mega a{padding:14px;border-radius:14px;color:#fff;background:rgba(255,255,255,.045)}.mega a:hover{background:rgba(25,198,214,.14)}.mega small{display:block;color:#aeb7c8;font-size:12px;line-height:1.4;margin-top:4px}.hamb{display:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px}.hamb span{display:block;width:24px;height:2px;background:#fff;margin:5px}.hero{background:radial-gradient(circle at 20% 0%,rgba(25,198,214,.20),transparent 32%),linear-gradient(135deg,#090b10,#10192b 72%,#081015);color:#fff;padding:96px 0}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}.eyebrow{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#9ff5ff;background:rgba(255,255,255,.06);font-size:13px;font-weight:700}.hero h1,.page-hero h1{font-size:clamp(38px,6vw,72px);line-height:1.02;margin:20px 0;text-align:center}.hero p,.page-hero p{font-size:18px;color:#d7deec;max-width:720px;margin-left:auto;margin-right:auto;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:13px;font-weight:800;margin:8px 8px 0 0}.primary{background:var(--grad);color:#fff}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.dark-btn{background:#101827;color:#fff}.hero-card,.glass{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:26px;padding:28px;box-shadow:0 25px 80px rgba(0,0,0,.25);backdrop-filter:blur(10px)}.trust-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.trust-row span{background:rgba(255,255,255,.08);border-radius:999px;padding:9px 12px;color:#dfe7f7}.section{padding:84px 0}.section.alt{background:var(--soft)}.section-title{font-size:clamp(30px,4vw,46px);line-height:1.12;text-align:center;margin:0 0 12px}.section-subtitle{text-align:center;color:var(--muted);max-width:760px;margin:0 auto 38px}.grid{display:grid;gap:22px}.cards{grid-template-columns:repeat(3,1fr)}.service-grid{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 12px 38px rgba(18,23,34,.06);transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(18,23,34,.10)}.card img{height:150px;width:100%;object-fit:cover;border-radius:16px;margin-bottom:14px}.icon{width:46px;height:46px;border-radius:14px;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:900;margin:0 auto 12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.list{display:grid;gap:12px}.list li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;word-break:break-word}.cta{background:linear-gradient(135deg,#081019,#101b31);color:#fff;border-radius:30px;padding:42px}.page-hero{background:linear-gradient(135deg,#090b10,#10192b);color:#fff;padding:72px 0;text-align:center}.service-page-hero .container{max-width:860px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.article{max-width:820px}.article img{border-radius:22px}.article h2{font-size:clamp(20px,3vw,26px);margin:42px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.article h2:first-of-type{margin-top:28px}.article p{margin:0 0 16px;line-height:1.75;color:#2a3040}.article ul{margin:0 0 20px;padding-left:22px}.article ul li{margin-bottom:8px;line-height:1.7;color:#2a3040}.article a{color:var(--accent);text-decoration:underline}.article strong{color:var(--ink)}.article-layout{display:grid;grid-template-columns:1fr 300px;gap:34px}.sidebar{position:sticky;top:110px;align-self:start}.form{display:grid;gap:14px}.form input,.form textarea,.form select{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;font:inherit}.footer{background:#07080c;color:#cbd3df;padding:56px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}.footer a{display:block;color:#cbd3df;margin:8px 0}.foot-logo{width:190px}.copy{text-align:center;border-top:1px solid rgba(255,255,255,.1);padding:18px;margin-top:30px}.admin-wrap{min-height:100vh;background:var(--soft);padding:34px}.admin-card{max-width:1100px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px}.admin-table{width:100%;border-collapse:collapse}.admin-table td,.admin-table th{border-bottom:1px solid var(--line);padding:12px;text-align:left}.notice{padding:12px;border-radius:12px;background:#e9fbff;color:#0e6771;margin-bottom:16px}@media(max-width:980px){.hamb{display:block}.main-nav{position:fixed;inset:78px 0 auto 0;max-height:calc(100vh - 78px);overflow-y:auto;background:#080b12;display:none;flex-direction:column;align-items:center;padding:10px 0}.main-nav.open{display:flex}.main-nav>a{text-align:center;width:100%;padding:16px 24px;font-size:17px;font-weight:600;display:block;border-bottom:1px solid rgba(255,255,255,.06)}.main-nav>a:last-child{border-bottom:none}.has-menu{width:100%;text-align:center;border-bottom:1px solid rgba(255,255,255,.06)}.has-menu>button{text-align:center;width:100%;padding:16px 24px;font-size:17px;display:flex;align-items:center;justify-content:center;gap:6px}.mega{position:static;width:100%;display:none;opacity:1;visibility:visible;transform:none;grid-template-columns:1fr;box-shadow:none;margin:0;padding:6px 16px 12px;background:transparent;border:none;border-radius:0;gap:6px}.mega a{text-align:center;border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.04)}.mega a strong{font-size:14px;color:#fff;display:block}.mega a small{font-size:12px;color:#aeb7c8;margin-top:3px;display:block;line-height:1.4}.has-menu.open .mega{display:grid}.hero-grid,.split,.article-layout{grid-template-columns:1fr}.service-grid,.cards,.blog-grid{grid-template-columns:repeat(2,1fr)}.brand img{width:190px}.page-hero h1,.page-hero p{text-align:center;margin-left:auto;margin-right:auto}}@media(max-width:620px){.nav-shell{min-height:70px}.main-nav{inset:70px 0 auto 0;max-height:calc(100vh - 70px)}.hero,.section{padding:54px 0}.service-grid,.cards,.blog-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.btn{width:100%;margin-right:0;justify-content:center}.brand img{width:168px}.hero-card{padding:20px}.card{padding:20px}.page-hero{padding:52px 0;text-align:center}.page-hero h1{font-size:clamp(30px,8vw,48px);text-align:center}.page-hero p{text-align:center;margin-left:auto;margin-right:auto;font-size:16px}.trust-row{display:grid}.admin-wrap{padding:12px}.admin-card{padding:16px;overflow:auto}.cta{border-radius:18px;padding:28px 20px}.cta h2{font-size:clamp(22px,5vw,34px)}.grid[style*="repeat(2"]{grid-template-columns:1fr!important}.section-title{font-size:clamp(24px,6vw,36px)}.split img{margin-bottom:16px}}
/* Homepage Pricing Section */
.pricing-section .section-subtitle{max-width:760px;margin-left:auto;margin-right:auto}
.pricing-cards{align-items:stretch}
.pricing-card{position:relative;display:flex;flex-direction:column;gap:12px}
.pricing-card .price-label{display:inline-flex;width:max-content;padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.06);font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.pricing-card h3{font-size:1.45rem;margin:0}
.pricing-card p{flex:1}
.pricing-card .btn{width:max-content;margin-top:6px}
.pricing-card.featured{border:2px solid currentColor;transform:translateY(-4px)}
@media(max-width:760px){.pricing-card.featured{transform:none}.pricing-card .btn{width:100%;text-align:center;justify-content:center}}



/* About page */
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:30px}
.about-card{padding:24px;border-radius:18px;background:rgba(255,255,255,.05);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08)}
.about-card h3{margin-bottom:10px}
.about-highlight{margin-top:35px;padding:30px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08)}
.about-highlight p:last-child{margin-bottom:0}

/* Visual editor alignment fix: How It Works cards must allow left/center/right/justify inline text alignment. */
.card .icon{margin-left:auto;margin-right:auto;}
.card[style*="text-align"] h3,.card[style*="text-align"] p{ text-align:inherit; }


/* Visual editor button alignment controls */
[data-kv-btn-align="left"]{text-align:left!important;}
[data-kv-btn-align="center"]{text-align:center!important;}
[data-kv-btn-align="right"]{text-align:right!important;}
[data-kv-btn-align] .btn{width:auto!important;max-width:100%;display:inline-flex!important;}
[data-kv-btn-align="left"] .btn{margin-left:0!important;margin-right:8px!important;}
[data-kv-btn-align="center"] .btn{margin-left:auto!important;margin-right:auto!important;}
[data-kv-btn-align="right"] .btn{margin-left:auto!important;margin-right:0!important;}
@media(max-width:620px){[data-kv-btn-align] .btn{width:auto!important;max-width:100%;}}

/* Visual editor numbered icon alignment for How It Works */
.icon[data-kv-icon-align="left"]{margin:0 auto 12px 0!important;}
.icon[data-kv-icon-align="center"]{margin:0 auto 12px auto!important;}
.icon[data-kv-icon-align="right"]{margin:0 0 12px auto!important;}


/* Visual Page Editor responsive-safe button alignment */
.kv-button-wrap{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  clear:both !important;
}
[data-kv-btn-align="left"]{text-align:left !important;}
[data-kv-btn-align="center"]{text-align:center !important;}
[data-kv-btn-align="right"]{text-align:right !important;}
[data-kv-btn-align] > a,
[data-kv-btn-align] > button,
[data-kv-btn-align] .btn{
  display:inline-flex !important;
  width:auto !important;
  max-width:100% !important;
  float:none !important;
  justify-content:center !important;
}
@media (max-width:980px){
  [data-kv-btn-align]{display:block !important;width:100% !important;max-width:100% !important;}
  [data-kv-btn-align] > a,
  [data-kv-btn-align] > button,
  [data-kv-btn-align] .btn{width:auto !important;max-width:100% !important;float:none !important;}
}
@media (max-width:620px){
  [data-kv-btn-align]{display:block !important;width:100% !important;max-width:100% !important;}
  [data-kv-btn-align] > a,
  [data-kv-btn-align] > button,
  [data-kv-btn-align] .btn{width:auto !important;max-width:100% !important;float:none !important;justify-content:center !important;}
}


/* KatVerra Visual Header/Menu Editor overrides */
.site-header{background:var(--kv-header-bg,linear-gradient(135deg,#07080b,#0c1220 70%,#111))!important;box-shadow:var(--kv-header-shadow,0 12px 40px rgba(0,0,0,.25))!important;border-radius:var(--kv-header-radius,0px)!important;padding:var(--kv-header-padding-desktop,0px)!important}
.nav-shell{width:min(var(--kv-nav-width,1240px),94%)!important;min-height:var(--kv-nav-min-height-desktop,78px)!important}.brand img{width:var(--kv-logo-width-desktop,220px)!important}.main-nav{gap:var(--kv-nav-gap,8px)!important}.main-nav>a,.has-menu>button{font-size:var(--kv-menu-font-desktop,15px)!important;font-weight:var(--kv-menu-font-weight,600)!important;color:var(--kv-menu-color,#fff)!important;padding:var(--kv-menu-padding-desktop,13px 15px)!important;border-radius:var(--kv-menu-radius,12px)!important}.main-nav>a:hover,.has-menu>button:hover{background:var(--kv-menu-hover-bg,rgba(255,255,255,.09))!important;color:var(--kv-menu-hover-color,var(--accent))!important}.mega{background:var(--kv-submenu-bg,#0b1020)!important;width:var(--kv-submenu-width,760px)!important;border-radius:var(--kv-submenu-radius,22px)!important}.mega a{background:var(--kv-submenu-card-bg,rgba(255,255,255,.045))!important}.mega a:hover{background:var(--kv-submenu-card-hover-bg,rgba(25,198,214,.14))!important}.mega a strong{font-size:var(--kv-submenu-font-desktop,inherit)!important;color:var(--kv-submenu-text-color,#fff)!important;text-align:var(--kv-submenu-title-align,left)!important;display:block!important}.mega a small{font-size:var(--kv-submenu-desc-font-desktop,12px)!important;color:var(--kv-submenu-desc-color,#aeb7c8)!important;text-align:var(--kv-submenu-desc-align,left)!important}.nav-cta{background:var(--kv-contact-bg,var(--grad))!important;color:var(--kv-contact-color,#fff)!important;border-radius:var(--kv-contact-radius,12px)!important}.hamb{background:var(--kv-hamb-bg,rgba(255,255,255,.08))!important}.hamb span{background:var(--kv-hamb-line-color,#fff)!important}
@media(max-width:980px){.site-header{padding:var(--kv-header-padding-tablet,0px)!important}.nav-shell{min-height:var(--kv-nav-min-height-tablet,78px)!important}.brand img{width:var(--kv-logo-width-tablet,190px)!important}.main-nav>a,.has-menu>button{font-size:var(--kv-menu-font-tablet,17px)!important}.mega a strong{font-size:var(--kv-submenu-font-tablet,14px)!important}.mega a small{font-size:var(--kv-submenu-desc-font-tablet,12px)!important}.main-nav{background:var(--kv-mobile-menu-bg,#080b12)!important}.has-menu>button,.main-nav>a{padding:var(--kv-menu-padding-mobile,16px 24px)!important}}
@media(max-width:620px){.site-header{padding:var(--kv-header-padding-mobile,0px)!important}.nav-shell{min-height:var(--kv-nav-min-height-mobile,70px)!important}.brand img{width:var(--kv-logo-width-mobile,168px)!important}.main-nav>a,.has-menu>button{font-size:var(--kv-menu-font-mobile,17px)!important}.mega a strong{font-size:var(--kv-submenu-font-mobile,14px)!important}.mega a small{font-size:var(--kv-submenu-desc-font-mobile,12px)!important}}


/* ===== KatVerra Global Header/Menu Editor Overrides ===== */
.site-header{
  background:var(--kv-header-bg,linear-gradient(135deg,#07080b,#0c1220 70%,#111));
  box-shadow:var(--kv-header-shadow,0 12px 40px rgba(0,0,0,.25));
  border-radius:var(--kv-header-radius,0px);
  padding:var(--kv-header-padding-desktop,0px);
}
.nav-shell{
  width:min(var(--kv-nav-width,1240px),94%);
  min-height:var(--kv-nav-min-height-desktop,78px);
}
.brand img{width:var(--kv-logo-width-desktop,220px);}
.main-nav{gap:var(--kv-nav-gap,8px);}
.main-nav>a,.has-menu>button{
  color:var(--kv-menu-color,#ffffff);
  padding:var(--kv-menu-padding-desktop,13px 15px);
  border-radius:var(--kv-menu-radius,12px);
  font-size:var(--kv-menu-font-desktop,15px);
  font-weight:var(--kv-menu-font-weight,600);
}
.main-nav>a:hover,.has-menu>button:hover{
  background:var(--kv-menu-hover-bg,rgba(255,255,255,.09));
  color:var(--kv-menu-hover-color,#19c6d6);
}
.nav-cta{
  background:var(--kv-contact-bg,linear-gradient(135deg,#19c6d6,#8b5cf6))!important;
  color:var(--kv-contact-color,#ffffff)!important;
  border-radius:var(--kv-contact-radius,12px)!important;
}
.mega{
  width:var(--kv-submenu-width,760px);
  background:var(--kv-submenu-bg,#0b1020);
  border-radius:var(--kv-submenu-radius,22px);
}
.mega a{
  color:var(--kv-submenu-text-color,#ffffff);
  background:var(--kv-submenu-card-bg,rgba(255,255,255,.045));
  font-size:var(--kv-submenu-font-desktop,15px);
}
.mega a strong{display:block;text-align:var(--kv-submenu-title-align,left);}
.mega a small{text-align:var(--kv-submenu-desc-align,left);}
.mega a:hover{background:var(--kv-submenu-card-hover-bg,rgba(25,198,214,.14));}
.mega small{
  color:var(--kv-submenu-desc-color,#aeb7c8);
  font-size:var(--kv-submenu-desc-font-desktop,12px);
}
.hamb{background:var(--kv-hamb-bg,rgba(255,255,255,.08));}
.hamb span{background:var(--kv-hamb-line-color,#ffffff);}

@media(max-width:980px){
  .site-header{padding:var(--kv-header-padding-tablet,0px);}
  .nav-shell{min-height:var(--kv-nav-min-height-tablet,78px);}
  .brand img{width:var(--kv-logo-width-tablet,190px);}
  .main-nav>a,.has-menu>button{
    font-size:var(--kv-menu-font-tablet,17px);
    padding:var(--kv-menu-padding-mobile,16px 24px);
  }
  .main-nav.open{background:var(--kv-mobile-menu-bg,#080b12);}
  .mega{
    width:100%;
    background:var(--kv-submenu-bg,#0b1020);
  }
  .mega a{font-size:var(--kv-submenu-font-tablet,14px);}
  .mega small{font-size:var(--kv-submenu-desc-font-tablet,12px);}
}
@media(max-width:620px){
  .site-header{padding:var(--kv-header-padding-mobile,0px);}
  .nav-shell{min-height:var(--kv-nav-min-height-mobile,70px);}
  .brand img{width:var(--kv-logo-width-mobile,168px);}
  .main-nav>a,.has-menu>button{font-size:var(--kv-menu-font-mobile,17px);}
  .mega a{font-size:var(--kv-submenu-font-mobile,14px);}
  .mega small{font-size:var(--kv-submenu-desc-font-mobile,12px);}
}


/* ===== v24 Robust submenu alignment fix =====
   Makes title/description alignment work inside flex submenu cards on desktop/tablet/mobile. */
.mega a{
  align-items:stretch!important;
}
.mega a strong,
.mega a small{
  display:block!important;
  width:100%!important;
}
.mega a strong{
  text-align:var(--kv-submenu-title-align,left)!important;
}
.mega a small{
  text-align:var(--kv-submenu-desc-align,left)!important;
}
@media(max-width:980px){
  .mega a{
    align-items:stretch!important;
  }
  .mega a strong{
    text-align:var(--kv-submenu-title-align,left)!important;
  }
  .mega a small{
    text-align:var(--kv-submenu-desc-align,left)!important;
  }
}
@media(max-width:620px){
  .mega a{
    align-items:stretch!important;
  }
  .mega a strong{
    text-align:var(--kv-submenu-title-align,left)!important;
  }
  .mega a small{
    text-align:var(--kv-submenu-desc-align,left)!important;
  }
}


/* ===== v25 Global Header Editor final submenu/mobile-tablet fix ===== */
.site-header{
  background:var(--kv-header-bg,linear-gradient(135deg,#07080b,#0c1220 70%,#111))!important;
  box-shadow:var(--kv-header-shadow,0 12px 40px rgba(0,0,0,.25))!important;
  border-radius:var(--kv-header-radius,0px)!important;
  padding:var(--kv-header-padding-desktop,0px)!important;
}
.mega a{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:stretch!important;
  text-align:inherit!important;
}
.mega a strong,
.mega a small{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.mega a strong{
  text-align:var(--kv-submenu-title-align,left)!important;
}
.mega a small{
  text-align:var(--kv-submenu-desc-align,left)!important;
}
@media(max-width:980px){
  .site-header{padding:var(--kv-header-padding-tablet,0px)!important;}
  .main-nav{background:var(--kv-mobile-menu-bg,#080b12)!important;}
  .has-menu{width:100%!important;}
  .has-menu>button{justify-content:center!important;}
  .has-menu.open .mega{display:grid!important;}
  .mega{
    position:static!important;
    right:auto!important;
    top:auto!important;
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:1fr!important;
    margin:0!important;
    background:var(--kv-submenu-bg,#0b1020)!important;
    border-radius:0!important;
  }
  .mega a{align-items:stretch!important;text-align:inherit!important;}
  .mega a strong{text-align:var(--kv-submenu-title-align,left)!important;}
  .mega a small{text-align:var(--kv-submenu-desc-align,left)!important;}
}
@media(max-width:620px){
  .site-header{padding:var(--kv-header-padding-mobile,0px)!important;}
  .main-nav{background:var(--kv-mobile-menu-bg,#080b12)!important;}
  .mega{width:100%!important;max-width:100%!important;}
  .mega a{align-items:stretch!important;text-align:inherit!important;}
  .mega a strong{text-align:var(--kv-submenu-title-align,left)!important;}
  .mega a small{text-align:var(--kv-submenu-desc-align,left)!important;}
}


/* ===== v26 Audit fixes: contact notices + stable responsive header/submenu ===== */
.notice.success{background:#e9fbef;color:#155724;border:1px solid #bfe8c8;border-radius:12px;padding:12px;margin-bottom:14px}
.notice.error{background:#fff0f0;color:#8a1f1f;border:1px solid #f0b8b8;border-radius:12px;padding:12px;margin-bottom:14px}
.main-nav a,.has-menu>button{white-space:nowrap}
.has-menu>button{appearance:none;-webkit-appearance:none}
.mega{max-width:calc(100vw - 32px)}
@media(max-width:980px){
  .main-nav{left:0!important;right:0!important;width:100%!important}
  .main-nav.open{display:flex!important}
  .main-nav a,.has-menu>button{white-space:normal!important}
  .has-menu>button::after{content:none!important;display:none!important}
  .mega{padding:8px 16px 14px!important;background:var(--kv-submenu-bg,#0b1020)!important}
  .mega a{min-height:auto!important}
}
@media(max-width:620px){
  .nav-shell{width:92%!important}
  .main-nav{inset:var(--kv-nav-min-height-mobile,70px) 0 auto 0!important}
}

/* Blog cover images: show full image without cropping */
.blog-grid .card img{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:contain;
  background:#f6f8fb;
  border-radius:16px;
}
.article > img{
  width:100%;
  height:auto;
  object-fit:contain;
  background:#f6f8fb;
}


/* Blog cover image no-crop fix: show the full featured image on blog cards */
.blog-grid .card img{
  width:100%;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block;
  background:#f6f8fb;
}


/* ===== v27 safe upgrade: non-breaking polish, accessibility, editor-friendly utilities ===== */
:where(a,button,input,textarea,select):focus-visible{outline:3px solid rgba(25,198,214,.55);outline-offset:3px}
.btn,.card,.nav-cta{will-change:transform}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
@media(max-width:980px){
  .site-header .main-nav{z-index:9999!important}
  .site-header .mega{overflow:hidden!important}
  .site-header .mega a{word-break:normal!important;overflow-wrap:anywhere!important}
  .site-header .main-nav>a,.site-header .has-menu>button{min-height:50px!important}
}
.kv-hide-desktop,.kv-hide-tablet,.kv-hide-mobile{display:revert}
@media(min-width:981px){.kv-hide-desktop{display:none!important}}
@media(min-width:621px) and (max-width:980px){.kv-hide-tablet{display:none!important}}
@media(max-width:620px){.kv-hide-mobile{display:none!important}}
.kv-single-space{line-height:1.35!important}.kv-double-space{line-height:2!important}
.kv-builder-safe-note{font-size:12px;color:#667085}


/* ===== v30 KatVerra Visual Builder Animation Presets =====
   Safe front-end support for animations selected inside page-editor.php.
   Applies only to elements with data-kv-anim, so existing layout/menu is not affected. */
[data-kv-anim]{animation-duration:.75s;animation-timing-function:ease;animation-fill-mode:both;will-change:opacity,transform,filter;}
.kv-anim-ready[data-kv-anim]{opacity:0;}
.kv-anim-ready[data-kv-anim="reveal-up"]{clip-path:inset(100% 0 0 0);opacity:1;}
.kv-anim-ready[data-kv-anim="pulse"]{opacity:1;}
.kv-anim-in[data-kv-anim="fade-in"]{animation-name:kvFadeIn;}
.kv-anim-in[data-kv-anim="fade-up"]{animation-name:kvFadeUp;}
.kv-anim-in[data-kv-anim="fade-down"]{animation-name:kvFadeDown;}
.kv-anim-in[data-kv-anim="fade-left"]{animation-name:kvFadeLeft;}
.kv-anim-in[data-kv-anim="fade-right"]{animation-name:kvFadeRight;}
.kv-anim-in[data-kv-anim="zoom-in"]{animation-name:kvZoomIn;}
.kv-anim-in[data-kv-anim="zoom-out"]{animation-name:kvZoomOut;}
.kv-anim-in[data-kv-anim="slide-up"]{animation-name:kvSlideUp;}
.kv-anim-in[data-kv-anim="slide-down"]{animation-name:kvSlideDown;}
.kv-anim-in[data-kv-anim="slide-left"]{animation-name:kvSlideLeft;}
.kv-anim-in[data-kv-anim="slide-right"]{animation-name:kvSlideRight;}
.kv-anim-in[data-kv-anim="flip-up"]{animation-name:kvFlipUp;backface-visibility:hidden;}
.kv-anim-in[data-kv-anim="flip-down"]{animation-name:kvFlipDown;backface-visibility:hidden;}
.kv-anim-in[data-kv-anim="rotate-in"]{animation-name:kvRotateIn;}
.kv-anim-in[data-kv-anim="bounce-in"]{animation-name:kvBounceIn;animation-duration:.85s;}
.kv-anim-in[data-kv-anim="pop-in"]{animation-name:kvPopIn;}
.kv-anim-in[data-kv-anim="blur-in"]{animation-name:kvBlurIn;}
.kv-anim-in[data-kv-anim="skew-in"]{animation-name:kvSkewIn;}
.kv-anim-in[data-kv-anim="reveal-up"]{animation-name:kvRevealUp;overflow:hidden;}
.kv-anim-in[data-kv-anim="pulse"]{animation-name:kvPulse;}
@keyframes kvFadeIn{from{opacity:0}to{opacity:1}}
@keyframes kvFadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes kvFadeDown{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}
@keyframes kvFadeLeft{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}
@keyframes kvFadeRight{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:translateX(0)}}
@keyframes kvZoomIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes kvZoomOut{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
@keyframes kvSlideUp{from{transform:translateY(34px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes kvSlideDown{from{transform:translateY(-34px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes kvSlideLeft{from{transform:translateX(38px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes kvSlideRight{from{transform:translateX(-38px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes kvFlipUp{from{opacity:0;transform:perspective(700px) rotateX(18deg) translateY(18px)}to{opacity:1;transform:perspective(700px) rotateX(0) translateY(0)}}
@keyframes kvFlipDown{from{opacity:0;transform:perspective(700px) rotateX(-18deg) translateY(-18px)}to{opacity:1;transform:perspective(700px) rotateX(0) translateY(0)}}
@keyframes kvRotateIn{from{opacity:0;transform:rotate(-5deg) scale(.96)}to{opacity:1;transform:rotate(0) scale(1)}}
@keyframes kvBounceIn{0%{opacity:0;transform:scale(.9) translateY(18px)}60%{opacity:1;transform:scale(1.035) translateY(-4px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes kvPopIn{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@keyframes kvBlurIn{from{opacity:0;filter:blur(8px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes kvSkewIn{from{opacity:0;transform:skewY(2deg) translateY(18px)}to{opacity:1;transform:skewY(0) translateY(0)}}
@keyframes kvRevealUp{from{clip-path:inset(100% 0 0 0);opacity:1}to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes kvPulse{0%{transform:scale(1)}45%{transform:scale(1.035)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){[data-kv-anim],.kv-anim-ready[data-kv-anim],.kv-anim-in[data-kv-anim]{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}}


/* ===== v31 Universal Page Load / Scroll Animations ===== */
[data-kv-auto-anim]{transform-origin:center center;}
.kv-anim-ready[data-kv-auto-anim]{opacity:0!important;}
.kv-anim-in[data-kv-auto-anim]{opacity:1;}
main [data-kv-anim]{backface-visibility:hidden;}


/* ===== v32 desktop services submenu alignment fix =====
/* Keeps the Services dropdown stable on desktop while preserving the working mobile menu. */
@media (min-width:981px){
  .site-header .has-menu{position:relative!important;width:auto!important;text-align:left!important;}
  .site-header .has-menu>button{text-align:left!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
  .site-header .has-menu .mega{
    position:absolute!important;
    top:48px!important;
    right:-180px!important;
    left:auto!important;
    width:var(--kv-submenu-width,760px)!important;
    max-width:calc(100vw - 32px)!important;
    grid-template-columns:repeat(2,1fr)!important;
    text-align:left!important;
    transform:translateY(8px)!important;
  }
  .site-header .has-menu:hover .mega,
  .site-header .has-menu:focus-within .mega{transform:none!important;}
  .site-header .mega a{align-items:stretch!important;text-align:left!important;}
  .site-header .mega a strong{text-align:var(--kv-submenu-title-align,left)!important;}
  .site-header .mega a small{text-align:var(--kv-submenu-desc-align,left)!important;}
}

/* ===== v33 Rebuilt Services Submenu + Responsive Menu Stability =====
   Purpose: reliable desktop/tablet Services dropdown, while preserving the existing mobile menu look.
   Desktop: click, hover, and keyboard focus all work. Text stays left-aligned with descriptions.
   Tablet/Mobile (<=980px): keeps the full-width stacked mobile menu style the client liked. */
.site-header{isolation:isolate;overflow:visible!important;}
.site-header .nav-shell{position:relative;overflow:visible!important;}
.site-header .main-nav{overflow:visible;}
.site-header .has-menu{position:relative;}
.site-header .has-menu>button{appearance:none;-webkit-appearance:none;}
.site-header .has-menu>button::after{content:"▾";font-size:.72em;margin-left:7px;line-height:1;opacity:.8;transition:transform .18s ease;}
.site-header .has-menu.open>button::after,
.site-header .has-menu.desktop-open>button::after{transform:rotate(180deg);}
.site-header .mega a strong,
.site-header .mega a small{display:block!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;}

@media (min-width:981px){
  .site-header .main-nav{display:flex!important;align-items:center!important;gap:var(--kv-nav-gap,8px)!important;}
  .site-header .has-menu{width:auto!important;text-align:left!important;border:0!important;}
  .site-header .has-menu>button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;text-align:left!important;white-space:nowrap!important;}
  .site-header .mega{
    position:absolute!important;
    top:calc(100% + 10px)!important;
    left:50%!important;
    right:auto!important;
    width:var(--kv-submenu-width,760px)!important;
    max-width:min(var(--kv-submenu-width,760px),calc(100vw - 32px))!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:16px!important;
    margin:0!important;
    border-radius:var(--kv-submenu-radius,22px)!important;
    background:var(--kv-submenu-bg,#0b1020)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 25px 80px rgba(0,0,0,.38)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateX(-50%) translateY(10px)!important;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease!important;
    z-index:99999!important;
    overflow:visible!important;
  }
  .site-header .has-menu:hover>.mega,
  .site-header .has-menu:focus-within>.mega,
  .site-header .has-menu.desktop-open>.mega{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateX(-50%) translateY(0)!important;
  }
  .site-header .mega a{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    min-height:88px!important;
    padding:15px!important;
    border-radius:14px!important;
    color:var(--kv-submenu-text-color,#fff)!important;
    background:var(--kv-submenu-card-bg,rgba(255,255,255,.045))!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }
  .site-header .mega a:hover{background:var(--kv-submenu-card-hover-bg,rgba(25,198,214,.14))!important;}
  .site-header .mega a strong{
    color:var(--kv-submenu-text-color,#fff)!important;
    font-size:var(--kv-submenu-font-desktop,15px)!important;
    line-height:1.25!important;
    font-weight:800!important;
    text-align:left!important;
  }
  .site-header .mega a small{
    color:var(--kv-submenu-desc-color,#aeb7c8)!important;
    font-size:var(--kv-submenu-desc-font-desktop,12px)!important;
    line-height:1.45!important;
    margin-top:5px!important;
    text-align:left!important;
  }
}

@media (min-width:621px) and (max-width:980px){
  .site-header .main-nav{inset:var(--kv-nav-min-height-tablet,78px) 0 auto 0!important;max-height:calc(100vh - var(--kv-nav-min-height-tablet,78px))!important;overflow-y:auto!important;overflow-x:hidden!important;}
}
@media (max-width:980px){
  .site-header .main-nav{position:fixed!important;left:0!important;right:0!important;width:100%!important;background:var(--kv-mobile-menu-bg,#080b12)!important;display:none!important;flex-direction:column!important;align-items:center!important;padding:10px 0!important;z-index:99998!important;}
  .site-header .main-nav.open{display:flex!important;}
  .site-header .main-nav>a,.site-header .has-menu>button{text-align:center!important;width:100%!important;padding:16px 24px!important;font-size:var(--kv-menu-font-tablet,17px)!important;display:flex!important;align-items:center!important;justify-content:center!important;border-bottom:1px solid rgba(255,255,255,.06)!important;white-space:normal!important;}
  .site-header .has-menu{width:100%!important;text-align:center!important;border-bottom:1px solid rgba(255,255,255,.06)!important;}
  .site-header .mega{position:static!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important;max-width:100%!important;display:none!important;grid-template-columns:1fr!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;box-shadow:none!important;margin:0!important;padding:6px 16px 12px!important;background:transparent!important;border:none!important;border-radius:0!important;gap:6px!important;overflow:visible!important;}
  .site-header .has-menu.open>.mega{display:grid!important;}
  .site-header .mega a{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;border-radius:12px!important;padding:12px 16px!important;background:rgba(255,255,255,.04)!important;color:var(--kv-submenu-text-color,#fff)!important;min-height:auto!important;}
  .site-header .mega a strong{font-size:var(--kv-submenu-font-tablet,14px)!important;color:#fff!important;text-align:center!important;line-height:1.25!important;}
  .site-header .mega a small{font-size:var(--kv-submenu-desc-font-tablet,12px)!important;color:var(--kv-submenu-desc-color,#aeb7c8)!important;text-align:center!important;line-height:1.4!important;margin-top:3px!important;}
}
@media (max-width:620px){
  .site-header .main-nav{inset:var(--kv-nav-min-height-mobile,70px) 0 auto 0!important;max-height:calc(100vh - var(--kv-nav-min-height-mobile,70px))!important;}
  .site-header .main-nav>a,.site-header .has-menu>button{font-size:var(--kv-menu-font-mobile,17px)!important;}
  .site-header .mega a strong{font-size:var(--kv-submenu-font-mobile,14px)!important;}
  .site-header .mega a small{font-size:var(--kv-submenu-desc-font-mobile,12px)!important;}
}

/* ===== v34 Desktop Services Mega Menu Rebuild =====
   Final desktop fix: the Services submenu is anchored to the viewport center,
   not to the menu button, so it will not jump to the left or move away when clicked.
   Mobile/tablet menu below 980px is preserved exactly as the stacked menu. */
@media (min-width:981px){
  .site-header,
  .site-header .nav-shell,
  .site-header .main-nav,
  .site-header .has-menu{overflow:visible!important;}
  .site-header .has-menu{position:static!important;width:auto!important;border:0!important;text-align:left!important;}
  .site-header .has-menu>button{position:relative!important;z-index:100001!important;display:inline-flex!important;width:auto!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;text-align:left!important;}
  .site-header .has-menu>.mega{
    position:fixed!important;
    top:calc(var(--kv-nav-min-height-desktop,78px) + 10px)!important;
    left:50vw!important;
    right:auto!important;
    bottom:auto!important;
    width:var(--kv-submenu-width,760px)!important;
    max-width:calc(100vw - 32px)!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:16px!important;
    margin:0!important;
    border-radius:var(--kv-submenu-radius,22px)!important;
    background:var(--kv-submenu-bg,#0b1020)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 25px 80px rgba(0,0,0,.38)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateX(-50%)!important;
    transition:opacity .14s ease, visibility .14s ease!important;
    z-index:100000!important;
    overflow:visible!important;
  }
  .site-header .has-menu:hover>.mega,
  .site-header .has-menu:focus-within>.mega,
  .site-header .has-menu.desktop-open>.mega,
  .site-header .has-menu.open>.mega{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateX(-50%)!important;
  }
  .site-header .has-menu>.mega a{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    min-height:88px!important;
    padding:15px!important;
    border-radius:14px!important;
    color:var(--kv-submenu-text-color,#fff)!important;
    background:var(--kv-submenu-card-bg,rgba(255,255,255,.045))!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }
  .site-header .has-menu>.mega a:hover{background:var(--kv-submenu-card-hover-bg,rgba(25,198,214,.14))!important;}
  .site-header .has-menu>.mega a strong{color:var(--kv-submenu-text-color,#fff)!important;font-size:var(--kv-submenu-font-desktop,15px)!important;line-height:1.25!important;font-weight:800!important;text-align:left!important;}
  .site-header .has-menu>.mega a small{display:block!important;color:var(--kv-submenu-desc-color,#aeb7c8)!important;font-size:var(--kv-submenu-desc-font-desktop,12px)!important;line-height:1.45!important;margin-top:5px!important;text-align:left!important;}
}
@media (max-width:980px){
  .site-header .has-menu{position:relative!important;}
  .site-header .has-menu>.mega{position:static!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;}
}

/* ===== v35 Mobile/Tablet Services submenu scroll fix =====
   Keeps the mobile menu style, but allows the full Services submenu to scroll to the end. */
@media (max-width:980px){
  html.kv-mobile-nav-open,
  body.kv-mobile-nav-open{
    overflow:hidden!important;
  }
  .site-header .main-nav{
    top:var(--kv-nav-min-height-tablet,78px)!important;
    bottom:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding-bottom:110px!important;
  }
  .site-header .main-nav.open{
    display:flex!important;
  }
  .site-header .has-menu{
    flex:0 0 auto!important;
  }
  .site-header .has-menu.open>.mega{
    display:grid!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:18px!important;
  }
  .site-header .mega a:last-child{
    margin-bottom:10px!important;
  }
}
@media (max-width:620px){
  .site-header .main-nav{
    top:var(--kv-nav-min-height-mobile,70px)!important;
    bottom:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    padding-bottom:130px!important;
  }
}


/* ===== v38 Visual Page Editor: Per-page Hero Background Support ===== */
.kv-hero-bg-custom{
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  position:relative;
  overflow:hidden;
}
.kv-hero-bg-custom > .container{position:relative;z-index:1;}
.kv-hero-bg-light,
.kv-hero-bg-light h1,
.kv-hero-bg-light h2{color:#101827 !important;}
.kv-hero-bg-light p{color:#455064 !important;}

/* ===== v39 Desktop submenu hover-area fix =====
   Opens Services only from the actual Services button/link, not from a wide invisible header area. */
@media (min-width:981px){
  .site-header .has-menu:hover>.mega{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .site-header .has-menu:focus-within>.mega,
  .site-header .has-menu.desktop-open>.mega,
  .site-header .has-menu.open>.mega{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}
