.elementor-kit-1729{--e-global-color-primary:#0F172A;--e-global-color-secondary:#3B82F6;--e-global-color-text:#000000;--e-global-color-accent:#8B5CF6;--e-global-color-17c138f:#F3F4F6;--e-global-color-b5010e7:#00FFFF;--e-global-color-c18b7ac:#2C2F33;--e-global-color-e81ccb3:#005F73;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:16px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-text-font-family:"Source Sans Pro";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Nunito";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-font-style:italic;color:var( --e-global-color-text );font-family:"Poppins", Sans-serif;font-size:14px;font-weight:400;}.elementor-kit-1729 e-page-transition{background-color:#FFBC7D;}.elementor-kit-1729 a{color:var( --e-global-color-text );font-family:"Roboto Serif", Sans-serif;font-size:14px;font-weight:400;text-transform:capitalize;}.elementor-kit-1729 a:hover{color:var( --e-global-color-e81ccb3 );font-size:16px;font-weight:700;text-transform:capitalize;text-decoration:underline;}.elementor-kit-1729 h1{color:var( --e-global-color-primary );font-size:50px;}.elementor-kit-1729 h2{color:var( --e-global-color-primary );font-size:40px;font-weight:700;}.elementor-kit-1729 h3{color:var( --e-global-color-primary );font-size:30px;font-weight:700;}.elementor-kit-1729 h4{color:var( --e-global-color-primary );font-size:30px;font-weight:700;}.elementor-kit-1729 h5{color:var( --e-global-color-primary );font-size:20px;font-weight:700;}.elementor-kit-1729 h6{color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===================================
   JPS HOSTING OFFICIAL BRAND CSS
   Based on Brand Standards Guide v2.0
   Add to: Elementor → Site Settings → Custom CSS
   =================================== */

/* === BRAND COLOR VARIABLES === */
:root {
  --jps-midnight-black: #0F172A;
  --jps-neon-blue: #3B82F6;
  --jps-cyber-purple: #8B5CF6;
  --jps-glacier-white: #F3F4F6;
  --jps-silver-gray: #D1D5DB;
  --jps-success-green: #10B981;
  --jps-alert-orange: #F59E0B;
  --jps-text-dark: #1F2937;
  --jps-text-light: #FFFFFF;
  --jps-shadow: rgba(15, 23, 42, 0.1);
  --jps-shadow-hover: rgba(15, 23, 42, 0.15);
}

/* === BRAND TYPOGRAPHY === */
/* Montserrat for Headings */
h1, h2, h3, h4, h5, h6,
.jps-heading {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: var(--jps-midnight-black);
  line-height: 1.2;
}

/* Poppins for Body Text */
body, p, 
.jps-text {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: var(--jps-text-dark);
}

/* === HEADING SIZES (Per Brand Guide) === */
h1, .jps-h1 {
  font-size: 48px;
  line-height: 1.2;
}

h2, .jps-h2 {
  font-size: 36px;
  line-height: 1.2;
}

h3, .jps-h3 {
  font-size: 28px;
  line-height: 1.3;
}

h4, h5, h6, .jps-h4 {
  font-size: 20px;
  line-height: 1.3;
}

/* Mobile Responsive Typography */
@media (max-width: 768px) {
  h1, .jps-h1 { font-size: 32px; }
  h2, .jps-h2 { font-size: 28px; }
  h3, .jps-h3 { font-size: 24px; }
  h4, h5, h6, .jps-h4 { font-size: 18px; }
}

/* === BRAND BUTTONS === */
.jps-btn,
.elementor-button.jps-btn {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 16px;
  padding: 16px 32px;
  border-radius: 6px;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
  cursor: pointer;
  text-align: center;
  border: none;
  line-height: 1.2;
}

/* Primary Button - Neon Blue */
.jps-btn-primary {
  background-color: var(--jps-neon-blue);
  color: var(--jps-text-light);
}

.jps-btn-primary:hover {
  background-color: #2563EB;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}

/* Secondary Button - Cyber Purple */
.jps-btn-secondary {
  background-color: var(--jps-cyber-purple);
  color: var(--jps-text-light);
}

.jps-btn-secondary:hover {
  background-color: #7C3AED;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

/* Outline Button */
.jps-btn-outline {
  background-color: transparent;
  color: var(--jps-neon-blue);
  border: 2px solid var(--jps-neon-blue);
}

.jps-btn-outline:hover {
  background-color: var(--jps-neon-blue);
  color: var(--jps-text-light);
}

/* White Button (for dark backgrounds) */
.jps-btn-white {
  background-color: var(--jps-text-light);
  color: var(--jps-midnight-black);
}

.jps-btn-white:hover {
  background-color: var(--jps-glacier-white);
  transform: translateY(-2px);
}

/* === BACKGROUND UTILITIES === */
.jps-bg-midnight {
  background-color: var(--jps-midnight-black);
  color: var(--jps-text-light);
}

.jps-bg-midnight * {
  color: var(--jps-text-light);
}

.jps-bg-glacier {
  background-color: var(--jps-glacier-white);
  color: var(--jps-midnight-black);
}

.jps-bg-white {
  background-color: var(--jps-text-light);
  color: var(--jps-midnight-black);
}

.jps-bg-gradient-dark {
  background: linear-gradient(135deg, var(--jps-midnight-black) 0%, #1E293B 100%);
  color: var(--jps-text-light);
}

.jps-bg-gradient-blue {
  background: linear-gradient(135deg, var(--jps-neon-blue) 0%, var(--jps-cyber-purple) 100%);
  color: var(--jps-text-light);
}

/* === SECTION SPACING (Per Brand Guide) === */
.jps-section {
  padding: 80px 20px;
}

.jps-section-sm {
  padding: 40px 20px;
}

@media (max-width: 768px) {
  .jps-section {
    padding: 40px 20px;
  }
  
  .jps-section-sm {
    padding: 30px 20px;
  }
}

/* === CARD STYLES === */
.jps-card {
  background-color: var(--jps-text-light);
  padding: 24px;
  border-radius: 8px;
  box-shadow: 0 4px 6px var(--jps-shadow);
  transition: all 0.3s ease;
}

.jps-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 16px var(--jps-shadow-hover);
}

/* === GRID LAYOUTS === */
.jps-grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

.jps-grid-2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 40px;
}

@media (max-width: 768px) {
  .jps-grid-3,
  .jps-grid-2 {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* === CONTAINER WIDTHS === */
.jps-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* === LIST STYLES === */
.jps-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
}

.jps-checklist li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
  font-family: 'Poppins', sans-serif;
  color: var(--jps-text-dark);
}

.jps-checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--jps-success-green);
  font-weight: bold;
  font-size: 18px;
}

/* === ICON STYLES === */
.jps-icon {
  display: inline-block;
  font-size: 48px;
  margin-bottom: 20px;
  color: var(--jps-neon-blue);
}

.jps-icon-purple {
  color: var(--jps-cyber-purple);
}

.jps-icon-green {
  color: var(--jps-success-green);
}

/* === TEXT UTILITIES === */
.jps-text-midnight {
  color: var(--jps-midnight-black);
}

.jps-text-blue {
  color: var(--jps-neon-blue);
}

.jps-text-purple {
  color: var(--jps-cyber-purple);
}

.jps-text-gray {
  color: var(--jps-silver-gray);
}

/* === PRICING STYLES === */
.jps-price {
  font-family: 'Montserrat', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: var(--jps-neon-blue);
  margin: 15px 0;
}

/* === FORM STYLES === */
.jps-form input,
.jps-form textarea,
.jps-form select {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  padding: 12px 16px;
  border: 1px solid var(--jps-silver-gray);
  border-radius: 6px;
  width: 100%;
  transition: border-color 0.3s ease;
}

.jps-form input:focus,
.jps-form textarea:focus,
.jps-form select:focus {
  outline: none;
  border-color: var(--jps-neon-blue);
}

/* === SPECIAL EFFECTS === */
.jps-shadow-sm {
  box-shadow: 0 2px 4px var(--jps-shadow);
}

.jps-shadow-lg {
  box-shadow: 0 10px 25px var(--jps-shadow-hover);
}

.jps-rounded {
  border-radius: 8px;
}

.jps-rounded-sm {
  border-radius: 6px;
}

/* === HOVER UTILITIES === */
.jps-hover-lift {
  transition: transform 0.3s ease;
}

.jps-hover-lift:hover {
  transform: translateY(-4px);
}

/* === GRADIENT TEXT === */
.jps-text-gradient {
  background: linear-gradient(135deg, var(--jps-neon-blue) 0%, var(--jps-cyber-purple) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

/* === DIVIDERS === */
.jps-divider {
  height: 2px;
  background: var(--jps-silver-gray);
  border: none;
  margin: 40px 0;
}

.jps-divider-gradient {
  height: 3px;
  background: linear-gradient(90deg, var(--jps-neon-blue) 0%, var(--jps-cyber-purple) 100%);
}

/* === RESPONSIVE UTILITIES === */
@media (max-width: 768px) {
  .jps-hide-mobile {
    display: none;
  }
}

@media (min-width: 769px) {
  .jps-hide-desktop {
    display: none;
  }
}

/* === ANIMATION UTILITIES === */
.jps-fade-in {
  animation: fadeIn 0.6s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* End custom CSS */