:root{
  --djm-navy:#10284a;
  --djm-navy-2:#0b1f3a;
  --djm-blue:#1875f0;
  --djm-blue-soft:#eaf4ff;
  --djm-cyan:#5bb8ff;
  --djm-soft:#f6faff;
  --djm-soft-2:#eef7ff;
  --djm-line:#dce9f6;
  --djm-text:#5f7390;
  --djm-muted:#7f93aa;
  --djm-orange:#ff7b2c;
  --djm-orange-2:#ff9855;
  --djm-white:#fff;
}

body.elementor-page{background:#fff;color:var(--djm-navy);overflow-x:hidden}
.djm-section{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;position:relative}
.djm-section>.elementor-container{max-width:1240px;margin:auto}
.djm-section h1,.djm-section h2,.djm-section h3,.djm-section h4{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--djm-navy);line-height:1.1;margin-top:0}
.djm-section p{color:var(--djm-text);line-height:1.72}
.djm-center{text-align:center}
.djm-wide-copy{max-width:760px;margin-left:auto!important;margin-right:auto!important}
.djm-section-subtitle{max-width:760px;margin:7px auto 0!important}
.djm-kicker{font-size:12px;letter-spacing:.13em;font-weight:800;color:#6685a7;margin-bottom:13px;text-transform:uppercase}
.djm-kicker-light{color:#d2e5ff}

/* Header */
.djm-header{padding:17px 28px;background:rgba(255,255,255,.98);border-bottom:1px solid #edf2f7;position:relative;z-index:30;box-shadow:0 3px 18px rgba(30,78,126,.025)}
.djm-header>.elementor-container{align-items:center}
.djm-logo .elementor-heading-title{font-weight:850;font-size:25px;letter-spacing:-.04em}
.djm-logo .elementor-heading-title:before{content:"▥";display:inline-block;margin-right:9px;color:var(--djm-blue);font-size:24px;transform:translateY(1px)}
.djm-logo .elementor-heading-title span{color:var(--djm-blue)}
.djm-logo-light .elementor-heading-title{color:#fff}
.djm-nav{text-align:center;white-space:nowrap}
.djm-nav a{display:inline-block;position:relative;margin:0 15px;padding:10px 0;color:var(--djm-navy);text-decoration:none;font-size:13px;font-weight:600;transition:.2s ease}
.djm-nav a:hover,.djm-nav a.is-active{color:var(--djm-blue)}
.djm-nav a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;border-radius:999px;background:var(--djm-blue)}
.djm-header .elementor-column:nth-child(3){text-align:right}
.djm-head-cta .elementor-button,.djm-primary .elementor-button{background:linear-gradient(135deg,var(--djm-orange),var(--djm-orange-2));color:#fff;border-radius:10px;padding:15px 23px;font-weight:750;box-shadow:0 11px 28px rgba(255,123,44,.18);border:0;transition:transform .2s ease,box-shadow .2s ease}
.djm-head-cta .elementor-button:hover,.djm-primary .elementor-button:hover{transform:translateY(-1px);box-shadow:0 13px 30px rgba(255,123,44,.24)}

/* Hero */
.djm-hero{padding:74px 28px 68px;background:linear-gradient(110deg,#fff 0%,#f8fbff 50%,#eaf5ff 100%);overflow:hidden}
.djm-hero:before{content:"";position:absolute;width:590px;height:590px;border-radius:50%;right:8%;top:-280px;background:rgba(199,227,255,.27)}
.djm-hero:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;left:-170px;bottom:-220px;border:45px solid rgba(224,240,255,.55)}
.djm-hero>.elementor-container{align-items:center;gap:48px;position:relative;z-index:2}
.djm-hero-copy{z-index:3}
.djm-hero-title .elementor-heading-title{font-size:54px;font-weight:850;letter-spacing:-.045em;line-height:1.08}
.djm-hero-title .elementor-heading-title span{color:var(--djm-blue)}
.djm-lead p{font-size:16px;max-width:590px;margin-top:18px}
.djm-button-row{margin-top:23px}
.djm-button-row>.elementor-container{gap:10px;align-items:center}
.djm-secondary .elementor-button{background:transparent;color:#385b7e;border:0;border-radius:10px;padding:14px 9px;font-weight:650;box-shadow:none}
.djm-play-button .elementor-button{white-space:nowrap}
.djm-mini-points{display:flex;gap:25px;flex-wrap:wrap;margin-top:22px;font-size:12.5px;color:#5e7895;font-weight:600}
.djm-mini-points span{display:inline-flex;align-items:center;gap:7px}
.djm-mini-points span::first-letter{color:var(--djm-blue)}
.djm-hero-visual{position:relative;z-index:2}
.djm-hero-image{position:relative;z-index:3}
.djm-hero-image img{width:100%;border-radius:30px;box-shadow:0 24px 62px rgba(32,83,134,.12);border:1px solid rgba(255,255,255,.8)}
.djm-hero-visual:before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;left:16%;top:-7%;background:rgba(170,215,255,.23);z-index:0}
.djm-hero-caption{position:absolute;right:4px;bottom:-12px;z-index:5;font-family:"Segoe Print","Comic Sans MS",cursive;color:#2a5c94;font-size:13px;line-height:1.35;transform:rotate(-4deg);text-align:right}

/* Section headings */
.djm-services,.djm-benefits,.djm-process{padding:72px 28px}
.djm-services{background:#fff}
.djm-services h2 .elementor-heading-title,.djm-benefits h2 .elementor-heading-title,.djm-process h2 .elementor-heading-title{font-size:35px;font-weight:850;letter-spacing:-.035em}

/* Service cards */
.djm-card-grid>.elementor-container,.djm-feature-grid>.elementor-container,.djm-process-grid>.elementor-container{gap:16px;margin-top:32px}
.djm-card{position:relative;background:#fff;border:1px solid var(--djm-line);border-radius:16px;padding:25px 22px;box-shadow:0 12px 32px rgba(29,81,133,.045);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.djm-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(29,81,133,.085);border-color:#cfe2f5}
.djm-service-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:0 0 0 100%;right:-30px;top:-32px;background:#eff7ff;z-index:0}
.djm-service-2:after{background:#eefaf6}.djm-service-3:after{background:#f3f0ff}.djm-service-4:after{background:#fff4e9}
.djm-card>.elementor-widget{position:relative;z-index:1}
.djm-card h3 .elementor-heading-title{font-size:19px;font-weight:800;letter-spacing:-.02em}
.djm-card p{font-size:13.5px;min-height:70px}
.djm-card-icon .elementor-icon{font-size:23px;color:#fff;background:linear-gradient(135deg,#2b84ff,#68b2ff);padding:14px;border-radius:11px;box-shadow:0 9px 19px rgba(34,126,244,.19)}
.djm-service-2 .djm-card-icon .elementor-icon{background:linear-gradient(135deg,#1fba91,#64d1ae)}
.djm-service-3 .djm-card-icon .elementor-icon{background:linear-gradient(135deg,#735bf1,#a58ff8)}
.djm-service-4 .djm-card-icon .elementor-icon{background:linear-gradient(135deg,#ff7724,#ffa75e)}
.djm-link-button .elementor-button{background:transparent;color:var(--djm-blue);padding:0;font-size:13px;font-weight:750;box-shadow:none}
.djm-service-large{min-height:250px;margin-bottom:18px}

/* Benefits */
.djm-benefits{background:linear-gradient(105deg,#f7fbff 0%,#eef7ff 55%,#f8fbff 100%);overflow:hidden}
.djm-benefits:before{content:"";position:absolute;width:520px;height:520px;border:55px solid rgba(218,237,255,.46);border-radius:50%;left:-350px;top:-260px}
.djm-feature{padding:13px 25px 7px;border-right:1px solid #d8e7f5;position:relative}
.djm-feature:last-child{border-right:0}
.djm-feature-icon .elementor-icon{font-size:27px;color:var(--djm-blue)}
.djm-feature h3 .elementor-heading-title{font-size:18px;font-weight:800;margin-top:6px}
.djm-feature p{font-size:13.3px;margin-bottom:0}

/* Process */
.djm-process{background:#fff}
.djm-process-grid{position:relative}
.djm-step{position:relative;padding:8px 22px 4px}
.djm-step:not(:last-child):after{content:"→";position:absolute;right:-7px;top:28px;color:#72aaf1;font-size:25px;font-weight:300}
.djm-step-head{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.djm-step-no,.djm-step-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:50%;font-weight:800}
.djm-step-no{background:linear-gradient(135deg,#287df0,#66aaf8);color:#fff;box-shadow:0 0 0 9px #edf6ff;font-size:15px}
.djm-step-icon{background:#edf6ff;color:var(--djm-blue);font-size:16px}
.djm-step:nth-child(4) .djm-step-no{background:linear-gradient(135deg,#ff7929,#ffa05a);box-shadow:0 0 0 9px #fff1e8}
.djm-step:nth-child(4) .djm-step-icon{background:#fff1e8;color:var(--djm-orange)}
.djm-step h3 .elementor-heading-title{font-size:18px;font-weight:800}
.djm-step p{font-size:13.3px;margin-bottom:0}

/* CTA */
.djm-final-cta{padding:41px 28px;background:linear-gradient(100deg,#0e3d77 0%,#1260ad 58%,#2e79c4 100%);overflow:hidden}
.djm-final-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,45,89,.2),rgba(10,45,89,0)),url('cta-mountain.jpg') right center/auto 100% no-repeat;opacity:.62;pointer-events:none}
.djm-final-cta>.elementor-container{align-items:center;position:relative;z-index:2}
.djm-final-cta h2 .elementor-heading-title,.djm-final-cta p{color:#fff}
.djm-final-cta h2 .elementor-heading-title{font-size:31px;font-weight:830;letter-spacing:-.03em}
.djm-final-cta p{font-size:13.5px;max-width:610px;margin-bottom:0;color:#dbeaff}
.djm-final-cta .elementor-column:nth-child(2){text-align:right}
.djm-primary-light .elementor-button{background:linear-gradient(135deg,var(--djm-orange),#ff9750)}
.djm-cta-note{font-size:11.5px!important;margin-top:8px!important;margin-right:14px!important;color:#dbeaff!important}

/* Footer */
.djm-footer{padding:28px 28px;background:linear-gradient(100deg,#071a2f,#0b213b)}
.djm-footer>.elementor-container{align-items:center}
.djm-footer p,.djm-footer a{color:#b9c9da;font-size:12px}
.djm-footer-nav{text-align:center}.djm-footer-nav a{margin:0 8px;text-decoration:none}.djm-footer-nav a:hover{color:#fff}
.djm-footer .elementor-column:nth-child(3){text-align:right}

/* Internal demo pages */
.djm-page-hero{padding:76px 28px;background:linear-gradient(135deg,#fff,#f2f8ff);overflow:hidden}
.djm-page-title .elementor-heading-title{font-size:48px;font-weight:850;letter-spacing:-.04em}
.djm-rounded-image img{border-radius:24px;box-shadow:0 22px 55px rgba(31,78,123,.11)}
.djm-portfolio-image img{border-radius:12px}.djm-portfolio-card{padding:17px}
.djm-blog-tag{display:inline-block;padding:6px 9px;border-radius:999px;background:#eef6ff;color:var(--djm-blue);font-size:10px;font-weight:800;letter-spacing:.08em;margin-bottom:12px}
.djm-blog-card p{min-height:88px}

@media(max-width:1024px){
  .djm-nav a{margin:0 8px}
  .djm-hero-title .elementor-heading-title{font-size:45px}
  .djm-page-title .elementor-heading-title{font-size:41px}
  .djm-card-grid>.elementor-container,.djm-feature-grid>.elementor-container,.djm-process-grid>.elementor-container{flex-wrap:wrap}
  .djm-card-grid .elementor-column,.djm-feature-grid .elementor-column,.djm-process-grid .elementor-column{width:calc(50% - 9px)!important}
  .djm-feature{border-right:0;border-bottom:1px solid #d8e7f5}
  .djm-step:not(:last-child):after{display:none}
}

@media(max-width:767px){
  .djm-header{padding:13px 18px}
  .djm-header .elementor-column{width:100%!important;text-align:center!important}
  .djm-header .elementor-column:nth-child(2),.djm-header .elementor-column:nth-child(3){display:none}
  .djm-hero{padding:50px 20px 45px}
  .djm-services,.djm-benefits,.djm-process,.djm-page-hero{padding:54px 20px}
  .djm-hero>.elementor-container{gap:25px}
  .djm-hero .elementor-column,.djm-page-hero .elementor-column,.djm-final-cta .elementor-column,.djm-footer .elementor-column{width:100%!important}
  .djm-hero-title .elementor-heading-title{font-size:37px;line-height:1.09}
  .djm-page-title .elementor-heading-title{font-size:35px}
  .djm-services h2 .elementor-heading-title,.djm-benefits h2 .elementor-heading-title,.djm-process h2 .elementor-heading-title,.djm-final-cta h2 .elementor-heading-title{font-size:29px}
  .djm-card-grid .elementor-column,.djm-feature-grid .elementor-column,.djm-process-grid .elementor-column{width:100%!important}
  .djm-card p{min-height:auto}
  .djm-mini-points{gap:11px;font-size:12px}
  .djm-button-row .elementor-column{width:100%!important}
  .djm-button-row .elementor-button{width:100%;justify-content:center}
  .djm-hero-caption{display:none}
  .djm-final-cta{padding:42px 20px}
  .djm-final-cta .elementor-column:nth-child(2),.djm-footer .elementor-column:nth-child(3){text-align:left;margin-top:18px}
  .djm-cta-note{margin-left:0!important}
  .djm-footer-nav{text-align:left;margin:12px 0}.djm-footer-nav a{display:block;margin:7px 0}
}
.djm-logo-tagline{font-size:9.5px;color:#71869d;margin-top:-5px;margin-left:34px;letter-spacing:.01em}
@media(max-width:767px){.djm-logo-tagline{margin-left:0}}
