:root{
  --ns-green:#063f2c;
  --ns-green-2:#0a5a3d;
  --ns-dark:#042719;
  --ns-red:#c91818;
  --ns-accent:#f3a51b;
  --ns-title:#063f2c;
  --ns-text:#3d5148;
  --ns-muted:#6a7a72;
  --ns-light:#f6faf7;
  --ns-border:#dbe8df;
  --ns-section-bg:#ffffff;
}
.north-star-widget, .north-star-widget *{box-sizing:border-box}
.north-star-widget{font-family:'Poppins','Inter',Arial,sans-serif;color:var(--ns-text);line-height:1.45}
.north-star-widget a{text-decoration:none;color:inherit}
.ns-container{width:min(1140px,calc(100% - 40px));margin-inline:auto}
.ns-narrow{width:min(920px,calc(100% - 40px))}
.ns-section{position:relative;padding:72px 0;background:var(--ns-section-bg);overflow:hidden}
.ns-pattern:before,.ns-pattern:after{content:"";position:absolute;width:122px;height:122px;opacity:.28;background-image:radial-gradient(rgba(6,63,44,.32) 1.2px, transparent 1.2px);background-size:9px 9px;pointer-events:none}
.ns-pattern:before{left:16px;top:30px}.ns-pattern:after{right:18px;bottom:40px}
.ns-section-head{position:relative;z-index:1;margin-bottom:34px;max-width:720px}.ns-head-center{text-align:center;margin-inline:auto}
.ns-kicker,.ns-hero-label{display:inline-flex;align-items:center;gap:10px;color:var(--ns-accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.ns-kicker span,.ns-hero-label span{width:34px;height:2px;background:var(--ns-accent);display:inline-block}
.ns-section-head h2{margin:0;color:var(--ns-title);font-size:clamp(28px,3.6vw,44px);line-height:1.08;font-weight:900;letter-spacing:-.04em}
.ns-section-head p{margin:12px auto 0;color:#566a61;font-size:15px;max-width:660px}
.ns-grid{position:relative;z-index:1;display:grid;gap:20px}.ns-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.ns-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ns-card{background:#fff;border:1px solid var(--ns-border);border-radius:18px;padding:24px 18px;text-align:center;box-shadow:0 14px 35px rgba(6,63,44,.08);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.ns-card:hover{transform:translateY(-7px);box-shadow:0 22px 50px rgba(6,63,44,.13);border-color:rgba(6,63,44,.22)}
.ns-card h3{margin:12px 0 8px;color:var(--ns-title);font-size:18px;line-height:1.15;font-weight:900;letter-spacing:-.02em}.ns-card p{margin:0;color:#63766d;font-size:13px;line-height:1.55}
.ns-card-icon{width:70px;height:70px;margin:0 auto 10px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:#edf6f0;color:var(--ns-green);font-size:31px}.ns-card-icon img{max-width:56px;max-height:56px;object-fit:contain}.ns-card-icon svg{width:31px;height:31px;fill:currentColor}
.ns-illustration{height:120px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center}.ns-illustration img{max-width:138px;max-height:124px;object-fit:contain}.ns-illustration svg{width:70px;height:70px;fill:var(--ns-green)}
.ns-mini-link{margin:16px auto 0;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;padding:7px 13px;border-radius:999px;background:#eef8f1;color:var(--ns-green);font-size:11px;font-weight:800}.ns-mini-link span{color:var(--ns-green)}
.ns-divider{margin:34px auto 0;display:flex;align-items:center;justify-content:center;gap:16px;color:var(--ns-accent)}.ns-divider:before,.ns-divider:after{content:"";height:1px;width:min(230px,33vw);background:linear-gradient(90deg,transparent,#9bb3a7,transparent)}.ns-divider span{width:27px;height:27px;border:1px solid var(--ns-accent);border-radius:50%;display:grid;place-items:center;background:#fff;font-size:12px}
.ns-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;min-height:44px;padding:13px 19px;font-size:13px;font-weight:900;line-height:1;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;border:1px solid transparent;white-space:nowrap}.ns-btn:hover{transform:translateY(-2px)}.ns-btn-red{background:var(--ns-red);color:#fff!important;box-shadow:0 12px 24px rgba(201,24,24,.25)}.ns-btn-green{background:var(--ns-green-2);color:#fff!important;box-shadow:0 12px 24px rgba(6,63,44,.22)}.ns-btn-dark{background:var(--ns-dark);color:#fff!important}.ns-btn-outline{background:#fff;color:var(--ns-green)!important;border-color:rgba(6,63,44,.22)}.ns-btn-small{min-height:36px;padding:10px 13px;font-size:12px;border-radius:7px}
/* Header */
.ns-header{position:relative;background:#fff;border-bottom:1px solid #edf2ee;z-index:50}.ns-header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:22px}.ns-logo{display:flex;align-items:center;gap:10px;color:var(--ns-green);min-width:215px}.ns-logo img{max-width:206px;max-height:54px;display:block}.ns-mark{width:42px;height:42px;border-radius:12px;background:#e8f4ed;color:var(--ns-accent);display:grid;place-items:center}.ns-logo strong{display:block;font-size:22px;line-height:.9;font-weight:900}.ns-logo small{display:block;color:var(--ns-red);font-weight:800;font-size:11px;text-transform:uppercase}.ns-nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:center}.ns-nav-link{font-size:13px;color:#33443b;font-weight:700;position:relative;padding:8px 0}.ns-nav-link:after{content:"";position:absolute;height:2px;left:0;bottom:0;width:0;background:var(--ns-red);transition:.25s}.ns-nav-link:hover,.ns-nav-link.active{color:var(--ns-red)}.ns-nav-link:hover:after,.ns-nav-link.active:after{width:100%}.ns-header-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}
/* Hero */
.ns-hero-wrap{background:#fff}.ns-hero{position:relative;background-color:var(--ns-hero-bg-color,var(--ns-green));background-image:var(--ns-hero-bg-image,none);background-position:var(--ns-hero-bg-position,center center);background-size:var(--ns-hero-bg-size,cover);background-repeat:var(--ns-hero-bg-repeat,no-repeat);background-attachment:var(--ns-hero-bg-attachment,scroll);overflow:hidden}.ns-hero:before{content:"";position:absolute;inset:0;background:var(--ns-hero-overlay,linear-gradient(90deg,rgba(2,29,20,.96) 0%,rgba(6,63,44,.95) 44%,rgba(6,63,44,.5) 100%));z-index:0}.ns-hero:after{content:"";display:var(--ns-hero-shape-display,block);position:absolute;right:-78px;top:-70px;width:470px;height:470px;border-radius:50%;background:var(--ns-hero-shape-color,#fff);z-index:0}.ns-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .92fr;min-height:520px;align-items:center;gap:30px}.ns-hero-content{padding:78px 0 64px;max-width:560px;color:#fff}.ns-hero-title{font-size:clamp(34px,5.4vw,62px);line-height:.98;margin:0 0 16px;font-weight:900;letter-spacing:-.06em;color:#fff}.ns-hero-content p{font-size:15px;line-height:1.75;color:rgba(255,255,255,.88);margin:0 0 25px;max-width:520px}.ns-hero-buttons,.ns-final-buttons{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ns-hero-chips{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.ns-hero-chips span{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:12px;font-weight:800}.ns-hero-chips svg{width:15px;height:15px;fill:#fff}.ns-hero-visual{position:relative;align-self:end;min-height:468px;display:flex;align-items:flex-end;justify-content:center;z-index:2}.ns-hero-visual img{max-width:100%;max-height:508px;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 24px 32px rgba(0,0,0,.2))}.ns-floating-stat{position:absolute;left:30px;bottom:75px;z-index:3;background:#fff;border-radius:14px;box-shadow:0 22px 45px rgba(0,0,0,.22);padding:16px 18px 16px 68px;min-width:190px;color:var(--ns-green)}.ns-floating-stat span{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:10px;background:var(--ns-green);color:#fff;display:grid;place-items:center}.ns-floating-stat strong{display:block;font-size:29px;line-height:1;font-weight:900}.ns-floating-stat small{display:block;font-size:11px;font-weight:800;color:#586b61;margin-top:3px}.ns-hero-trust{position:relative;z-index:4;margin-top:-1px;background:#fff;display:grid;grid-template-columns:repeat(4,1fr);border-radius:0 0 22px 22px;box-shadow:0 16px 34px rgba(6,63,44,.08);border:1px solid #e5eee8;border-top:0;padding:20px 25px;gap:16px}.ns-hero-trust-item{display:flex;gap:12px;align-items:center}.ns-round-icon{flex:0 0 45px;height:45px;display:grid;place-items:center;border-radius:50%;background:#eaf5ee;color:var(--ns-green);font-size:18px}.ns-round-icon svg{width:18px;height:18px;fill:currentColor}.ns-hero-trust-item strong{display:block;color:var(--ns-title);font-size:14px;font-weight:900}.ns-hero-trust-item small{font-size:11px;color:#61756a;font-weight:600}
/* Cards */
.ns-trust-card{min-height:220px}.ns-role-card,.ns-step-card,.ns-payment-card{padding:24px}.ns-role-card h3,.ns-step-card h3,.ns-payment-card h3{font-size:22px}.ns-steps-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.ns-step-wrap{position:relative}.ns-step-wrap:not(:last-child):after{content:"→";position:absolute;right:-34px;top:50%;transform:translateY(-50%);font-size:27px;color:#91a89b;font-weight:900}.ns-step-card{position:relative}.ns-step-badge{position:absolute;left:50%;top:-13px;transform:translateX(-50%);background:#f5fbf7;border:1px solid #cfe1d5;color:var(--ns-green);font-size:10px;font-weight:900;letter-spacing:.08em;border-radius:99px;padding:6px 15px}.ns-training-card{min-height:232px}.ns-training-card .ns-card-icon{width:78px;height:78px;border-radius:50%}.ns-success-card{text-align:left;padding:18px}.ns-student-top{display:flex;align-items:flex-start;gap:13px}.ns-student-top img{width:82px;height:100px;border-radius:15px;object-fit:cover;background:#eaf4ef}.ns-student-top h3{font-size:20px;margin:0;color:var(--ns-title)}.ns-student-top span{display:block;color:#52665c;font-size:12px;font-weight:800;margin-bottom:8px}.ns-student-top strong{display:inline-flex;background:var(--ns-green);color:#fff;border-radius:999px;padding:7px 11px;font-size:12px}.ns-success-card blockquote{margin:16px 0 0;color:#52665c;font-size:13px;line-height:1.55}.ns-certificate{height:74px;margin-top:15px;border-radius:10px;background:linear-gradient(135deg,#f8faf8,#e9efe9);border:1px solid #e0e9e2;position:relative}.ns-certificate:before{content:"CERTIFICATE";position:absolute;left:14px;top:15px;color:#c7d3ca;font-weight:900;font-size:12px;letter-spacing:.12em}.ns-payment-card .ns-illustration{height:110px}
/* Final CTA */
.ns-final-cta .ns-section-head{margin-bottom:25px}.ns-final-box{background:#fff;border:1px solid var(--ns-border);box-shadow:0 18px 50px rgba(6,63,44,.12);border-radius:20px;padding:25px;text-align:center}.ns-final-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.ns-final-features span{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ns-green);font-size:13px;font-weight:900}.ns-final-features svg{width:20px;height:20px;fill:var(--ns-green)}.ns-final-buttons{justify-content:center}.ns-note{margin:15px 0 0;font-size:12px;color:#6b7d73;font-weight:700}
/* Testimonials */
.ns-testimonials{background:#fff;padding-top:68px}.ns-testimonial-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center}.ns-testimonials .ns-section-head{margin-bottom:18px}.ns-rating{display:inline-flex;align-items:center;gap:13px;background:#fff7e8;border:1px solid #f3d596;border-radius:13px;padding:11px 15px}.ns-rating strong{color:var(--ns-accent);font-size:19px}.ns-rating span{font-size:12px;color:#687a70;font-weight:800}.ns-feature-review{background:var(--ns-green);color:#fff;border-radius:18px;padding:30px 170px 30px 30px;min-height:190px;position:relative;overflow:hidden;box-shadow:0 18px 44px rgba(6,63,44,.2)}.ns-feature-review p{margin:0 0 16px;color:rgba(255,255,255,.92);font-size:14px;line-height:1.7}.ns-feature-review strong{display:block;color:#f7cb62;font-weight:900}.ns-feature-review span{font-size:12px;color:rgba(255,255,255,.75)}.ns-feature-review img{position:absolute;right:25px;bottom:0;max-height:190px;max-width:155px;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.26))}.ns-feature-review em{position:absolute;right:23px;bottom:18px;width:54px;height:54px;border-radius:50%;background:#fff;color:var(--ns-green);display:grid;place-items:center;font-size:19px;font-style:normal;font-weight:900;border:5px solid #e6f3eb}.ns-feature-review em small{font-size:10px}.ns-review-grid{margin-top:22px}.ns-review-card{text-align:left;min-height:170px}.ns-review-card p{font-size:13px;color:#52665c;min-height:62px}.ns-reviewer{display:flex;align-items:center;gap:10px;margin-top:15px}.ns-reviewer img{width:50px;height:50px;border-radius:50%;object-fit:cover;background:#eff5f1}.ns-reviewer strong{display:block;color:var(--ns-title);font-size:13px;font-weight:900}.ns-reviewer span{font-size:11px;color:#718177;font-weight:700}.ns-reviewer em{margin-left:auto;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#fff;border:4px solid #e5f1eb;color:var(--ns-green);font-style:normal;font-weight:900}.ns-bottom-banner{margin-top:22px;background:var(--ns-green);color:#fff;border-radius:14px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.ns-bottom-banner strong{font-size:22px;color:#f8c55d}.ns-bottom-banner span{font-size:13px;color:rgba(255,255,255,.88);font-weight:700}
/* Footer */
.ns-footer{position:relative;background:#003521;color:#dcebe2;padding:72px 0 24px;overflow:hidden}.ns-footer-curve{position:absolute;left:50%;top:-64px;transform:translateX(-50%);width:120%;height:110px;background:#fff;border-radius:0 0 50% 50%}.ns-footer-grid{display:grid;grid-template-columns:1.35fr .75fr .75fr .95fr 1fr;gap:32px;position:relative;z-index:1}.ns-footer-brand img{max-width:210px;background:#fff;border-radius:8px;padding:6px;margin-bottom:15px}.ns-footer-brand p{font-size:13px;line-height:1.75;color:#b8ccc2;margin:0 0 18px}.ns-socials{display:flex;gap:8px}.ns-socials span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff;font-size:11px;font-weight:800}.ns-footer-col h3{color:#f7b82c;font-size:16px;margin:0 0 15px;font-weight:900}.ns-footer-col ul{list-style:none;margin:0;padding:0}.ns-footer-col li{margin:0 0 10px;font-size:13px;color:#c8dbd2}.ns-footer-col a{color:#c8dbd2}.ns-footer-col a:hover{color:#fff}.ns-contact li{display:flex;gap:9px;align-items:flex-start}.ns-contact svg{width:13px;height:13px;fill:#f7b82c}.ns-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;color:#a6bab0;font-size:12px;position:relative;z-index:1}
/* Animations */
.ns-animate{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.85,.2,1)}.ns-animate.is-visible{opacity:1;transform:translateY(0)}
.elementor-editor-active .ns-animate{opacity:1;transform:none}
@media (max-width:1024px){.ns-container{width:min(930px,calc(100% - 32px))}.ns-header-inner{flex-wrap:wrap;padding:13px 0}.ns-nav{order:3;width:100%;gap:17px}.ns-header-actions{margin-left:auto}.ns-hero-grid{grid-template-columns:1fr;min-height:auto}.ns-hero-content{padding:58px 0 18px}.ns-hero-visual{min-height:360px}.ns-hero:after{right:-160px}.ns-hero-trust{grid-template-columns:repeat(2,1fr)}.ns-grid-5{grid-template-columns:repeat(3,1fr)}.ns-footer-grid{grid-template-columns:repeat(2,1fr)}.ns-testimonial-top{grid-template-columns:1fr}.ns-steps-row{gap:20px}.ns-step-wrap:not(:last-child):after{display:none}}
@media (max-width:767px){.ns-container,.ns-narrow{width:calc(100% - 28px)}.ns-section{padding:52px 0}.ns-header-inner{justify-content:center;text-align:center}.ns-logo{justify-content:center;min-width:100%}.ns-logo img{max-width:190px}.ns-nav{gap:6px 16px}.ns-header-actions{width:100%;justify-content:center}.ns-hero-grid{gap:0}.ns-hero-content{text-align:center;padding:48px 0 18px}.ns-hero-label{justify-content:center}.ns-hero-title{font-size:39px}.ns-hero-content p{font-size:14px}.ns-hero-buttons{justify-content:center}.ns-hero-chips{justify-content:center}.ns-hero-visual{min-height:310px}.ns-floating-stat{left:50%;transform:translateX(-50%);bottom:24px}.ns-hero:after{width:370px;height:370px;right:50%;transform:translateX(65%);top:auto;bottom:-68px}.ns-hero-trust{grid-template-columns:1fr;margin-top:0;border-radius:0 0 16px 16px}.ns-section-head h2{font-size:30px}.ns-section-head p{font-size:14px}.ns-grid-5,.ns-grid-3,.ns-steps-row,.ns-final-features{grid-template-columns:1fr}.ns-card{padding:22px 18px}.ns-testimonial-top{gap:20px}.ns-feature-review{padding:24px;min-height:auto}.ns-feature-review img{position:relative;right:auto;display:block;margin:15px auto -24px;max-height:170px}.ns-feature-review em{right:22px;bottom:12px}.ns-bottom-banner{flex-direction:column;text-align:center}.ns-footer{padding-top:58px}.ns-footer-grid{grid-template-columns:1fr;text-align:center}.ns-contact li{justify-content:center}.ns-footer-bottom{flex-direction:column;text-align:center}.ns-divider:before,.ns-divider:after{width:90px}}

/* Hero curved bottom design update */
.ns-hero-curved{
  isolation:isolate;
  display:flex;
  align-items:center;
  min-height:var(--ns-hero-min-height,560px);
  padding:clamp(54px,6vw,86px) 0 clamp(86px,7vw,118px);
  background-color:var(--ns-hero-bg-color,var(--ns-green));
}
.ns-hero-curved:before{
  background:var(--ns-hero-overlay,linear-gradient(90deg,rgba(2,29,20,.97) 0%,rgba(6,63,44,.96) 45%,rgba(6,63,44,.36) 100%));
  z-index:0;
}
.ns-hero-curved:after{
  display:var(--ns-hero-shape-display,block);
  right:-10%;
  top:-30%;
  width:62%;
  height:155%;
  border-radius:55% 0 0 55% / 50% 0 0 50%;
  background:var(--ns-hero-shape-color,#fff);
  z-index:1;
  pointer-events:none;
}
.ns-hero-right-bg{
  position:absolute;
  right:-7%;
  top:-24%;
  width:64%;
  height:148%;
  border-radius:55% 0 0 55% / 50% 0 0 50%;
  background-color:var(--ns-hero-right-bg-color,#f7f7f7);
  background-image:var(--ns-hero-right-bg-image,none);
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:var(--ns-hero-right-bg-opacity,.45);
  z-index:2;
  pointer-events:none;
}
.ns-hero-dots{
  display:var(--ns-hero-dots-display,block);
  position:absolute;
  left:20px;
  top:18px;
  width:138px;
  height:138px;
  background-image:radial-gradient(rgba(255,255,255,.2) 1.4px,transparent 1.5px);
  background-size:13px 13px;
  opacity:.45;
  z-index:2;
  pointer-events:none;
}
.ns-hero-bottom-wave{
  display:var(--ns-hero-wave-display,block);
  position:absolute;
  left:-2%;
  right:-2%;
  bottom:-1px;
  height:105px;
  background:var(--ns-hero-wave-color,#fff);
  clip-path:polygon(0 58%,8% 48%,18% 39%,30% 36%,42% 45%,55% 52%,68% 43%,80% 42%,92% 49%,100% 43%,100% 100%,0 100%);
  z-index:8;
  pointer-events:none;
}
.ns-hero-curved .ns-hero-grid{
  width:min(1140px,calc(100% - 40px));
  min-height:0;
  grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);
  gap:clamp(22px,4vw,54px);
  align-items:center;
  position:relative;
  z-index:5;
}
.ns-hero-curved .ns-hero-content{
  padding:0;
  max-width:590px;
  position:relative;
  z-index:6;
}
.ns-hero-curved .ns-hero-label{
  margin-bottom:12px;
}
.ns-hero-curved .ns-hero-title{
  font-size:clamp(38px,4.45vw,64px);
  line-height:1.04;
  margin-bottom:18px;
}
.ns-hero-curved .ns-hero-content p{
  max-width:560px;
  margin-bottom:26px;
  font-size:15px;
}
.ns-hero-curved .ns-hero-buttons{
  gap:14px;
}
.ns-hero-curved .ns-btn{
  min-height:48px;
  padding:14px 22px;
  border-radius:8px;
}
.ns-hero-curved .ns-btn-outline{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.6);
  color:#fff!important;
  box-shadow:none;
}
.ns-hero-curved .ns-btn-outline:hover{
  background:rgba(255,255,255,.14);
}
.ns-hero-curved .ns-hero-chips{
  margin-top:25px;
  gap:10px;
}
.ns-hero-curved .ns-hero-chips span{
  min-height:36px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  font-size:11px;
  line-height:1;
}
.ns-hero-curved .ns-hero-chips svg{
  width:16px;
  height:16px;
}
.ns-hero-curved .ns-hero-visual{
  min-height:0;
  height:100%;
  align-self:stretch;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
  position:relative;
  z-index:6;
}
.ns-hero-curved .ns-hero-visual img{
  max-height:clamp(390px,46vw,560px);
  width:auto;
  max-width:112%;
  object-fit:contain;
  object-position:bottom center;
  filter:drop-shadow(0 28px 32px rgba(0,0,0,.25));
}
.ns-hero-curved .ns-floating-stat{
  left:24px;
  bottom:72px;
  min-width:210px;
  max-width:260px;
  padding:17px 18px 16px 76px;
  border-radius:14px;
  color:var(--ns-green);
  box-shadow:0 20px 45px rgba(0,0,0,.18);
}
.ns-hero-curved .ns-floating-stat span{
  width:52px;
  height:52px;
  left:14px;
  border-radius:10px;
  background:var(--ns-green);
  color:#fff;
}
.ns-hero-curved .ns-floating-stat span svg{
  width:26px;
  height:26px;
  fill:currentColor;
}
.ns-hero-curved .ns-floating-stat strong{
  font-size:31px;
  color:var(--ns-green);
}
.ns-hero-curved .ns-floating-stat small{
  font-size:12px;
  color:var(--ns-green);
}
.ns-hero-curved .ns-floating-stat em{
  display:block;
  margin-top:7px;
  color:#52665c;
  font-size:9px;
  line-height:1.35;
  font-style:normal;
  font-weight:600;
}
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges{
  position:relative;
  z-index:10;
  width:min(1140px,calc(100% - 40px));
  margin:0 auto;
  padding:30px 0 40px;
  display:grid;
  grid-template-columns:1.35fr .92fr .86fr .78fr;
  align-items:center;
  gap:0;
  background:#fff;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item{
  min-height:82px;
  padding:0 30px;
  gap:18px;
  border-right:1px solid rgba(6,63,44,.22);
}
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:first-child{
  padding-left:0;
}
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:last-child{
  padding-right:0;
  border-right:0;
}
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-round-icon{
  flex:0 0 58px;
  width:58px;
  height:58px;
  border-radius:50%;
  background:var(--ns-green);
  color:#fff;
  font-size:24px;
  box-shadow:0 10px 24px rgba(6,63,44,.18);
}
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:first-child .ns-round-icon{
  flex-basis:78px;
  width:78px;
  height:78px;
  font-size:32px;
}
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-round-icon svg{
  width:28px;
  height:28px;
  fill:currentColor;
}
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:first-child .ns-round-icon svg{
  width:36px;
  height:36px;
}
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item strong{
  color:var(--ns-green);
  font-size:18px;
  line-height:1.18;
  font-weight:900;
  letter-spacing:-.02em;
}
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item small{
  display:block;
  margin-top:6px;
  color:#66756e;
  font-size:14px;
  line-height:1.35;
  font-weight:500;
}
@media (max-width:1180px){
  .ns-hero-curved .ns-hero-grid{grid-template-columns:minmax(0,.96fr) minmax(330px,.88fr)}
  .ns-hero-curved:after{right:-16%;width:66%}
  .ns-hero-right-bg{right:-13%;width:68%}
  .ns-hero-curved .ns-hero-title{font-size:clamp(36px,4.6vw,56px)}
  .ns-hero-curved .ns-hero-visual img{max-width:120%}
}
@media (max-width:1024px){
  .ns-hero-curved{padding:54px 0 98px}
  .ns-hero-curved .ns-hero-grid{grid-template-columns:1fr .82fr;width:min(930px,calc(100% - 32px));gap:22px}
  .ns-hero-curved .ns-hero-content{max-width:520px}
  .ns-hero-curved .ns-hero-title{font-size:clamp(34px,4.8vw,50px)}
  .ns-hero-curved .ns-hero-content p{font-size:14px}
  .ns-hero-curved .ns-hero-visual img{max-height:430px;max-width:128%}
  .ns-hero-curved .ns-floating-stat{left:0;bottom:58px;transform:none;min-width:194px}
  .ns-hero-bottom-wave{height:92px}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges{width:min(930px,calc(100% - 32px));grid-template-columns:repeat(2,minmax(0,1fr));padding:26px 0 34px;row-gap:18px}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item{padding:0 22px;border-right:0}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:nth-child(odd){padding-left:0;border-right:1px solid rgba(6,63,44,.18)}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:nth-child(even){padding-right:0}
}
@media (max-width:880px){
  .ns-hero-curved{
    min-height:auto;
    padding:48px 0 96px;
  }
  .ns-hero-curved .ns-hero-grid{
    grid-template-columns:1fr;
    gap:18px;
    text-align:center;
  }
  .ns-hero-curved .ns-hero-content{
    margin-inline:auto;
    max-width:650px;
  }
  .ns-hero-curved .ns-hero-label,
  .ns-hero-curved .ns-hero-buttons,
  .ns-hero-curved .ns-hero-chips{
    justify-content:center;
  }
  .ns-hero-curved:after{
    top:auto;
    right:50%;
    bottom:34px;
    transform:translateX(50%);
    width:min(760px,118%);
    height:430px;
    border-radius:50% 50% 0 0 / 62% 62% 0 0;
    opacity:.96;
  }
  .ns-hero-right-bg{
    top:auto;
    right:50%;
    bottom:48px;
    transform:translateX(50%);
    width:min(760px,118%);
    height:390px;
    border-radius:50% 50% 0 0 / 62% 62% 0 0;
  }
  .ns-hero-curved .ns-hero-visual{
    min-height:360px;
    align-self:auto;
    justify-content:center;
  }
  .ns-hero-curved .ns-hero-visual img{
    max-height:420px;
    max-width:96%;
  }
  .ns-hero-curved .ns-floating-stat{
    left:50%;
    bottom:58px;
    transform:translateX(-50%);
  }
}
@media (max-width:767px){
  .ns-hero-curved{
    padding:42px 0 86px;
  }
  .ns-hero-curved .ns-hero-grid{
    width:calc(100% - 28px);
  }
  .ns-hero-curved .ns-hero-title{
    font-size:clamp(34px,11vw,46px);
    line-height:1.06;
  }
  .ns-hero-curved .ns-hero-content p{
    font-size:14px;
    line-height:1.7;
  }
  .ns-hero-curved .ns-btn{
    width:100%;
    max-width:280px;
  }
  .ns-hero-curved .ns-hero-buttons{
    flex-direction:column;
    align-items:center;
  }
  .ns-hero-curved .ns-hero-chips{
    gap:8px;
  }
  .ns-hero-curved .ns-hero-chips span{
    font-size:10px;
    padding:7px 10px;
  }
  .ns-hero-curved .ns-hero-visual{
    min-height:330px;
  }
  .ns-hero-curved .ns-hero-visual img{
    max-height:365px;
    max-width:112%;
  }
  .ns-hero-curved .ns-floating-stat{
    bottom:46px;
    min-width:190px;
    padding:14px 14px 14px 68px;
  }
  .ns-hero-curved .ns-floating-stat span{
    width:46px;
    height:46px;
  }
  .ns-hero-curved .ns-floating-stat strong{
    font-size:26px;
  }
  .ns-hero-curved .ns-floating-stat em{
    display:none;
  }
  .ns-hero-bottom-wave{height:76px}
  .ns-hero-dots{width:90px;height:90px;left:10px;top:10px;background-size:11px 11px}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges{width:calc(100% - 28px);grid-template-columns:1fr;padding:22px 0 30px;gap:0}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item,
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:nth-child(odd),
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:nth-child(even){padding:16px 0;border-right:0;border-bottom:1px solid rgba(6,63,44,.13);justify-content:flex-start;text-align:left}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:last-child{border-bottom:0}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:first-child .ns-round-icon{flex-basis:62px;width:62px;height:62px;font-size:26px}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item strong{font-size:17px}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item small{font-size:13px}
}
@media (max-width:480px){
  .ns-hero-curved .ns-hero-title{font-size:34px}
  .ns-hero-curved .ns-hero-label{font-size:10px;gap:8px}
  .ns-hero-curved .ns-hero-label span{width:24px}
  .ns-hero-curved .ns-hero-visual{min-height:288px}
  .ns-hero-curved .ns-hero-visual img{max-height:320px;max-width:122%}
  .ns-hero-curved .ns-floating-stat{bottom:34px;transform:translateX(-50%) scale(.92)}
  .ns-hero-curved:after{height:340px;bottom:30px}
  .ns-hero-right-bg{height:312px;bottom:42px}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item{gap:13px}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-round-icon{flex-basis:48px;width:48px;height:48px}
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-round-icon svg{width:23px;height:23px}
}

/* v2.0.3 fixes: mobile hamburger header, green mobile hero, grounded hero model and uniform lower badge icons */
.ns-mobile-toggle{
  display:none;
  appearance:none;
  border:1px solid rgba(6,63,44,.16);
  background:#fff;
  color:var(--ns-green);
  width:42px;
  height:42px;
  border-radius:11px;
  padding:0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  box-shadow:0 10px 24px rgba(6,63,44,.08);
  cursor:pointer;
}
.ns-mobile-toggle span{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:currentColor;
}

/* Keep the people/model visually grounded behind the bottom wave */
.ns-hero-curved .ns-hero-visual img{
  transform:translateY(clamp(42px,5.2vw,74px));
}

/* Lower badge icons: same compact size for every item */
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-round-icon,
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:first-child .ns-round-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  font-size:20px;
}
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-round-icon svg,
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:first-child .ns-round-icon svg{
  width:22px;
  height:22px;
}

@media (max-width:880px){
  /* On mobile/tablet the right white/grey shape is removed so the hero stays clean green */
  .ns-hero-curved:after,
  .ns-hero-right-bg{
    display:none!important;
  }
  .ns-hero-curved:before{
    background:linear-gradient(180deg,rgba(2,29,20,.96) 0%,rgba(6,63,44,.97) 100%)!important;
  }
  .ns-hero-curved .ns-hero-visual img{
    transform:translateY(54px);
  }
}

@media (max-width:767px){
  /* Mobile header uses a closed hamburger; menu links stay hidden */
  .ns-header-inner{
    position:relative;
    justify-content:center;
    text-align:center;
    gap:14px;
    padding:18px 0 20px;
  }
  .ns-logo{
    width:100%;
    min-width:0;
    justify-content:center;
    padding-left:48px;
    padding-right:48px;
  }
  .ns-logo img{
    max-width:178px;
  }
  .ns-mobile-toggle{
    display:inline-flex;
    position:absolute;
    right:0;
    top:21px;
    z-index:5;
  }
  .ns-nav{
    display:none!important;
  }
  .ns-header-actions{
    width:100%;
    margin-left:0;
    justify-content:center;
  }
  .ns-hero-curved .ns-hero-visual{
    min-height:335px;
  }
  .ns-hero-curved .ns-hero-visual img{
    transform:translateY(58px);
  }
  .ns-hero-bottom-wave{
    height:82px;
  }
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-round-icon,
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:first-child .ns-round-icon{
    flex-basis:48px;
    width:48px;
    height:48px;
    font-size:20px;
  }
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-round-icon svg,
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges .ns-hero-trust-item:first-child .ns-round-icon svg{
    width:22px;
    height:22px;
  }
}

@media (max-width:480px){
  .ns-hero-curved .ns-hero-visual{
    min-height:318px;
  }
  .ns-hero-curved .ns-hero-visual img{
    max-height:340px;
    transform:translateY(58px);
  }
  .ns-hero-curved .ns-floating-stat{
    bottom:28px;
  }
}

/* v2.0.4 mobile carousel for Trust and Job Roles sections */
.ns-mobile-carousel-wrap{
  position:relative;
  z-index:1;
}
.ns-carousel-nav{
  display:none;
}
@media (max-width:767px){
  .ns-trust-carousel,
  .ns-job-roles-carousel,
  .ns-training-carousel,
  .ns-journey-carousel{
    overflow:visible;
  }
  .ns-mobile-carousel-track.ns-grid,
  .ns-mobile-carousel-track.ns-steps-row{
    display:flex!important;
    grid-template-columns:none!important;
    gap:16px;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:4px 2px 16px;
    margin:0;
  }
  .ns-mobile-carousel-track.ns-grid::-webkit-scrollbar,
  .ns-mobile-carousel-track.ns-steps-row::-webkit-scrollbar{
    display:none;
  }
  .ns-mobile-carousel-track > .ns-card,
  .ns-mobile-carousel-track > .ns-step-wrap{
    flex:0 0 100%;
    width:100%;
    max-width:100%;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    margin:0;
  }
  .ns-mobile-carousel-track > .ns-card:hover,
  .ns-mobile-carousel-track > .ns-step-wrap:hover{
    transform:none;
  }
  .ns-trust-carousel .ns-trust-card,
  .ns-job-roles-carousel .ns-role-card,
  .ns-training-carousel .ns-training-card{
    min-height:280px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }
  .ns-job-roles-carousel .ns-role-card{
    min-height:330px;
  }
  .ns-job-roles-carousel .ns-illustration{
    height:145px;
  }
  .ns-job-roles-carousel .ns-illustration img{
    max-width:160px;
    max-height:145px;
  }
  .ns-carousel-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:4px;
  }
  .ns-carousel-btn{
    width:38px;
    height:38px;
    border:1px solid rgba(6,63,44,.18);
    border-radius:999px;
    background:#fff;
    color:var(--ns-green);
    font-size:25px;
    line-height:1;
    font-weight:800;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 22px rgba(6,63,44,.09);
    cursor:pointer;
    transition:opacity .2s ease, transform .2s ease, background .2s ease;
  }
  .ns-carousel-btn:hover{
    transform:translateY(-1px);
    background:#eef8f1;
  }
  .ns-carousel-btn:disabled{
    opacity:.38;
    cursor:not-allowed;
    transform:none;
  }
  .ns-carousel-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-width:58px;
  }
  .ns-carousel-dot{
    width:7px;
    height:7px;
    border:0;
    padding:0;
    border-radius:999px;
    background:rgba(6,63,44,.24);
    cursor:pointer;
    transition:width .2s ease, background .2s ease;
  }
  .ns-carousel-dot.is-active{
    width:22px;
    background:var(--ns-green);
  }
}

/* v2.0.5 clickable mobile hamburger menu + future submenu support */
.ns-nav-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  flex-wrap:wrap;
}
.ns-nav-item{
  position:relative;
  display:flex;
  align-items:center;
  gap:5px;
}
.ns-nav-item.has-submenu > .ns-nav-link{
  padding-right:2px;
}
.ns-submenu-toggle{
  appearance:none;
  border:0;
  background:transparent;
  color:#33443b;
  width:22px;
  height:22px;
  padding:0;
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  font-size:15px;
  line-height:1;
  transition:transform .22s ease,color .22s ease;
}
.ns-submenu-toggle:hover,
.ns-nav-item:hover > .ns-submenu-toggle,
.ns-nav-item.is-submenu-open > .ns-submenu-toggle{
  color:var(--ns-red);
}
.ns-nav-item.is-submenu-open > .ns-submenu-toggle span{
  transform:rotate(180deg);
}
.ns-submenu-toggle span{
  display:block;
  transition:transform .22s ease;
}
.ns-submenu{
  list-style:none;
  margin:0;
  padding:10px;
  position:absolute;
  left:0;
  top:calc(100% + 12px);
  min-width:220px;
  background:#fff;
  border:1px solid #e5eee8;
  border-radius:14px;
  box-shadow:0 18px 42px rgba(6,63,44,.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
  z-index:70;
}
.ns-submenu:before{
  content:"";
  position:absolute;
  left:18px;
  top:-7px;
  width:14px;
  height:14px;
  background:#fff;
  border-left:1px solid #e5eee8;
  border-top:1px solid #e5eee8;
  transform:rotate(45deg);
}
.ns-nav-item:hover > .ns-submenu,
.ns-nav-item:focus-within > .ns-submenu,
.ns-nav-item.is-submenu-open > .ns-submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.ns-submenu a{
  display:block;
  padding:10px 12px;
  border-radius:9px;
  color:#33443b;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.ns-submenu a:hover{
  background:#eef8f1;
  color:var(--ns-green);
}

@media (max-width:1024px){
  .ns-nav-list{gap:17px;}
}

@media (max-width:767px){
  .ns-mobile-toggle{
    background:var(--ns-red);
    border-color:rgba(4,39,25,.25);
    color:#fff;
    border-radius:12px;
    width:46px;
    height:46px;
    box-shadow:0 10px 24px rgba(201,24,24,.22);
  }
  .ns-header.is-open .ns-mobile-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .ns-header.is-open .ns-mobile-toggle span:nth-child(2){
    opacity:0;
  }
  .ns-header.is-open .ns-mobile-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
  .ns-mobile-toggle span{
    transition:transform .22s ease,opacity .22s ease;
  }
  .ns-header .ns-nav{
    display:none!important;
    order:3;
    width:100%;
    margin-top:2px;
  }
  .ns-header.is-open .ns-nav{
    display:block!important;
  }
  .ns-nav-list{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    width:100%;
    max-width:360px;
    margin:0 auto;
    padding:10px;
    background:#fff;
    border:1px solid #dbe8df;
    border-radius:18px;
    box-shadow:0 18px 45px rgba(6,63,44,.12);
    text-align:left;
  }
  .ns-nav-item{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:0;
    border-bottom:1px solid #edf3ef;
  }
  .ns-nav-item:last-child{
    border-bottom:0;
  }
  .ns-nav-link{
    flex:1 1 auto;
    padding:13px 12px;
    font-size:14px;
    font-weight:900;
  }
  .ns-nav-link:after{
    display:none;
  }
  .ns-submenu-toggle{
    flex:0 0 38px;
    width:38px;
    height:38px;
    margin-right:2px;
    border-radius:10px;
    background:#eef8f1;
    color:var(--ns-green);
  }
  .ns-nav-item.is-submenu-open > .ns-submenu-toggle{
    background:var(--ns-green);
    color:#fff;
  }
  .ns-submenu{
    position:static;
    flex:0 0 100%;
    min-width:0;
    width:100%;
    display:none;
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
    box-shadow:none;
    border:1px solid #e2eee7;
    border-radius:13px;
    background:#f7fbf8;
    margin:0 0 10px;
    padding:6px;
  }
  .ns-submenu:before{
    display:none;
  }
  .ns-nav-item:hover > .ns-submenu,
  .ns-nav-item:focus-within > .ns-submenu{
    display:none;
  }
  .ns-nav-item.is-submenu-open > .ns-submenu{
    display:block;
  }
  .ns-submenu a{
    padding:10px 12px;
    white-space:normal;
    font-size:13px;
  }
}


/* v2.0.6: keep Job Roles carousel illustrations visible on mobile */
.ns-role-illustration{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.ns-role-illustration img{
  display:block;
  opacity:1;
  visibility:visible;
}
@media (max-width:767px){
  .ns-job-roles-carousel .ns-role-illustration{
    height:150px;
    min-height:150px;
    margin:0 auto 12px;
    flex:0 0 auto;
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .ns-job-roles-carousel .ns-role-illustration img,
  .ns-job-roles-carousel .ns-role-illustration svg{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    max-width:180px;
    max-height:150px;
    width:auto;
    height:auto;
    object-fit:contain;
  }
}


/* v2.0.7: mobile drag-window menu animation */
@media (max-width:767px){
  .ns-header .ns-nav{
    display:block!important;
    order:3;
    width:100%;
    max-height:0;
    margin-top:0;
    overflow:hidden;
    opacity:0;
    transform:translateY(-16px) scale(.98);
    pointer-events:none;
    transition:max-height .44s cubic-bezier(.18,.86,.22,1), opacity .24s ease, transform .44s cubic-bezier(.18,.86,.22,1), margin-top .28s ease;
    will-change:max-height, opacity, transform;
  }
  .ns-header.is-open .ns-nav{
    display:block!important;
    max-height:72vh;
    margin-top:12px;
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
  }
  .ns-header.is-menu-dragging .ns-nav,
  .ns-header.is-menu-dragging .ns-nav-list{
    transition:none!important;
    cursor:grabbing;
    touch-action:none;
  }
  .ns-nav-list{
    position:relative;
    padding-top:25px;
    transform:translateY(-10px);
    transition:transform .42s cubic-bezier(.18,.86,.22,1), box-shadow .3s ease;
    touch-action:pan-y;
  }
  .ns-header.is-open .ns-nav-list{
    transform:translateY(0);
    box-shadow:0 24px 60px rgba(6,63,44,.16);
  }
  .ns-nav-list:before{
    content:"";
    position:absolute;
    top:9px;
    left:50%;
    width:48px;
    height:5px;
    border-radius:999px;
    background:#dbe8df;
    transform:translateX(-50%);
  }
  .ns-nav-list:after{
    content:"Drag up to close";
    position:absolute;
    top:8px;
    right:14px;
    color:#8ba197;
    font-size:9px;
    font-weight:800;
    letter-spacing:.02em;
    opacity:.7;
  }
  .ns-header.is-open .ns-mobile-toggle{
    box-shadow:0 14px 30px rgba(201,24,24,.26);
  }
}

/* v2.0.8: hard fix for Job Roles illustrations on mobile carousel */
.ns-role-illustration{
  width:100%;
  max-width:220px;
  min-height:150px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
}
.ns-role-illustration img,
.ns-role-illustration svg{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  position:relative;
  z-index:1;
}
.ns-role-illustration svg{
  width:180px!important;
  max-width:100%!important;
  height:auto!important;
  max-height:150px!important;
  overflow:visible!important;
}
@media (max-width:767px){
  .ns-job-roles-carousel .ns-role-card{
    overflow:visible!important;
  }
  .ns-job-roles-carousel .ns-role-illustration{
    width:100%!important;
    max-width:230px!important;
    height:160px!important;
    min-height:160px!important;
    margin:0 auto 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background-repeat:no-repeat!important;
    background-position:center center!important;
    background-size:180px auto!important;
    overflow:visible!important;
    flex:0 0 auto!important;
  }
  .ns-job-roles-carousel .ns-role-illustration img{
    width:auto!important;
    min-width:160px;
    max-width:190px!important;
    height:auto!important;
    max-height:158px!important;
    object-fit:contain!important;
  }
  .ns-job-roles-carousel .ns-role-illustration svg{
    width:190px!important;
    max-width:190px!important;
    height:auto!important;
    max-height:158px!important;
  }
}


/* v2.0.9: mobile carousel for Training Program section */
@media (max-width:767px){
  .ns-training-carousel .ns-training-card{
    min-height:300px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:28px 20px;
  }
  .ns-training-carousel .ns-card-icon{
    width:84px;
    height:84px;
    margin:0 auto 16px;
    border-radius:50%;
  }
  .ns-training-carousel .ns-card-icon img{
    max-width:54px;
    max-height:54px;
  }
  .ns-training-carousel .ns-training-card h3{
    margin:10px 0 10px;
    font-size:22px;
    line-height:1.15;
  }
  .ns-training-carousel .ns-training-card p{
    font-size:13px;
    line-height:1.65;
    max-width:260px;
    margin:0 auto;
  }
}


/* v2.0.10: Mobile footer menu as 2 columns x 2 rows */
@media (max-width:767px){
  .ns-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:34px 18px;
    text-align:center;
    align-items:start;
  }
  .ns-footer-brand{
    grid-column:1 / -1;
    text-align:center;
  }
  .ns-footer-brand img{
    margin-left:auto;
    margin-right:auto;
  }
  .ns-footer-brand p{
    max-width:320px;
    margin-left:auto;
    margin-right:auto;
  }
  .ns-footer-col{
    min-width:0;
  }
  .ns-footer-col h3{
    font-size:16px;
    margin-bottom:13px;
  }
  .ns-footer-col li{
    font-size:13px;
    line-height:1.45;
    margin-bottom:10px;
    overflow-wrap:anywhere;
  }
  .ns-contact li{
    justify-content:center;
    align-items:center;
    gap:7px;
  }
  .ns-contact svg{
    width:12px;
    height:12px;
  }
}

@media (max-width:390px){
  .ns-footer-grid{
    gap:30px 12px;
  }
  .ns-footer-col h3{
    font-size:15px;
  }
  .ns-footer-col li{
    font-size:12px;
  }
}


/* v2.0.11: reduce excessive desktop hero top gap */
@media (min-width:1025px){
  .ns-hero-curved{
    min-height:var(--ns-hero-min-height,530px);
    padding-top:clamp(34px,3.2vw,52px);
    padding-bottom:clamp(82px,5.6vw,104px);
  }
  .ns-hero-curved .ns-hero-grid{
    align-items:center;
  }
  .ns-hero-curved .ns-hero-content{
    transform:translateY(-10px);
  }
  .ns-hero-curved .ns-hero-visual img{
    max-height:clamp(445px,47vw,620px);
  }
  .ns-hero-curved .ns-floating-stat{
    bottom:76px;
  }
  .ns-hero-curved:after{
    top:-24%;
    height:146%;
  }
  .ns-hero-right-bg{
    top:-18%;
    height:140%;
  }
}
@media (min-width:1500px){
  .ns-hero-curved{
    min-height:540px;
    padding-top:42px;
  }
  .ns-hero-curved .ns-hero-content{
    transform:translateY(-14px);
  }
  .ns-hero-curved .ns-hero-visual img{
    max-height:640px;
  }
}


/* v2.0.12: mobile menu opens as a floating window instead of expanding under buttons */
@media (max-width:767px){
  .ns-header.is-open{
    z-index:9998;
  }
  .ns-header.is-open:before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(3,37,24,.22);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
    z-index:9990;
    pointer-events:none;
  }
  .ns-header .ns-nav{
    position:fixed!important;
    left:50%!important;
    top:54%!important;
    width:min(360px,calc(100vw - 32px))!important;
    max-width:360px!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    overflow:visible!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate(-50%,-46%) scale(.92)!important;
    transform-origin:center center!important;
    transition:opacity .24s ease, visibility .24s ease, transform .34s cubic-bezier(.18,.86,.22,1)!important;
    z-index:9999!important;
  }
  .ns-header.is-open .ns-nav{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate(-50%,-50%) scale(1)!important;
  }
  .ns-header.is-menu-dragging .ns-nav{
    transition:none!important;
  }
  .ns-header .ns-nav-list{
    width:100%!important;
    max-width:none!important;
    max-height:min(70vh,520px)!important;
    margin:0!important;
    padding:28px 14px 14px!important;
    overflow-y:auto!important;
    background:#fff!important;
    border:1px solid #dbe8df!important;
    border-radius:24px!important;
    box-shadow:0 28px 80px rgba(3,37,24,.28)!important;
    transform:none!important;
    transition:none!important;
  }
  .ns-header.is-open .ns-nav-list{
    transform:none!important;
    box-shadow:0 28px 80px rgba(3,37,24,.28)!important;
  }
  .ns-nav-list:before{
    top:11px!important;
    width:52px!important;
    height:5px!important;
    background:#d5e5dc!important;
  }
  .ns-nav-list:after{
    display:none!important;
  }
  .ns-header .ns-nav-item{
    border-bottom:1px solid #edf3ef;
  }
  .ns-header .ns-nav-link{
    padding:15px 10px!important;
    font-size:14px!important;
  }
  .ns-header .ns-submenu{
    margin:0 0 12px!important;
  }
  .ns-header .ns-mobile-toggle{
    z-index:10000!important;
  }
}


/* v2.0.13: mobile carousel for Journey Steps section */
@media (max-width:767px){
  .ns-journey-carousel .ns-step-wrap{
    position:relative;
  }
  .ns-journey-carousel .ns-step-wrap:not(:last-child):after{
    display:none;
  }
  .ns-journey-carousel .ns-step-card{
    min-height:300px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:28px 20px 24px;
  }
  .ns-journey-carousel .ns-illustration{
    height:145px;
    margin:0 auto 14px;
  }
  .ns-journey-carousel .ns-illustration img{
    max-width:160px;
    max-height:145px;
  }
  .ns-journey-carousel .ns-step-card h3{
    font-size:22px;
    margin:10px 0 10px;
  }
  .ns-journey-carousel .ns-step-card p{
    font-size:13px;
    line-height:1.65;
    max-width:255px;
    margin:0 auto 16px;
  }
}


/* v2.0.14: place floating mobile menu just below the header area */
@media (max-width:767px){
  .ns-header .ns-nav{
    top:154px!important;
    transform:translate(-50%,-10px) scale(.96)!important;
    transform-origin:top center!important;
  }
  .ns-header.is-open .ns-nav{
    transform:translate(-50%,0) scale(1)!important;
  }
  .ns-header .ns-nav-list{
    max-height:calc(100vh - 180px)!important;
  }
}
@media (max-width:390px){
  .ns-header .ns-nav{
    top:148px!important;
  }
  .ns-header .ns-nav-list{
    max-height:calc(100vh - 170px)!important;
  }
}


/* v2.0.15: hard fix for Journey illustrations in mobile carousel */
.ns-journey-illustration{
  position:relative;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
}
.ns-journey-illustration svg,
.ns-journey-illustration img{
  display:block;
  margin:0 auto;
}
@media (max-width:767px){
  .ns-journey-carousel .ns-journey-illustration{
    min-height:145px;
    width:100%;
    opacity:1!important;
    visibility:visible!important;
  }
  .ns-journey-carousel .ns-journey-illustration svg{
    width:160px;
    height:auto;
    max-width:100%;
    max-height:145px;
  }
  .ns-journey-carousel .ns-journey-illustration img{
    max-width:160px;
    max-height:145px;
    width:auto;
    height:auto;
    opacity:1!important;
    visibility:visible!important;
  }
}


/* v2.0.16: improved submenu arrow styling and placement */
.ns-submenu-toggle{
  border:1px solid rgba(6,63,44,.12);
  border-radius:999px;
  background:rgba(238,248,241,.65);
}
.ns-submenu-toggle svg{
  width:15px;
  height:15px;
  display:block;
  transition:transform .22s ease;
}
.ns-nav-item.is-submenu-open > .ns-submenu-toggle svg{
  transform:rotate(180deg);
}
.ns-nav-item.is-submenu-open > .ns-submenu-toggle span{
  transform:none;
}
@media (max-width:767px){
  .ns-submenu-toggle{
    flex:0 0 36px;
    width:36px;
    height:36px;
    margin:0 8px 0 auto;
    border-radius:11px;
    border:1px solid #d9e8de;
    background:#eef8f1;
    box-shadow:0 4px 10px rgba(6,63,44,.06);
  }
  .ns-submenu-toggle svg{
    width:16px;
    height:16px;
  }
  .ns-nav-item.is-submenu-open > .ns-submenu-toggle{
    background:var(--ns-green);
    border-color:var(--ns-green);
    color:#fff;
    box-shadow:0 8px 18px rgba(6,63,44,.14);
  }
}


/* v2.0.17: editable icon controls for buttons, badges and footer socials */
.ns-btn-icon,
.ns-mini-icon,
.ns-note-icon,
.ns-social-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  flex:0 0 auto;
}
.ns-btn-icon svg,
.ns-mini-icon svg,
.ns-note-icon svg,
.ns-social-icon svg{
  width:1em;
  height:1em;
  fill:currentColor;
}
.ns-btn-icon{
  font-size:13px;
}
.ns-mini-icon{
  font-size:11px;
}
.ns-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.ns-note-icon{
  color:var(--ns-accent);
  font-size:13px;
}
.ns-socials a.ns-social-link{
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:13px;
  transition:background .22s ease,transform .22s ease;
}
.ns-socials a.ns-social-link:hover{
  background:rgba(255,255,255,.16);
  transform:translateY(-2px);
}

/* About Hero Widget - v2.0.18 */
.ns-about-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:430px;
  display:flex;
  align-items:center;
  background:var(--ns-about-bg,#063f2c);
}
.ns-about-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:var(--ns-about-overlay,linear-gradient(90deg,rgba(2,29,20,.96) 0%,rgba(2,29,20,.96) 42%,rgba(6,63,44,.50) 100%));
  pointer-events:none;
}
.ns-about-hero-curve{
  position:absolute;
  top:-38%;
  right:-8%;
  width:58%;
  height:175%;
  z-index:2;
  border-radius:58% 0 0 58% / 50% 0 0 50%;
  background:var(--ns-about-curve,#ffffff);
  opacity:.96;
  pointer-events:none;
}
.ns-about-hero-image{
  position:absolute;
  top:0;
  right:0;
  width:50.5%;
  height:100%;
  z-index:3;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  clip-path:ellipse(78% 88% at 78% 50%);
  pointer-events:none;
}
.ns-about-hero-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(6,63,44,.08) 0%,rgba(255,255,255,0) 35%);
  pointer-events:none;
}
.ns-about-hero-dots{
  position:absolute;
  left:45%;
  top:66%;
  width:118px;
  height:98px;
  z-index:4;
  opacity:.55;
  background-image:radial-gradient(rgba(243,165,27,.75) 1.4px,transparent 1.5px);
  background-size:12px 12px;
  pointer-events:none;
}
.ns-about-hero-inner{
  position:relative;
  z-index:5;
  width:min(1140px,calc(100% - 40px));
}
.ns-about-hero-content{
  max-width:560px;
  padding:74px 0;
}
.ns-about-hero-label{
  display:inline-flex;
  margin-bottom:14px;
  color:var(--ns-about-accent,#f3a51b);
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ns-about-hero-title{
  margin:0;
  max-width:560px;
  color:var(--ns-about-title,#ffffff);
  font-size:clamp(34px,4.1vw,54px);
  line-height:1.13;
  font-weight:900;
  letter-spacing:-.045em;
}
.ns-about-hero-text{
  max-width:540px;
  margin:24px 0 0;
  color:var(--ns-about-text,rgba(255,255,255,.86));
  font-size:16px;
  line-height:1.75;
  font-weight:500;
}
.ns-about-hero-buttons{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:22px;
  margin-top:36px;
}
.ns-about-hero-buttons .ns-btn{
  min-height:52px;
  padding:15px 28px;
  border-radius:7px;
  font-size:14px;
  font-weight:900;
}
.ns-about-hero-buttons .ns-btn-outline{
  color:#ffffff!important;
  border-color:rgba(243,165,27,.70);
  background:rgba(255,255,255,.03);
  box-shadow:inset 0 0 0 1px rgba(243,165,27,.22);
}
.ns-about-hero-buttons .ns-btn-outline:hover{
  background:rgba(255,255,255,.10);
}
@media (max-width:1024px){
  .ns-about-hero{min-height:520px;}
  .ns-about-hero-content{max-width:500px;}
  .ns-about-hero-image{width:52%;}
  .ns-about-hero-curve{right:-18%;width:66%;}
}
@media (max-width:767px){
  .ns-about-hero{
    min-height:auto;
    text-align:center;
    align-items:flex-start;
    padding:0;
    display:block;
  }
  .ns-about-hero-overlay{background:linear-gradient(180deg,rgba(2,29,20,.97) 0%,rgba(6,63,44,.97) 100%);}
  .ns-about-hero-curve{display:none;}
  .ns-about-hero-image{
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    height:310px;
    clip-path:none;
    background-position:center top;
    margin-top:0;
  }
  .ns-about-hero-inner{width:calc(100% - 28px);}
  .ns-about-hero-content{max-width:none;padding:54px 0 34px;}
  .ns-about-hero-title{font-size:36px;}
  .ns-about-hero-text{font-size:14px;margin-top:18px;}
  .ns-about-hero-buttons{justify-content:center;gap:12px;margin-top:28px;}
  .ns-about-hero-buttons .ns-btn{width:100%;max-width:270px;}
  .ns-about-hero-dots{left:50%;top:auto;bottom:300px;transform:translateX(-50%);}
}


/* About Stats Row Widget */
.ns-about-stats{
  position:relative;
  background:#fff;
  border-top:1px solid rgba(6,63,44,.08);
  border-bottom:1px solid rgba(6,63,44,.08);
  overflow:hidden;
}
.ns-about-stats-inner{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:0;
}
.ns-about-stat-item{
  position:relative;
  min-height:108px;
  height:100%;
  display:flex;
  align-items:flex-start;
  gap:20px;
  padding:0 34px;
}
.ns-about-stat-item:first-child{
  padding-left:0;
}
.ns-about-stat-item:last-child{
  padding-right:0;
}
.ns-about-stat-item:not(:last-child):after{
  content:"";
  position:absolute;
  right:0;
  top:10px;
  bottom:10px;
  width:1px;
  background:rgba(6,63,44,.16);
}
.ns-about-stat-icon{
  flex:0 0 58px;
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--ns-green,#063f2c);
  color:#fff;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.12),0 10px 22px rgba(6,63,44,.16);
  font-size:24px;
  margin-top:0;
}
.ns-about-stat-icon svg{
  width:24px;
  height:24px;
  fill:currentColor;
}
.ns-about-stat-heading{
  margin:0;
  color:#082f21;
  font-size:21px;
  line-height:1.16;
  font-weight:900;
  letter-spacing:-.025em;
}
.ns-about-stat-heading span{
  display:inline-block;
}
.ns-about-stat-desc{
  margin:13px 0 0;
  max-width:210px;
  color:#52665c;
  font-size:14px;
  line-height:1.55;
  font-weight:500;
}
@media (max-width:1024px){
  .ns-about-stats-inner{
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:26px;
  }
  .ns-about-stat-item{
    padding:0 26px;
  }
  .ns-about-stat-item:nth-child(2):after{
    display:none;
  }
  .ns-about-stat-item:nth-child(odd){
    padding-left:0;
  }
  .ns-about-stat-item:nth-child(even){
    padding-right:0;
  }
}
@media (max-width:767px){
  .ns-about-stats{
    padding:30px 0!important;
  }
  .ns-about-stats-inner{
    grid-template-columns:1fr;
    gap:0;
  }
  .ns-about-stat-item,
  .ns-about-stat-item:first-child,
  .ns-about-stat-item:last-child,
  .ns-about-stat-item:nth-child(odd),
  .ns-about-stat-item:nth-child(even){
    min-height:auto;
    padding:20px 0;
    align-items:center;
    text-align:left;
  }
  .ns-about-stat-item:not(:last-child):after{
    top:auto;
    right:auto;
    left:78px;
    bottom:0;
    width:calc(100% - 78px);
    height:1px;
    display:block;
  }
  .ns-about-stat-heading{
    font-size:20px;
  }
  .ns-about-stat-desc{
    max-width:none;
    margin-top:7px;
    font-size:13px;
  }
}

/* v2.0.20 - About Stats icon vertical alignment fix */
.ns-about-stats-inner{
  align-items:stretch;
}
.ns-about-stat-item{
  height:100%;
}
.ns-about-stat-icon{
  margin-top:0;
}

/* v2.0.21 - About Bridge Section */
.ns-about-bridge{
  position:relative;
  overflow:hidden;
  padding:72px 0;
  background:#fff;
}
.ns-about-bridge-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(380px,1fr);
  align-items:center;
  gap:70px;
}
.ns-about-bridge-content{
  max-width:620px;
}
.ns-about-bridge-label{
  display:inline-block;
  margin-bottom:12px;
  color:var(--ns-accent,#f3a51b);
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ns-about-bridge-title{
  margin:0;
  color:var(--ns-title,#063f2c);
  font-size:clamp(28px,3vw,40px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.04em;
}
.ns-about-bridge-text{
  margin-top:24px;
}
.ns-about-bridge-text p{
  margin:0 0 20px;
  color:#33443b;
  font-size:15px;
  line-height:1.72;
  font-weight:500;
}
.ns-about-bridge-text p:last-child{
  margin-bottom:0;
}
.ns-about-bridge-media{
  position:relative;
  min-height:330px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ns-about-bridge-image{
  position:relative;
  z-index:2;
  width:100%;
}
.ns-about-bridge-image img{
  display:block;
  width:100%;
  min-height:310px;
  max-height:420px;
  object-fit:cover;
  object-position:center center;
  border-radius:14px;
  box-shadow:0 20px 45px rgba(6,63,44,.12);
}
.ns-about-bridge-dots{
  position:absolute;
  z-index:1;
  right:-52px;
  bottom:-6px;
  width:145px;
  height:238px;
  background-image:radial-gradient(var(--ns-about-bridge-dot,rgba(243,165,27,.62)) 1.5px,transparent 1.6px);
  background-size:11px 11px;
  border-radius:18px;
  pointer-events:none;
}
@media (max-width:1024px){
  .ns-about-bridge-grid{
    grid-template-columns:1fr;
    gap:36px;
  }
  .ns-about-bridge-content{
    max-width:760px;
  }
  .ns-about-bridge-media{
    min-height:0;
  }
  .ns-about-bridge-image img{
    max-height:none;
  }
  .ns-about-bridge-dots{
    right:-28px;
  }
}
@media (max-width:767px){
  .ns-about-bridge{
    padding:52px 0;
  }
  .ns-about-bridge-grid{
    gap:28px;
  }
  .ns-about-bridge-content{
    text-align:left;
  }
  .ns-about-bridge-title{
    font-size:30px;
  }
  .ns-about-bridge-text{
    margin-top:18px;
  }
  .ns-about-bridge-text p{
    font-size:14px;
    line-height:1.68;
    margin-bottom:16px;
  }
  .ns-about-bridge-image img{
    min-height:230px;
    border-radius:12px;
  }
  .ns-about-bridge-dots{
    width:100px;
    height:150px;
    right:-18px;
    bottom:-20px;
    background-size:10px 10px;
  }
}


/* About Mission & Vision Cards Widget */
.ns-about-purpose{
  position:relative;
  background:#fff;
  padding:58px 0 72px;
  overflow:hidden;
}
.ns-about-purpose-head{
  text-align:center;
  margin:0 auto 32px;
}
.ns-about-purpose-label{
  display:inline-flex;
  color:#f3a51b;
  font-size:13px;
  font-weight:900;
  line-height:1;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:13px;
}
.ns-about-purpose-title{
  margin:0;
  color:var(--ns-title,#063f2c);
  font-size:clamp(32px,3.4vw,46px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.04em;
}
.ns-about-purpose-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:34px;
  align-items:stretch;
}
.ns-purpose-card{
  min-height:282px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  background:#fff;
  border:1px solid #edf2ee;
  border-radius:16px;
  padding:38px 34px 34px;
  box-shadow:0 12px 32px rgba(6,63,44,.08);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.ns-purpose-card:hover{
  transform:translateY(-6px);
  border-color:rgba(6,63,44,.20);
  box-shadow:0 20px 45px rgba(6,63,44,.12);
}
.ns-purpose-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:76px;
  margin:0 0 18px;
  color:var(--ns-green,#063f2c);
  line-height:1;
}
.ns-purpose-card-icon svg{
  display:block;
  width:70px;
  height:70px;
  fill:currentColor;
}
.ns-purpose-card h3{
  margin:0 0 19px;
  color:var(--ns-title,#063f2c);
  font-size:26px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.025em;
}
.ns-purpose-card p{
  margin:0;
  max-width:330px;
  color:#33443b;
  font-size:16px;
  line-height:1.58;
  font-weight:500;
}
@media (max-width:1024px){
  .ns-about-purpose-grid{
    gap:22px;
  }
  .ns-purpose-card{
    padding:32px 22px 30px;
  }
  .ns-purpose-card h3{
    font-size:23px;
  }
  .ns-purpose-card p{
    font-size:14px;
  }
}
@media (max-width:767px){
  .ns-about-purpose{
    padding:48px 0 54px;
  }
  .ns-about-purpose-head{
    margin-bottom:24px;
  }
  .ns-about-purpose-title{
    font-size:34px;
  }
  .ns-about-purpose-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .ns-purpose-card{
    min-height:auto;
    padding:30px 22px 28px;
  }
  .ns-purpose-card-icon{
    min-height:64px;
    margin-bottom:14px;
  }
  .ns-purpose-card-icon svg{
    width:60px;
    height:60px;
  }
  .ns-purpose-card h3{
    margin-bottom:12px;
    font-size:24px;
  }
  .ns-purpose-card p{
    font-size:14px;
  }
}


/* About Why Students Choose Widget */
.ns-about-strength{
  position:relative;
  background:#fff;
  padding:44px 0 64px;
  overflow:hidden;
}
.ns-about-strength-head{
  text-align:center;
  margin:0 auto 26px;
}
.ns-about-strength-label{
  display:inline-flex;
  color:#f3a51b;
  font-size:13px;
  font-weight:900;
  line-height:1;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.ns-about-strength-title{
  margin:0;
  color:var(--ns-title,#063f2c);
  font-size:clamp(30px,3.1vw,42px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.04em;
}
.ns-about-strength-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.ns-strength-card{
  min-height:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  background:#fff;
  border:1px solid #edf2ee;
  border-radius:16px;
  padding:30px 20px 28px;
  box-shadow:0 12px 30px rgba(6,63,44,.08);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.ns-strength-card:hover{
  transform:translateY(-6px);
  border-color:rgba(6,63,44,.20);
  box-shadow:0 20px 42px rgba(6,63,44,.12);
}
.ns-strength-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:62px;
  margin:0 0 20px;
  color:var(--ns-green,#063f2c);
  line-height:1;
}
.ns-strength-card-icon svg{
  display:block;
  width:52px;
  height:52px;
  fill:currentColor;
}
.ns-strength-card h3{
  margin:0 0 18px;
  color:var(--ns-title,#063f2c);
  font-size:20px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.025em;
}
.ns-strength-card p{
  margin:0;
  color:#33443b;
  font-size:15px;
  line-height:1.48;
  font-weight:500;
}
@media (max-width:1200px){
  .ns-about-strength-grid{
    gap:18px;
  }
  .ns-strength-card{
    padding:28px 16px 26px;
  }
  .ns-strength-card h3{
    font-size:18px;
  }
  .ns-strength-card p{
    font-size:14px;
  }
}
@media (max-width:1024px){
  .ns-about-strength-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
  }
}
@media (max-width:767px){
  .ns-about-strength{
    padding:46px 0 54px;
  }
  .ns-about-strength-head{
    margin-bottom:24px;
  }
  .ns-about-strength-title{
    font-size:32px;
  }
  .ns-about-strength-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .ns-strength-card{
    min-height:auto;
    padding:28px 22px 26px;
  }
  .ns-strength-card-icon{
    min-height:56px;
    margin-bottom:14px;
  }
  .ns-strength-card-icon svg{
    width:48px;
    height:48px;
  }
  .ns-strength-card h3{
    margin-bottom:10px;
    font-size:22px;
  }
  .ns-strength-card p{
    font-size:14px;
  }
}


/* About Process Steps Widget */
.ns-about-process{
  position:relative;
  background:#fff;
  padding:48px 0 68px;
  overflow:hidden;
}
.ns-process-head{
  max-width:880px;
  margin:0 auto 34px;
  text-align:center;
}
.ns-process-label{
  display:block;
  margin-bottom:8px;
  color:var(--ns-accent,#f3a51b);
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ns-process-title{
  margin:0;
  color:var(--ns-title,#063f2c);
  font-size:clamp(30px,3.3vw,44px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.045em;
}
.ns-process-row{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  align-items:center;
  gap:34px;
}
.ns-process-step{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  align-items:center;
  gap:28px;
  min-width:0;
}
.ns-process-icon{
  width:132px;
  height:132px;
  flex:0 0 132px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--ns-green,#063f2c);
  background:#edf6f0;
  box-shadow:inset 0 0 0 1px rgba(6,63,44,.03);
}
.ns-process-icon svg{
  display:block;
  width:60px;
  height:60px;
  fill:currentColor;
}
.ns-process-step-label{
  display:block;
  margin:0 0 8px;
  color:var(--ns-accent,#f3a51b);
  font-size:14px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
}
.ns-process-step-text h3{
  margin:0 0 10px;
  color:var(--ns-title,#063f2c);
  font-size:21px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.025em;
}
.ns-process-step-text p{
  margin:0;
  color:#33443b;
  font-size:15px;
  line-height:1.55;
  font-weight:500;
}
.ns-process-arrow{
  align-self:center;
  justify-self:center;
  color:var(--ns-green,#063f2c);
  font-size:34px;
  line-height:1;
  font-weight:900;
  transform:translateY(2px);
}
@media (max-width:1200px){
  .ns-process-row{
    gap:22px;
  }
  .ns-process-step{
    grid-template-columns:104px minmax(0,1fr);
    gap:18px;
  }
  .ns-process-icon{
    width:104px;
    height:104px;
    flex-basis:104px;
  }
  .ns-process-icon svg{
    width:48px;
    height:48px;
  }
  .ns-process-step-text h3{
    font-size:19px;
  }
  .ns-process-step-text p{
    font-size:14px;
  }
}
@media (max-width:1024px){
  .ns-process-row{
    grid-template-columns:1fr;
    gap:18px;
    max-width:720px;
    margin-inline:auto;
  }
  .ns-process-step{
    grid-template-columns:112px minmax(0,1fr);
    gap:24px;
    padding:18px;
    border:1px solid #edf2ee;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 30px rgba(6,63,44,.06);
  }
  .ns-process-icon{
    width:112px;
    height:112px;
    flex-basis:112px;
  }
  .ns-process-arrow{
    transform:rotate(90deg);
    font-size:28px;
  }
}
@media (max-width:767px){
  .ns-about-process{
    padding:44px 0 52px;
  }
  .ns-process-head{
    margin-bottom:24px;
  }
  .ns-process-title{
    font-size:31px;
  }
  .ns-process-step{
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
    gap:16px;
    padding:24px 20px;
  }
  .ns-process-icon{
    width:112px;
    height:112px;
    flex-basis:112px;
  }
  .ns-process-step-text h3{
    font-size:22px;
  }
  .ns-process-step-text p{
    font-size:14px;
  }
}

/* v2.0.27 Student Success Carousel widget */
.ns-student-carousel-section{
  padding:64px 0 70px;
  background:var(--ns-section-bg,#fff);
  overflow:hidden;
}
.ns-student-carousel-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 28px;
}
.ns-student-carousel-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:8px;
  color:var(--ns-accent,#f3a51b);
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ns-student-carousel-title{
  margin:0;
  color:var(--ns-title,#063f2c);
  font-size:clamp(28px,3vw,42px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.04em;
}
.ns-student-carousel-subtitle{
  margin:12px auto 0;
  max-width:620px;
  color:#607268;
  font-size:14px;
  line-height:1.65;
}
.ns-student-stories-carousel{
  position:relative;
  overflow:visible;
}
.ns-student-stories-track{
  display:flex;
  gap:24px;
  overflow-x:auto;
  overflow-y:visible;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:4px 4px 18px;
  margin:0 -4px;
}
.ns-student-stories-track::-webkit-scrollbar{
  display:none;
}
.ns-student-story-card{
  flex:0 0 calc((100% - 48px) / 3);
  min-width:0;
  scroll-snap-align:start;
  background:var(--ns-student-story-card-bg,#fff);
  border:1px solid var(--ns-student-story-border,#e7ede9);
  border-radius:12px;
  padding:26px 26px 24px;
  box-shadow:0 10px 30px rgba(6,63,44,.07);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ns-student-story-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(6,63,44,.11);
  border-color:rgba(6,63,44,.18);
}
.ns-student-story-quote-icon{
  min-height:20px;
  margin-bottom:8px;
  color:var(--ns-green,#063f2c);
  font-size:22px;
  line-height:1;
  font-weight:900;
}
.ns-story-quote-mark{
  display:inline-flex;
  color:var(--ns-green,#063f2c);
}
.ns-story-quote-mark svg{
  width:20px;
  height:20px;
  fill:currentColor;
}
.ns-student-story-quote{
  margin:0;
  color:var(--ns-student-story-text,#26372f);
  font-size:15px;
  line-height:1.55;
  font-weight:700;
  min-height:96px;
}
.ns-student-story-footer{
  margin-top:22px;
  display:flex;
  align-items:center;
  gap:14px;
}
.ns-student-story-photo{
  flex:0 0 58px;
  width:58px;
  height:58px;
  border-radius:50%;
  object-fit:cover;
  background:#edf5f0;
  border:3px solid #e8f2ec;
}
.ns-student-story-meta{
  min-width:0;
}
.ns-student-story-meta strong{
  display:block;
  color:var(--ns-title,#063f2c);
  font-size:14px;
  line-height:1.2;
  font-weight:900;
}
.ns-student-story-meta span{
  display:block;
  margin-top:4px;
  color:#4f6158;
  font-size:12px;
  line-height:1.35;
  font-weight:600;
}
.ns-student-story-stars{
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:2px;
  color:var(--ns-student-story-star,#f3a51b);
  font-size:14px;
  line-height:1;
  letter-spacing:1px;
}
.ns-student-story-stars .is-empty{
  opacity:.25;
}
.ns-student-carousel-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:8px;
}
.ns-student-carousel-nav .ns-carousel-btn{
  width:40px;
  height:40px;
  border:1px solid rgba(6,63,44,.18);
  border-radius:999px;
  background:#fff;
  color:var(--ns-green,#063f2c);
  font-size:27px;
  line-height:1;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 22px rgba(6,63,44,.09);
  cursor:pointer;
  transition:opacity .2s ease, transform .2s ease, background .2s ease;
}
.ns-student-carousel-nav .ns-carousel-btn:hover{
  transform:translateY(-1px);
  background:#eef8f1;
}
.ns-student-carousel-nav .ns-carousel-btn:disabled{
  opacity:.38;
  cursor:not-allowed;
  transform:none;
}
.ns-student-carousel-nav .ns-carousel-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:58px;
}
.ns-student-carousel-nav .ns-carousel-dot{
  width:7px;
  height:7px;
  border:0;
  padding:0;
  border-radius:999px;
  background:rgba(6,63,44,.24);
  cursor:pointer;
  transition:width .2s ease, background .2s ease;
}
.ns-student-carousel-nav .ns-carousel-dot.is-active{
  width:22px;
  background:var(--ns-green,#063f2c);
}
@media (max-width:1024px){
  .ns-student-story-card{
    flex-basis:calc((100% - 24px) / 2);
  }
}
@media (max-width:767px){
  .ns-student-carousel-section{
    padding:52px 0 56px;
  }
  .ns-student-stories-track{
    gap:16px;
    padding-bottom:16px;
  }
  .ns-student-story-card{
    flex:0 0 100%;
    padding:24px 22px;
  }
  .ns-student-story-card:hover{
    transform:none;
  }
  .ns-student-story-quote{
    min-height:auto;
    font-size:14px;
  }
}
.ns-student-story-quote p{margin:0 0 8px;}
.ns-student-story-quote p:last-child{margin-bottom:0;}

/* Courses Hero Widget */
.ns-courses-hero-wrap{
  position:relative;
  isolation:isolate;
  padding-bottom:34px;
  background:transparent;
}
.ns-courses-hero-main{
  position:relative;
  overflow:hidden;
  background:var(--ns-courses-bg,#063f2c);
  min-height:600px;
  border-radius:0;
}
.ns-courses-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:var(--ns-courses-overlay,linear-gradient(90deg,rgba(2,29,20,.96) 0%,rgba(2,29,20,.96) 40%,rgba(6,63,44,.46) 100%));
  pointer-events:none;
}
.ns-courses-hero-curve{
  position:absolute;
  top:-28%;
  right:-5%;
  width:56%;
  height:150%;
  border-radius:55% 0 0 55% / 50% 0 0 50%;
  background:var(--ns-courses-curve,#ffffff);
  opacity:.18;
  z-index:2;
  pointer-events:none;
}
.ns-courses-hero-image{
  position:absolute;
  top:0;
  right:0;
  width:52%;
  height:100%;
  z-index:3;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  clip-path:ellipse(82% 88% at 74% 50%);
}
.ns-courses-hero-dots{
  position:absolute;
  left:54%;
  bottom:110px;
  width:112px;
  height:92px;
  z-index:4;
  opacity:.55;
  background-image:radial-gradient(rgba(243,165,27,.75) 1.4px,transparent 1.5px);
  background-size:12px 12px;
  pointer-events:none;
}
.ns-courses-hero-inner{
  position:relative;
  z-index:5;
  min-height:600px;
  display:flex;
  align-items:center;
}
.ns-courses-hero-content{
  max-width:585px;
  padding:80px 0 130px;
}
.ns-courses-hero-label{
  display:inline-flex;
  margin-bottom:18px;
  color:var(--ns-courses-accent,#f3a51b);
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ns-courses-hero-title{
  margin:0;
  max-width:610px;
  color:var(--ns-courses-title,#ffffff);
  font-size:clamp(38px,4.65vw,64px);
  line-height:1.14;
  font-weight:900;
  letter-spacing:-.055em;
}
.ns-courses-hero-title span{
  color:var(--ns-courses-highlight,#f3b21b);
}
.ns-courses-hero-text{
  max-width:560px;
  margin:28px 0 0;
  color:var(--ns-courses-text,rgba(255,255,255,.88));
  font-size:17px;
  line-height:1.75;
  font-weight:500;
}
.ns-courses-hero-buttons{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:22px;
  margin-top:38px;
}
.ns-courses-hero-buttons .ns-btn{
  min-height:56px;
  padding:16px 34px;
  border-radius:10px;
  font-size:15px;
}
.ns-courses-hero-buttons .ns-btn-outline{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.18);
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.ns-courses-hero-buttons .ns-btn-outline:hover{
  background:rgba(255,255,255,.1);
}
.ns-courses-hero-features-wrap{
  position:relative;
  z-index:7;
  margin-top:-48px;
}
.ns-courses-hero-features{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  background:var(--ns-courses-panel-bg,#ffffff);
  border-radius:18px;
  box-shadow:0 18px 40px rgba(6,63,44,.12);
  border:1px solid rgba(6,63,44,.08);
  overflow:hidden;
}
.ns-courses-feature-item{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding:32px 28px;
  min-height:178px;
}
.ns-courses-feature-item:not(:last-child):after{
  content:"";
  position:absolute;
  right:0;
  top:34px;
  bottom:34px;
  width:1px;
  background:var(--ns-courses-feature-divider,rgba(6,63,44,.12));
}
.ns-courses-feature-icon{
  width:64px;
  height:64px;
  border-radius:50%;
  flex:0 0 64px;
  display:grid;
  place-items:center;
  background:var(--ns-courses-feature-icon-bg,#063f2c);
  color:var(--ns-courses-feature-icon-color,#ffffff);
  box-shadow:0 8px 18px rgba(6,63,44,.12);
}
.ns-courses-feature-icon svg{
  width:24px;
  height:24px;
  fill:currentColor;
}
.ns-courses-feature-copy{
  min-width:0;
}
.ns-courses-feature-title{
  margin:6px 0 8px;
  color:var(--ns-courses-feature-title,#082f21);
  font-size:17px;
  line-height:1.26;
  font-weight:800;
}
.ns-courses-feature-desc{
  margin:0;
  color:var(--ns-courses-feature-text,#52665c);
  font-size:14px;
  line-height:1.65;
}
@media (max-width:1199px){
  .ns-courses-hero-main,
  .ns-courses-hero-inner{min-height:560px;}
  .ns-courses-hero-image{width:50%;}
  .ns-courses-feature-item{padding:26px 18px;}
}
@media (max-width:1024px){
  .ns-courses-hero-main,
  .ns-courses-hero-inner{min-height:0;}
  .ns-courses-hero-inner{display:block;}
  .ns-courses-hero-content{max-width:540px;padding:62px 0 220px;}
  .ns-courses-hero-title{font-size:clamp(34px,5vw,52px);}
  .ns-courses-hero-image{width:49%;clip-path:ellipse(85% 90% at 76% 50%);}
  .ns-courses-hero-features{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ns-courses-feature-item:nth-child(2n):after{display:none;}
}
@media (max-width:767px){
  .ns-courses-hero-wrap{padding-bottom:22px;}
  .ns-courses-hero-main{min-height:auto;}
  .ns-courses-hero-overlay{background:linear-gradient(180deg,rgba(2,29,20,.97) 0%,rgba(6,63,44,.97) 100%);}
  .ns-courses-hero-curve{display:none;}
  .ns-courses-hero-image{
    position:relative;
    width:100%;
    height:300px;
    clip-path:none;
    margin-top:0;
    background-position:center top;
  }
  .ns-courses-hero-inner{min-height:0;display:block;}
  .ns-courses-hero-content{
    max-width:none;
    text-align:center;
    padding:52px 0 28px;
  }
  .ns-courses-hero-title{font-size:38px;}
  .ns-courses-hero-text{max-width:none;font-size:15px;margin-top:18px;}
  .ns-courses-hero-buttons{justify-content:center;gap:12px;margin-top:28px;}
  .ns-courses-hero-buttons .ns-btn{width:100%;max-width:270px;}
  .ns-courses-hero-dots{left:50%;bottom:236px;transform:translateX(-50%);}
  .ns-courses-hero-features-wrap{margin-top:18px;}
  .ns-courses-hero-features{grid-template-columns:1fr;border-radius:16px;}
  .ns-courses-feature-item{padding:20px 18px;min-height:0;}
  .ns-courses-feature-item:after{display:none;}
}

/* Courses Grid Widget */
.ns-courses-grid-section{
  padding:68px 0 78px;
  background:#fff;
}
.ns-courses-grid-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 36px;
}
.ns-courses-grid-label{
  display:inline-flex;
  margin-bottom:10px;
  color:#f3a51b;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ns-courses-grid-title{
  margin:0;
  color:#063f2c;
  font-size:clamp(30px,3.25vw,42px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.045em;
}
.ns-courses-grid-subtitle{
  margin:12px auto 0;
  color:#52665c;
  font-size:15px;
  line-height:1.65;
  max-width:700px;
}
.ns-courses-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:26px;
}
.ns-course-grid-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-height:336px;
  padding:28px 24px 24px;
  border:1px solid #e5eee8;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(6,63,44,.06);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.ns-course-grid-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 42px rgba(6,63,44,.12);
  border-color:rgba(6,63,44,.18);
}
.ns-course-grid-icon{
  width:88px;
  height:88px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto 22px;
  background:#edf6f0;
  color:#063f2c;
}
.ns-course-grid-icon svg{
  width:42px;
  height:42px;
  fill:currentColor;
}
.ns-course-grid-icon img{
  max-width:58px;
  max-height:58px;
  object-fit:contain;
}
.ns-course-grid-card h3{
  margin:0 0 12px;
  color:#063f2c;
  font-size:18px;
  line-height:1.22;
  font-weight:900;
  letter-spacing:-.025em;
}
.ns-course-grid-card p{
  margin:0;
  color:#3d5148;
  font-size:13px;
  line-height:1.65;
  flex:1 1 auto;
}
.ns-course-grid-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  min-height:44px;
  margin-top:20px;
  padding:10px 16px;
  border:1px solid rgba(6,63,44,.22);
  border-radius:7px;
  color:#063f2c;
  font-size:13px;
  line-height:1;
  font-weight:900;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.ns-course-grid-link:hover{
  background:#063f2c;
  color:#fff!important;
  transform:translateY(-1px);
}
.ns-course-grid-link span{
  font-size:18px;
  line-height:1;
}
@media (max-width:1199px){
  .ns-courses-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:767px){
  .ns-courses-grid-section{padding:52px 0 58px;}
  .ns-courses-grid{grid-template-columns:1fr;gap:18px;}
  .ns-course-grid-card{min-height:0;padding:24px 20px;}
  .ns-course-grid-icon{width:78px;height:78px;margin-bottom:18px;}
  .ns-course-grid-icon svg{width:36px;height:36px;}
}

/* Courses Training Real Jobs Widget */
.ns-training-jobs-section{
  padding:38px 0 72px;
  background:#fff;
}
.ns-training-jobs-box{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:#f7fbf8;
  padding:48px 52px;
  box-shadow:0 14px 38px rgba(6,63,44,.06);
}
.ns-training-jobs-head{
  text-align:center;
  margin:0 auto 40px;
  max-width:860px;
}
.ns-training-jobs-label{
  display:inline-flex;
  margin-bottom:10px;
  color:#f3a51b;
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ns-training-jobs-title{
  margin:0;
  color:#063f2c;
  font-size:clamp(30px,3vw,44px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.04em;
}
.ns-training-jobs-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
}
.ns-training-jobs-item{
  position:relative;
  text-align:center;
  padding:0 30px;
  min-height:232px;
}
.ns-training-jobs-item:not(:last-child):after{
  content:"";
  position:absolute;
  right:0;
  top:18px;
  bottom:18px;
  width:1px;
  background:rgba(6,63,44,.16);
}
.ns-training-jobs-icon{
  width:74px;
  height:74px;
  margin:0 auto 22px;
  display:grid;
  place-items:center;
  color:#063f2c;
}
.ns-training-jobs-icon svg{
  width:64px;
  height:64px;
  fill:currentColor;
}
.ns-training-jobs-icon img{
  max-width:74px;
  max-height:74px;
  object-fit:contain;
}
.ns-training-jobs-item h3{
  margin:0 0 18px;
  color:#063f2c;
  font-size:21px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.02em;
}
.ns-training-jobs-item p{
  max-width:190px;
  margin:0 auto;
  color:#3d5148;
  font-size:16px;
  line-height:1.65;
  font-weight:500;
}
@media (max-width:1199px){
  .ns-training-jobs-box{padding:44px 28px;}
  .ns-training-jobs-item{padding:0 20px;}
}
@media (max-width:1024px){
  .ns-training-jobs-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px;}
  .ns-training-jobs-item{min-height:0;}
  .ns-training-jobs-item:after{display:none;}
}
@media (max-width:767px){
  .ns-training-jobs-section{padding:34px 0 52px;}
  .ns-training-jobs-box{padding:34px 20px;border-radius:16px;}
  .ns-training-jobs-head{margin-bottom:28px;}
  .ns-training-jobs-title{font-size:30px;}
  .ns-training-jobs-grid{grid-template-columns:1fr;gap:28px;}
  .ns-training-jobs-item{padding:0;}
  .ns-training-jobs-icon{margin-bottom:14px;}
  .ns-training-jobs-item h3{font-size:20px;margin-bottom:10px;}
  .ns-training-jobs-item p{font-size:15px;max-width:280px;}
}

/* Placement Hero Widget */
.ns-placement-hero-wrap{
  position:relative;
  isolation:isolate;
  padding-bottom:34px;
  background:transparent;
}
.ns-placement-hero-main{
  position:relative;
  overflow:hidden;
  background:var(--ns-placement-bg,#063f2c);
  min-height:600px;
  border-radius:0;
}
.ns-placement-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:var(--ns-placement-overlay,linear-gradient(90deg,rgba(2,29,20,.96) 0%,rgba(2,29,20,.96) 40%,rgba(6,63,44,.46) 100%));
  pointer-events:none;
}
.ns-placement-hero-curve{
  position:absolute;
  top:-28%;
  right:-5%;
  width:56%;
  height:150%;
  border-radius:55% 0 0 55% / 50% 0 0 50%;
  background:var(--ns-placement-curve,#ffffff);
  opacity:.18;
  z-index:2;
  pointer-events:none;
}
.ns-placement-hero-image{
  position:absolute;
  top:0;
  right:0;
  width:52%;
  height:100%;
  z-index:3;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  clip-path:ellipse(82% 88% at 74% 50%);
}
.ns-placement-hero-dots{
  position:absolute;
  left:54%;
  bottom:110px;
  width:112px;
  height:92px;
  z-index:4;
  opacity:.55;
  background-image:radial-gradient(rgba(243,165,27,.75) 1.4px,transparent 1.5px);
  background-size:12px 12px;
  pointer-events:none;
}
.ns-placement-hero-inner{
  position:relative;
  z-index:5;
  min-height:600px;
  display:flex;
  align-items:center;
}
.ns-placement-hero-content{
  max-width:585px;
  padding:80px 0 130px;
}
.ns-placement-hero-label{
  display:inline-flex;
  margin-bottom:18px;
  color:var(--ns-placement-accent,#f3a51b);
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ns-placement-hero-title{
  margin:0;
  max-width:610px;
  color:var(--ns-placement-title,#ffffff);
  font-size:clamp(38px,4.65vw,64px);
  line-height:1.14;
  font-weight:900;
  letter-spacing:-.055em;
}
.ns-placement-hero-title span{
  color:var(--ns-placement-highlight,#f3b21b);
}
.ns-placement-hero-text{
  max-width:560px;
  margin:28px 0 0;
  color:var(--ns-placement-text,rgba(255,255,255,.88));
  font-size:17px;
  line-height:1.75;
  font-weight:500;
}
.ns-placement-hero-buttons{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:22px;
  margin-top:38px;
}
.ns-placement-hero-buttons .ns-btn{
  min-height:56px;
  padding:16px 34px;
  border-radius:10px;
  font-size:15px;
}
.ns-placement-hero-buttons .ns-btn-outline{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.18);
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.ns-placement-hero-buttons .ns-btn-outline:hover{
  background:rgba(255,255,255,.1);
}
.ns-placement-hero-features-wrap{
  position:relative;
  z-index:7;
  margin-top:-48px;
}
.ns-placement-hero-features{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  background:var(--ns-placement-panel-bg,#ffffff);
  border-radius:18px;
  box-shadow:0 18px 40px rgba(6,63,44,.12);
  border:1px solid rgba(6,63,44,.08);
  overflow:hidden;
}
.ns-placement-feature-item{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding:32px 28px;
  min-height:178px;
}
.ns-placement-feature-item:not(:last-child):after{
  content:"";
  position:absolute;
  right:0;
  top:34px;
  bottom:34px;
  width:1px;
  background:var(--ns-placement-feature-divider,rgba(6,63,44,.12));
}
.ns-placement-feature-icon{
  width:64px;
  height:64px;
  border-radius:50%;
  flex:0 0 64px;
  display:grid;
  place-items:center;
  background:var(--ns-placement-feature-icon-bg,#063f2c);
  color:var(--ns-placement-feature-icon-color,#ffffff);
  box-shadow:0 8px 18px rgba(6,63,44,.12);
}
.ns-placement-feature-icon svg{
  width:24px;
  height:24px;
  fill:currentColor;
}
.ns-placement-feature-copy{
  min-width:0;
}
.ns-placement-feature-title{
  margin:6px 0 8px;
  color:var(--ns-placement-feature-title,#082f21);
  font-size:17px;
  line-height:1.26;
  font-weight:800;
}
.ns-placement-feature-desc{
  margin:0;
  color:var(--ns-placement-feature-text,#52665c);
  font-size:14px;
  line-height:1.65;
}
@media (max-width:1199px){
  .ns-placement-hero-main,
  .ns-placement-hero-inner{min-height:560px;}
  .ns-placement-hero-image{width:50%;}
  .ns-placement-feature-item{padding:26px 18px;}
}
@media (max-width:1024px){
  .ns-placement-hero-main,
  .ns-placement-hero-inner{min-height:0;}
  .ns-placement-hero-inner{display:block;}
  .ns-placement-hero-content{max-width:540px;padding:62px 0 220px;}
  .ns-placement-hero-title{font-size:clamp(34px,5vw,52px);}
  .ns-placement-hero-image{width:49%;clip-path:ellipse(85% 90% at 76% 50%);}
  .ns-placement-hero-features{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ns-placement-feature-item:nth-child(2n):after{display:none;}
}
@media (max-width:767px){
  .ns-placement-hero-wrap{padding-bottom:22px;}
  .ns-placement-hero-main{min-height:auto;}
  .ns-placement-hero-overlay{background:linear-gradient(180deg,rgba(2,29,20,.97) 0%,rgba(6,63,44,.97) 100%);}
  .ns-placement-hero-curve{display:none;}
  .ns-placement-hero-image{
    position:relative;
    width:100%;
    height:300px;
    clip-path:none;
    margin-top:0;
    background-position:center top;
  }
  .ns-placement-hero-inner{min-height:0;display:block;}
  .ns-placement-hero-content{
    max-width:none;
    text-align:center;
    padding:52px 0 28px;
  }
  .ns-placement-hero-title{font-size:38px;}
  .ns-placement-hero-text{max-width:none;font-size:15px;margin-top:18px;}
  .ns-placement-hero-buttons{justify-content:center;gap:12px;margin-top:28px;}
  .ns-placement-hero-buttons .ns-btn{width:100%;max-width:270px;}
  .ns-placement-hero-dots{left:50%;bottom:236px;transform:translateX(-50%);}
  .ns-placement-hero-features-wrap{margin-top:18px;}
  .ns-placement-hero-features{grid-template-columns:1fr;border-radius:16px;}
  .ns-placement-feature-item{padding:20px 18px;min-height:0;}
  .ns-placement-feature-item:after{display:none;}
}


/* Placement Journey Widget */
.ns-placement-journey{
  position:relative;
  padding:72px 0;
  background:#fff;
  overflow:hidden;
}
.ns-placement-journey-head{
  text-align:center;
  max-width:780px;
  margin:0 auto 48px;
}
.ns-placement-journey-label{
  display:inline-flex;
  margin-bottom:12px;
  color:#f3a51b;
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ns-placement-journey-title{
  position:relative;
  margin:0;
  color:#063f2c;
  font-size:clamp(30px,3.5vw,46px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.045em;
}
.ns-placement-journey-title:after{
  content:"";
  display:block;
  width:66px;
  height:3px;
  border-radius:99px;
  background:#063f2c;
  margin:18px auto 0;
}
.ns-placement-journey-subtitle{
  margin:18px auto 0;
  color:#52665c;
  font-size:15px;
  line-height:1.7;
  max-width:650px;
}
.ns-placement-journey-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:78px;
  align-items:stretch;
}
.ns-placement-journey-item{
  position:relative;
}
.ns-placement-journey-item:not(:last-child):after{
  content:"→";
  position:absolute;
  right:-52px;
  top:50%;
  transform:translateY(-50%);
  color:#063f2c;
  font-size:42px;
  line-height:1;
  font-weight:900;
}
.ns-placement-journey-card{
  position:relative;
  min-height:330px;
  height:100%;
  padding:38px 26px 30px;
  border:1px solid rgba(6,63,44,.10);
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 34px rgba(6,63,44,.07);
  text-align:center;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.ns-placement-journey-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 46px rgba(6,63,44,.12);
  border-color:rgba(6,63,44,.18);
}
.ns-placement-journey-icon{
  width:134px;
  height:134px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto 24px;
  background:#eaf5ee;
  color:#063f2c;
}
.ns-placement-journey-icon svg{
  width:58px;
  height:58px;
  fill:currentColor;
}
.ns-placement-journey-number{
  position:absolute;
  left:66px;
  top:154px;
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#063f2c;
  color:#fff;
  font-size:15px;
  font-weight:900;
  box-shadow:0 10px 22px rgba(6,63,44,.22);
}
.ns-placement-journey-card h3{
  margin:0 0 14px;
  color:#063f2c;
  font-size:18px;
  line-height:1.25;
  font-weight:900;
}
.ns-placement-journey-card p{
  margin:0 auto;
  max-width:230px;
  color:#52665c;
  font-size:15px;
  line-height:1.7;
}
@media (max-width:1199px){
  .ns-placement-journey-grid{gap:48px;}
  .ns-placement-journey-item:not(:last-child):after{right:-34px;font-size:34px;}
  .ns-placement-journey-number{left:42px;}
}
@media (max-width:1024px){
  .ns-placement-journey-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
  .ns-placement-journey-item:not(:last-child):after{display:none;}
  .ns-placement-journey-card{min-height:300px;}
  .ns-placement-journey-number{left:calc(50% - 88px);}
}
@media (max-width:767px){
  .ns-placement-journey{padding:52px 0;}
  .ns-placement-journey-head{margin-bottom:30px;}
  .ns-placement-journey-grid{grid-template-columns:1fr;gap:20px;}
  .ns-placement-journey-card{min-height:auto;padding:30px 20px 26px;}
  .ns-placement-journey-icon{width:112px;height:112px;margin-bottom:22px;}
  .ns-placement-journey-icon svg{width:48px;height:48px;}
  .ns-placement-journey-number{left:calc(50% - 75px);top:132px;width:40px;height:40px;font-size:14px;}
}

/* v2.0.34 - Placement Journey exact layout fix */
.ns-placement-journey > .ns-container{
  width:min(1560px,calc(100% - 96px));
}
.ns-placement-journey{
  padding:74px 0 78px;
}
.ns-placement-journey-head{
  margin-bottom:46px;
}
.ns-placement-journey-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:74px;
  align-items:stretch;
}
.ns-placement-journey-card{
  min-height:322px;
  padding:36px 30px 28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  overflow:visible;
}
.ns-placement-journey-icon{
  width:124px;
  height:124px;
  flex:0 0 124px;
  margin:0 auto 24px;
}
.ns-placement-journey-icon svg{
  width:56px;
  height:56px;
}
.ns-placement-journey-title-row{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  margin:0 auto 14px;
  max-width:100%;
}
.ns-placement-journey-number{
  position:static;
  left:auto;
  top:auto;
  width:40px;
  height:40px;
  flex:0 0 40px;
  font-size:14px;
  transform:none;
}
.ns-placement-journey-card h3{
  margin:0;
  font-size:18px;
  line-height:1.2;
  max-width:190px;
  text-align:left;
}
.ns-placement-journey-card p{
  max-width:235px;
  font-size:15px;
  line-height:1.7;
  text-align:center;
}
.ns-placement-journey-item:not(:last-child):after{
  right:-52px;
  top:50%;
  transform:translateY(-50%);
  font-size:42px;
}
@media (max-width:1199px){
  .ns-placement-journey > .ns-container{width:min(1120px,calc(100% - 40px));}
  .ns-placement-journey-grid{gap:42px;}
  .ns-placement-journey-item:not(:last-child):after{right:-32px;font-size:34px;}
  .ns-placement-journey-card{padding-inline:22px;}
}
@media (max-width:1024px){
  .ns-placement-journey > .ns-container{width:calc(100% - 32px);}
  .ns-placement-journey-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
  .ns-placement-journey-item:not(:last-child):after{display:none;}
  .ns-placement-journey-card{min-height:300px;}
}
@media (max-width:767px){
  .ns-placement-journey > .ns-container{width:calc(100% - 28px);}
  .ns-placement-journey{padding:52px 0;}
  .ns-placement-journey-head{margin-bottom:30px;}
  .ns-placement-journey-grid{grid-template-columns:1fr;gap:20px;}
  .ns-placement-journey-card{min-height:auto;padding:30px 20px 26px;}
  .ns-placement-journey-icon{width:112px;height:112px;flex-basis:112px;margin-bottom:20px;}
  .ns-placement-journey-icon svg{width:48px;height:48px;}
  .ns-placement-journey-title-row{gap:11px;min-height:38px;}
  .ns-placement-journey-number{width:38px;height:38px;flex-basis:38px;font-size:13px;}
  .ns-placement-journey-card h3{text-align:left;font-size:18px;}
}


/* v2.0.35 - Match Placement Journey width with Placement Hero feature panel */
.ns-placement-journey > .ns-container{
  width:min(1140px,calc(100% - 40px)) !important;
}
.ns-placement-journey-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:54px !important;
}
.ns-placement-journey-item:not(:last-child):after{
  right:-39px !important;
  font-size:34px !important;
}
.ns-placement-journey-card{
  min-height:320px;
  padding:34px 22px 28px;
}
.ns-placement-journey-icon{
  width:118px;
  height:118px;
  flex-basis:118px;
  margin-bottom:23px;
}
.ns-placement-journey-icon svg{
  width:52px;
  height:52px;
}
.ns-placement-journey-title-row{
  gap:10px;
  min-height:42px;
}
.ns-placement-journey-number{
  width:38px;
  height:38px;
  flex-basis:38px;
  font-size:13px;
}
.ns-placement-journey-card h3{
  max-width:170px;
  font-size:17px;
  line-height:1.18;
}
.ns-placement-journey-card p{
  max-width:205px;
  font-size:14px;
  line-height:1.65;
}
@media (max-width:1199px){
  .ns-placement-journey > .ns-container{width:min(1140px,calc(100% - 40px)) !important;}
  .ns-placement-journey-grid{gap:42px !important;}
  .ns-placement-journey-item:not(:last-child):after{right:-32px !important;font-size:32px !important;}
  .ns-placement-journey-card{padding-inline:18px;}
}
@media (max-width:1024px){
  .ns-placement-journey > .ns-container{width:calc(100% - 32px) !important;}
  .ns-placement-journey-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px !important;}
  .ns-placement-journey-item:not(:last-child):after{display:none;}
}
@media (max-width:767px){
  .ns-placement-journey > .ns-container{width:calc(100% - 28px) !important;}
  .ns-placement-journey-grid{grid-template-columns:1fr;gap:20px !important;}
}

/* Career Fields Widget */
.ns-career-fields-section{
  position:relative;
  padding:64px 0 68px;
  background:#fff;
  overflow:hidden;
}
.ns-career-fields-head{
  text-align:center;
  max-width:900px;
  margin:0 auto 26px;
}
.ns-career-fields-label{
  display:inline-flex;
  margin-bottom:9px;
  color:#f3a51b;
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ns-career-fields-title{
  margin:0;
  color:#063f2c;
  font-size:clamp(28px,3.3vw,42px);
  line-height:1.16;
  font-weight:900;
  letter-spacing:-.035em;
}
.ns-career-fields-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:24px 28px;
}
.ns-career-field-card{
  min-height:154px;
  padding:28px 20px 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#fff;
  border:1px solid #e5eee8;
  border-radius:14px;
  box-shadow:0 12px 28px rgba(6,63,44,.06);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.ns-career-field-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 40px rgba(6,63,44,.1);
  border-color:rgba(6,63,44,.18);
}
.ns-career-field-icon{
  height:70px;
  margin:0 0 13px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#063f2c;
}
.ns-career-field-icon svg{
  width:62px;
  height:62px;
  fill:currentColor;
}
.ns-career-field-icon img{
  max-width:72px;
  max-height:72px;
  object-fit:contain;
}
.ns-career-field-card h3{
  margin:0;
  color:#063f2c;
  font-size:18px;
  line-height:1.24;
  font-weight:900;
  letter-spacing:-.02em;
}
@media (max-width:1024px){
  .ns-career-fields-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
}
@media (max-width:767px){
  .ns-career-fields-section{padding:48px 0;}
  .ns-career-fields-head{margin-bottom:22px;}
  .ns-career-fields-grid{grid-template-columns:1fr;gap:16px;}
  .ns-career-field-card{min-height:132px;padding:22px 18px;}
}

/* Contact Hero Widget */
.ns-contact-hero-wrap{
  position:relative;
  isolation:isolate;
  padding-bottom:34px;
  background:#fff;
}
.ns-contact-hero-main{
  position:relative;
  overflow:hidden;
  min-height:620px;
  background:var(--ns-contact-bg,#063f2c);
}
.ns-contact-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:var(--ns-contact-overlay,linear-gradient(90deg,rgba(2,29,20,.96) 0%,rgba(2,29,20,.96) 39%,rgba(6,63,44,.42) 100%));
  pointer-events:none;
}
.ns-contact-hero-curve{
  position:absolute;
  top:-34%;
  right:36%;
  width:45%;
  height:162%;
  z-index:2;
  border-radius:0 55% 55% 0 / 0 50% 50% 0;
  background:var(--ns-contact-curve,#ffffff);
  opacity:.15;
  pointer-events:none;
}
.ns-contact-hero-image{
  position:absolute;
  top:0;
  right:0;
  width:58%;
  height:100%;
  z-index:3;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  clip-path:ellipse(82% 92% at 80% 50%);
}
.ns-contact-hero-dots{
  position:absolute;
  left:35%;
  bottom:172px;
  width:118px;
  height:104px;
  z-index:4;
  opacity:.55;
  background-image:radial-gradient(rgba(243,165,27,.8) 1.4px,transparent 1.5px);
  background-size:12px 12px;
  pointer-events:none;
}
.ns-contact-hero-inner{
  position:relative;
  z-index:5;
  min-height:620px;
  display:flex;
  align-items:center;
}
.ns-contact-hero-content{
  max-width:570px;
  padding:72px 0 135px;
}
.ns-contact-hero-label{
  display:inline-flex;
  margin-bottom:14px;
  color:var(--ns-contact-accent,#f3a51b);
  font-size:15px;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ns-contact-hero-title{
  margin:0;
  max-width:620px;
  color:var(--ns-contact-title,#ffffff);
  font-size:clamp(38px,4.45vw,62px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.05em;
}
.ns-contact-hero-title span{
  color:var(--ns-contact-highlight,#f3b21b);
}
.ns-contact-hero-text{
  max-width:560px;
  margin:24px 0 0;
  color:var(--ns-contact-text,rgba(255,255,255,.88));
  font-size:17px;
  line-height:1.72;
  font-weight:500;
}
.ns-contact-hero-buttons{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:24px;
  margin-top:34px;
}
.ns-contact-hero-buttons .ns-btn{
  min-height:58px;
  padding:17px 32px;
  border-radius:8px;
  font-size:16px;
}
.ns-contact-hero-buttons .ns-btn .ns-btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:3px;
}
.ns-contact-hero-buttons .ns-btn-outline{
  color:#fff!important;
  border-color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.05);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.ns-contact-hero-buttons .ns-btn-outline:hover{
  background:rgba(255,255,255,.12);
}
.ns-contact-hero-phone{
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-top:32px;
  color:#fff!important;
}
.ns-contact-hero-phone-icon{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--ns-contact-phone-icon-color,#063f2c);
  background:var(--ns-contact-phone-icon-bg,#f3c21b);
  box-shadow:0 12px 26px rgba(0,0,0,.16);
}
.ns-contact-hero-phone-icon svg{
  width:24px;
  height:24px;
  fill:currentColor;
}
.ns-contact-hero-phone strong{
  display:block;
  color:#fff;
  font-size:clamp(26px,2.6vw,40px);
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
}
.ns-contact-hero-info-wrap{
  position:relative;
  z-index:9;
  margin-top:-60px;
}
.ns-contact-hero-info{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  overflow:hidden;
  background:var(--ns-contact-panel-bg,#ffffff);
  border:1px solid rgba(6,63,44,.09);
  border-radius:18px;
  box-shadow:0 18px 44px rgba(6,63,44,.12);
}
.ns-contact-info-item{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-height:250px;
  padding:34px 24px 28px;
  color:inherit;
}
.ns-contact-info-item:not(:last-child):after{
  content:"";
  position:absolute;
  right:0;
  top:50px;
  bottom:50px;
  width:1px;
  background:var(--ns-contact-divider,rgba(6,63,44,.14));
}
.ns-contact-info-icon{
  width:66px;
  height:66px;
  flex:0 0 66px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--ns-contact-info-icon-bg,#063f2c);
  color:var(--ns-contact-info-icon-color,#fff);
  box-shadow:0 10px 22px rgba(6,63,44,.15);
  margin-bottom:18px;
}
.ns-contact-info-icon svg{
  width:26px;
  height:26px;
  fill:currentColor;
}
.ns-contact-info-title{
  margin:0 0 9px;
  color:var(--ns-contact-info-title,#063f2c);
  font-size:20px;
  line-height:1.2;
  font-weight:900;
}
.ns-contact-info-highlight{
  display:block;
  margin:0 0 10px;
  color:#091f17;
  font-size:21px;
  line-height:1.2;
  font-weight:900;
}
.ns-contact-info-desc{
  margin:0;
  color:var(--ns-contact-info-text,#2d3934);
  font-size:15px;
  line-height:1.62;
}
@media (max-width:1199px){
  .ns-contact-hero-main,.ns-contact-hero-inner{min-height:580px;}
  .ns-contact-hero-content{max-width:520px;}
  .ns-contact-info-item{padding-inline:18px;}
}
@media (max-width:1024px){
  .ns-contact-hero-main,.ns-contact-hero-inner{min-height:0;}
  .ns-contact-hero-inner{display:block;}
  .ns-contact-hero-content{max-width:520px;padding:60px 0 180px;}
  .ns-contact-hero-image{width:50%;}
  .ns-contact-hero-info{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ns-contact-info-item:nth-child(2n):after{display:none;}
  .ns-contact-info-item{min-height:220px;}
}
@media (max-width:767px){
  .ns-contact-hero-wrap{padding-bottom:22px;}
  .ns-contact-hero-main{min-height:auto;}
  .ns-contact-hero-overlay{background:linear-gradient(180deg,rgba(2,29,20,.97) 0%,rgba(6,63,44,.97) 100%);}
  .ns-contact-hero-curve{display:none;}
  .ns-contact-hero-image{
    position:relative;
    width:100%;
    height:315px;
    clip-path:none;
    background-position:center top;
  }
  .ns-contact-hero-inner{display:block;min-height:0;}
  .ns-contact-hero-content{
    max-width:none;
    text-align:center;
    padding:52px 0 32px;
  }
  .ns-contact-hero-title{font-size:36px;}
  .ns-contact-hero-text{font-size:15px;margin-top:18px;}
  .ns-contact-hero-buttons{justify-content:center;gap:12px;margin-top:26px;}
  .ns-contact-hero-buttons .ns-btn{width:100%;max-width:270px;}
  .ns-contact-hero-phone{justify-content:center;margin-top:26px;gap:12px;}
  .ns-contact-hero-phone-icon{width:46px;height:46px;flex-basis:46px;}
  .ns-contact-hero-phone strong{font-size:26px;line-height:1.2;text-align:left;}
  .ns-contact-hero-dots{left:50%;bottom:245px;transform:translateX(-50%);}
  .ns-contact-hero-info-wrap{margin-top:18px;}
  .ns-contact-hero-info{grid-template-columns:1fr;border-radius:16px;}
  .ns-contact-info-item{min-height:0;padding:24px 18px;}
  .ns-contact-info-item:after{display:none;}
}

/* v2.0.38 - Contact Hero precision fix */
.ns-contact-hero-wrap{
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding-bottom:42px;
  background:#fff;
  overflow:hidden;
}
.ns-contact-hero-main{
  min-height:520px;
  background:var(--ns-contact-bg,#063f2c);
}
.ns-contact-hero-overlay{
  background:var(--ns-contact-overlay,linear-gradient(90deg,rgba(2,29,20,.97) 0%,rgba(3,49,34,.96) 42%,rgba(6,63,44,.38) 100%));
  z-index:1;
}
.ns-contact-hero-curve{
  top:-34%;
  right:31.5%;
  width:42%;
  height:168%;
  border-radius:0 58% 58% 0 / 0 50% 50% 0;
  background:var(--ns-contact-curve,#ffffff);
  opacity:.16;
  z-index:2;
}
.ns-contact-hero-image{
  width:57%;
  height:100%;
  background-position:center center;
  background-size:cover;
  clip-path:ellipse(82% 94% at 80% 50%);
  z-index:3;
}
.ns-contact-hero-dots{
  left:39.5%;
  bottom:160px;
  width:120px;
  height:104px;
  z-index:4;
}
.ns-contact-hero-inner{
  width:min(1208px,calc(100% - 120px));
  min-height:520px;
  margin-inline:auto;
  display:flex;
  align-items:center;
}
.ns-contact-hero-content{
  max-width:510px;
  padding:48px 0 118px;
}
.ns-contact-hero-label{
  margin-bottom:14px;
  font-size:14px;
  letter-spacing:.07em;
}
.ns-contact-hero-title{
  max-width:530px;
  font-size:clamp(38px,3.65vw,54px);
  line-height:1.15;
  letter-spacing:-.022em;
  word-spacing:normal;
}
.ns-contact-hero-title br{
  display:block;
}
.ns-contact-hero-title span{
  display:inline;
  color:var(--ns-contact-highlight,#f3b21b);
}
.ns-contact-hero-text{
  max-width:500px;
  margin-top:20px;
  font-size:16px;
  line-height:1.68;
}
.ns-contact-hero-buttons{
  gap:22px;
  margin-top:28px;
}
.ns-contact-hero-buttons .ns-btn{
  min-height:54px;
  padding:16px 28px;
  border-radius:8px;
  font-size:15px;
}
.ns-contact-hero-phone{
  margin-top:28px;
  gap:16px;
}
.ns-contact-hero-phone-icon{
  width:48px;
  height:48px;
  flex-basis:48px;
}
.ns-contact-hero-phone-icon svg{
  width:21px;
  height:21px;
}
.ns-contact-hero-phone strong{
  font-size:clamp(28px,2.2vw,36px);
  letter-spacing:.01em;
}
.ns-contact-hero-info-wrap{
  width:min(1208px,calc(100% - 120px));
  margin-inline:auto;
  margin-top:-58px;
}
.ns-contact-hero-info{
  width:100%;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-radius:15px;
  overflow:hidden;
}
.ns-contact-info-item{
  min-height:238px;
  padding:28px 28px 24px;
}
.ns-contact-info-icon{
  width:62px;
  height:62px;
  flex-basis:62px;
  margin-bottom:15px;
}
.ns-contact-info-title{
  font-size:19px;
  margin-bottom:8px;
}
.ns-contact-info-highlight{
  max-width:100%;
  overflow-wrap:anywhere;
  font-size:20px;
  line-height:1.18;
  margin-bottom:8px;
}
.ns-contact-info-desc{
  font-size:14px;
  line-height:1.52;
}
@media (max-width:1199px){
  .ns-contact-hero-inner,.ns-contact-hero-info-wrap{width:min(1080px,calc(100% - 48px));}
  .ns-contact-hero-title{font-size:46px;}
  .ns-contact-hero-content{max-width:470px;}
  .ns-contact-info-item{padding-inline:18px;}
}
@media (max-width:1024px){
  .ns-contact-hero-main{min-height:0;}
  .ns-contact-hero-inner{min-height:0;display:block;}
  .ns-contact-hero-content{max-width:500px;padding:54px 0 160px;}
  .ns-contact-hero-image{width:51%;}
  .ns-contact-hero-info-wrap{margin-top:-44px;}
  .ns-contact-hero-info{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ns-contact-info-item:nth-child(2n):after{display:none;}
}
@media (max-width:767px){
  .ns-contact-hero-wrap{
    width:100%;
    margin-left:0;
    margin-right:0;
    padding-bottom:24px;
  }
  .ns-contact-hero-main{min-height:auto;}
  .ns-contact-hero-overlay{background:linear-gradient(180deg,rgba(2,29,20,.97) 0%,rgba(6,63,44,.97) 100%);}
  .ns-contact-hero-curve{display:none;}
  .ns-contact-hero-image{position:relative;width:100%;height:305px;clip-path:none;background-position:center center;}
  .ns-contact-hero-inner,.ns-contact-hero-info-wrap{width:calc(100% - 28px);}
  .ns-contact-hero-content{max-width:none;text-align:center;padding:48px 0 30px;}
  .ns-contact-hero-title{font-size:35px;line-height:1.14;}
  .ns-contact-hero-text{font-size:15px;margin-top:18px;}
  .ns-contact-hero-buttons{justify-content:center;gap:12px;margin-top:26px;}
  .ns-contact-hero-buttons .ns-btn{width:100%;max-width:270px;}
  .ns-contact-hero-phone{justify-content:center;margin-top:24px;gap:12px;}
  .ns-contact-hero-phone strong{font-size:25px;line-height:1.2;text-align:left;}
  .ns-contact-hero-dots{left:50%;bottom:238px;transform:translateX(-50%);}
  .ns-contact-hero-info-wrap{margin-top:18px;}
  .ns-contact-hero-info{grid-template-columns:1fr;border-radius:16px;}
  .ns-contact-info-item{min-height:0;padding:24px 18px;}
  .ns-contact-info-item:after{display:none;}
}

/* v2.0.39 contact hero width alignment fix */
.ns-contact-hero-inner,
.ns-contact-hero-info-wrap{
  width:min(1320px,calc(100% - 64px)) !important;
}
.ns-contact-hero-content{
  max-width:540px !important;
}
.ns-contact-hero-main{
  min-height:560px;
}
.ns-contact-hero-inner{
  min-height:560px;
}
@media (max-width:1199px){
  .ns-contact-hero-inner,
  .ns-contact-hero-info-wrap{
    width:min(1180px,calc(100% - 40px)) !important;
  }
}
@media (max-width:1024px){
  .ns-contact-hero-inner,
  .ns-contact-hero-info-wrap{
    width:calc(100% - 36px) !important;
  }
}
@media (max-width:767px){
  .ns-contact-hero-inner,
  .ns-contact-hero-info-wrap{
    width:calc(100% - 28px) !important;
  }
}


/* v2.0.40 Contact Hero final container-width correction
   Aligns the hero text and bottom contact panel to the same centered site width as the header. */
.ns-contact-hero-wrap{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  overflow:hidden !important;
}
.ns-contact-hero-inner,
.ns-contact-hero-info-wrap{
  width:min(1080px,calc(100% - 40px)) !important;
  max-width:1080px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.ns-contact-hero-main,
.ns-contact-hero-inner{
  min-height:560px !important;
}
.ns-contact-hero-content{
  max-width:500px !important;
  padding:54px 0 122px !important;
}
.ns-contact-hero-info-wrap{
  margin-top:-58px !important;
}
.ns-contact-hero-info{
  width:100% !important;
}
.ns-contact-hero-image{
  width:55% !important;
  background-position:center center !important;
}
@media (min-width:1200px){
  .ns-contact-hero-title{
    font-size:52px !important;
  }
}
@media (max-width:1199px){
  .ns-contact-hero-inner,
  .ns-contact-hero-info-wrap{
    width:min(1080px,calc(100% - 36px)) !important;
  }
}
@media (max-width:1024px){
  .ns-contact-hero-inner,
  .ns-contact-hero-info-wrap{
    width:calc(100% - 36px) !important;
    max-width:none !important;
  }
  .ns-contact-hero-main,
  .ns-contact-hero-inner{
    min-height:0 !important;
  }
  .ns-contact-hero-content{
    padding:54px 0 160px !important;
  }
}
@media (max-width:767px){
  .ns-contact-hero-wrap{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .ns-contact-hero-inner,
  .ns-contact-hero-info-wrap{
    width:calc(100% - 28px) !important;
  }
  .ns-contact-hero-content{
    padding:48px 0 30px !important;
  }
}

/* v2.0.41 Contact Hero precise visual alignment fix
   Expands the hero copy and contact panel to align with the header/site edges instead of sitting inset. */
@media (min-width:1025px){
  .ns-contact-hero-inner,
  .ns-contact-hero-info-wrap{
    width:min(1080px,calc(100% - 40px)) !important;
    max-width:1080px !important;
  }
  .ns-contact-hero-content{
    position:relative !important;
    left:-24px !important;
    max-width:540px !important;
  }
  .ns-contact-hero-info{
    width:calc(100% + 48px) !important;
    margin-left:-24px !important;
    margin-right:-24px !important;
  }
}
@media (min-width:1200px){
  .ns-contact-hero-title{
    font-size:52px !important;
    line-height:1.14 !important;
  }
  .ns-contact-hero-text{
    max-width:540px !important;
  }
}
@media (max-width:1024px){
  .ns-contact-hero-content{
    left:auto !important;
  }
  .ns-contact-hero-info{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* Contact Form + Information Widget */
.ns-contact-form-info-section{
  position:relative;
  background:var(--ns-contact-form-section-bg,#ffffff);
  padding:70px 0;
  overflow:hidden;
}
.ns-contact-form-info-grid{
  width:min(1240px,calc(100% - 40px));
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:28px;
  align-items:stretch;
}
.ns-contact-form-card,
.ns-contact-info-box{
  border-radius:16px;
  min-height:430px;
}
.ns-contact-form-card{
  background:var(--ns-contact-form-box-bg,#ffffff);
  border:1px solid rgba(6,63,44,.09);
  box-shadow:0 12px 34px rgba(6,63,44,.08);
  padding:34px 30px 32px;
}
.ns-contact-form-label{
  display:inline-flex;
  margin-bottom:10px;
  color:var(--ns-contact-form-accent,#f3a51b);
  font-size:13px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  line-height:1;
}
.ns-contact-form-title{
  position:relative;
  margin:0 0 34px;
  color:var(--ns-contact-form-title,#063f2c);
  font-size:clamp(28px,2.6vw,38px);
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.035em;
}
.ns-contact-form-title:after,
.ns-contact-info-box-title:after{
  content:"";
  display:block;
  width:40px;
  height:3px;
  margin-top:16px;
  border-radius:99px;
  background:var(--ns-contact-form-accent,#f3a51b);
}
.ns-contact-form-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 24px;
}
.ns-contact-form-fields label{
  display:block;
  margin:0;
}
.ns-contact-form-fields input,
.ns-contact-form-fields select,
.ns-contact-form-fields textarea{
  width:100%;
  min-height:58px;
  border:1px solid var(--ns-contact-form-input-border,#e1e8e4);
  border-radius:9px;
  background:#fff;
  color:var(--ns-contact-form-input-text,#2d3f36);
  font-family:inherit;
  font-size:15px;
  font-weight:600;
  line-height:1.4;
  padding:17px 18px;
  outline:none;
  box-shadow:inset 0 1px 2px rgba(6,63,44,.03);
  transition:border-color .22s ease,box-shadow .22s ease;
}
.ns-contact-form-fields input::placeholder,
.ns-contact-form-fields textarea::placeholder{
  color:var(--ns-contact-form-input-text,#2d3f36);
  opacity:.78;
}
.ns-contact-form-fields select{
  appearance:auto;
}
.ns-contact-form-fields input:focus,
.ns-contact-form-fields select:focus,
.ns-contact-form-fields textarea:focus{
  border-color:var(--ns-contact-form-accent,#f3a51b);
  box-shadow:0 0 0 3px rgba(243,165,27,.14);
}
.ns-contact-form-message{
  grid-column:1/-1;
}
.ns-contact-form-fields textarea{
  min-height:118px;
  resize:vertical;
}
.ns-contact-form-submit{
  width:100%;
  min-height:60px;
  margin-top:22px;
  border:0;
  border-radius:8px;
  background:var(--ns-contact-form-button-bg,#d71920);
  color:var(--ns-contact-form-button-color,#ffffff);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-family:inherit;
  font-size:16px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(215,25,32,.22);
  transition:transform .22s ease,box-shadow .22s ease;
}
.ns-contact-form-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(215,25,32,.28);
}
.ns-contact-form-submit svg{
  width:18px;
  height:18px;
  fill:currentColor;
}
.ns-contact-info-box{
  position:relative;
  overflow:hidden;
  padding:36px 34px;
  background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.08),transparent 30%),linear-gradient(135deg,rgba(3,36,25,.98),var(--ns-contact-info-box-bg,#063f2c));
  color:var(--ns-contact-info-text,#ffffff);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 42px rgba(6,63,44,.18);
}
.ns-contact-info-box:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1px);
  background-size:14px 14px;
  pointer-events:none;
}
.ns-contact-info-box-title{
  position:relative;
  z-index:1;
  margin:0 0 20px;
  color:var(--ns-contact-info-title,#ffffff);
  font-size:clamp(27px,2.3vw,36px);
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.035em;
}
.ns-contact-info-list{
  position:relative;
  z-index:1;
}
.ns-contact-info-row{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:20px 0;
  border-top:1px solid rgba(255,255,255,.16);
}
.ns-contact-info-row:first-child{
  padding-top:10px;
}
.ns-contact-info-row-icon{
  width:64px;
  height:64px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--ns-contact-info-icon-bg,#ffffff);
  color:var(--ns-contact-info-icon-color,#063f2c);
  box-shadow:0 12px 26px rgba(0,0,0,.18);
}
.ns-contact-info-row-icon svg{
  width:26px;
  height:26px;
  fill:currentColor;
}
.ns-contact-info-row-label{
  display:block;
  margin-bottom:4px;
  color:var(--ns-contact-info-label,#f3a51b);
  font-size:14px;
  line-height:1.25;
  font-weight:900;
}
.ns-contact-info-row-highlight{
  display:block;
  color:var(--ns-contact-info-text,#ffffff);
  font-size:clamp(18px,1.7vw,28px);
  line-height:1.22;
  font-weight:900;
  word-break:break-word;
}
.ns-contact-info-row-desc{
  margin:4px 0 0;
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.55;
}
@media (max-width:1024px){
  .ns-contact-form-info-grid{
    grid-template-columns:1fr;
    gap:22px;
  }
  .ns-contact-form-card,
  .ns-contact-info-box{
    min-height:0;
  }
}
@media (max-width:767px){
  .ns-contact-form-info-section{
    padding:46px 0;
  }
  .ns-contact-form-info-grid{
    width:calc(100% - 28px);
  }
  .ns-contact-form-card,
  .ns-contact-info-box{
    padding:26px 18px;
    border-radius:14px;
  }
  .ns-contact-form-fields{
    grid-template-columns:1fr;
    gap:14px;
  }
  .ns-contact-info-row{
    grid-template-columns:58px minmax(0,1fr);
    gap:14px;
  }
  .ns-contact-info-row-icon{
    width:52px;
    height:52px;
  }
  .ns-contact-info-row-icon svg{
    width:22px;
    height:22px;
  }
  .ns-contact-info-row-highlight{
    font-size:20px;
  }
}

/* v2.0.43 Contact Form Email Sending */
.ns-contact-form-hp{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.ns-contact-form-submit:disabled{
  opacity:.72;
  cursor:not-allowed;
  transform:none!important;
}
.ns-contact-form-response{
  display:none;
  margin-top:14px;
  padding:12px 14px;
  border-radius:10px;
  font-size:14px;
  line-height:1.45;
  font-weight:700;
}
.ns-contact-form-response.is-success,
.ns-contact-form-response.is-error{
  display:block;
}
.ns-contact-form-response.is-success{
  background:#edf8f1;
  color:#063f2c;
  border:1px solid rgba(6,63,44,.16);
}
.ns-contact-form-response.is-error{
  background:#fff1f1;
  color:#b31318;
  border:1px solid rgba(215,25,32,.18);
}

/* v2.0.44 Course Talk Cards Widget */
.ns-course-talk{
  position:relative;
  background:var(--ns-course-talk-bg,#ffffff);
  padding:64px 0;
  overflow:hidden;
}
.ns-course-talk-head{
  text-align:center;
  max-width:900px;
  margin:0 auto 28px;
}
.ns-course-talk-head > span{
  display:block;
  margin-bottom:8px;
  color:var(--ns-course-talk-label,#f3a51b);
  font-size:13px;
  font-weight:900;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ns-course-talk-title{
  margin:0;
  color:var(--ns-course-talk-title,#063f2c);
  font-size:clamp(28px,3vw,40px);
  line-height:1.16;
  font-weight:900;
  letter-spacing:-.035em;
}
.ns-course-talk-head i{
  display:block;
  width:54px;
  height:3px;
  margin:14px auto 0;
  background:var(--ns-course-talk-underline,#063f2c);
  border-radius:999px;
  font-style:normal;
}
.ns-course-talk-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.ns-course-talk-card{
  min-height:286px;
  padding:32px 28px 28px;
  text-align:center;
  background:var(--ns-course-talk-card-bg,#ffffff);
  border:1px solid var(--ns-course-talk-card-border,#e3ece7);
  border-radius:8px;
  box-shadow:0 12px 28px rgba(6,63,44,.055);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ns-course-talk-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 42px rgba(6,63,44,.10);
  border-color:rgba(6,63,44,.18);
}
.ns-course-talk-icon{
  width:92px;
  height:92px;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--ns-course-talk-icon-bg,#eaf4ec);
  color:var(--ns-course-talk-icon,#063f2c);
}
.ns-course-talk-icon svg{
  width:44px;
  height:44px;
  fill:currentColor;
}
.ns-course-talk-card h3{
  margin:0 0 14px;
  color:var(--ns-course-talk-card-title,#063f2c);
  font-size:19px;
  line-height:1.22;
  font-weight:900;
  letter-spacing:-.02em;
}
.ns-course-talk-card p{
  margin:0 auto;
  max-width:245px;
  color:var(--ns-course-talk-card-text,#52665c);
  font-size:15px;
  line-height:1.62;
  font-weight:500;
}
@media (max-width:1024px){
  .ns-course-talk-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767px){
  .ns-course-talk{padding:50px 0;}
  .ns-course-talk-grid{grid-template-columns:1fr;gap:18px;}
  .ns-course-talk-card{min-height:0;padding:28px 22px;}
}

/* Active header menu state: automatically highlighted based on current page URL. */
.ns-header .ns-nav-item.active > .ns-nav-link,
.ns-header .ns-nav-link.active,
.ns-header .ns-nav-link[aria-current="page"]{
  color:var(--ns-red)!important;
}
.ns-header .ns-nav-item.active > .ns-nav-link:after,
.ns-header .ns-nav-link.active:after,
.ns-header .ns-nav-link[aria-current="page"]:after{
  width:100%;
  background:var(--ns-red);
}
.ns-header .ns-nav-item.active > .ns-submenu-toggle{
  color:var(--ns-red)!important;
}
.ns-header .ns-submenu a.active,
.ns-header .ns-submenu a[aria-current="page"]{
  background:#eef8f1;
  color:var(--ns-red)!important;
}



/* Sleek global typography refinement - v2.0.46
   Purpose: reduce oversized/heavy text across all North Star Elementor widgets
   while preserving layout, colours, active menu state and responsiveness. */
.north-star-widget{
  font-family:'Inter','Poppins',Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.62!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.north-star-widget h1,
.north-star-widget h2,
.north-star-widget h3,
.north-star-widget h4,
.north-star-widget h5,
.north-star-widget h6{
  font-family:'Inter','Poppins',Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:-.026em!important;
}
.north-star-widget p,
.north-star-widget li,
.north-star-widget small,
.north-star-widget span,
.north-star-widget label,
.north-star-widget input,
.north-star-widget textarea,
.north-star-widget select{
  font-family:'Inter','Poppins',Arial,sans-serif!important;
}
.north-star-widget p,
.north-star-widget li,
.north-star-widget small{
  font-weight:400!important;
}
.north-star-widget strong,
.north-star-widget b{
  font-weight:700!important;
}

/* Navigation and buttons: cleaner, less chunky. */
.ns-header .ns-nav-link,
.ns-nav-link{
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:-.005em!important;
}
.ns-btn,
.ns-course-grid-link,
.ns-mini-link,
.ns-contact-form-submit{
  font-size:12.5px!important;
  font-weight:700!important;
  letter-spacing:-.006em!important;
}
.ns-btn-small{font-size:12px!important;}

/* Small section labels. */
.ns-kicker,
.ns-hero-label,
.ns-about-hero-label,
.ns-about-bridge-label,
.ns-about-purpose-label,
.ns-about-strength-label,
.ns-process-label,
.ns-career-fields-label,
.ns-courses-hero-label,
.ns-courses-grid-label,
.ns-training-jobs-label,
.ns-placement-hero-label,
.ns-placement-journey-label,
.ns-contact-hero-label,
.ns-student-carousel-label,
.ns-course-talk-head > span{
  font-size:10.5px!important;
  line-height:1.05!important;
  font-weight:700!important;
  letter-spacing:.11em!important;
}

/* Hero titles: still strong, but less loud. */
.ns-hero-title,
.ns-courses-hero-title,
.ns-placement-hero-title,
.ns-contact-hero-title,
.ns-about-hero-title{
  font-size:clamp(36px,4.05vw,52px)!important;
  line-height:1.09!important;
  font-weight:700!important;
  letter-spacing:-.038em!important;
}
.ns-hero-content p,
.ns-courses-hero-text,
.ns-placement-hero-text,
.ns-contact-hero-text,
.ns-about-hero-text{
  font-size:15px!important;
  line-height:1.72!important;
  font-weight:400!important;
}

/* Section headings across all pages. */
.ns-section-head h2,
.ns-about-bridge-title,
.ns-about-purpose-title,
.ns-about-strength-title,
.ns-process-title,
.ns-career-fields-title,
.ns-courses-grid-title,
.ns-training-jobs-title,
.ns-placement-journey-title,
.ns-contact-form-title,
.ns-contact-info-title,
.ns-student-carousel-title,
.ns-course-talk-title{
  font-size:clamp(26px,2.55vw,36px)!important;
  line-height:1.18!important;
  font-weight:700!important;
  letter-spacing:-.032em!important;
}
.ns-section-head p,
.ns-courses-grid-subtitle,
.ns-placement-journey-subtitle,
.ns-student-carousel-subtitle,
.ns-contact-info-desc,
.ns-about-bridge-text{
  font-size:14px!important;
  line-height:1.68!important;
  font-weight:400!important;
}

/* Cards and feature titles. */
.ns-card h3,
.ns-role-card h3,
.ns-step-card h3,
.ns-payment-card h3,
.ns-trust-card h3,
.ns-training-card h3,
.ns-success-card h3,
.ns-purpose-card h3,
.ns-strength-card h3,
.ns-career-field-card h3,
.ns-course-grid-card h3,
.ns-training-jobs-item h3,
.ns-courses-feature-title,
.ns-placement-feature-title,
.ns-placement-journey-card h3,
.ns-contact-info-box-title,
.ns-contact-info-row-label,
.ns-student-story-meta strong,
.ns-reviewer strong,
.ns-course-talk-card h3,
.ns-footer-col h3{
  font-size:16px!important;
  line-height:1.28!important;
  font-weight:700!important;
  letter-spacing:-.018em!important;
}
.ns-courses-feature-title,
.ns-placement-feature-title,
.ns-contact-info-row-label{font-size:15px!important;}
.ns-footer-col h3{font-size:14px!important;letter-spacing:0!important;}

/* Card/body copy. */
.ns-card p,
.ns-course-grid-card p,
.ns-training-jobs-item p,
.ns-courses-feature-desc,
.ns-placement-feature-desc,
.ns-placement-journey-card p,
.ns-process-step-text,
.ns-success-card blockquote,
.ns-review-card p,
.ns-student-story-quote,
.ns-course-talk-card p,
.ns-contact-info-row-desc,
.ns-contact-info-row-highlight,
.ns-contact-info-highlight,
.ns-footer-brand p,
.ns-footer-col li,
.ns-footer-bottom{
  font-size:13px!important;
  line-height:1.62!important;
  font-weight:400!important;
}
.ns-training-jobs-item p{font-size:14px!important;}
.ns-footer-bottom{font-size:12px!important;}

/* Numbers, stats and badges: lighter visual weight. */
.ns-floating-stat strong,
.ns-placement-journey-number,
.ns-about-stat-heading,
.ns-rating strong,
.ns-bottom-banner strong{
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.ns-hero-trust-item strong,
.ns-courses-feature-title,
.ns-placement-feature-title{
  font-weight:700!important;
}
.ns-hero-trust-item small,
.ns-courses-feature-desc,
.ns-placement-feature-desc{
  font-weight:400!important;
}

@media (max-width:1024px){
  .ns-hero-title,
  .ns-courses-hero-title,
  .ns-placement-hero-title,
  .ns-contact-hero-title,
  .ns-about-hero-title{
    font-size:clamp(32px,5.2vw,44px)!important;
  }
  .ns-section-head h2,
  .ns-about-bridge-title,
  .ns-about-purpose-title,
  .ns-about-strength-title,
  .ns-process-title,
  .ns-career-fields-title,
  .ns-courses-grid-title,
  .ns-training-jobs-title,
  .ns-placement-journey-title,
  .ns-contact-form-title,
  .ns-contact-info-title,
  .ns-student-carousel-title,
  .ns-course-talk-title{
    font-size:clamp(24px,3.6vw,32px)!important;
  }
}
@media (max-width:767px){
  .north-star-widget{font-size:13.5px!important;}
  .ns-hero-title,
  .ns-courses-hero-title,
  .ns-placement-hero-title,
  .ns-contact-hero-title,
  .ns-about-hero-title{
    font-size:32px!important;
    line-height:1.12!important;
  }
  .ns-section-head h2,
  .ns-about-bridge-title,
  .ns-about-purpose-title,
  .ns-about-strength-title,
  .ns-process-title,
  .ns-career-fields-title,
  .ns-courses-grid-title,
  .ns-training-jobs-title,
  .ns-placement-journey-title,
  .ns-contact-form-title,
  .ns-contact-info-title,
  .ns-student-carousel-title,
  .ns-course-talk-title{
    font-size:26px!important;
    line-height:1.2!important;
  }
  .ns-hero-content p,
  .ns-courses-hero-text,
  .ns-placement-hero-text,
  .ns-contact-hero-text,
  .ns-about-hero-text,
  .ns-section-head p,
  .ns-courses-grid-subtitle,
  .ns-placement-journey-subtitle,
  .ns-student-carousel-subtitle{
    font-size:13.5px!important;
  }
  .ns-card h3,
  .ns-course-grid-card h3,
  .ns-training-jobs-item h3,
  .ns-course-talk-card h3{
    font-size:15.5px!important;
  }
}


/* Contact page typography refinement - v2.0.47
   Makes the Contact Us page cleaner and less bold without changing layout or colours. */
.ns-contact-hero-title{
  font-size:clamp(32px,3.15vw,42px)!important;
  line-height:1.16!important;
  font-weight:700!important;
  letter-spacing:-.028em!important;
}
.ns-contact-hero-label{
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
}
.ns-contact-hero-text{
  max-width:500px!important;
  font-size:14px!important;
  line-height:1.66!important;
  font-weight:400!important;
}
.ns-contact-hero-buttons .ns-btn{
  min-height:48px!important;
  padding:13px 24px!important;
  font-size:12.5px!important;
  font-weight:700!important;
}
.ns-contact-hero-phone{
  gap:13px!important;
  margin-top:24px!important;
}
.ns-contact-hero-phone-icon{
  width:44px!important;
  height:44px!important;
  flex-basis:44px!important;
}
.ns-contact-hero-phone-icon svg{
  width:19px!important;
  height:19px!important;
}
.ns-contact-hero-phone strong{
  font-size:clamp(22px,1.9vw,28px)!important;
  line-height:1.12!important;
  font-weight:700!important;
  letter-spacing:-.006em!important;
}
.ns-contact-hero-info{
  border-radius:14px!important;
}
.ns-contact-info-item{
  min-height:208px!important;
  padding:25px 22px 22px!important;
}
.ns-contact-info-icon{
  width:54px!important;
  height:54px!important;
  flex-basis:54px!important;
  margin-bottom:14px!important;
}
.ns-contact-info-icon svg{
  width:22px!important;
  height:22px!important;
}
.ns-contact-hero-info .ns-contact-info-title{
  font-size:17px!important;
  line-height:1.24!important;
  font-weight:700!important;
  letter-spacing:-.018em!important;
  margin-bottom:7px!important;
}
.ns-contact-hero-info .ns-contact-info-highlight{
  font-size:12.5px!important;
  line-height:1.32!important;
  font-weight:600!important;
  letter-spacing:-.004em!important;
  margin-bottom:8px!important;
}
.ns-contact-hero-info .ns-contact-info-desc{
  font-size:13px!important;
  line-height:1.58!important;
  font-weight:400!important;
}
.ns-contact-form-title,
.ns-contact-info-box-title{
  font-size:clamp(24px,2.1vw,32px)!important;
  line-height:1.2!important;
  font-weight:700!important;
}
.ns-contact-form-fields input,
.ns-contact-form-fields select,
.ns-contact-form-fields textarea{
  font-size:14px!important;
  font-weight:500!important;
}
.ns-contact-info-row-label{
  font-size:14px!important;
  font-weight:700!important;
}
.ns-contact-info-row-desc,
.ns-contact-info-row-highlight{
  font-size:13px!important;
  font-weight:400!important;
}
@media (max-width:1024px){
  .ns-contact-hero-title{font-size:clamp(30px,4.6vw,38px)!important;}
  .ns-contact-hero-phone strong{font-size:24px!important;}
  .ns-contact-info-item{min-height:190px!important;}
}
@media (max-width:767px){
  .ns-contact-hero-title{font-size:30px!important;line-height:1.15!important;}
  .ns-contact-hero-text{font-size:13.5px!important;}
  .ns-contact-hero-phone strong{font-size:21px!important;}
  .ns-contact-hero-phone-icon{width:40px!important;height:40px!important;flex-basis:40px!important;}
  .ns-contact-info-item{min-height:0!important;padding:22px 18px!important;}
  .ns-contact-hero-info .ns-contact-info-title{font-size:16px!important;}
}


/* Submenu hover stability fix - v2.0.48
   Keeps the Courses dropdown open while moving the mouse from the parent menu item to the submenu. */
@media (min-width:768px){
  .ns-header .ns-nav-item.has-submenu{
    position:relative;
  }
  .ns-header .ns-nav-item.has-submenu::after{
    content:"";
    position:absolute;
    left:-14px;
    right:-14px;
    top:100%;
    height:18px;
    background:transparent;
    pointer-events:auto;
    z-index:69;
  }
  .ns-header .ns-submenu{
    top:calc(100% + 8px);
  }
}

/* Course Details Page fully editable widget */
.ns-course-detail{
  --ns-cd-bg:#ffffff;
  --ns-cd-soft:#f4faf6;
  --ns-cd-card:#ffffff;
  --ns-cd-green:#063f2c;
  --ns-cd-accent:#f3a51b;
  --ns-cd-text:#35483f;
  --ns-cd-muted:#60736a;
  --ns-cd-border:#dce9e1;
  --ns-cd-icon-bg:#eaf5ee;
  --ns-cd-button-green:#075337;
  --ns-cd-red:#c91818;
  background:var(--ns-cd-bg);
  color:var(--ns-cd-text);
  font-family:'Inter','Poppins',Arial,sans-serif;
  overflow:hidden;
}
.ns-course-detail-container{width:min(1140px,calc(100% - 40px));margin-inline:auto}
.ns-cd-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:center;text-align:center;max-width:920px;margin:0 auto 16px}
.ns-cd-hero-copy{display:flex;flex-direction:column;align-items:center}
.ns-cd-label{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:var(--ns-cd-accent);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;line-height:1.2}
.ns-cd-label i{width:28px;height:2px;background:currentColor;display:block;border-radius:999px}
.ns-cd-hero-title{margin:0;color:var(--ns-cd-green);font-size:clamp(30px,4.2vw,42px);line-height:1.1;font-weight:750;letter-spacing:-.035em}
.ns-cd-hero-subtitle{margin:12px auto 0;color:var(--ns-cd-text);font-size:16px;line-height:1.65;max-width:590px;font-weight:400}
.ns-cd-buttons{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:24px}
.ns-cd-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:12px 25px;border-radius:999px;font-size:13px;font-weight:700;line-height:1;border:1px solid transparent;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease;color:var(--ns-cd-green)}
.ns-cd-btn svg{width:15px;height:15px;fill:currentColor}
.ns-cd-btn:hover{transform:translateY(-2px)}
.ns-cd-btn-green{background:var(--ns-cd-button-green);color:#fff!important;box-shadow:0 10px 22px rgba(6,63,44,.2)}
.ns-cd-btn-red{background:var(--ns-cd-red);color:#fff!important;box-shadow:0 10px 22px rgba(201,24,24,.2)}
.ns-cd-btn-dark{background:#05291b;color:#fff!important;box-shadow:0 10px 22px rgba(6,63,44,.18)}
.ns-cd-btn-outline{background:#fff;color:var(--ns-cd-green)!important;border-color:rgba(6,63,44,.5);box-shadow:0 8px 18px rgba(6,63,44,.05)}
.ns-cd-hero-image{display:flex;align-items:center;justify-content:center}
.ns-cd-hero-image img{width:100%;max-width:340px;height:auto;object-fit:contain;display:block}
.ns-cd-badges{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:12px auto 34px}
.ns-cd-badges span,.ns-cd-pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:26px;padding:7px 13px;border-radius:999px;background:#edf7f0;color:var(--ns-cd-green);font-size:12px;font-weight:700;line-height:1;white-space:nowrap}
.ns-cd-badges svg,.ns-cd-pill svg{width:13px;height:13px;fill:currentColor}
.ns-cd-badges em,.ns-cd-cta-info em{width:1px;height:20px;background:#cad9d1;display:inline-block}
.ns-cd-overview{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(320px,.87fr);gap:34px;align-items:center;background:radial-gradient(circle at 0 0,rgba(255,255,255,.65),transparent 45%),var(--ns-cd-soft);border:1px solid #edf4ef;border-radius:18px;padding:42px 40px;margin:0 0 42px;box-shadow:0 18px 45px rgba(6,63,44,.06)}
.ns-cd-overview-label{display:inline-flex;align-items:center;gap:9px;color:var(--ns-cd-accent);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}
.ns-cd-overview-label svg{width:24px;height:24px;fill:currentColor}
.ns-cd-overview-title,.ns-cd-section-title,.ns-cd-cta-title{margin:0;color:var(--ns-cd-green);font-size:clamp(26px,3vw,34px);line-height:1.16;font-weight:750;letter-spacing:-.035em}
.ns-cd-richtext{margin-top:18px}
.ns-cd-richtext p{font-size:14px;line-height:1.75;margin:0 0 18px;color:var(--ns-cd-text);font-weight:400}
.ns-cd-richtext p:last-child{margin-bottom:0}
.ns-cd-overview-cards{display:grid;gap:18px}
.ns-cd-overview-card{display:grid;grid-template-columns:82px minmax(0,1fr);gap:18px;align-items:center;background:var(--ns-cd-card);border:1px solid var(--ns-cd-border);border-radius:14px;padding:22px 24px;box-shadow:0 16px 34px rgba(6,63,44,.08)}
.ns-cd-icon{flex:0 0 62px;width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ns-cd-icon-bg);color:var(--ns-cd-green);box-shadow:inset 0 0 0 8px rgba(255,255,255,.45)}
.ns-cd-icon svg{width:30px;height:30px;fill:currentColor}
.ns-cd-icon-lg{width:72px;height:72px}
.ns-cd-icon-lg svg{width:34px;height:34px}
.ns-cd-card-title,.ns-cd-step-title{margin:0 0 7px;color:var(--ns-cd-green);font-size:16px;line-height:1.2;font-weight:750;letter-spacing:-.015em}
.ns-cd-card-text{margin:0;color:var(--ns-cd-text);font-size:13px;line-height:1.55;font-weight:400}
.ns-cd-overview-card .ns-cd-pill{margin-top:11px;font-size:11px;padding:6px 11px}
.ns-cd-block{margin:42px 0 0}
.ns-cd-head{text-align:center;max-width:760px;margin:0 auto 22px}
.ns-cd-card-grid{display:grid;gap:22px}
.ns-cd-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ns-cd-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ns-cd-card{background:var(--ns-cd-card);border:1px solid var(--ns-cd-border);border-radius:12px;box-shadow:0 12px 28px rgba(6,63,44,.07);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ns-cd-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(6,63,44,.11);border-color:rgba(6,63,44,.2)}
.ns-cd-icon-card{display:flex;align-items:center;gap:17px;text-align:left;padding:20px 22px;min-height:106px}
.ns-cd-icon-card .ns-cd-icon{width:58px;height:58px;flex-basis:58px}
.ns-cd-icon-card .ns-cd-icon svg{width:28px;height:28px}
.ns-cd-card-copy{min-width:0}
.ns-cd-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;position:relative}
.ns-cd-step-wrap{position:relative}
.ns-cd-show-arrows .ns-cd-step-wrap:not(:last-child):after{content:'→';position:absolute;right:-30px;top:50%;transform:translateY(-50%);font-size:24px;line-height:1;color:#8fa69b;font-weight:600}
.ns-cd-step{position:relative;background:var(--ns-cd-card);border:1px solid var(--ns-cd-border);border-radius:14px;padding:34px 24px 22px;text-align:center;box-shadow:0 13px 30px rgba(6,63,44,.07);min-height:250px}
.ns-cd-step-badge{position:absolute;left:50%;top:-14px;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 18px;border-radius:999px;background:#eff8f2;border:1px solid #cfe0d7;color:var(--ns-cd-green);font-size:10px;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.ns-cd-step-image{height:88px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;color:var(--ns-cd-green)}
.ns-cd-step-image img{max-height:88px;max-width:156px;object-fit:contain;display:block}
.ns-cd-step-image svg{width:64px;height:64px;fill:currentColor}
.ns-cd-step .ns-cd-pill{margin-top:15px;font-size:11px}
.ns-cd-syllabus-block{margin-top:46px}
.ns-cd-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;position:relative;text-align:center;padding-top:8px}
.ns-cd-timeline:before{content:'';position:absolute;left:2%;right:2%;top:19px;height:1px;background:#b8cbc2}
.ns-cd-timeline-item{position:relative;padding:0 20px}
.ns-cd-timeline-number{position:relative;z-index:1;width:32px;height:32px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--ns-cd-green);color:#fff;font-size:12px;font-weight:800;box-shadow:0 0 0 7px #fff}
.ns-cd-cta{display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px;align-items:center;background:linear-gradient(100deg,#edf7f1 0%,#fbfdfb 100%);border:1px solid #e5f0e9;border-radius:18px;padding:30px 42px;margin-top:40px;box-shadow:0 16px 38px rgba(6,63,44,.07)}
.ns-cd-cta-image{align-self:end;display:flex;align-items:flex-end;justify-content:center;min-height:160px}
.ns-cd-cta-image img{max-width:260px;width:100%;height:auto;object-fit:contain;display:block}
.ns-cd-cta-copy{text-align:center}.ns-cd-cta-title{font-size:clamp(26px,3vw,36px)}
.ns-cd-cta-subtitle{max-width:620px;margin:8px auto 0;color:var(--ns-cd-text);font-size:15px;line-height:1.55}
.ns-cd-cta-buttons{margin-top:18px}
.ns-cd-cta-info{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:16px;color:var(--ns-cd-green);font-size:13px;font-weight:750}
.ns-cd-cta-info span{display:inline-flex;align-items:center;gap:8px}
.ns-cd-cta-info svg{width:14px;height:14px;fill:currentColor}
@media (max-width:1024px){
  .ns-cd-hero{grid-template-columns:1fr;gap:18px}.ns-cd-hero-image{order:-1}.ns-cd-hero-image img{max-width:280px}
  .ns-cd-overview{grid-template-columns:1fr;padding:34px 28px}.ns-cd-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.ns-cd-journey{gap:24px}.ns-cd-show-arrows .ns-cd-step-wrap:not(:last-child):after{display:none}.ns-cd-cta{grid-template-columns:1fr;text-align:center}.ns-cd-cta-image{order:-1;min-height:auto}.ns-cd-cta-image img{max-width:220px}
}
@media (max-width:767px){
  .ns-course-detail-container{width:calc(100% - 28px)}.ns-cd-hero-title{font-size:30px}.ns-cd-hero-subtitle{font-size:14px}.ns-cd-badges{gap:8px}.ns-cd-badges em{display:none}.ns-cd-overview{padding:26px 18px;margin-bottom:34px}.ns-cd-overview-card{grid-template-columns:1fr;text-align:center;justify-items:center}.ns-cd-section-title,.ns-cd-overview-title,.ns-cd-cta-title{font-size:26px}.ns-cd-grid-3,.ns-cd-grid-4,.ns-cd-journey,.ns-cd-timeline{grid-template-columns:1fr}.ns-cd-icon-card{text-align:center;flex-direction:column;align-items:center}.ns-cd-card-text{font-size:13px}.ns-cd-timeline{gap:24px}.ns-cd-timeline:before{left:50%;right:auto;top:8px;bottom:8px;width:1px;height:auto}.ns-cd-timeline-item{background:#fff;padding:0 20px}.ns-cd-cta{padding:26px 18px}.ns-cd-cta-info em{display:none}.ns-cd-btn{width:100%;max-width:270px}.ns-cd-buttons{gap:10px}
}

/* v2.0.50 - Course Details hero desktop alignment fix */
@media (min-width:1025px){
  .ns-course-detail .ns-cd-hero{
    width:100%;
    max-width:none;
    margin:0 0 16px;
    grid-template-columns:minmax(0,1fr) 420px;
    gap:44px;
    text-align:left;
  }
  .ns-course-detail .ns-cd-hero-copy{
    align-items:flex-start;
  }
  .ns-course-detail .ns-cd-label{
    justify-content:flex-start;
  }
  .ns-course-detail .ns-cd-hero-title{
    max-width:660px;
  }
  .ns-course-detail .ns-cd-hero-subtitle{
    margin-left:0;
    margin-right:0;
    max-width:610px;
  }
  .ns-course-detail .ns-cd-buttons{
    justify-content:flex-start;
  }
  .ns-course-detail .ns-cd-badges{
    justify-content:flex-start;
    margin-left:0;
    margin-right:0;
  }
  .ns-course-detail .ns-cd-hero-image{
    justify-content:flex-end;
  }
}

/* v2.0.51 - Optional section subtitles for course detail widgets */
.ns-cd-head-subtitle{max-width:680px;margin:8px auto 0;color:var(--ns-cd-muted);font-size:14px;line-height:1.55;font-weight:400}

/* v2.0.54 - Digital Marketing Course Details refinements */
.ns-course-detail-digital-marketing .ns-cd-timeline-number{
  width:auto;
  min-width:64px;
  height:24px;
  padding:0 12px;
  border-radius:999px;
  font-size:10px;
  background:#edf7f0;
  color:var(--ns-cd-green);
  border:1px solid var(--ns-cd-border);
  box-shadow:0 0 0 6px #fff;
}
.ns-course-detail-digital-marketing .ns-cd-timeline:before{
  top:15px;
}
.ns-course-detail-digital-marketing .ns-cd-hero-image img{
  max-width:360px;
}


/* v2.0.55 - Course Details bottom CTA contact row alignment fix */
@media (min-width:1025px){
  .ns-course-detail .ns-cd-cta-info{
    justify-content:flex-start;
    margin-left:0;
    margin-right:0;
  }
}


/* v2.0.57 - AI Master Class Course Details refinements */
.ns-course-detail-ai-master-class .ns-cd-timeline-number{
  width:auto;
  min-width:68px;
  height:24px;
  padding:0 12px;
  border-radius:999px;
  font-size:10px;
  background:#edf7f0;
  color:var(--ns-cd-green);
  border:1px solid var(--ns-cd-border);
  box-shadow:0 0 0 6px #fff;
}
.ns-course-detail-ai-master-class .ns-cd-timeline:before{top:15px;}
.ns-course-detail-ai-master-class .ns-cd-timeline-item{background:#fff;border:1px solid var(--ns-cd-border);border-radius:12px;padding:26px 18px 18px;box-shadow:0 12px 28px rgba(6,63,44,.055)}
.ns-course-detail-ai-master-class .ns-cd-timeline-icon{width:54px;height:54px;margin:2px auto 12px;flex-basis:54px;}
.ns-course-detail-ai-master-class .ns-cd-timeline-icon svg{width:26px;height:26px;}
.ns-course-detail-ai-master-class .ns-cd-hero-image img{max-width:375px;}
@media (min-width:1025px){
  .ns-course-detail-ai-master-class .ns-cd-cta{grid-template-columns:minmax(0,1fr) 330px;}
  .ns-course-detail-ai-master-class .ns-cd-cta-copy{order:1;text-align:left;}
  .ns-course-detail-ai-master-class .ns-cd-cta-image{order:2;justify-content:flex-end;}
  .ns-course-detail-ai-master-class .ns-cd-cta-subtitle{margin-left:0;margin-right:0;}
  .ns-course-detail-ai-master-class .ns-cd-cta-buttons{justify-content:flex-start;}
  .ns-course-detail-ai-master-class .ns-cd-cta-info{justify-content:flex-start;}
}


/* v2.0.58 - Hospitality Course Details refinements */
.ns-course-detail-hospitality .ns-cd-hero-image img{max-width:370px;}
.ns-course-detail-hospitality .ns-cd-timeline-number{
  width:auto;
  min-width:68px;
  height:24px;
  padding:0 12px;
  border-radius:999px;
  font-size:10px;
  background:#edf7f0;
  color:var(--ns-cd-green);
  border:1px solid var(--ns-cd-border);
  box-shadow:0 0 0 6px #fff;
}
.ns-course-detail-hospitality .ns-cd-timeline:before{top:15px;}
.ns-course-detail-hospitality .ns-cd-timeline-item{background:#fff;border:1px solid var(--ns-cd-border);border-radius:12px;padding:26px 18px 18px;box-shadow:0 12px 28px rgba(6,63,44,.055)}
.ns-course-detail-hospitality .ns-cd-timeline-icon{width:54px;height:54px;margin:2px auto 12px;flex-basis:54px;}
.ns-course-detail-hospitality .ns-cd-timeline-icon svg{width:26px;height:26px;}
@media (min-width:1025px){
  .ns-course-detail-hospitality .ns-cd-cta{grid-template-columns:minmax(0,1fr) 330px;}
  .ns-course-detail-hospitality .ns-cd-cta-copy{order:1;text-align:left;}
  .ns-course-detail-hospitality .ns-cd-cta-image{order:2;justify-content:flex-end;}
  .ns-course-detail-hospitality .ns-cd-cta-subtitle{margin-left:0;margin-right:0;}
  .ns-course-detail-hospitality .ns-cd-cta-buttons{justify-content:flex-start;}
  .ns-course-detail-hospitality .ns-cd-cta-info{justify-content:flex-start;}
}


/* v2.0.59 - Media Course Details refinements */
.ns-course-detail-media .ns-cd-hero-image img{max-width:390px;}
.ns-course-detail-media .ns-cd-timeline-number{
  width:auto;
  min-width:68px;
  height:24px;
  padding:0 12px;
  border-radius:999px;
  font-size:10px;
  background:#edf7f0;
  color:var(--ns-cd-green);
  border:1px solid var(--ns-cd-border);
  box-shadow:0 0 0 6px #fff;
}
.ns-course-detail-media .ns-cd-timeline:before{top:15px;}
.ns-course-detail-media .ns-cd-timeline-item{
  background:#fff;
  border:1px solid var(--ns-cd-border);
  border-radius:12px;
  padding:26px 18px 18px;
  box-shadow:0 12px 28px rgba(6,63,44,.055);
}
.ns-course-detail-media .ns-cd-timeline-icon{width:54px;height:54px;margin:2px auto 12px;flex-basis:54px;}
.ns-course-detail-media .ns-cd-timeline-icon svg{width:26px;height:26px;}
@media (min-width:1025px){
  .ns-course-detail-media .ns-cd-cta{grid-template-columns:minmax(0,1fr) 380px;}
  .ns-course-detail-media .ns-cd-cta-copy{order:1;text-align:left;}
  .ns-course-detail-media .ns-cd-cta-image{order:2;justify-content:flex-end;}
  .ns-course-detail-media .ns-cd-cta-image img{max-width:360px;}
  .ns-course-detail-media .ns-cd-cta-subtitle{margin-left:0;margin-right:0;}
  .ns-course-detail-media .ns-cd-cta-buttons{justify-content:flex-start;}
  .ns-course-detail-media .ns-cd-cta-info{justify-content:flex-start;}
}


/* v2.0.61 carousel click/scroll reliability fix */
.ns-carousel-nav[hidden],
.ns-student-carousel-nav[hidden]{
  display:none!important;
}
.ns-carousel-nav,
.ns-student-carousel-nav{
  position:relative;
  z-index:5;
  pointer-events:auto;
}
.ns-carousel-btn,
.ns-carousel-dot{
  pointer-events:auto;
}


/* v2.0.62: footer heading cleanup. Hide optional empty heading while preserving column alignment. */
.ns-footer-heading-spacer{
  visibility:hidden!important;
  pointer-events:none!important;
}


/* v2.0.63: footer legal links in bottom center area. */
.ns-footer-bottom{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:22px!important;
}
.ns-footer-copy{justify-self:start!important;}
.ns-footer-note{justify-self:end!important;text-align:right!important;}
.ns-footer-legal{
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  white-space:nowrap!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.ns-footer-legal a{
  color:#c8dbd2!important;
  text-decoration:none!important;
  font-weight:500!important;
}
.ns-footer-legal a:hover{color:#f7b82c!important;}
.ns-footer-legal-sep{color:rgba(255,255,255,.28)!important;}
@media (max-width:767px){
  .ns-footer-bottom{
    grid-template-columns:1fr!important;
    text-align:center!important;
    row-gap:10px!important;
  }
  .ns-footer-copy,
  .ns-footer-note,
  .ns-footer-legal{
    justify-self:center!important;
    text-align:center!important;
  }
  .ns-footer-legal{flex-wrap:wrap!important;white-space:normal!important;}
}

/* Privacy Policy Page Widget */
.ns-privacy-page{
  background:var(--ns-privacy-bg,#fff);
  padding:20px 16px 36px;
  font-family:'Inter','Poppins',Arial,sans-serif;
  color:#111827;
}
.ns-privacy-container{
  width:min(1220px,100%);
  margin:0 auto;
}
.ns-privacy-shell{
  background:linear-gradient(180deg,#fff 0%,#fff 68%,#fcfdfc 100%);
  border:1px solid rgba(6,63,44,.16);
  border-radius:16px;
  padding:56px 56px 28px;
  box-shadow:0 16px 44px rgba(6,63,44,.06);
  overflow:hidden;
}
.ns-privacy-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:42px;
  align-items:center;
  margin-bottom:34px;
}
.ns-privacy-hero-content{
  text-align:left;
}
.ns-privacy-label{
  display:inline-block;
  color:var(--ns-privacy-accent,#ff7a00);
  font-size:14px;
  line-height:1;
  font-weight:800;
  letter-spacing:.7px;
  text-transform:uppercase;
  margin-bottom:14px;
}
.ns-privacy-title{
  margin:0 0 16px;
  color:var(--ns-privacy-green,#063f2c);
  font-size:clamp(42px,5.4vw,72px);
  line-height:.96;
  font-weight:800;
  letter-spacing:-2.4px;
}
.ns-privacy-date{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
  color:var(--ns-privacy-green,#063f2c);
  font-size:20px;
  line-height:1.25;
}
.ns-privacy-date-icon{
  display:inline-flex;
  width:24px;
  min-width:24px;
  color:var(--ns-privacy-green,#063f2c);
  font-size:21px;
}
.ns-privacy-intro{
  color:#111827;
  font-size:16px;
  line-height:1.5;
  max-width:580px;
  margin-bottom:22px;
}
.ns-privacy-intro p{margin:0 0 12px;}
.ns-privacy-intro p:last-child{margin-bottom:0;}
.ns-privacy-intro strong,
.ns-privacy-content strong{font-weight:800;color:#111827;}
.ns-privacy-consent{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:18px;
  align-items:center;
  max-width:520px;
  padding:18px 20px;
  border:1px solid rgba(6,63,44,.16);
  border-radius:12px;
  background:linear-gradient(135deg,#fff 0%,var(--ns-privacy-soft,#eef8f2) 100%);
}
.ns-privacy-consent p{margin:0;font-size:16px;line-height:1.45;color:#111827;font-weight:500;}
.ns-privacy-hero-visual{
  display:flex;
  justify-content:center;
  align-items:center;
}
.ns-privacy-hero-visual img{
  display:block;
  width:100%;
  max-width:430px;
  height:auto;
  object-fit:contain;
}
.ns-privacy-card{
  background:var(--ns-privacy-card,#fff);
  border:1px solid rgba(6,63,44,.14);
  border-radius:14px;
  padding:28px;
  margin:0 0 16px;
  box-shadow:0 10px 30px rgba(6,63,44,.045);
}
.ns-privacy-card-head,.ns-privacy-policy-row,.ns-privacy-grid-card{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:20px;
  align-items:start;
}
.ns-privacy-icon,
.ns-privacy-consent-icon{
  width:62px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:var(--ns-privacy-soft,#eef8f2);
  color:var(--ns-privacy-green,#063f2c);
  box-shadow:inset 0 0 0 1px rgba(6,63,44,.05);
}
.ns-privacy-consent-icon{
  width:54px;
  height:54px;
  border-radius:14px;
  background:var(--ns-privacy-green,#063f2c);
  color:#fff;
}
.ns-privacy-icon-inner{
  display:inline-flex;
  font-size:30px;
  line-height:1;
}
.ns-privacy-consent-icon .ns-privacy-icon-inner{font-size:28px;}
.ns-privacy-section-title{
  margin:0 0 6px;
  color:var(--ns-privacy-green,#063f2c);
  font-size:30px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.6px;
}
.ns-privacy-card-head p,
.ns-privacy-content,
.ns-privacy-content p,
.ns-privacy-content li{
  color:#111827;
  font-size:16px;
  line-height:1.5;
}
.ns-privacy-card-head p{margin:0;}
.ns-privacy-content p{margin:0 0 10px;}
.ns-privacy-content p:last-child{margin-bottom:0;}
.ns-privacy-content ul{margin:8px 0 0 20px;padding:0;}
.ns-privacy-content li{margin:4px 0;}
.ns-privacy-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin-top:24px;
  border:1px solid rgba(6,63,44,.16);
  border-radius:13px;
  overflow:hidden;
}
.ns-privacy-mini-card{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:16px;
  padding:24px;
  background:#fff;
}
.ns-privacy-mini-card + .ns-privacy-mini-card{
  border-left:1px solid rgba(6,63,44,.16);
}
.ns-privacy-mini-icon,
.ns-privacy-contact-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:var(--ns-privacy-green,#063f2c);
  font-size:20px;
  flex:0 0 auto;
}
.ns-privacy-mini-card h3{
  margin:0 0 7px;
  color:var(--ns-privacy-green,#063f2c);
  font-size:18px;
  line-height:1.25;
  font-weight:800;
}
.ns-privacy-two-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin-bottom:16px;
}
.ns-privacy-two-grid .ns-privacy-card{
  margin-bottom:0;
  border-radius:14px 0 0 14px;
}
.ns-privacy-two-grid .ns-privacy-card:nth-child(even){
  border-left:0;
  border-radius:0 14px 14px 0;
}
.ns-privacy-two-grid .ns-privacy-card:nth-child(n+3){
  border-top:0;
}
.ns-privacy-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 34px;
  margin-top:22px;
  padding-left:92px;
}
.ns-privacy-contact-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:#111827;
  font-size:16px;
  line-height:1.45;
  font-weight:500;
}
.ns-privacy-contact-item a{
  color:#111827;
  text-decoration:none;
}
.ns-privacy-contact-item a:hover{
  color:var(--ns-privacy-green,#063f2c);
}
.ns-privacy-contact-icon{
  width:24px;
  height:24px;
  min-width:24px;
  border-radius:0;
  background:transparent;
  color:var(--ns-privacy-green,#063f2c);
  font-size:18px;
  margin-top:1px;
}

@media (max-width: 1024px){
  .ns-privacy-shell{padding:42px 30px 26px;}
  .ns-privacy-hero{grid-template-columns:1fr 330px;gap:28px;}
  .ns-privacy-title{font-size:clamp(38px,6vw,58px);}
  .ns-privacy-section-title{font-size:26px;}
}
@media (max-width: 767px){
  .ns-privacy-page{padding:14px 10px 28px;}
  .ns-privacy-shell{padding:30px 18px 18px;border-radius:14px;}
  .ns-privacy-hero{grid-template-columns:1fr;gap:22px;margin-bottom:24px;}
  .ns-privacy-hero-visual{order:-1;}
  .ns-privacy-hero-visual img{max-width:300px;}
  .ns-privacy-title{font-size:40px;letter-spacing:-1.2px;}
  .ns-privacy-date{font-size:16px;}
  .ns-privacy-intro,.ns-privacy-consent p,.ns-privacy-card-head p,.ns-privacy-content,.ns-privacy-content p,.ns-privacy-content li,.ns-privacy-contact-item{font-size:14px;}
  .ns-privacy-consent{grid-template-columns:48px 1fr;padding:14px;}
  .ns-privacy-card{padding:20px 16px;}
  .ns-privacy-card-head,.ns-privacy-policy-row,.ns-privacy-grid-card{grid-template-columns:52px 1fr;gap:14px;}
  .ns-privacy-icon{width:48px;height:48px;border-radius:14px;}
  .ns-privacy-icon-inner{font-size:24px;}
  .ns-privacy-section-title{font-size:22px;}
  .ns-privacy-info-grid,.ns-privacy-two-grid,.ns-privacy-contact-grid{grid-template-columns:1fr;}
  .ns-privacy-mini-card + .ns-privacy-mini-card{border-left:0;border-top:1px solid rgba(6,63,44,.16);}
  .ns-privacy-two-grid{gap:14px;}
  .ns-privacy-two-grid .ns-privacy-card,.ns-privacy-two-grid .ns-privacy-card:nth-child(even),.ns-privacy-two-grid .ns-privacy-card:nth-child(n+3){border:1px solid rgba(6,63,44,.14);border-radius:14px;}
  .ns-privacy-contact-grid{padding-left:0;gap:11px;}
}

/* Privacy policy icon visibility fix - v2.0.66 */
.north-star-widget .fa,
.north-star-widget .fas,
.north-star-widget .far,
.north-star-widget .fab{
  speak:never;
  line-height:1!important;
  display:inline-block!important;
}
.north-star-widget .fa,
.north-star-widget .fas{
  font-family:"Font Awesome 5 Free"!important;
  font-weight:900!important;
}
.north-star-widget .far{
  font-family:"Font Awesome 5 Free"!important;
  font-weight:400!important;
}
.north-star-widget .fab{
  font-family:"Font Awesome 5 Brands"!important;
  font-weight:400!important;
}
.ns-privacy-icon-inner,
.ns-privacy-icon-inner i,
.ns-privacy-icon-inner svg,
.ns-privacy-date-icon i,
.ns-privacy-date-icon svg,
.ns-privacy-mini-icon i,
.ns-privacy-mini-icon svg,
.ns-privacy-contact-icon i,
.ns-privacy-contact-icon svg{
  color:currentColor;
  fill:currentColor;
}
.ns-privacy-icon-inner i,
.ns-privacy-icon-inner svg{
  width:1em;
  height:1em;
  text-align:center;
}

/* Terms & Conditions Page Widget - v2.0.68 */
.ns-terms-page .ns-privacy-shell{
  background:linear-gradient(180deg,#fff 0%,#fff 72%,#fcfdfb 100%);
}
.ns-terms-page .ns-privacy-label{
  color:var(--ns-privacy-accent,#ff5a00);
}
.ns-terms-page .ns-privacy-title{
  max-width:640px;
}
.ns-terms-page .ns-privacy-hero-visual img{
  max-width:455px;
}
.ns-terms-page .ns-privacy-consent p{
  font-size:20px;
  font-weight:700;
  color:#111827;
}
.ns-terms-program-list{
  margin:22px 0 22px;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 42px;
}
.ns-terms-program-list li{
  position:relative;
  padding-left:20px;
  color:#111827;
  font-size:16px;
  line-height:1.35;
  font-weight:500;
}
.ns-terms-program-list li:before{
  content:'';
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--ns-privacy-green,#063f2c);
  position:absolute;
  left:0;
  top:.62em;
}
.ns-terms-services-footer{
  margin-top:8px;
}
.ns-terms-admission-list{
  border:1px solid rgba(6,63,44,.15);
  border-radius:13px;
  overflow:hidden;
  background:#fff;
}
.ns-terms-admission-item{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:18px;
  padding:20px 22px;
  align-items:start;
}
.ns-terms-admission-item + .ns-terms-admission-item{
  border-top:1px solid rgba(6,63,44,.15);
}
.ns-terms-admission-item h3{
  margin:0 0 5px;
  color:#111827;
  font-size:16px;
  line-height:1.28;
  font-weight:800;
}
.ns-terms-admission-item .ns-privacy-mini-icon{
  width:44px;
  height:44px;
  font-size:20px;
}
.ns-terms-page .ns-privacy-contact-card .ns-privacy-contact-grid{
  border:1px solid rgba(6,63,44,.15);
  border-radius:13px;
  padding:16px 20px;
  gap:12px 34px;
  margin-left:92px;
}
.ns-terms-page .ns-privacy-contact-grid{
  margin-top:18px;
}
.ns-terms-page .ns-privacy-contact-item{
  border-bottom:1px solid rgba(6,63,44,.13);
  padding-bottom:10px;
}
.ns-terms-page .ns-privacy-contact-item:nth-last-child(-n+2){
  border-bottom:0;
  padding-bottom:0;
}
.ns-terms-page .ns-privacy-content a{
  color:var(--ns-privacy-green,#063f2c);
}

@media (max-width: 1024px){
  .ns-terms-program-list{gap:9px 24px;}
  .ns-terms-page .ns-privacy-consent p{font-size:18px;}
  .ns-terms-page .ns-privacy-contact-card .ns-privacy-contact-grid{margin-left:72px;}
}
@media (max-width: 767px){
  .ns-terms-page .ns-privacy-hero-visual{order:-1;}
  .ns-terms-page .ns-privacy-consent p{font-size:15px;}
  .ns-terms-program-list{grid-template-columns:1fr;gap:8px;margin:16px 0;}
  .ns-terms-program-list li{font-size:14px;}
  .ns-terms-admission-item{grid-template-columns:44px minmax(0,1fr);gap:13px;padding:16px;}
  .ns-terms-admission-item .ns-privacy-mini-icon{width:38px;height:38px;font-size:17px;}
  .ns-terms-admission-item h3{font-size:15px;}
  .ns-terms-page .ns-privacy-contact-card .ns-privacy-contact-grid{margin-left:0;padding:14px;grid-template-columns:1fr;}
  .ns-terms-page .ns-privacy-contact-item:nth-last-child(-n+2){border-bottom:1px solid rgba(6,63,44,.13);padding-bottom:10px;}
  .ns-terms-page .ns-privacy-contact-item:last-child{border-bottom:0;padding-bottom:0;}
}


/* Terms widget visibility/search safety - v2.0.68 */
.ns-terms-page .ns-terms-shell{
  opacity:1!important;
  transform:none!important;
}
.elementor-editor-active .ns-terms-page,
.elementor-editor-active .ns-terms-page *{
  visibility:visible;
}


/* v2.0.69 - Global Course Details bottom CTA text left alignment */
.ns-course-detail .ns-cd-cta,
.ns-course-detail .ns-cd-cta-copy{
  text-align:left!important;
}
.ns-course-detail .ns-cd-cta .ns-cd-label{
  justify-content:flex-start!important;
}
.ns-course-detail .ns-cd-cta-title,
.ns-course-detail .ns-cd-cta-subtitle{
  text-align:left!important;
}
.ns-course-detail .ns-cd-cta-subtitle{
  margin-left:0!important;
  margin-right:0!important;
}
.ns-course-detail .ns-cd-cta-buttons,
.ns-course-detail .ns-cd-cta-info{
  justify-content:flex-start!important;
}
.ns-course-detail .ns-cd-cta-copy > *{
  margin-left:0;
}
@media (max-width:767px){
  .ns-course-detail .ns-cd-cta{
    text-align:left!important;
  }
  .ns-course-detail .ns-cd-cta-buttons .ns-cd-btn{
    justify-content:center;
  }
}


/* v2.0.70: Sleeker hero typography for legal pages. */
.ns-privacy-page .ns-privacy-title,
.ns-terms-page .ns-privacy-title{
  font-size:clamp(34px,3.6vw,52px)!important;
  line-height:1.08!important;
  font-weight:700!important;
  letter-spacing:-1.2px!important;
  margin-bottom:14px!important;
}
.ns-terms-page .ns-privacy-title{max-width:540px!important;}
.ns-privacy-page .ns-privacy-label,
.ns-terms-page .ns-privacy-label{
  font-size:13px!important;
  letter-spacing:.65px!important;
  margin-bottom:12px!important;
}
.ns-privacy-page .ns-privacy-date,
.ns-terms-page .ns-privacy-date{
  font-size:17px!important;
  line-height:1.25!important;
  margin-bottom:18px!important;
}
.ns-privacy-page .ns-privacy-intro,
.ns-terms-page .ns-privacy-intro{
  font-size:15px!important;
  line-height:1.65!important;
}
@media (max-width:1024px){
  .ns-privacy-page .ns-privacy-title,
  .ns-terms-page .ns-privacy-title{font-size:clamp(34px,5vw,46px)!important;}
}
@media (max-width:767px){
  .ns-privacy-page .ns-privacy-title,
  .ns-terms-page .ns-privacy-title{font-size:34px!important;letter-spacing:-.7px!important;}
  .ns-privacy-page .ns-privacy-date,
  .ns-terms-page .ns-privacy-date{font-size:15px!important;}
}

/* v2.0.71: About Hero right image bottom-gap fix.
   Keeps the student/person image anchored to the bottom of the hero so no empty band appears under it on wide screens. */
@media (min-width:768px){
  .ns-about-hero .ns-about-hero-image{
    top:auto!important;
    bottom:0!important;
    height:100%!important;
    background-position:right bottom!important;
    background-repeat:no-repeat!important;
    background-size:auto 100%!important;
  }
}

/* Courses hero tablet/mobile image cleanup - v2.0.72
   Hide the right-side people image below desktop and remove the reserved image space. */
@media (max-width:1024px){
  .ns-courses-hero-image{
    display:none!important;
  }
  .ns-courses-hero-main,
  .ns-courses-hero-inner{
    min-height:0!important;
  }
  .ns-courses-hero-inner{
    display:flex!important;
    align-items:center!important;
  }
  .ns-courses-hero-content{
    max-width:760px!important;
    padding:70px 0 74px!important;
  }
  .ns-courses-hero-text{
    max-width:680px!important;
  }
  .ns-courses-hero-dots{
    display:none!important;
  }
}

@media (max-width:767px){
  .ns-courses-hero-wrap{
    padding-bottom:18px!important;
  }
  .ns-courses-hero-main{
    min-height:0!important;
  }
  .ns-courses-hero-overlay{
    background:linear-gradient(180deg,rgba(2,29,20,.97) 0%,rgba(6,63,44,.97) 100%)!important;
  }
  .ns-courses-hero-curve,
  .ns-courses-hero-image,
  .ns-courses-hero-dots{
    display:none!important;
  }
  .ns-courses-hero-inner{
    min-height:0!important;
    display:block!important;
  }
  .ns-courses-hero-content{
    max-width:none!important;
    text-align:center!important;
    padding:44px 0 38px!important;
  }
  .ns-courses-hero-title{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ns-courses-hero-text{
    max-width:none!important;
    margin-top:18px!important;
  }
  .ns-courses-hero-buttons{
    justify-content:center!important;
    margin-top:24px!important;
  }
  .ns-courses-hero-features-wrap{
    margin-top:14px!important;
  }
}


/* v2.0.73: Hide page hero/person images on tablet and mobile.
   Images stay visible on desktop only; the reserved right-side image space is removed below 1025px. */
@media (max-width:1024px){
  /* Home hero */
  .ns-hero-curved{
    min-height:0!important;
    padding:60px 0 36px!important;
  }
  .ns-hero-curved:after,
  .ns-hero-right-bg,
  .ns-hero-bottom-wave,
  .ns-hero-curved .ns-hero-visual,
  .ns-hero-curved .ns-floating-stat{
    display:none!important;
  }
  .ns-hero-curved:before{
    background:linear-gradient(180deg,rgba(2,29,20,.97) 0%,rgba(6,63,44,.97) 100%)!important;
  }
  .ns-hero-curved .ns-hero-grid{
    grid-template-columns:1fr!important;
    width:min(930px,calc(100% - 32px))!important;
    gap:0!important;
    text-align:center!important;
  }
  .ns-hero-curved .ns-hero-content{
    max-width:760px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    transform:none!important;
  }
  .ns-hero-curved .ns-hero-label,
  .ns-hero-curved .ns-hero-buttons,
  .ns-hero-curved .ns-hero-chips{
    justify-content:center!important;
  }
  .ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges{
    margin-top:0!important;
  }

  /* About hero */
  .ns-about-hero{
    min-height:0!important;
    display:block!important;
    text-align:center!important;
  }
  .ns-about-hero-overlay{
    background:linear-gradient(180deg,rgba(2,29,20,.97) 0%,rgba(6,63,44,.97) 100%)!important;
  }
  .ns-about-hero-curve,
  .ns-about-hero-image,
  .ns-about-hero-dots{
    display:none!important;
  }
  .ns-about-hero-inner{
    width:min(930px,calc(100% - 32px))!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ns-about-hero-content{
    max-width:760px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:64px 0!important;
  }
  .ns-about-hero-title,
  .ns-about-hero-text{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ns-about-hero-buttons{
    justify-content:center!important;
  }

  /* Courses hero */
  .ns-courses-hero-image,
  .ns-courses-hero-curve,
  .ns-courses-hero-dots{
    display:none!important;
  }
  .ns-courses-hero-main,
  .ns-courses-hero-inner{
    min-height:0!important;
  }
  .ns-courses-hero-overlay{
    background:linear-gradient(180deg,rgba(2,29,20,.97) 0%,rgba(6,63,44,.97) 100%)!important;
  }
  .ns-courses-hero-inner{
    display:flex!important;
    align-items:center!important;
  }
  .ns-courses-hero-content{
    max-width:760px!important;
    padding:70px 0 74px!important;
  }
  .ns-courses-hero-text{
    max-width:680px!important;
  }

  /* Placement hero */
  .ns-placement-hero-image,
  .ns-placement-hero-curve,
  .ns-placement-hero-dots{
    display:none!important;
  }
  .ns-placement-hero-main,
  .ns-placement-hero-inner{
    min-height:0!important;
  }
  .ns-placement-hero-overlay{
    background:linear-gradient(180deg,rgba(2,29,20,.97) 0%,rgba(6,63,44,.97) 100%)!important;
  }
  .ns-placement-hero-inner{
    display:flex!important;
    align-items:center!important;
  }
  .ns-placement-hero-content{
    max-width:760px!important;
    padding:70px 0 74px!important;
  }
  .ns-placement-hero-text{
    max-width:680px!important;
  }

  /* Contact hero */
  .ns-contact-hero-image,
  .ns-contact-hero-curve,
  .ns-contact-hero-dots{
    display:none!important;
  }
  .ns-contact-hero-main,
  .ns-contact-hero-inner{
    min-height:0!important;
  }
  .ns-contact-hero-overlay{
    background:linear-gradient(180deg,rgba(2,29,20,.97) 0%,rgba(6,63,44,.97) 100%)!important;
  }
  .ns-contact-hero-inner{
    display:flex!important;
    align-items:center!important;
  }
  .ns-contact-hero-content{
    max-width:760px!important;
    padding:70px 0 44px!important;
  }
  .ns-contact-hero-text{
    max-width:680px!important;
  }
  .ns-contact-hero-info-wrap{
    margin-top:18px!important;
  }

  /* Course details pages */
  .ns-course-detail .ns-cd-hero{
    grid-template-columns:1fr!important;
    max-width:none!important;
    gap:0!important;
    margin-bottom:14px!important;
  }
  .ns-course-detail .ns-cd-hero-image{
    display:none!important;
  }

  /* Privacy and Terms pages */
  .ns-privacy-page .ns-privacy-hero,
  .ns-terms-page .ns-privacy-hero{
    grid-template-columns:1fr!important;
    gap:0!important;
    margin-bottom:26px!important;
  }
  .ns-privacy-page .ns-privacy-hero-visual,
  .ns-terms-page .ns-privacy-hero-visual{
    display:none!important;
  }
}

@media (max-width:767px){
  /* Home hero */
  .ns-hero-curved{
    padding:44px 0 34px!important;
  }
  .ns-hero-curved .ns-hero-grid{
    width:calc(100% - 28px)!important;
  }
  .ns-hero-curved .ns-hero-content{
    max-width:none!important;
  }
  .ns-hero-curved .ns-hero-chips{
    margin-top:20px!important;
  }

  /* About hero */
  .ns-about-hero-inner{
    width:calc(100% - 28px)!important;
  }
  .ns-about-hero-content{
    max-width:none!important;
    padding:44px 0 38px!important;
  }
  .ns-about-hero-buttons{
    margin-top:24px!important;
  }

  /* Courses and Placement hero */
  .ns-courses-hero-wrap,
  .ns-placement-hero-wrap{
    padding-bottom:18px!important;
  }
  .ns-courses-hero-inner,
  .ns-placement-hero-inner{
    display:block!important;
  }
  .ns-courses-hero-content,
  .ns-placement-hero-content{
    max-width:none!important;
    text-align:center!important;
    padding:44px 0 38px!important;
  }
  .ns-courses-hero-title,
  .ns-placement-hero-title,
  .ns-courses-hero-text,
  .ns-placement-hero-text{
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:none!important;
  }
  .ns-courses-hero-buttons,
  .ns-placement-hero-buttons{
    justify-content:center!important;
    margin-top:24px!important;
  }
  .ns-courses-hero-features-wrap,
  .ns-placement-hero-features-wrap{
    margin-top:14px!important;
  }

  /* Contact hero */
  .ns-contact-hero-wrap{
    padding-bottom:18px!important;
  }
  .ns-contact-hero-inner,
  .ns-contact-hero-info-wrap{
    width:calc(100% - 28px)!important;
  }
  .ns-contact-hero-inner{
    display:block!important;
  }
  .ns-contact-hero-content{
    max-width:none!important;
    text-align:center!important;
    padding:44px 0 34px!important;
  }
  .ns-contact-hero-title,
  .ns-contact-hero-text{
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:none!important;
  }
  .ns-contact-hero-buttons{
    justify-content:center!important;
    margin-top:24px!important;
  }
  .ns-contact-hero-phone{
    justify-content:center!important;
    margin-top:22px!important;
  }
  .ns-contact-hero-info-wrap{
    margin-top:14px!important;
  }

  /* Course details pages */
  .ns-course-detail .ns-cd-hero{
    gap:0!important;
    margin-bottom:12px!important;
  }
  .ns-course-detail .ns-cd-hero-copy{
    align-items:center!important;
    text-align:center!important;
  }

  /* Privacy and Terms pages */
  .ns-privacy-page .ns-privacy-hero,
  .ns-terms-page .ns-privacy-hero{
    gap:0!important;
    margin-bottom:22px!important;
  }
}


/* v2.0.74 Contact Hero white overlay dissolve fix */
.ns-contact-hero-curve{
  background:transparent !important;
  opacity:0 !important;
  box-shadow:none !important;
}



/* v2.0.75 Contact Hero small-laptop responsive balance fix */
@media (min-width:1025px) and (max-width:1366px){
  .ns-contact-hero-inner,
  .ns-contact-hero-info-wrap{
    width:min(1140px,calc(100% - 48px)) !important;
    max-width:1140px !important;
  }
  .ns-contact-hero-main,
  .ns-contact-hero-inner{
    min-height:520px !important;
  }
  .ns-contact-hero-content{
    left:0 !important;
    max-width:470px !important;
    padding:44px 0 112px !important;
  }
  .ns-contact-hero-title{
    max-width:470px !important;
    font-size:44px !important;
    line-height:1.14 !important;
  }
  .ns-contact-hero-text{
    max-width:455px !important;
    font-size:15px !important;
    line-height:1.6 !important;
  }
  .ns-contact-hero-buttons{
    margin-top:24px !important;
    gap:12px !important;
  }
  .ns-contact-hero-phone{
    margin-top:22px !important;
  }
  .ns-contact-hero-phone strong{
    font-size:24px !important;
    line-height:1.2 !important;
  }
  .ns-contact-hero-image{
    width:50% !important;
    clip-path:ellipse(84% 96% at 84% 50%) !important;
    background-position:center center !important;
  }
  .ns-contact-hero-dots{
    left:38% !important;
    bottom:150px !important;
  }
  .ns-contact-hero-info-wrap{
    margin-top:-46px !important;
  }
}


/* v2.0.76 Contact Hero mobile phone number single-line fix */
@media (max-width:767px){
  .ns-contact-hero-phone{
    flex-wrap:nowrap !important;
    gap:10px !important;
  }
  .ns-contact-hero-phone strong{
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    font-size:19px !important;
    line-height:1.15 !important;
    letter-spacing:-0.02em !important;
  }
}
@media (max-width:479px){
  .ns-contact-hero-phone strong{
    font-size:17px !important;
  }
}


/* v2.0.77 Contact Hero stronger small-laptop visual fix
   Turns the oversized curved image into a cleaner contained image card on small/medium laptops. */
@media (min-width:1025px) and (max-width:1440px){
  .ns-contact-hero-wrap{
    background:#063f2c !important;
  }
  .ns-contact-hero-main{
    min-height:560px !important;
    background:#063f2c !important;
  }
  .ns-contact-hero-inner,
  .ns-contact-hero-info-wrap{
    width:min(1140px,calc(100% - 52px)) !important;
    max-width:1140px !important;
  }
  .ns-contact-hero-content{
    left:0 !important;
    max-width:520px !important;
    padding:54px 0 120px !important;
  }
  .ns-contact-hero-title{
    max-width:520px !important;
    font-size:48px !important;
    line-height:1.13 !important;
  }
  .ns-contact-hero-text{
    max-width:510px !important;
    font-size:16px !important;
    line-height:1.62 !important;
  }
  .ns-contact-hero-image{
    top:48px !important;
    right:max(26px,calc((100vw - 1140px) / 2)) !important;
    width:43% !important;
    max-width:560px !important;
    height:390px !important;
    border-radius:30px !important;
    clip-path:none !important;
    overflow:hidden !important;
    background-position:center center !important;
    background-size:cover !important;
    box-shadow:0 24px 70px rgba(0,0,0,.18) !important;
  }
  .ns-contact-hero-image:before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    pointer-events:none !important;
    background:
      linear-gradient(90deg,rgba(0,43,30,.42) 0%,rgba(0,43,30,.16) 26%,rgba(0,43,30,0) 54%),
      linear-gradient(0deg,rgba(0,43,30,.08),rgba(0,43,30,.08)) !important;
  }
  .ns-contact-hero-dots{
    left:40% !important;
    bottom:170px !important;
    opacity:.38 !important;
  }
  .ns-contact-hero-info-wrap{
    margin-top:-56px !important;
  }
  .ns-contact-hero-info{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

@media (min-width:1025px) and (max-width:1240px){
  .ns-contact-hero-main{
    min-height:535px !important;
  }
  .ns-contact-hero-content{
    max-width:470px !important;
    padding:48px 0 110px !important;
  }
  .ns-contact-hero-title{
    max-width:470px !important;
    font-size:42px !important;
  }
  .ns-contact-hero-text{
    max-width:455px !important;
    font-size:15px !important;
  }
  .ns-contact-hero-image{
    width:40% !important;
    max-width:470px !important;
    height:340px !important;
    top:58px !important;
  }
  .ns-contact-hero-buttons .ns-btn{
    min-width:156px !important;
    padding-inline:22px !important;
  }
  .ns-contact-hero-phone strong{
    font-size:24px !important;
  }
}


/* v2.0.78 Contact Us hero buttons removed */
.ns-contact-hero-buttons{
  display:none !important;
}
.ns-contact-hero-phone{
  margin-top:32px !important;
}
@media (max-width:767px){
  .ns-contact-hero-phone{
    margin-top:24px !important;
  }
}

/* v2.0.79: Career Paths admin post type + full desktop/tablet/mobile carousel */
.ns-job-roles-carousel.ns-career-path-carousel{
  overflow:visible;
  position:relative;
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-mobile-carousel-track.ns-grid{
  display:flex!important;
  grid-template-columns:none!important;
  gap:20px;
  overflow-x:auto;
  overflow-y:visible;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:4px 2px 18px;
  margin:0;
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-mobile-carousel-track.ns-grid::-webkit-scrollbar{
  display:none;
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-career-path-card{
  flex:0 0 calc((100% - 40px) / 3);
  width:calc((100% - 40px) / 3);
  max-width:calc((100% - 40px) / 3);
  min-height:330px;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin:0;
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-career-path-card:hover{
  transform:translateY(-4px);
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-carousel-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:12px;
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-carousel-btn{
  width:38px;
  height:38px;
  border:1px solid rgba(6,63,44,.18);
  border-radius:999px;
  background:#fff;
  color:var(--ns-green);
  font-size:25px;
  line-height:1;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 22px rgba(6,63,44,.09);
  cursor:pointer;
  transition:opacity .2s ease, transform .2s ease, background .2s ease;
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-carousel-btn:hover{
  transform:translateY(-1px);
  background:#eef8f1;
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-carousel-btn:disabled{
  opacity:.38;
  cursor:not-allowed;
  transform:none;
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-carousel-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:58px;
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-carousel-dot{
  width:7px;
  height:7px;
  border:0;
  padding:0;
  border-radius:999px;
  background:rgba(6,63,44,.24);
  cursor:pointer;
  transition:width .2s ease, background .2s ease;
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-carousel-dot.is-active{
  width:22px;
  background:var(--ns-green);
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-role-illustration{
  height:150px;
  min-height:150px;
  margin:0 auto 12px;
  flex:0 0 auto;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-role-illustration img,
.ns-job-roles-carousel.ns-career-path-carousel .ns-role-illustration svg{
  max-width:190px!important;
  max-height:158px!important;
  object-fit:contain!important;
}
@media (max-width:1024px){
  .ns-job-roles-carousel.ns-career-path-carousel .ns-mobile-carousel-track.ns-grid{
    gap:16px;
  }
  .ns-job-roles-carousel.ns-career-path-carousel .ns-career-path-card{
    flex-basis:calc((100% - 16px) / 2);
    width:calc((100% - 16px) / 2);
    max-width:calc((100% - 16px) / 2);
  }
}
@media (max-width:767px){
  .ns-job-roles-carousel.ns-career-path-carousel .ns-career-path-card{
    flex-basis:100%;
    width:100%;
    max-width:100%;
    min-height:330px;
  }
  .ns-job-roles-carousel.ns-career-path-carousel .ns-career-path-card:hover{
    transform:none;
  }
}

/* About Directors Section - v2.0.81 */
.ns-about-directors{
  position:relative;
  background:#fff;
}
.ns-about-directors .ns-container{
  position:relative;
  z-index:1;
}
.ns-about-directors-head{
  max-width:780px;
}
.ns-about-directors-head.ns-head-left{
  margin-left:0;
  margin-right:auto;
  text-align:left;
}
.ns-about-directors-head.ns-head-center{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.ns-about-directors-head.ns-head-right{
  margin-left:auto;
  margin-right:0;
  text-align:right;
}
.ns-about-directors-head.ns-head-left p{
  margin-left:0;
  margin-right:0;
}
.ns-about-directors-head.ns-head-right p{
  margin-left:auto;
  margin-right:0;
}
.ns-about-directors-head.ns-head-left .ns-kicker{
  justify-content:flex-start;
}
.ns-about-directors-head.ns-head-center .ns-kicker{
  justify-content:center;
}
.ns-about-directors-head.ns-head-right .ns-kicker{
  justify-content:flex-end;
}
.ns-about-directors-list{
  display:flex;
  flex-direction:column;
  gap:24px;
  position:relative;
  z-index:1;
}
.ns-about-director-card{
  display:flex;
  align-items:flex-start;
  gap:34px;
  width:100%;
  background:#fff;
  border:1px solid var(--ns-border);
  border-radius:26px;
  padding:24px 28px 24px 24px;
  box-shadow:0 16px 42px rgba(6,63,44,.08);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.ns-about-director-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 56px rgba(6,63,44,.12);
  border-color:rgba(6,63,44,.18);
}
.ns-about-director-photo{
  flex:0 0 190px;
  width:190px;
  height:190px;
  border-radius:50%;
  overflow:hidden;
  background:#edf6f0;
  border:8px solid #f6fbf7;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 14px 30px rgba(6,63,44,.11);
}
.ns-about-director-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.ns-about-director-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  color:var(--ns-green);
  font-size:64px;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
}
.ns-about-director-content{
  flex:1 1 auto;
  min-width:0;
}
.ns-about-director-name{
  margin:0 0 10px;
  color:var(--ns-title);
  font-size:clamp(22px,2.5vw,34px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.03em;
}
.ns-about-director-intro,
.ns-about-director-intro p{
  color:#3d5148;
  font-size:15px;
  line-height:1.78;
  font-weight:400;
}
.ns-about-director-intro p{
  margin:0 0 10px;
}
.ns-about-director-intro p:last-child{
  margin-bottom:0;
}
@media (max-width:1024px){
  .ns-about-director-card{
    gap:24px;
  }
  .ns-about-director-photo{
    flex-basis:160px;
    width:160px;
    height:160px;
  }
}
@media (max-width:767px){
  .ns-about-directors-head,
  .ns-about-directors-head.ns-head-left,
  .ns-about-directors-head.ns-head-right{
    max-width:none;
  }
  .ns-about-director-card{
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:22px 18px;
  }
  .ns-about-director-photo{
    flex-basis:145px;
    width:145px;
    height:145px;
    border-width:6px;
  }
  .ns-about-director-name{
    font-size:24px;
  }
  .ns-about-director-intro,
  .ns-about-director-intro p{
    font-size:14px;
    line-height:1.7;
  }
}


/* Companies Where We Place Carousel - v2.0.83 */
.ns-companies-place-section{
  position:relative;
  overflow:hidden;
  background:transparent;
  padding:70px 0 74px;
}
.ns-companies-place-section:before{
  content:none;
  display:none;
}
.ns-companies-place-section .ns-container{
  position:relative;
  z-index:1;
}
.ns-companies-place-head{
  max-width:760px;
  margin:0 auto 28px;
  text-align:center;
}
.ns-companies-place-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:10px;
  color:#f3a51b;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ns-companies-place-label:before,
.ns-companies-place-label:after{
  content:"";
  width:32px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  opacity:.42;
}
.ns-companies-place-title{
  margin:0;
  color:#063f2c;
  font-size:clamp(30px,4.2vw,48px);
  line-height:1.06;
  font-weight:900;
  letter-spacing:-.045em;
}
.ns-companies-place-subtitle{
  max-width:640px;
  margin:14px auto 0;
  color:#52665c;
  font-size:15px;
  line-height:1.76;
  font-weight:500;
}
.ns-companies-place-carousel{
  position:relative;
  z-index:1;
}
.ns-company-logos-track{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overflow-y:visible;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:6px 3px 20px;
  margin:0;
}
.ns-company-logos-track::-webkit-scrollbar{
  display:none;
}
.ns-company-logo-card{
  flex:0 0 calc(16.6667% - 15px);
  max-width:calc(16.6667% - 15px);
  min-width:0;
  min-height:118px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:20px 22px;
  border:1px solid #e5eee8;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(6,63,44,.07);
  scroll-snap-align:start;
  scroll-snap-stop:always;
  text-align:center;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
a.ns-company-logo-card:hover,
.ns-company-logo-card:hover{
  transform:translateY(-3px);
  border-color:rgba(6,63,44,.2);
  box-shadow:0 20px 42px rgba(6,63,44,.11);
}
.ns-company-logo-img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:64px;
  object-fit:contain;
}
.ns-company-logo-placeholder{
  width:64px;
  height:64px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(135deg,#eef8f1,#ffffff);
  color:#063f2c;
  font-size:22px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
  border:1px solid rgba(6,63,44,.12);
}
.ns-company-logo-name{
  display:block;
  color:#063f2c;
  font-size:12px;
  line-height:1.35;
  font-weight:800;
}
.ns-companies-place-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:8px;
}
.ns-companies-place-nav .ns-carousel-btn{
  width:40px;
  height:40px;
  border:1px solid rgba(6,63,44,.18);
  border-radius:999px;
  background:#fff;
  color:#063f2c;
  font-size:27px;
  line-height:1;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 22px rgba(6,63,44,.09);
  cursor:pointer;
  transition:opacity .2s ease, transform .2s ease, background .2s ease;
}
.ns-companies-place-nav .ns-carousel-btn:hover{
  transform:translateY(-1px);
  background:#eef8f1;
}
.ns-companies-place-nav .ns-carousel-btn:disabled{
  opacity:.38;
  cursor:not-allowed;
  transform:none;
}
.ns-companies-place-nav .ns-carousel-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:58px;
  max-width:min(520px, calc(100vw - 160px));
  overflow:hidden;
}
.ns-companies-place-nav .ns-carousel-dot{
  width:7px;
  height:7px;
  flex:0 0 auto;
  border:0;
  padding:0;
  border-radius:999px;
  background:rgba(6,63,44,.24);
  cursor:pointer;
  transition:width .2s ease, background .2s ease;
}
.ns-companies-place-nav .ns-carousel-dot.is-active{
  width:22px;
  background:#063f2c;
}
.ns-companies-place-desktop-1 .ns-company-logo-card{flex-basis:100%;max-width:100%;}
.ns-companies-place-desktop-2 .ns-company-logo-card{flex-basis:calc(50% - 9px);max-width:calc(50% - 9px);}
.ns-companies-place-desktop-3 .ns-company-logo-card{flex-basis:calc(33.3333% - 12px);max-width:calc(33.3333% - 12px);}
.ns-companies-place-desktop-4 .ns-company-logo-card{flex-basis:calc(25% - 13.5px);max-width:calc(25% - 13.5px);}
.ns-companies-place-desktop-5 .ns-company-logo-card{flex-basis:calc(20% - 14.4px);max-width:calc(20% - 14.4px);}
.ns-companies-place-desktop-6 .ns-company-logo-card{flex-basis:calc(16.6667% - 15px);max-width:calc(16.6667% - 15px);}
.ns-companies-place-desktop-7 .ns-company-logo-card{flex-basis:calc(14.2857% - 15.43px);max-width:calc(14.2857% - 15.43px);}
.ns-companies-place-desktop-8 .ns-company-logo-card{flex-basis:calc(12.5% - 15.75px);max-width:calc(12.5% - 15.75px);}
@media (max-width:1200px){
  .ns-companies-place-laptop-1 .ns-company-logo-card{flex-basis:100%;max-width:100%;}
  .ns-companies-place-laptop-2 .ns-company-logo-card{flex-basis:calc(50% - 9px);max-width:calc(50% - 9px);}
  .ns-companies-place-laptop-3 .ns-company-logo-card{flex-basis:calc(33.3333% - 12px);max-width:calc(33.3333% - 12px);}
  .ns-companies-place-laptop-4 .ns-company-logo-card{flex-basis:calc(25% - 13.5px);max-width:calc(25% - 13.5px);}
  .ns-companies-place-laptop-5 .ns-company-logo-card{flex-basis:calc(20% - 14.4px);max-width:calc(20% - 14.4px);}
  .ns-companies-place-laptop-6 .ns-company-logo-card{flex-basis:calc(16.6667% - 15px);max-width:calc(16.6667% - 15px);}
}
@media (max-width:1024px){
  .ns-companies-place-tablet-1 .ns-company-logo-card{flex-basis:100%;max-width:100%;}
  .ns-companies-place-tablet-2 .ns-company-logo-card{flex-basis:calc(50% - 9px);max-width:calc(50% - 9px);}
  .ns-companies-place-tablet-3 .ns-company-logo-card{flex-basis:calc(33.3333% - 12px);max-width:calc(33.3333% - 12px);}
  .ns-companies-place-tablet-4 .ns-company-logo-card{flex-basis:calc(25% - 13.5px);max-width:calc(25% - 13.5px);}
  .ns-companies-place-section{padding:58px 0 62px;}
  .ns-companies-place-head{margin-bottom:24px;}
}
@media (max-width:767px){
  .ns-companies-place-mobile-1 .ns-company-logo-card{flex-basis:100%;max-width:100%;}
  .ns-companies-place-mobile-2 .ns-company-logo-card{flex-basis:calc(50% - 9px);max-width:calc(50% - 9px);}
  .ns-companies-place-section{padding:50px 0 54px;}
  .ns-companies-place-head{margin-bottom:20px;}
  .ns-companies-place-label:before,
  .ns-companies-place-label:after{width:22px;}
  .ns-companies-place-title{font-size:29px;}
  .ns-companies-place-subtitle{font-size:14px;line-height:1.65;}
  .ns-company-logos-track{gap:16px;padding-bottom:18px;}
  .ns-company-logo-card{min-height:108px;border-radius:18px;padding:18px;}
  .ns-company-logo-img{max-height:58px;}
  .ns-companies-place-nav{margin-top:4px;}
}


/* v2.0.84: Home hero simple straight bottom edge.
   Removes the decorative curved/wave white shape under the hero so the section ends cleanly like the other page heroes. */
.ns-hero-curved{
  padding-bottom:clamp(54px,5vw,78px)!important;
}
.ns-hero-bottom-wave{
  display:none!important;
}
.ns-hero-wrap{
  background:#fff;
}
.ns-hero-wrap > .ns-hero-trust.ns-hero-lower-badges{
  margin-top:0;
}
@media (max-width:1024px){
  .ns-hero-curved{
    padding-bottom:36px!important;
  }
}

/* v2.0.85 - Editable home hero slider */
.ns-home-hero-wrap{background:#fff;overflow:hidden}.ns-home-hero-slider{position:relative;isolation:isolate;overflow:hidden;background:var(--ns-green)}.ns-home-hero-track{position:relative;min-height:var(--ns-hero-min-height,560px)}.ns-home-hero-slide{position:absolute;inset:0;width:100%;min-height:var(--ns-hero-min-height,560px);padding:clamp(54px,6vw,82px) 0!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s ease;display:flex!important;align-items:center;background-image:var(--ns-hero-bg-image,none);background-position:var(--ns-hero-bg-position,center center);background-size:var(--ns-hero-bg-size,cover);background-repeat:var(--ns-hero-bg-repeat,no-repeat);background-attachment:var(--ns-hero-bg-attachment,scroll);background-color:var(--ns-hero-bg-color,var(--ns-green));color:var(--ns-slide-text-color,#fff)}.ns-home-hero-slide.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto;z-index:2}.ns-home-hero-slide:before{content:"";position:absolute;inset:0;background:var(--ns-hero-overlay,linear-gradient(90deg,rgba(2,29,20,.96) 0%,rgba(6,63,44,.92) 52%,rgba(6,63,44,.35) 100%));z-index:0}.ns-home-hero-slide:after,.ns-home-hero-slide .ns-hero-right-bg,.ns-home-hero-slide .ns-hero-bottom-wave{display:none!important}.ns-home-hero-grid{position:relative;z-index:3;width:min(1140px,calc(100% - 40px));display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:clamp(28px,5vw,70px);align-items:center}.ns-home-hero-content{max-width:640px;color:var(--ns-slide-text-color,#fff)}.ns-home-hero-content .ns-hero-label{color:var(--ns-accent);letter-spacing:.12em}.ns-home-hero-content .ns-hero-label span{background:var(--ns-accent)}.ns-home-hero-content .ns-hero-title{color:var(--ns-slide-text-color,#fff);font-size:clamp(40px,4.7vw,66px);line-height:1.04;margin:0 0 18px}.ns-home-hero-content p{color:rgba(255,255,255,.92);font-size:clamp(15px,1.45vw,18px);line-height:1.7;margin:0 0 24px;max-width:590px}.ns-home-slide-features{display:flex;flex-wrap:wrap;gap:10px 12px;margin:0 0 27px}.ns-home-slide-features span{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:12px;font-weight:800;line-height:1.1;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.ns-home-slide-features span:before{content:"✓";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(243,165,27,.2);color:var(--ns-accent);font-size:12px;font-weight:900;line-height:1}.ns-home-hero-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:0}.ns-home-hero-buttons .ns-btn{min-height:50px;padding:14px 22px;border-radius:9px}.ns-home-hero-buttons .ns-btn-outline{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.58);color:#fff!important;box-shadow:none}.ns-home-hero-buttons .ns-btn-outline:hover{background:rgba(255,255,255,.14)}.ns-home-hero-visual{position:relative;min-height:430px;display:flex;align-items:flex-end;justify-content:center;overflow:visible}.ns-home-main-visual{position:relative;z-index:2;display:block;max-height:clamp(390px,45vw,560px);max-width:112%;width:auto;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 28px 34px rgba(0,0,0,.24))}.ns-home-spotlight-card{position:absolute;z-index:4;left:0;bottom:54px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;min-width:250px;max-width:365px;padding:17px 18px;border-radius:16px;background:#fff;color:var(--ns-green);box-shadow:0 22px 52px rgba(0,0,0,.22);border:1px solid rgba(6,63,44,.08)}.ns-home-spotlight-image{grid-column:1/-1;border-radius:12px;overflow:hidden;background:#f4f7f5;border:1px solid #e3ece7;max-height:112px}.ns-home-spotlight-image img{display:block;width:100%;height:112px;object-fit:cover;filter:none}.ns-home-spotlight-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:12px;background:var(--ns-green);color:#fff;font-size:25px}.ns-home-spotlight-icon svg{width:27px;height:27px;fill:currentColor}.ns-home-spotlight-copy strong{display:block;font-size:31px;line-height:1;color:var(--ns-green);font-weight:900}.ns-home-spotlight-copy small{display:block;margin-top:4px;color:var(--ns-title);font-size:13px;font-weight:900}.ns-home-spotlight-copy em{display:block;margin-top:6px;color:#52665c;font-size:10px;line-height:1.35;font-style:normal;font-weight:600}.ns-home-hero-arrow{position:absolute;top:50%;z-index:9;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(255,255,255,.38);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;box-shadow:0 15px 32px rgba(0,0,0,.18);cursor:pointer;transition:.2s ease}.ns-home-hero-arrow:hover{background:#fff;color:var(--ns-green);transform:translateY(-50%) scale(1.04)}.ns-home-hero-arrow span{font-size:22px;line-height:1}.ns-home-hero-prev{left:22px}.ns-home-hero-next{right:22px}.ns-home-hero-dots{position:absolute;left:50%;bottom:22px;z-index:9;display:flex;gap:9px;transform:translateX(-50%)}.ns-home-hero-dot{width:10px;height:10px;border:0;border-radius:999px;background:rgba(255,255,255,.45);padding:0;cursor:pointer;transition:.2s ease}.ns-home-hero-dot.is-active{width:30px;background:var(--ns-accent)}.ns-home-hero-slide .ns-animate{opacity:1!important;transform:none!important}.ns-home-hero-wrap .ns-hero-lower-badges{margin-top:0;border-radius:0 0 22px 22px}
@media (max-width:1024px){.ns-home-hero-slide{padding:58px 0!important;min-height:500px}.ns-home-hero-grid{grid-template-columns:1fr;width:min(930px,calc(100% - 32px))}.ns-home-hero-content{max-width:720px}.ns-home-hero-visual{display:none!important}.ns-home-hero-content .ns-hero-title{font-size:clamp(36px,6vw,56px)}.ns-home-hero-arrow{width:42px;height:42px}.ns-home-hero-prev{left:14px}.ns-home-hero-next{right:14px}}
@media (max-width:767px){.ns-home-hero-slide{padding:48px 0 66px!important;min-height:460px}.ns-home-hero-grid{width:calc(100% - 28px)}.ns-home-hero-content{text-align:left!important;padding:0!important}.ns-home-hero-content .ns-hero-label{justify-content:flex-start}.ns-home-hero-content .ns-hero-title{font-size:34px;line-height:1.08}.ns-home-hero-content p{font-size:14px;line-height:1.62}.ns-home-slide-features{gap:8px;margin-bottom:22px}.ns-home-slide-features span{font-size:11px;padding:8px 10px}.ns-home-hero-buttons{justify-content:flex-start;gap:10px}.ns-home-hero-buttons .ns-btn{min-height:44px;padding:12px 15px;font-size:12px}.ns-home-hero-arrow{top:auto;bottom:15px;transform:none;width:36px;height:36px}.ns-home-hero-arrow:hover{transform:none}.ns-home-hero-prev{left:14px}.ns-home-hero-next{right:14px}.ns-home-hero-dots{bottom:25px}.ns-home-hero-dot{width:8px;height:8px}.ns-home-hero-dot.is-active{width:24px}}

/* v2.0.87 - Home hero slider controls alignment and click reliability */
.ns-home-hero-slider .ns-home-hero-arrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  padding:0!important;
  text-align:center!important;
  pointer-events:auto!important;
}
.ns-home-hero-slider .ns-home-hero-arrow span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  line-height:1!important;
  margin:0!important;
  padding:0!important;
  font-family:Arial, Helvetica, sans-serif!important;
  font-size:24px!important;
  font-weight:400!important;
  transform:translateY(-1px);
}
.ns-home-hero-slider .ns-home-hero-dots,
.ns-home-hero-slider .ns-home-hero-dot{
  pointer-events:auto!important;
}
@media (min-width:768px){
  .ns-home-hero-slider .ns-home-hero-arrow{top:50%!important;}
}


/* v2.0.88 - Home hero slide spacing + responsive image background fix
   Desktop: removes the extra blank space above the subjects and below the right image.
   Tablet/Mobile: uses each slide's editable right-side image as a soft background behind the text. */
.ns-home-hero-slider{
  overflow:hidden!important;
}
.ns-home-hero-track{
  min-height:var(--ns-hero-min-height,540px)!important;
}
.ns-home-hero-slide{
  min-height:var(--ns-hero-min-height,540px)!important;
  padding:0!important;
  align-items:stretch!important;
}
.ns-home-hero-slide.is-active{
  min-height:var(--ns-hero-min-height,540px)!important;
}
.ns-home-hero-grid{
  min-height:inherit!important;
  align-items:stretch!important;
}
.ns-home-hero-content{
  align-self:center!important;
  padding:42px 0!important;
}
.ns-home-hero-visual{
  align-self:stretch!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  overflow:visible!important;
}
.ns-home-main-visual{
  display:block!important;
  align-self:flex-end!important;
  margin:0!important;
  transform:translateY(1px);
  max-height:calc(var(--ns-hero-min-height,540px) - 2px)!important;
  object-fit:contain!important;
  object-position:bottom center!important;
}
.ns-home-spotlight-card{
  bottom:42px!important;
}
.ns-home-hero-dots{
  bottom:16px!important;
}

@media (max-width:1024px){
  .ns-home-hero-track{
    min-height:500px!important;
  }
  .ns-home-hero-slide{
    min-height:500px!important;
    padding:54px 0 70px!important;
    align-items:center!important;
  }
  .ns-home-hero-slide:after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:0!important;
    background-image:var(--ns-slide-visual-image,none)!important;
    background-repeat:no-repeat!important;
    background-position:right bottom!important;
    background-size:auto 92%!important;
    opacity:.16!important;
    z-index:1!important;
    pointer-events:none!important;
    filter:saturate(1.05);
  }
  .ns-home-hero-grid{
    min-height:auto!important;
    grid-template-columns:1fr!important;
    align-items:center!important;
  }
  .ns-home-hero-content{
    position:relative!important;
    z-index:4!important;
    max-width:760px!important;
    padding:0!important;
  }
  .ns-home-hero-visual{
    display:none!important;
  }
  .ns-home-hero-arrow{
    top:50%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
  }
  .ns-home-hero-arrow:hover{
    transform:translateY(-50%) scale(1.04)!important;
  }
  .ns-home-hero-dots{
    bottom:20px!important;
  }
}

@media (max-width:767px){
  .ns-home-hero-track{
    min-height:500px!important;
  }
  .ns-home-hero-slide{
    min-height:500px!important;
    padding:42px 0 78px!important;
  }
  .ns-home-hero-slide:after{
    background-position:center bottom!important;
    background-size:auto 68%!important;
    opacity:.13!important;
  }
  .ns-home-hero-content{
    text-align:left!important;
    padding:0!important;
  }
  .ns-home-hero-content .ns-hero-title{
    font-size:32px!important;
    line-height:1.08!important;
  }
  .ns-home-hero-content p{
    max-width:100%!important;
  }
  .ns-home-hero-arrow{
    top:50%!important;
    bottom:auto!important;
    width:34px!important;
    height:34px!important;
  }
  .ns-home-hero-prev{left:8px!important;}
  .ns-home-hero-next{right:8px!important;}
  .ns-home-hero-dots{
    bottom:22px!important;
  }
}


/* v2.0.89 - Mobile hero background and arrow visibility fix
   Mobile: hide manual arrows and show each editable slide image fully as a soft background. */
@media (max-width:1024px){
  .ns-home-hero-slide:after{
    background-size:contain!important;
    background-position:center bottom!important;
    opacity:.18!important;
  }
}
@media (max-width:767px){
  .ns-home-hero-slide:after{
    background-size:contain!important;
    background-position:center bottom!important;
    opacity:.18!important;
  }
  .ns-home-hero-arrow{
    display:none!important;
  }
  .ns-home-hero-dots{
    bottom:22px!important;
  }
}


/* v2.0.90 - Final mobile hero image/background + arrow fix
   Uses a real per-slide image layer on tablet/mobile so the editable slide image appears fully behind the text.
   Stronger selector hides carousel arrows on mobile, including inside Elementor preview. */
.ns-home-mobile-bg-visual{
  display:none!important;
}
@media (max-width:1024px){
  .ns-home-hero-slider .ns-home-hero-slide{
    overflow:hidden!important;
  }
  .ns-home-hero-slider .ns-home-hero-slide:after{
    content:none!important;
    display:none!important;
    background-image:none!important;
  }
  .ns-home-hero-slider .ns-home-mobile-bg-visual{
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:0!important;
    bottom:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    opacity:.24!important;
    z-index:1!important;
    pointer-events:none!important;
    filter:saturate(1.05)!important;
    transform:none!important;
  }
  .ns-home-hero-slider .ns-home-hero-slide:before{
    z-index:2!important;
    background:linear-gradient(90deg,rgba(2,29,20,.94) 0%,rgba(2,29,20,.88) 46%,rgba(6,63,44,.70) 100%)!important;
  }
  .ns-home-hero-slider .ns-home-hero-grid{
    position:relative!important;
    z-index:4!important;
  }
  .ns-home-hero-slider .ns-home-hero-visual{
    display:none!important;
  }
}
@media (max-width:767px){
  .ns-home-hero-slider .ns-home-hero-arrow,
  .ns-home-hero-slider button.ns-home-hero-arrow,
  .elementor .ns-home-hero-slider .ns-home-hero-arrow,
  .elementor-editor-active .ns-home-hero-slider .ns-home-hero-arrow{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
  }
  .ns-home-hero-slider .ns-home-mobile-bg-visual{
    object-fit:contain!important;
    object-position:center center!important;
    opacity:.26!important;
  }
  .ns-home-hero-slider .ns-home-hero-slide:before{
    background:linear-gradient(90deg,rgba(2,29,20,.95) 0%,rgba(2,29,20,.88) 48%,rgba(6,63,44,.64) 100%)!important;
  }
}

/* v2.0.91 - Global Book Free Demo popup */
.ns-demo-popup,
.ns-demo-popup * {
  box-sizing: border-box;
}

.ns-demo-popup {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, visibility .22s ease;
  font-family: 'Inter','Poppins',Arial,sans-serif;
}

.ns-demo-popup.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.ns-demo-popup-overlay {
  position: absolute;
  inset: 0;
  background: var(--ns-demo-overlay-bg, rgba(2, 18, 13, 0.78));
  backdrop-filter: blur(7px);
}

.ns-demo-popup-dialog {
  position: relative;
  width: min(100%, 760px);
  max-height: calc(100vh - 44px);
  overflow: auto;
  background: var(--ns-demo-dialog-bg, #ffffff);
  color: var(--ns-demo-text, #254337);
  border-radius: 28px;
  padding: 34px;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .32);
  transform: translateY(18px) scale(.98);
  transition: transform .22s ease;
  isolation: isolate;
}

.ns-demo-popup.is-open .ns-demo-popup-dialog {
  transform: translateY(0) scale(1);
}

.ns-demo-popup-dialog::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  border-radius: inherit;
  background-image: var(--ns-demo-bg-image, none);
  background-size: cover;
  background-position: center;
  opacity: .10;
}

.ns-demo-popup-dialog::after {
  content: "";
  position: absolute;
  right: -90px;
  top: -120px;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: var(--ns-demo-accent, #f3a51b);
  opacity: .12;
  z-index: -1;
}

.ns-demo-popup-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: rgba(6, 63, 44, .08);
  color: var(--ns-demo-title, #063f2c);
  font-size: 28px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.ns-demo-popup-close:hover,
.ns-demo-popup-close:focus {
  background: var(--ns-demo-button, #c91818);
  color: #fff;
  outline: none;
}

.ns-demo-popup-head {
  padding-right: 42px;
  margin-bottom: 22px;
}

.ns-demo-popup-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ns-demo-accent, #f3a51b);
  font-size: 12px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.ns-demo-popup-kicker::before,
.ns-demo-popup-kicker::after {
  content: "";
  width: 22px;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
}

.ns-demo-popup-head h3 {
  margin: 0;
  color: var(--ns-demo-title, #063f2c);
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -.04em;
}

.ns-demo-popup-head p {
  margin: 12px 0 0;
  color: var(--ns-demo-text, #254337);
  font-size: 16px;
  line-height: 1.6;
}

.ns-demo-popup-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.ns-demo-popup-field,
.ns-demo-popup-course {
  display: block;
}

.ns-demo-popup-field span,
.ns-demo-popup-course-top strong {
  display: block;
  color: var(--ns-demo-title, #063f2c);
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 8px;
}

.ns-demo-popup-field input {
  width: 100%;
  height: 52px;
  border: 1px solid rgba(6, 63, 44, .16);
  border-radius: 15px;
  padding: 0 16px;
  background: #fff;
  color: var(--ns-demo-title, #063f2c);
  font-size: 15px;
  font-weight: 600;
  outline: none;
  box-shadow: 0 8px 22px rgba(6, 63, 44, .05);
}

.ns-demo-popup-field input:focus {
  border-color: var(--ns-demo-accent, #f3a51b);
  box-shadow: 0 0 0 4px rgba(243, 165, 27, .16);
}

.ns-demo-popup-course {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(6, 63, 44, .12);
  border-radius: 20px;
  background: rgba(6, 63, 44, .035);
}

.ns-demo-popup-course-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 13px;
}

.ns-demo-popup-course-top strong {
  margin: 0;
}

.ns-demo-popup-course-top small {
  max-width: 420px;
  color: rgba(6, 63, 44, .70);
  font-size: 12px;
  line-height: 1.45;
  text-align: right;
}

.ns-demo-popup-specials,
.ns-demo-popup-courses {
  display: grid;
  gap: 10px;
}

.ns-demo-popup-specials {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 12px;
}

.ns-demo-popup-courses {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ns-demo-popup-specials label,
.ns-demo-popup-courses label {
  position: relative;
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(6, 63, 44, .14);
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  color: var(--ns-demo-title, #063f2c);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.ns-demo-popup-specials label:hover,
.ns-demo-popup-courses label:hover {
  transform: translateY(-1px);
  border-color: rgba(243, 165, 27, .75);
  box-shadow: 0 10px 18px rgba(6, 63, 44, .08);
}

.ns-demo-popup-specials input,
.ns-demo-popup-courses input {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  accent-color: var(--ns-demo-button, #c91818);
}

.ns-demo-popup-specials label:has(input:checked),
.ns-demo-popup-courses label:has(input:checked) {
  border-color: var(--ns-demo-button, #c91818);
  background: rgba(201, 24, 24, .06);
}

.ns-demo-popup-submit {
  width: 100%;
  min-height: 56px;
  margin-top: 18px;
  border: 0;
  border-radius: 16px;
  background: var(--ns-demo-button, #c91818);
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 16px 30px rgba(201, 24, 24, .22);
}

.ns-demo-popup-submit:hover,
.ns-demo-popup-submit:focus {
  filter: brightness(.94);
  outline: none;
}

.ns-demo-popup-submit:disabled {
  opacity: .72;
  cursor: wait;
}

.ns-demo-popup-response {
  min-height: 22px;
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 700;
  text-align: center;
}

.ns-demo-popup-response.is-success {
  color: #077a3f;
}

.ns-demo-popup-response.is-error {
  color: var(--ns-demo-button, #c91818);
}

.ns-demo-popup-active {
  overflow: hidden !important;
}

@media (max-width: 767px) {
  .ns-demo-popup {
    align-items: flex-end;
    padding: 10px;
  }

  .ns-demo-popup-dialog {
    width: 100%;
    max-height: calc(100vh - 20px);
    padding: 24px 18px 18px;
    border-radius: 24px;
  }

  .ns-demo-popup-close {
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
    font-size: 24px;
  }

  .ns-demo-popup-head {
    padding-right: 42px;
    margin-bottom: 18px;
  }

  .ns-demo-popup-head h3 {
    font-size: 28px;
  }

  .ns-demo-popup-head p {
    font-size: 14px;
    line-height: 1.5;
  }

  .ns-demo-popup-grid,
  .ns-demo-popup-specials,
  .ns-demo-popup-courses {
    grid-template-columns: 1fr;
  }

  .ns-demo-popup-course {
    padding: 14px;
  }

  .ns-demo-popup-course-top {
    display: block;
  }

  .ns-demo-popup-course-top small {
    display: block;
    max-width: none;
    text-align: left;
    margin-top: 5px;
  }

  .ns-demo-popup-specials label,
  .ns-demo-popup-courses label {
    min-height: 44px;
    font-size: 13px;
  }

  .ns-demo-popup-submit {
    min-height: 54px;
    border-radius: 15px;
  }
}

/* v2.0.92 - Sleek responsive Book Free Demo popup + dropdown course selector */
.ns-hidden-field {
  position: absolute !important;
  left: -99999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

.ns-demo-popup {
  padding: 18px !important;
  align-items: center !important;
}

.ns-demo-popup-overlay {
  background: var(--ns-demo-overlay-bg, rgba(2, 18, 13, .74)) !important;
  backdrop-filter: blur(9px) !important;
}

.ns-demo-popup-dialog {
  width: min(100%, 640px) !important;
  max-height: min(90vh, 760px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 28px !important;
  border-radius: 24px !important;
  background: var(--ns-demo-dialog-bg, #fff) !important;
  box-shadow: 0 26px 80px rgba(0, 0, 0, .30) !important;
  scrollbar-width: thin;
}

.ns-demo-popup-dialog::after {
  display: none !important;
}

.ns-demo-popup-close {
  top: 16px !important;
  right: 16px !important;
  width: 38px !important;
  height: 38px !important;
  font-size: 24px !important;
  background: rgba(6, 63, 44, .08) !important;
}

.ns-demo-popup-head {
  margin-bottom: 18px !important;
  padding-right: 42px !important;
}

.ns-demo-popup-kicker {
  margin-bottom: 10px !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
}

.ns-demo-popup-kicker::before,
.ns-demo-popup-kicker::after {
  width: 18px !important;
}

.ns-demo-popup-head h3 {
  font-size: clamp(25px, 3.4vw, 34px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
}

.ns-demo-popup-head p {
  margin-top: 8px !important;
  font-size: 14px !important;
  line-height: 1.48 !important;
}

.ns-demo-popup-grid {
  gap: 12px !important;
}

.ns-demo-popup-field span,
.ns-demo-popup-course-top strong {
  font-size: 13px !important;
  margin-bottom: 7px !important;
}

.ns-demo-popup-field input {
  height: 48px !important;
  border-radius: 13px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

.ns-demo-popup-course {
  position: relative !important;
  margin-top: 14px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.ns-demo-popup-course-top {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 8px !important;
}

.ns-demo-popup-course-top small {
  max-width: 390px !important;
  text-align: right !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  color: rgba(6, 63, 44, .68) !important;
}

.ns-demo-course-toggle {
  width: 100% !important;
  min-height: 50px !important;
  border: 1px solid rgba(6, 63, 44, .16) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--ns-demo-title, #063f2c) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 0 16px !important;
  text-align: left !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 24px rgba(6, 63, 44, .06) !important;
}

.ns-demo-course-toggle:hover,
.ns-demo-course-toggle:focus {
  border-color: var(--ns-demo-accent, #f3a51b) !important;
  box-shadow: 0 0 0 4px rgba(243, 165, 27, .13) !important;
  outline: none !important;
}

.ns-demo-course-summary {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  color: rgba(6, 63, 44, .68) !important;
}

.ns-demo-course-toggle.has-value .ns-demo-course-summary {
  color: var(--ns-demo-title, #063f2c) !important;
}

.ns-demo-course-arrow {
  width: 10px !important;
  height: 10px !important;
  flex: 0 0 10px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) translateY(-2px) !important;
  transition: transform .2s ease !important;
  opacity: .8 !important;
}

.ns-demo-popup-course.is-dropdown-open .ns-demo-course-arrow {
  transform: rotate(225deg) translateY(-2px) !important;
}

.ns-demo-course-dropdown {
  display: none !important;
  margin-top: 8px !important;
  padding: 10px !important;
  border: 1px solid rgba(6, 63, 44, .14) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 18px 44px rgba(6, 63, 44, .14) !important;
  max-height: 275px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 10 !important;
}

.ns-demo-popup-course.is-dropdown-open .ns-demo-course-dropdown {
  display: block !important;
}

.ns-demo-popup-specials,
.ns-demo-popup-courses {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 7px !important;
}

.ns-demo-popup-specials {
  margin-bottom: 9px !important;
}

.ns-demo-course-group-title {
  margin: 6px 4px 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(6, 63, 44, .10) !important;
  color: rgba(6, 63, 44, .72) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

.ns-demo-popup-specials label,
.ns-demo-popup-courses label {
  width: 100% !important;
  min-height: 40px !important;
  padding: 9px 10px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  box-shadow: none !important;
  transform: none !important;
}

.ns-demo-popup-specials label:hover,
.ns-demo-popup-courses label:hover {
  transform: none !important;
  box-shadow: none !important;
}

.ns-demo-popup-specials input,
.ns-demo-popup-courses input {
  width: 16px !important;
  height: 16px !important;
}

.ns-demo-popup-submit {
  min-height: 52px !important;
  margin-top: 16px !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  box-shadow: 0 14px 26px rgba(201, 24, 24, .20) !important;
}

.ns-demo-popup-response {
  min-height: 18px !important;
  margin-top: 10px !important;
  font-size: 13px !important;
}

@media (max-width: 767px) {
  .ns-demo-popup {
    align-items: center !important;
    padding: 10px !important;
  }

  .ns-demo-popup-dialog {
    width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    padding: 22px 16px 16px !important;
    border-radius: 20px !important;
  }

  .ns-demo-popup-close {
    top: 12px !important;
    right: 12px !important;
    width: 36px !important;
    height: 36px !important;
  }

  .ns-demo-popup-head {
    padding-right: 42px !important;
    margin-bottom: 15px !important;
  }

  .ns-demo-popup-head h3 {
    font-size: 24px !important;
    line-height: 1.15 !important;
  }

  .ns-demo-popup-head p {
    font-size: 13px !important;
  }

  .ns-demo-popup-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .ns-demo-popup-field input,
  .ns-demo-course-toggle {
    min-height: 46px !important;
    height: 46px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
  }

  .ns-demo-popup-course-top {
    display: block !important;
  }

  .ns-demo-popup-course-top small {
    display: block !important;
    max-width: none !important;
    text-align: left !important;
    margin-top: 3px !important;
  }

  .ns-demo-course-dropdown {
    max-height: 235px !important;
    padding: 9px !important;
  }

  .ns-demo-popup-specials label,
  .ns-demo-popup-courses label {
    min-height: 39px !important;
    font-size: 12.5px !important;
  }

  .ns-demo-popup-submit {
    min-height: 50px !important;
  }
}


/* v2.0.93 - Age and Education fields for Book Free Demo popup */
.ns-demo-popup-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.ns-demo-popup-field input[type=number]::-webkit-outer-spin-button,
.ns-demo-popup-field input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.ns-demo-popup-field input[type=number] {
  -moz-appearance: textfield;
}

@media (max-width: 767px) {
  .ns-demo-popup-grid {
    grid-template-columns: 1fr !important;
  }
}


/* v2.0.94: Career path title red dash underline */
.ns-job-roles-carousel.ns-career-path-carousel .ns-career-path-card h3{
  position:relative;
  display:inline-block;
  padding-bottom:14px;
  margin-bottom:10px!important;
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-career-path-card h3::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:58px;
  height:4px;
  border-radius:999px;
  background:#e11b22;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}
.ns-job-roles-carousel.ns-career-path-carousel .ns-career-path-card p{
  margin-top:2px;
}


/* North Star YouTube Videos Widget - v2.0.95 */
.ns-youtube-video-section{background:var(--ns-youtube-section-bg,#f7fbf8);position:relative;overflow:hidden}
.ns-youtube-video-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 15%,rgba(243,165,27,.14),transparent 28%),radial-gradient(circle at 92% 12%,rgba(6,63,44,.11),transparent 30%)}
.ns-youtube-video-section .ns-container{position:relative;z-index:1}
.ns-youtube-head{max-width:840px;margin-left:auto;margin-right:auto;margin-bottom:34px}
.ns-youtube-video-title{color:var(--ns-youtube-title,#063f2c)}
.ns-youtube-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ns-youtube-card{background:var(--ns-youtube-card-bg,#fff);border:1px solid rgba(6,63,44,.1);border-radius:24px;overflow:hidden;box-shadow:0 22px 52px rgba(6,63,44,.1);display:flex;flex-direction:column;min-height:100%;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ns-youtube-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(6,63,44,.15);border-color:rgba(243,165,27,.45)}
.ns-youtube-media{position:relative;width:100%;aspect-ratio:16/9;background:#0c1f18;overflow:hidden}
.ns-youtube-media iframe,.ns-youtube-media img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;display:block}
.ns-youtube-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#fff;background:linear-gradient(135deg,#063f2c,#0b5b40);text-align:center;padding:24px}
.ns-youtube-placeholder:before{content:"▶";width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--ns-youtube-accent,#f3a51b);color:#063f2c;font-size:22px;padding-left:3px;box-shadow:0 10px 26px rgba(0,0,0,.16)}
.ns-youtube-card-body{padding:23px 24px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.ns-youtube-card h3{margin:0;color:var(--ns-youtube-title,#063f2c);font-size:20px;line-height:1.28;font-weight:800;letter-spacing:-.02em}
.ns-youtube-description{color:var(--ns-youtube-text,#405248);font-size:15px;line-height:1.7}
.ns-youtube-description p{margin:0 0 8px}.ns-youtube-description p:last-child{margin-bottom:0}
.ns-youtube-button{margin-top:auto;width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:9px;border-radius:999px;padding:11px 17px;background:var(--ns-youtube-button,#c91818);color:var(--ns-youtube-button-text,#fff)!important;text-decoration:none!important;font-size:14px;line-height:1;font-weight:800;box-shadow:0 12px 28px rgba(201,24,24,.22)}
.ns-youtube-button:hover{color:var(--ns-youtube-button-text,#fff)!important;transform:translateY(-1px)}
.ns-youtube-button i{font-size:12px}
.ns-youtube-empty{background:#fff;border:1px dashed rgba(6,63,44,.28);border-radius:20px;padding:28px;color:#405248;text-align:center}
.ns-youtube-empty strong{display:block;color:#063f2c;font-size:20px;margin-bottom:6px}.ns-youtube-empty p{margin:0}
@media (max-width:1024px){.ns-youtube-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ns-youtube-card-body{padding:20px}}
@media (max-width:767px){.ns-youtube-video-section{padding-top:52px!important;padding-bottom:56px!important}.ns-youtube-head{margin-bottom:24px}.ns-youtube-video-grid{grid-template-columns:1fr;gap:18px}.ns-youtube-card{border-radius:20px}.ns-youtube-card h3{font-size:18px}.ns-youtube-description{font-size:14px}.ns-youtube-button{width:100%;justify-content:center}}

/* v2.0.96: About Hero responsive image fix
   - Keeps the right-side hero image visible on smaller laptop/tablet widths.
   - On tablet/mobile the image becomes a true background behind the content instead of being hidden.
   - Keeps content readable with a dark overlay and preserves left alignment. */
@media (min-width:1025px) and (max-width:1440px){
  .ns-about-hero{
    min-height:clamp(460px,38vw,560px)!important;
  }
  .ns-about-hero-curve{
    right:-22%!important;
    width:70%!important;
  }
  .ns-about-hero-image{
    display:block!important;
    width:56%!important;
    height:100%!important;
    top:auto!important;
    right:0!important;
    bottom:0!important;
    clip-path:ellipse(86% 91% at 84% 50%)!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center center!important;
  }
}

@media (max-width:1024px){
  .ns-about-hero{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-height:520px!important;
    padding:0!important;
    text-align:left!important;
    background:#063f2c!important;
  }
  .ns-about-hero-curve{
    display:none!important;
  }
  .ns-about-hero-image{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    z-index:0!important;
    clip-path:none!important;
    opacity:.72!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center center!important;
    pointer-events:none!important;
  }
  .ns-about-hero-image:after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(90deg,rgba(2,29,20,.58) 0%,rgba(2,29,20,.42) 46%,rgba(6,63,44,.18) 100%)!important;
    pointer-events:none!important;
  }
  .ns-about-hero-overlay{
    display:block!important;
    z-index:1!important;
    background:linear-gradient(90deg,rgba(2,29,20,.92) 0%,rgba(2,29,20,.80) 48%,rgba(6,63,44,.42) 100%)!important;
  }
  .ns-about-hero-dots{
    display:block!important;
    z-index:2!important;
    left:auto!important;
    right:30px!important;
    top:auto!important;
    bottom:30px!important;
    transform:none!important;
    opacity:.36!important;
  }
  .ns-about-hero-inner{
    position:relative!important;
    z-index:5!important;
    width:min(930px,calc(100% - 32px))!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ns-about-hero-content{
    max-width:660px!important;
    margin-left:0!important;
    margin-right:auto!important;
    padding:74px 0!important;
    text-align:left!important;
  }
  .ns-about-hero-title,
  .ns-about-hero-text{
    margin-left:0!important;
    margin-right:0!important;
  }
  .ns-about-hero-buttons{
    justify-content:flex-start!important;
  }
}

@media (max-width:767px){
  .ns-about-hero{
    min-height:620px!important;
    display:flex!important;
    align-items:center!important;
    text-align:left!important;
  }
  .ns-about-hero-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    opacity:.62!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  .ns-about-hero-image:after{
    background:linear-gradient(180deg,rgba(2,29,20,.35) 0%,rgba(2,29,20,.50) 42%,rgba(2,29,20,.85) 100%)!important;
  }
  .ns-about-hero-overlay{
    background:linear-gradient(180deg,rgba(2,29,20,.86) 0%,rgba(2,29,20,.68) 42%,rgba(6,63,44,.88) 100%)!important;
  }
  .ns-about-hero-inner{
    width:calc(100% - 28px)!important;
  }
  .ns-about-hero-content{
    max-width:none!important;
    padding:58px 0!important;
    text-align:left!important;
  }
  .ns-about-hero-title{
    font-size:34px!important;
    line-height:1.14!important;
  }
  .ns-about-hero-text{
    max-width:100%!important;
    font-size:14px!important;
    line-height:1.7!important;
    margin-top:18px!important;
  }
  .ns-about-hero-buttons{
    justify-content:flex-start!important;
    gap:12px!important;
    margin-top:26px!important;
  }
  .ns-about-hero-buttons .ns-btn{
    width:auto!important;
    max-width:none!important;
    min-height:48px!important;
    padding:13px 18px!important;
  }
  .ns-about-hero-dots{
    right:18px!important;
    bottom:20px!important;
    opacity:.28!important;
  }
}

@media (max-width:420px){
  .ns-about-hero{
    min-height:650px!important;
  }
  .ns-about-hero-image{
    background-position:center center!important;
  }
  .ns-about-hero-buttons .ns-btn{
    width:100%!important;
    justify-content:center!important;
  }
}


/* v2.0.97: About Hero real small-screen image fix
   The previous fix still kept the desktop side-image/curve layout around small laptop widths,
   so portrait/office photos could be clipped by the green curve. From 1280px down, the image
   becomes a full hero background behind the content. */
@media (min-width:1025px) and (max-width:1280px){
  .ns-about-hero{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-height:520px!important;
    overflow:hidden!important;
    text-align:left!important;
    background:#063f2c!important;
  }
  .ns-about-hero-curve{
    display:none!important;
  }
  .ns-about-hero-image{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    z-index:0!important;
    clip-path:none!important;
    opacity:.82!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center center!important;
    pointer-events:none!important;
  }
  .ns-about-hero-image:after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(90deg,rgba(2,29,20,.66) 0%,rgba(2,29,20,.52) 46%,rgba(6,63,44,.18) 100%)!important;
    pointer-events:none!important;
  }
  .ns-about-hero-overlay{
    display:block!important;
    z-index:1!important;
    background:linear-gradient(90deg,rgba(2,29,20,.94) 0%,rgba(2,29,20,.82) 46%,rgba(6,63,44,.32) 100%)!important;
  }
  .ns-about-hero-dots{
    display:block!important;
    z-index:2!important;
    left:auto!important;
    right:38px!important;
    top:auto!important;
    bottom:34px!important;
    transform:none!important;
    opacity:.35!important;
  }
  .ns-about-hero-inner{
    position:relative!important;
    z-index:5!important;
    width:min(1140px,calc(100% - 40px))!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ns-about-hero-content{
    max-width:620px!important;
    margin-left:0!important;
    margin-right:auto!important;
    padding:74px 0!important;
    text-align:left!important;
  }
  .ns-about-hero-title,
  .ns-about-hero-text{
    margin-left:0!important;
    margin-right:0!important;
  }
  .ns-about-hero-buttons{
    justify-content:flex-start!important;
  }
}

@media (max-width:1024px){
  .ns-about-hero-curve{
    display:none!important;
  }
  .ns-about-hero-image{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    z-index:0!important;
    clip-path:none!important;
    opacity:.78!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center center!important;
    pointer-events:none!important;
  }
  .ns-about-hero-overlay{
    z-index:1!important;
    background:linear-gradient(90deg,rgba(2,29,20,.94) 0%,rgba(2,29,20,.78) 48%,rgba(6,63,44,.34) 100%)!important;
  }
  .ns-about-hero-inner{
    position:relative!important;
    z-index:5!important;
  }
}

@media (max-width:767px){
  .ns-about-hero{
    min-height:620px!important;
    display:flex!important;
    align-items:center!important;
    text-align:left!important;
  }
  .ns-about-hero-image{
    opacity:.72!important;
    background-size:cover!important;
    background-position:62% center!important;
  }
  .ns-about-hero-image:after{
    background:linear-gradient(180deg,rgba(2,29,20,.24) 0%,rgba(2,29,20,.48) 42%,rgba(2,29,20,.88) 100%)!important;
  }
  .ns-about-hero-overlay{
    background:linear-gradient(180deg,rgba(2,29,20,.78) 0%,rgba(2,29,20,.66) 42%,rgba(6,63,44,.90) 100%)!important;
  }
}

@media (max-width:420px){
  .ns-about-hero-image{
    background-position:65% center!important;
  }
}

/* v2.0.98: About Hero mobile compact spacing fix
   Removes the large empty top/bottom area on phones while keeping the image as a readable background. */
@media (max-width:767px){
  .ns-about-hero{
    min-height:auto!important;
    height:auto!important;
    display:block!important;
    align-items:flex-start!important;
    padding:0!important;
    text-align:left!important;
  }
  .ns-about-hero-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    opacity:.68!important;
    background-size:cover!important;
    background-position:62% center!important;
  }
  .ns-about-hero-overlay{
    background:linear-gradient(180deg,rgba(2,29,20,.86) 0%,rgba(2,29,20,.74) 48%,rgba(6,63,44,.88) 100%)!important;
  }
  .ns-about-hero-inner{
    width:calc(100% - 32px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ns-about-hero-content{
    max-width:none!important;
    padding:30px 0 34px!important;
    margin:0!important;
    text-align:left!important;
  }
  .ns-about-hero-label{
    margin-bottom:12px!important;
  }
  .ns-about-hero-title{
    font-size:clamp(31px,9.2vw,36px)!important;
    line-height:1.14!important;
    margin:0!important;
  }
  .ns-about-hero-text{
    margin-top:18px!important;
    font-size:14px!important;
    line-height:1.66!important;
  }
  .ns-about-hero-buttons{
    margin-top:24px!important;
    gap:12px!important;
    justify-content:flex-start!important;
  }
  .ns-about-hero-buttons .ns-btn{
    min-height:48px!important;
    padding:13px 18px!important;
  }
  .ns-about-hero-dots{
    right:18px!important;
    bottom:14px!important;
    width:110px!important;
    height:82px!important;
    opacity:.25!important;
  }
}

@media (max-width:420px){
  .ns-about-hero{
    min-height:auto!important;
  }
  .ns-about-hero-content{
    padding:26px 0 30px!important;
  }
  .ns-about-hero-image{
    background-position:65% center!important;
  }
  .ns-about-hero-buttons .ns-btn{
    width:100%!important;
    max-width:none!important;
    justify-content:center!important;
  }
}

@media (max-width:360px){
  .ns-about-hero-content{
    padding:22px 0 26px!important;
  }
  .ns-about-hero-title{
    font-size:30px!important;
  }
}


/* v2.0.99 - Home hero spotlight card continuous grow/shrink animation */
@keyframes nsHomeSpotlightPulse {
  0%, 100% {
    transform:scale(1);
    box-shadow:0 22px 52px rgba(0,0,0,.22);
  }
  50% {
    transform:scale(1.065);
    box-shadow:0 30px 70px rgba(0,0,0,.30);
  }
}
.ns-home-hero-slider .ns-home-spotlight-card{
  transform-origin:center center!important;
  animation:nsHomeSpotlightPulse 2.15s ease-in-out infinite!important;
  will-change:transform,box-shadow;
}
.ns-home-hero-slide:not(.is-active) .ns-home-spotlight-card{
  animation-play-state:paused!important;
}

/* North Star Image Gallery Widget */
.ns-image-gallery-section{background:var(--ns-gallery-section-bg,#fff);position:relative;overflow:hidden}
.ns-image-gallery-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 7% 16%,rgba(243,165,27,.12),transparent 29%),radial-gradient(circle at 91% 8%,rgba(6,63,44,.08),transparent 32%)}
.ns-image-gallery-section .ns-container{position:relative;z-index:1}
.ns-image-gallery-head{max-width:840px;margin-left:auto;margin-right:auto;margin-bottom:34px}
.ns-image-gallery-title{color:var(--ns-gallery-title,#063f2c)}
.ns-image-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ns-image-gallery-card{background:var(--ns-gallery-card-bg,#fff);border:1px solid rgba(6,63,44,.1);border-radius:24px;overflow:hidden;box-shadow:0 22px 52px rgba(6,63,44,.09);display:flex;flex-direction:column;min-height:100%;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ns-image-gallery-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(6,63,44,.14);border-color:rgba(243,165,27,.48)}
.ns-image-gallery-media{position:relative;display:block;width:100%;height:275px;background:#0c1f18;overflow:hidden;text-decoration:none!important;color:inherit!important}
.ns-image-gallery-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .45s ease}
.ns-image-gallery-card:hover .ns-image-gallery-media img{transform:scale(1.055);filter:saturate(1.08)}
.ns-image-gallery-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,63,44,0) 40%,rgba(6,63,44,.52) 100%);opacity:.78;transition:opacity .25s ease;pointer-events:none}
.ns-image-gallery-card:hover .ns-image-gallery-media:after{opacity:.9}
.ns-image-gallery-badge{position:absolute;left:18px;bottom:16px;z-index:2;display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.92);color:var(--ns-gallery-title,#063f2c);font-size:12px;line-height:1;font-weight:800;letter-spacing:.02em;box-shadow:0 10px 24px rgba(0,0,0,.16)}
.ns-image-gallery-view{position:absolute;right:16px;top:16px;z-index:2;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ns-gallery-accent,#f3a51b);color:#063f2c;box-shadow:0 14px 30px rgba(0,0,0,.18);opacity:0;transform:translateY(-7px) scale(.94);transition:opacity .25s ease,transform .25s ease}
.ns-image-gallery-card:hover .ns-image-gallery-view{opacity:1;transform:translateY(0) scale(1)}
.ns-image-gallery-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#fff;background:linear-gradient(135deg,#063f2c,#0b5b40);text-align:center;padding:24px}
.ns-image-gallery-placeholder:before{content:"+";width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--ns-gallery-accent,#f3a51b);color:#063f2c;font-size:31px;font-weight:900;box-shadow:0 10px 26px rgba(0,0,0,.16)}
.ns-image-gallery-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.ns-image-gallery-card h3{margin:0;color:var(--ns-gallery-title,#063f2c);font-size:20px;line-height:1.28;font-weight:800;letter-spacing:-.02em}
.ns-image-gallery-description{color:var(--ns-gallery-text,#405248);font-size:15px;line-height:1.7}
.ns-image-gallery-description p{margin:0 0 8px}.ns-image-gallery-description p:last-child{margin-bottom:0}
.ns-image-gallery-button{margin-top:auto;width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:9px;border-radius:999px;padding:11px 17px;background:var(--ns-gallery-button,#c91818);color:var(--ns-gallery-button-text,#fff)!important;text-decoration:none!important;font-size:14px;line-height:1;font-weight:800;box-shadow:0 12px 28px rgba(201,24,24,.22);transition:transform .2s ease,box-shadow .2s ease}
.ns-image-gallery-button:hover{color:var(--ns-gallery-button-text,#fff)!important;transform:translateY(-1px);box-shadow:0 16px 34px rgba(201,24,24,.28)}
.ns-image-gallery-button i{font-size:12px}
.ns-image-gallery-empty{background:#fff;border:1px dashed rgba(6,63,44,.28);border-radius:20px;padding:28px;color:#405248;text-align:center}
.ns-image-gallery-empty strong{display:block;color:#063f2c;font-size:20px;margin-bottom:6px}.ns-image-gallery-empty p{margin:0}
@media (max-width:1024px){.ns-image-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ns-image-gallery-body{padding:20px}.ns-image-gallery-media{height:250px}}
@media (max-width:767px){.ns-image-gallery-section{padding-top:52px!important;padding-bottom:56px!important}.ns-image-gallery-head{margin-bottom:24px}.ns-image-gallery-grid{grid-template-columns:1fr;gap:18px}.ns-image-gallery-card{border-radius:20px}.ns-image-gallery-card h3{font-size:18px}.ns-image-gallery-description{font-size:14px}.ns-image-gallery-button{width:100%;justify-content:center}.ns-image-gallery-media{height:235px}.ns-image-gallery-view{opacity:1;transform:none}}

/* v2.0.102: YouTube Videos + Image Gallery full carousel mode */
.ns-youtube-video-carousel,
.ns-image-gallery-carousel{
  --ns-carousel-gap:24px;
  --ns-carousel-card-width:calc((100% - 48px) / 3);
  position:relative;
}
.ns-youtube-video-carousel .ns-youtube-video-grid,
.ns-image-gallery-carousel .ns-image-gallery-grid{
  display:flex!important;
  grid-template-columns:none!important;
  gap:var(--ns-carousel-gap,24px)!important;
  overflow-x:auto;
  overflow-y:visible;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:8px 4px 26px;
  margin:0 -4px;
  scrollbar-width:none;
}
.ns-youtube-video-carousel .ns-youtube-video-grid::-webkit-scrollbar,
.ns-image-gallery-carousel .ns-image-gallery-grid::-webkit-scrollbar{
  display:none;
}
.ns-youtube-video-carousel .ns-youtube-card,
.ns-image-gallery-carousel .ns-image-gallery-card{
  flex:0 0 var(--ns-carousel-card-width)!important;
  max-width:var(--ns-carousel-card-width)!important;
  min-width:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.ns-content-carousel-nav{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:18px;
  position:relative;
  z-index:3;
}
.ns-content-carousel-nav[hidden]{display:none!important}
.ns-content-carousel-nav .ns-carousel-btn{
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(6,63,44,.16);
  background:#fff;
  color:#063f2c;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(6,63,44,.12);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,opacity .2s ease;
}
.ns-content-carousel-nav .ns-carousel-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 38px rgba(6,63,44,.18);
  background:#063f2c;
  color:#fff;
}
.ns-content-carousel-nav .ns-carousel-btn:disabled{
  opacity:.35;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
.ns-content-carousel-nav .ns-carousel-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:14px;
  flex-wrap:wrap;
}
.ns-content-carousel-nav .ns-carousel-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  border:0;
  padding:0;
  background:rgba(6,63,44,.24);
  cursor:pointer;
  transition:width .2s ease,background .2s ease,transform .2s ease;
}
.ns-content-carousel-nav .ns-carousel-dot.is-active{
  width:24px;
  background:var(--ns-youtube-accent,var(--ns-gallery-accent,#f3a51b));
}
.ns-youtube-video-carousel .ns-content-carousel-nav .ns-carousel-dot.is-active{background:var(--ns-youtube-accent,#f3a51b)}
.ns-image-gallery-carousel .ns-content-carousel-nav .ns-carousel-dot.is-active{background:var(--ns-gallery-accent,#f3a51b)}
@media (max-width:1024px){
  .ns-youtube-video-carousel,
  .ns-image-gallery-carousel{
    --ns-carousel-card-width:calc((100% - 24px) / 2);
  }
}
@media (max-width:767px){
  .ns-youtube-video-carousel,
  .ns-image-gallery-carousel{
    --ns-carousel-card-width:100%;
    --ns-carousel-gap:18px;
  }
  .ns-youtube-video-carousel .ns-youtube-video-grid,
  .ns-image-gallery-carousel .ns-image-gallery-grid{
    padding-bottom:18px;
  }
  .ns-content-carousel-nav{
    gap:10px;
    margin-top:12px;
  }
  .ns-content-carousel-nav .ns-carousel-btn{
    width:40px;
    height:40px;
  }
}

/* v2.0.103 - Media carousel arrow visibility + cleaner gallery card text */
.ns-content-carousel-nav .ns-carousel-btn .ns-carousel-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-family:Arial, Helvetica, sans-serif!important;
  font-size:22px;
  line-height:1;
  font-weight:800;
  color:currentColor!important;
}
.ns-content-carousel-nav .ns-carousel-btn:disabled .ns-carousel-arrow{
  opacity:.72;
}
.ns-image-gallery-card h3:empty,
.ns-image-gallery-description:empty{
  display:none!important;
}
.ns-image-gallery-body{
  justify-content:flex-start;
}


/* v2.0.104 - Perfect center alignment for media carousel arrows */
.ns-content-carousel-nav .ns-carousel-btn{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  padding:0!important;
  margin:0!important;
  line-height:1!important;
  text-align:center!important;
  box-sizing:border-box!important;
  vertical-align:middle!important;
  overflow:hidden;
}
.ns-content-carousel-nav .ns-carousel-btn .ns-carousel-arrow{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  font-family:Arial, Helvetica, sans-serif!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:700!important;
  color:currentColor!important;
  text-align:center!important;
  pointer-events:none!important;
}
@media (max-width:767px){
  .ns-content-carousel-nav .ns-carousel-btn{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
  .ns-content-carousel-nav .ns-carousel-btn .ns-carousel-arrow{
    font-size:20px!important;
  }
}

/* v2.0.105: Animated placement badge for About Hero */
@keyframes nsAboutHeroBadgePulse {
  0%, 100% {
    transform:scale(1);
    box-shadow:0 22px 52px rgba(0,0,0,.22);
  }
  50% {
    transform:scale(1.065);
    box-shadow:0 30px 70px rgba(0,0,0,.30);
  }
}
.ns-about-hero-badge{
  position:absolute!important;
  right:0!important;
  bottom:48px!important;
  z-index:8!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:14px!important;
  width:min(365px,36vw)!important;
  min-width:300px!important;
  padding:17px 18px!important;
  border-radius:16px!important;
  background:#fff;
  color:var(--ns-green,#063f2c)!important;
  border:1px solid rgba(6,63,44,.08)!important;
  box-shadow:0 22px 52px rgba(0,0,0,.22);
  transform-origin:center center!important;
  animation:nsAboutHeroBadgePulse 2.15s ease-in-out infinite!important;
  will-change:transform,box-shadow;
}
.ns-about-hero-badge-icon{
  width:56px!important;
  height:56px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 56px!important;
  border-radius:12px!important;
  background:var(--ns-green,#063f2c);
  color:#fff;
  font-size:25px!important;
  line-height:1!important;
}
.ns-about-hero-badge-icon svg{
  width:27px!important;
  height:27px!important;
  display:block!important;
  fill:currentColor!important;
}
.ns-about-hero-badge-copy{
  display:block!important;
  min-width:0!important;
}
.ns-about-hero-badge-number{
  display:block!important;
  margin:0!important;
  color:var(--ns-green,#063f2c);
  font-size:31px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.035em!important;
}
.ns-about-hero-badge-title{
  display:block!important;
  margin-top:4px!important;
  color:var(--ns-green,#063f2c);
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
}
.ns-about-hero-badge-desc{
  display:block!important;
  margin-top:6px!important;
  color:#52665c;
  font-size:10px!important;
  line-height:1.35!important;
  font-style:normal!important;
  font-weight:600!important;
}
@media (min-width:1025px) and (max-width:1280px){
  .ns-about-hero-badge{
    right:0!important;
    bottom:44px!important;
    width:340px!important;
    min-width:300px!important;
  }
}
@media (max-width:1024px){
  .ns-about-hero-badge{
    right:0!important;
    bottom:34px!important;
    width:320px!important;
    min-width:280px!important;
  }
}
@media (max-width:767px){
  .ns-about-hero-badge{
    position:relative!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:350px!important;
    margin:-6px 0 28px!important;
    padding:15px 16px!important;
    border-radius:14px!important;
    gap:12px!important;
  }
  .ns-about-hero-badge-icon{
    width:50px!important;
    height:50px!important;
    flex-basis:50px!important;
    font-size:22px!important;
  }
  .ns-about-hero-badge-icon svg{
    width:24px!important;
    height:24px!important;
  }
  .ns-about-hero-badge-number{
    font-size:28px!important;
  }
  .ns-about-hero-badge-title{
    font-size:12px!important;
  }
  .ns-about-hero-badge-desc{
    font-size:9px!important;
  }
}
@media (max-width:360px){
  .ns-about-hero-badge{
    grid-template-columns:44px 1fr!important;
    padding:14px!important;
  }
  .ns-about-hero-badge-icon{
    width:44px!important;
    height:44px!important;
    flex-basis:44px!important;
  }
}


/* v2.0.106 - Free Demo popup Message field + compact textarea styling */
.ns-demo-popup-message-field {
  display: block !important;
  margin-top: 12px !important;
}

.ns-demo-popup-field textarea {
  width: 100% !important;
  min-height: 88px !important;
  border: 1px solid rgba(6, 63, 44, .16) !important;
  border-radius: 13px !important;
  padding: 13px 14px !important;
  background: #fff !important;
  color: var(--ns-demo-title, #063f2c) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  outline: none !important;
  box-shadow: none !important;
  resize: vertical !important;
  font-family: inherit !important;
}

.ns-demo-popup-field textarea:focus {
  border-color: var(--ns-demo-accent, #f3a51b) !important;
  box-shadow: 0 0 0 4px rgba(243, 165, 27, .13) !important;
}

@media (max-width: 767px) {
  .ns-demo-popup-message-field {
    margin-top: 10px !important;
  }

  .ns-demo-popup-field textarea {
    min-height: 82px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
  }
}

/* v2.0.107 - Trust section small red title underline/dash marks */
.north-star-widget .ns-trust-card h3{
  position:relative!important;
  margin-bottom:8px!important;
}
.north-star-widget .ns-trust-card h3:after{
  content:"";
  display:block;
  width:42px;
  height:4px;
  margin:3px auto 0;
  border-radius:999px;
  background:var(--ns-red,#c91818);
}
@media (max-width:767px){
  .north-star-widget .ns-trust-card h3:after{
    width:38px;
    height:4px;
  }
}

/* v2.0.108 - Journey section small title underline/dash marks */
.north-star-widget .ns-journey-carousel .ns-step-card h3{
  position:relative!important;
  display:inline-block!important;
  margin-bottom:8px!important;
}
.north-star-widget .ns-journey-carousel .ns-step-card h3:after{
  content:"";
  display:block;
  width:42px;
  height:4px;
  margin:3px auto 0;
  border-radius:999px;
  background:#203d22!important;
}
@media (max-width:767px){
  .north-star-widget .ns-journey-carousel .ns-step-card h3:after{
    width:38px;
    height:4px;
  }
}

/* v2.0.109 - YouTube cards use reliable thumbnail banners instead of embedded iframes to avoid player configuration errors. */
.ns-youtube-thumb-link{position:absolute;inset:0;display:block;color:#fff!important;text-decoration:none!important;overflow:hidden;background:#0c1f18}
.ns-youtube-thumb-link:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,63,44,.04),rgba(6,63,44,.22));opacity:.92;transition:opacity .25s ease}
.ns-youtube-thumb-link:hover:before{opacity:.65}
.ns-youtube-thumb-link img{transform:scale(1.001);transition:transform .35s ease,filter .35s ease}
.ns-youtube-card:hover .ns-youtube-thumb-link img{transform:scale(1.045);filter:saturate(1.06)}
.ns-youtube-play-badge{position:absolute;left:50%;top:50%;z-index:2;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);background:var(--ns-youtube-button,#c91818);color:#fff;box-shadow:0 18px 42px rgba(0,0,0,.28);transition:transform .25s ease,box-shadow .25s ease;background-color .25s ease}
.ns-youtube-play-badge i{font-size:18px;line-height:1;margin-left:4px;color:inherit}
.ns-youtube-card:hover .ns-youtube-play-badge{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 22px 52px rgba(0,0,0,.34)}
.ns-youtube-placeholder.ns-youtube-thumb-link{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;padding:24px;background:linear-gradient(135deg,#063f2c,#0b5b40)}
.ns-youtube-placeholder.ns-youtube-thumb-link:before{display:none}
.ns-youtube-placeholder.ns-youtube-thumb-link .ns-youtube-play-badge{position:static;transform:none;margin-top:4px}
@media (max-width:767px){.ns-youtube-play-badge{width:50px;height:50px}.ns-youtube-play-badge i{font-size:16px}}


/* v2.0.112 - Show a YouTube-style play button only on hover over video thumbnails. */
.ns-youtube-card .ns-youtube-play-badge{display:grid!important;opacity:0;visibility:hidden;pointer-events:none;width:68px;height:48px;border-radius:14px;transform:translate(-50%,-50%) scale(.88);background:rgba(255,0,0,.92);box-shadow:0 18px 42px rgba(0,0,0,.22);transition:opacity .22s ease,visibility .22s ease,transform .22s ease,box-shadow .22s ease,background-color .22s ease}
.ns-youtube-play-badge i{font-size:22px;margin-left:3px}
.ns-youtube-thumb-link:hover .ns-youtube-play-badge,
.ns-youtube-thumb-link:focus .ns-youtube-play-badge,
.ns-youtube-thumb-link:focus-visible .ns-youtube-play-badge,
.ns-youtube-card:hover .ns-youtube-play-badge{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);box-shadow:0 22px 52px rgba(0,0,0,.30);}
.ns-youtube-thumb-link:before{background:linear-gradient(180deg,rgba(6,63,44,.02),rgba(6,63,44,.12));}
@media (max-width:767px){.ns-youtube-card .ns-youtube-play-badge{width:60px;height:42px}.ns-youtube-play-badge i{font-size:19px}}


/* v2.0.111 - Remove yellow hover dot/search circle from Image Gallery cards */
.ns-image-gallery-view,
.ns-image-gallery-card:hover .ns-image-gallery-view{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}


/* v2.0.113 - Render a visible white play triangle inside the red hover play badge without relying on icon fonts. */
.ns-youtube-play-badge{position:absolute;overflow:hidden}
.ns-youtube-play-badge i{display:none!important}
.ns-youtube-play-badge::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-42%,-50%);width:0;height:0;border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:18px solid #fff;z-index:3}
@media (max-width:767px){.ns-youtube-play-badge::before{border-top-width:9px;border-bottom-width:9px;border-left-width:15px}}

/* v2.0.114 - Contact page now uses the same Free Demo enquiry form as the popup. */
.ns-contact-demo-form{
  margin-top:22px!important;
  --ns-demo-title:var(--ns-contact-form-title,#063f2c);
  --ns-demo-text:var(--ns-contact-form-input-text,#2d3f36);
  --ns-demo-accent:var(--ns-contact-form-accent,#f3a51b);
  --ns-demo-button:var(--ns-contact-form-button-bg,#d71920);
}
.ns-contact-form-card .ns-demo-popup-grid{
  gap:16px!important;
}
.ns-contact-form-card .ns-demo-popup-field span,
.ns-contact-form-card .ns-demo-popup-course-top strong{
  color:var(--ns-contact-form-title,#063f2c)!important;
}
.ns-contact-form-card .ns-demo-popup-field input,
.ns-contact-form-card .ns-demo-popup-field textarea,
.ns-contact-form-card .ns-demo-course-toggle{
  border-color:var(--ns-contact-form-input-border,#e1e8e4)!important;
  color:var(--ns-contact-form-input-text,#2d3f36)!important;
}
.ns-contact-form-card .ns-demo-popup-course{
  position:relative!important;
  margin-top:16px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.ns-contact-form-card .ns-demo-popup-course-top{
  margin-bottom:8px!important;
}
.ns-contact-form-card .ns-demo-course-dropdown{
  position:relative!important;
}
.ns-contact-form-card .ns-demo-popup-submit{
  background:var(--ns-contact-form-button-bg,#d71920)!important;
  color:var(--ns-contact-form-button-color,#fff)!important;
  border-radius:12px!important;
}
.ns-contact-form-card .ns-demo-popup-response{
  text-align:left!important;
}
@media (max-width:767px){
  .ns-contact-form-card .ns-demo-popup-grid{
    grid-template-columns:1fr!important;
  }
  .ns-contact-demo-form{
    margin-top:18px!important;
  }
}


/* v2.0.115 - Contact page form/info block width aligned with the contact cards above. */
.ns-contact-form-info-grid{
  width:min(1080px,calc(100% - 40px))!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  grid-template-columns:minmax(0,1fr) minmax(340px,.88fr)!important;
  gap:26px!important;
}
@media (min-width:1025px){
  .ns-contact-form-card,
  .ns-contact-info-box{
    width:100%!important;
  }
}
@media (max-width:1024px){
  .ns-contact-form-info-grid{
    width:calc(100% - 36px)!important;
    max-width:none!important;
    grid-template-columns:1fr!important;
  }
}
@media (max-width:767px){
  .ns-contact-form-info-grid{
    width:calc(100% - 28px)!important;
  }
}


/* v2.0.116 - Match Contact Us enquiry/form row width with the cards section above. */
.ns-contact-form-info-grid{
  width:min(1140px,calc(100% - 40px))!important;
  max-width:1140px!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  gap:28px!important;
}
@media (max-width:1024px){
  .ns-contact-form-info-grid{
    width:min(930px,calc(100% - 32px))!important;
    max-width:930px!important;
    grid-template-columns:1fr!important;
  }
}
@media (max-width:767px){
  .ns-contact-form-info-grid{
    width:calc(100% - 28px)!important;
    max-width:none!important;
  }
}


/* v2.0.117 - About page hero desktop image placement: keep the right image visible and positioned like the marked layout. */
@media (min-width:1281px){
  .ns-about-hero{
    min-height:430px!important;
  }
  .ns-about-hero-curve{
    right:-12%!important;
    width:62%!important;
  }
  .ns-about-hero-image{
    display:block!important;
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:50%!important;
    height:100%!important;
    z-index:3!important;
    clip-path:none!important;
    opacity:1!important;
    background-size:contain!important;
    background-position:left bottom!important;
    background-repeat:no-repeat!important;
  }
  .ns-about-hero-image:after{
    display:none!important;
  }
}


/* v2.0.118 - About hero image moved visibly left on desktop to match the marked layout. */
@media (min-width:1281px){
  .ns-about-hero{overflow:hidden!important;min-height:460px!important;}
  .ns-about-hero-curve{right:-8%!important;width:56%!important;}
  .ns-about-hero-image{display:block!important;position:absolute!important;top:0!important;bottom:0!important;left:59%!important;right:-1%!important;width:auto!important;height:100%!important;z-index:3!important;clip-path:none!important;opacity:1!important;background-size:auto 116%!important;background-position:center bottom!important;background-repeat:no-repeat!important;}
  .ns-about-hero-image:after{display:none!important;}
}


/* v2.0.119 - Small laptop About hero fix: keep the right-side people image clear and away from the dark/diagonal background area. */
@media (min-width:1025px) and (max-width:1280px){
  .ns-about-hero{
    overflow:hidden!important;
    min-height:440px!important;
  }
  .ns-about-hero-content{
    max-width:470px!important;
  }
  .ns-about-hero-title{
    max-width:470px!important;
    font-size:clamp(40px,4.2vw,50px)!important;
  }
  .ns-about-hero-text{
    max-width:470px!important;
  }
  .ns-about-hero-curve{
    right:-20%!important;
    width:64%!important;
    z-index:2!important;
  }
  .ns-about-hero-image{
    display:block!important;
    position:absolute!important;
    top:0!important;
    bottom:0!important;
    left:57%!important;
    right:-4%!important;
    width:auto!important;
    height:100%!important;
    z-index:3!important;
    clip-path:none!important;
    opacity:1!important;
    background-size:auto 108%!important;
    background-position:center bottom!important;
    background-repeat:no-repeat!important;
  }
  .ns-about-hero-image:after{
    display:none!important;
  }
  .ns-about-hero-dots{
    left:48%!important;
  }
}
@media (min-width:1025px) and (max-width:1150px){
  .ns-about-hero-content{max-width:440px!important;}
  .ns-about-hero-title{max-width:440px!important;font-size:clamp(38px,4vw,46px)!important;}
  .ns-about-hero-text{max-width:430px!important;font-size:15px!important;}
  .ns-about-hero-image{left:59%!important;right:-6%!important;background-size:auto 104%!important;}
}


/* v2.0.120 - Small laptop About hero layering fix: keep the people image clearly above the curved background and shift it left enough to remain fully visible. */
@media (min-width:1025px) and (max-width:1280px){
  .ns-about-hero-overlay{z-index:1!important;}
  .ns-about-hero-curve{z-index:1!important;right:-16%!important;width:60%!important;opacity:.92!important;}
  .ns-about-hero-image{display:block!important;position:absolute!important;top:0!important;bottom:0!important;left:53%!important;right:-2%!important;width:auto!important;height:100%!important;z-index:4!important;clip-path:none!important;opacity:1!important;background-size:cover!important;background-position:28% center!important;background-repeat:no-repeat!important;}
  .ns-about-hero-image:after{display:none!important;}
  .ns-about-hero-dots{z-index:5!important;}
}
@media (min-width:1025px) and (max-width:1150px){
  .ns-about-hero-image{left:51.5%!important;right:-1%!important;background-position:24% center!important;}
  .ns-about-hero-curve{right:-18%!important;width:62%!important;}
}


/* v2.0.121 - Final About hero desktop fix: stop the curved/dark background from covering or cutting the people image on all laptop/desktop widths. */
@media (min-width:1025px){
  .ns-about-hero{
    overflow:hidden!important;
  }
  .ns-about-hero-overlay{
    z-index:1!important;
  }
  .ns-about-hero-curve{
    z-index:2!important;
    pointer-events:none!important;
    opacity:.86!important;
  }
  .ns-about-hero-image{
    display:block!important;
    position:absolute!important;
    top:0!important;
    bottom:0!important;
    left:50%!important;
    right:0!important;
    width:50%!important;
    height:100%!important;
    z-index:6!important;
    opacity:1!important;
    clip-path:none!important;
    background-size:cover!important;
    background-position:left center!important;
    background-repeat:no-repeat!important;
    mix-blend-mode:normal!important;
  }
  .ns-about-hero-image:before,
  .ns-about-hero-image:after{
    display:none!important;
    content:none!important;
  }
  .ns-about-hero-inner,
  .ns-about-hero-content{
    position:relative!important;
    z-index:7!important;
  }
  .ns-about-hero-badge{
    z-index:8!important;
  }
  .ns-about-hero-dots{
    z-index:8!important;
  }
}
@media (min-width:1025px) and (max-width:1280px){
  .ns-about-hero-image{
    left:49%!important;
    width:51%!important;
    background-position:left center!important;
  }
  .ns-about-hero-content,
  .ns-about-hero-title,
  .ns-about-hero-text{
    max-width:470px!important;
  }
  .ns-about-hero-curve{
    right:-18%!important;
    width:62%!important;
  }
}
@media (min-width:1281px){
  .ns-about-hero-image{
    left:50%!important;
    width:50%!important;
    background-position:left center!important;
  }
  .ns-about-hero-curve{
    right:-12%!important;
    width:58%!important;
  }
}
@media (min-width:1025px) and (max-width:1120px){
  .ns-about-hero-image{
    left:48%!important;
    width:52%!important;
  }
  .ns-about-hero-content,
  .ns-about-hero-title,
  .ns-about-hero-text{
    max-width:430px!important;
  }
}


/* v2.0.122 - About hero true desktop/laptop fix: move the image forward/left and remove the curved overlap so the people are not cut by the background. */
@media (min-width:1025px) and (max-width:1440px){
  .ns-about-hero{overflow:hidden!important;min-height:460px!important;}
  .ns-about-hero-curve{display:none!important;}
  .ns-about-hero-overlay{background:linear-gradient(90deg,rgba(2,29,20,.97) 0%,rgba(2,29,20,.97) 44%,rgba(6,63,44,.42) 56%,rgba(6,63,44,0) 66%)!important;}
  .ns-about-hero-image{display:block!important;position:absolute!important;top:0!important;bottom:0!important;left:45%!important;right:0!important;width:55%!important;height:100%!important;z-index:6!important;clip-path:none!important;opacity:1!important;background-size:cover!important;background-position:22% center!important;background-repeat:no-repeat!important;}
  .ns-about-hero-image:before,.ns-about-hero-image:after{display:none!important;content:none!important;}
  .ns-about-hero-inner,.ns-about-hero-content{position:relative!important;z-index:7!important;}
  .ns-about-hero-badge,.ns-about-hero-dots{z-index:8!important;}
}
@media (min-width:1025px) and (max-width:1180px){
  .ns-about-hero-image{left:43.5%!important;width:56.5%!important;background-position:18% center!important;}
  .ns-about-hero-content,.ns-about-hero-title,.ns-about-hero-text{max-width:420px!important;}
}
@media (min-width:1181px) and (max-width:1440px){
  .ns-about-hero-image{left:46%!important;width:54%!important;background-position:20% center!important;}
  .ns-about-hero-content,.ns-about-hero-title,.ns-about-hero-text{max-width:480px!important;}
}

/* v2.0.125 - About Hero image restored + safe small-screen layout
   Reverses the v2.0.124 image-hide behaviour. The picture stays visible, but it no longer creates the broken vertical cut/strip on small laptop or narrow screens. */
@media (min-width:1025px) and (max-width:1440px){
  .north-star-widget.ns-about-hero,
  section.ns-about-hero,
  .ns-about-hero{
    position:relative!important;
    min-height:460px!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    isolation:isolate!important;
    background:#002f21!important;
    text-align:left!important;
  }

  .ns-about-hero-curve{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
  }

  .ns-about-hero-image{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:55%!important;
    height:100%!important;
    margin:0!important;
    z-index:1!important;
    opacity:1!important;
    clip-path:none!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    pointer-events:none!important;
    mix-blend-mode:normal!important;
  }

  .ns-about-hero-image:before,
  .ns-about-hero-image:after{
    display:none!important;
    content:none!important;
  }

  .ns-about-hero-overlay{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    background:linear-gradient(90deg,
      rgba(0,47,33,.99) 0%,
      rgba(0,47,33,.99) 42%,
      rgba(0,47,33,.88) 49%,
      rgba(0,47,33,.40) 61%,
      rgba(0,47,33,.08) 76%,
      rgba(0,47,33,0) 100%)!important;
    pointer-events:none!important;
  }

  .ns-about-hero-inner{
    position:relative!important;
    z-index:4!important;
    width:min(1140px,calc(100% - 48px))!important;
    max-width:1140px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  .ns-about-hero-content{
    position:relative!important;
    z-index:5!important;
    max-width:500px!important;
    width:100%!important;
    margin:0!important;
    padding:64px 0!important;
    text-align:left!important;
    box-sizing:border-box!important;
  }

  .ns-about-hero-label,
  .ns-about-hero-title,
  .ns-about-hero-text{
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }

  .ns-about-hero-title{
    max-width:500px!important;
    font-size:clamp(40px,3.9vw,52px)!important;
    line-height:1.13!important;
  }

  .ns-about-hero-text{
    max-width:490px!important;
  }

  .ns-about-hero-buttons{
    justify-content:flex-start!important;
  }

  .ns-about-hero-dots{
    display:block!important;
    visibility:visible!important;
    z-index:3!important;
    left:47%!important;
    right:auto!important;
    top:auto!important;
    bottom:58px!important;
    transform:none!important;
    opacity:.30!important;
  }

  .ns-about-hero-badge{
    position:absolute!important;
    z-index:6!important;
    right:32px!important;
    bottom:40px!important;
    width:330px!important;
    min-width:280px!important;
    max-width:calc(55% - 56px)!important;
    transform:none!important;
  }
}

@media (min-width:1181px) and (max-width:1440px){
  .ns-about-hero-image{
    width:54%!important;
    background-position:center center!important;
  }
  .ns-about-hero-content,
  .ns-about-hero-title,
  .ns-about-hero-text{
    max-width:500px!important;
  }
}

@media (min-width:1025px) and (max-width:1180px){
  .ns-about-hero-inner{
    width:calc(100% - 40px)!important;
  }
  .ns-about-hero-image{
    width:52%!important;
    background-position:center center!important;
  }
  .ns-about-hero-overlay{
    background:linear-gradient(90deg,
      rgba(0,47,33,.99) 0%,
      rgba(0,47,33,.99) 45%,
      rgba(0,47,33,.82) 53%,
      rgba(0,47,33,.34) 66%,
      rgba(0,47,33,.05) 100%)!important;
  }
  .ns-about-hero-content,
  .ns-about-hero-title,
  .ns-about-hero-text{
    max-width:440px!important;
  }
  .ns-about-hero-title{
    font-size:clamp(37px,3.9vw,45px)!important;
  }
  .ns-about-hero-dots{
    display:none!important;
  }
  .ns-about-hero-badge{
    right:22px!important;
    width:300px!important;
    max-width:calc(52% - 42px)!important;
  }
}

/* Tablet and phone: keep the picture, but use it as a background instead of a broken side column. */
@media (max-width:1024px){
  .north-star-widget.ns-about-hero,
  section.ns-about-hero,
  .ns-about-hero{
    position:relative!important;
    display:block!important;
    min-height:0!important;
    height:auto!important;
    overflow:hidden!important;
    background:#002f21!important;
    text-align:left!important;
    isolation:isolate!important;
  }

  .ns-about-hero-curve{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
  }

  .ns-about-hero-image{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    margin:0!important;
    z-index:1!important;
    opacity:.42!important;
    clip-path:none!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    pointer-events:none!important;
  }

  .ns-about-hero-image:before,
  .ns-about-hero-image:after{
    display:none!important;
    content:none!important;
  }

  .ns-about-hero-overlay{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    background:linear-gradient(90deg,rgba(0,47,33,.96) 0%,rgba(0,47,33,.88) 56%,rgba(0,47,33,.74) 100%)!important;
    pointer-events:none!important;
  }

  .ns-about-hero-inner{
    position:relative!important;
    z-index:4!important;
    width:min(930px,calc(100% - 36px))!important;
    max-width:930px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  .ns-about-hero-content{
    position:relative!important;
    z-index:5!important;
    max-width:680px!important;
    width:100%!important;
    margin:0!important;
    padding:58px 0!important;
    text-align:left!important;
  }

  .ns-about-hero-label,
  .ns-about-hero-title,
  .ns-about-hero-text{
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }

  .ns-about-hero-title{
    max-width:680px!important;
    font-size:clamp(36px,5.4vw,48px)!important;
    line-height:1.14!important;
  }

  .ns-about-hero-text{
    max-width:640px!important;
  }

  .ns-about-hero-buttons{
    justify-content:flex-start!important;
  }

  .ns-about-hero-dots{
    display:none!important;
  }

  .ns-about-hero-badge{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    z-index:6!important;
    width:min(360px,100%)!important;
    min-width:0!important;
    max-width:100%!important;
    margin:26px 0 0!important;
    transform:none!important;
  }
}

@media (max-width:767px){
  .ns-about-hero-inner{
    width:calc(100% - 32px)!important;
    max-width:none!important;
  }
  .ns-about-hero-image{
    opacity:.34!important;
    background-position:center center!important;
  }
  .ns-about-hero-overlay{
    background:linear-gradient(180deg,rgba(0,47,33,.94) 0%,rgba(0,47,33,.90) 56%,rgba(0,47,33,.86) 100%)!important;
  }
  .ns-about-hero-content{
    padding:42px 0!important;
  }
  .ns-about-hero-title{
    font-size:clamp(31px,9vw,36px)!important;
    line-height:1.14!important;
  }
  .ns-about-hero-text{
    font-size:14px!important;
    line-height:1.65!important;
    margin-top:18px!important;
  }
  .ns-about-hero-buttons{
    gap:12px!important;
    margin-top:24px!important;
  }
  .ns-about-hero-buttons .ns-btn{
    width:100%!important;
    max-width:280px!important;
    justify-content:center!important;
  }
  .ns-about-hero-badge{
    width:100%!important;
    max-width:350px!important;
    margin-top:24px!important;
  }
}

@media (max-width:420px){
  .ns-about-hero-content{
    padding:36px 0!important;
  }
  .ns-about-hero-buttons .ns-btn{
    max-width:none!important;
  }
}

/* v2.0.126 - Home hero spotlight number highlight */
.ns-home-spotlight-copy strong.ns-home-spotlight-heading-highlight{
  color:#c91818!important;
  font-weight:900!important;
}

/* v2.0.127 - Testimonials: remove score circles and show star ratings */
.ns-testimonials .ns-feature-review > em,
.ns-testimonials .ns-reviewer > em{
  display:none!important;
}
.ns-testimonials .ns-review-stars{
  margin-left:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:2px!important;
  white-space:nowrap!important;
  line-height:1!important;
  font-size:18px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
.ns-testimonials .ns-review-stars span{
  display:inline-block!important;
  font-style:normal!important;
  font-family:Arial, sans-serif!important;
}
.ns-testimonials .ns-review-stars .is-filled{
  color:#f7b82c!important;
}
.ns-testimonials .ns-review-stars .is-empty{
  color:#d8e3dd!important;
}
.ns-testimonials .ns-review-stars .is-half{
  color:#f7b82c!important;
  background:linear-gradient(90deg,#f7b82c 50%,#d8e3dd 50%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
@media (max-width:767px){
  .ns-testimonials .ns-review-stars{
    font-size:17px!important;
  }
}


/* v2.0.129 - Testimonials bottom CTA centre text enlarged */
.ns-testimonials .ns-bottom-banner{
  align-items:center!important;
}
.ns-testimonials .ns-bottom-banner > span{
  flex:1 1 auto!important;
  min-width:0!important;
  padding:0 28px!important;
  text-align:center!important;
  font-size:clamp(18px,1.25vw,22px)!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  color:#ffffff!important;
}
@media (max-width:767px){
  .ns-testimonials .ns-bottom-banner > span{
    padding:0!important;
    font-size:17px!important;
    line-height:1.35!important;
  }
}

/* v2.0.131 - Testimonials summary rating: exactly 5 stars with precise 4.6/5 visual fill */
.ns-testimonials .ns-summary-rating{
  gap:10px!important;
  padding:11px 16px!important;
}
.ns-testimonials .ns-summary-rating .ns-summary-stars{
  display:inline-flex!important;
  align-items:center!important;
  gap:1px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.ns-testimonials .ns-summary-rating .ns-summary-star{
  position:relative!important;
  display:inline-block!important;
  width:1em!important;
  height:1em!important;
  font-family:Arial, sans-serif!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:900!important;
  color:#d8e3dd!important;
}
.ns-testimonials .ns-summary-rating .ns-summary-star::before{
  content:"★"!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:var(--ns-star-fill,0%)!important;
  height:100%!important;
  overflow:hidden!important;
  color:#f7b82c!important;
}
.ns-testimonials .ns-summary-rating > strong{
  color:#f7a515!important;
  font-size:19px!important;
  font-weight:900!important;
  line-height:1!important;
}
.ns-testimonials .ns-summary-rating > span{
  margin-left:2px!important;
}
@media (max-width:767px){
  .ns-testimonials .ns-summary-rating{
    gap:8px!important;
    flex-wrap:wrap!important;
  }
  .ns-testimonials .ns-summary-rating .ns-summary-stars-wrap{
    font-size:17px!important;
  }
}

/* v2.0.132 - Final CTA buttons spread evenly across the full marked button area */
.ns-final-cta .ns-final-buttons{
  width:min(748px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:center!important;
  justify-content:stretch!important;
}
.ns-final-cta .ns-final-buttons .ns-btn{
  width:100%!important;
  min-width:0!important;
  justify-content:center!important;
  text-align:center!important;
  padding-left:18px!important;
  padding-right:18px!important;
  white-space:nowrap!important;
}
@media (max-width:767px){
  .ns-final-cta .ns-final-buttons{
    width:100%!important;
    grid-template-columns:1fr!important;
    gap:11px!important;
  }
  .ns-final-cta .ns-final-buttons .ns-btn{
    white-space:normal!important;
  }
}


/* v2.0.133 - Mobile footer alignment: socials centered, menu/contact columns left aligned */
@media (max-width:767px){
  .ns-footer .ns-footer-brand .ns-socials{
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ns-footer .ns-footer-grid .ns-footer-col{
    text-align:left!important;
  }
  .ns-footer .ns-footer-col h3,
  .ns-footer .ns-footer-col ul,
  .ns-footer .ns-footer-col li{
    text-align:left!important;
  }
  .ns-footer .ns-footer-col ul{
    margin-left:0!important;
    margin-right:0!important;
  }
  .ns-footer .ns-contact li{
    justify-content:flex-start!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
}

/* v2.0.134 - About Hero desktop/mobile image controls and no gradient/image-blocking overlays */
.north-star-widget.ns-about-hero,
section.ns-about-hero,
.ns-about-hero{
  background:var(--ns-about-bg,#063f2c)!important;
}
.ns-about-hero .ns-about-hero-image,
.ns-about-hero-image{
  background-image:var(--ns-about-hero-image-desktop,none)!important;
}
.ns-about-hero .ns-about-hero-overlay,
.ns-about-hero-overlay,
.ns-about-hero .ns-about-hero-curve,
.ns-about-hero-curve,
.ns-about-hero .ns-about-hero-image:before,
.ns-about-hero-image:before,
.ns-about-hero .ns-about-hero-image:after,
.ns-about-hero-image:after{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  content:none!important;
  background:none!important;
  background-image:none!important;
  pointer-events:none!important;
}
@media (max-width:1024px){
  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    background-image:var(--ns-about-hero-image-mobile,var(--ns-about-hero-image-desktop,none))!important;
    opacity:1!important;
  }
}


/* v2.0.135 - About Hero small-screen full image visibility */
.ns-about-hero-image .ns-about-hero-picture{
  display:none;
}

@media (min-width:1025px) and (max-width:1240px){
  .north-star-widget.ns-about-hero,
  section.ns-about-hero,
  .ns-about-hero{
    min-height:500px!important;
    overflow:hidden!important;
  }
  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:41%!important;
    width:59%!important;
    height:100%!important;
    z-index:1!important;
    opacity:1!important;
    background-image:none!important;
    background:none!important;
    clip-path:none!important;
    overflow:visible!important;
    pointer-events:none!important;
  }
  .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero-image picture{
    display:block!important;
    width:100%!important;
    height:100%!important;
  }
  .ns-about-hero-image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:right center!important;
  }
  .ns-about-hero-inner{
    position:relative!important;
    z-index:3!important;
  }
  .ns-about-hero-content{
    max-width:430px!important;
  }
}

@media (max-width:1024px){
  .north-star-widget.ns-about-hero,
  section.ns-about-hero,
  .ns-about-hero{
    min-height:0!important;
    overflow:hidden!important;
  }
  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:auto!important;
    bottom:0!important;
    width:100%!important;
    height:min(48vw,340px)!important;
    min-height:190px!important;
    z-index:1!important;
    opacity:1!important;
    background-image:none!important;
    background:none!important;
    clip-path:none!important;
    overflow:visible!important;
    pointer-events:none!important;
  }
  .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero-image picture{
    display:block!important;
    width:100%!important;
    height:100%!important;
  }
  .ns-about-hero-image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  .ns-about-hero-inner{
    position:relative!important;
    z-index:3!important;
    padding-bottom:min(45vw,320px)!important;
  }
  .ns-about-hero-content{
    padding-bottom:18px!important;
  }
  .ns-about-hero-badge{
    z-index:4!important;
  }
}

@media (max-width:767px){
  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    height:min(66vw,275px)!important;
    min-height:175px!important;
  }
  .ns-about-hero-inner{
    padding-bottom:min(62vw,255px)!important;
  }
}


/* v2.0.136 - About Hero precise image fit without cropping or bottom gap */
@media (min-width:1025px) and (max-width:1240px){
  .north-star-widget.ns-about-hero,
  section.ns-about-hero,
  .ns-about-hero{
    min-height:500px!important;
    overflow:hidden!important;
  }
  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:66%!important;
    height:100%!important;
    z-index:1!important;
    opacity:1!important;
    background:none!important;
    background-image:none!important;
    clip-path:none!important;
    overflow:visible!important;
    pointer-events:none!important;
  }
  .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero-image picture{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    width:auto!important;
    height:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:0!important;
  }
  .ns-about-hero-image img{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:right bottom!important;
    margin-left:auto!important;
    margin-right:0!important;
  }
  .ns-about-hero-inner{
    position:relative!important;
    z-index:3!important;
  }
  .ns-about-hero-content{
    max-width:430px!important;
  }
  .ns-about-hero-badge{
    z-index:5!important;
    right:42px!important;
    bottom:48px!important;
  }
}

@media (max-width:1024px){
  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero-image picture{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
  }
  .ns-about-hero-image img{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    height:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* v2.0.137 - About Hero mid-screen image fit: no cropping on small desktop/laptop widths */
@media (min-width:1025px) and (max-width:1440px){
  .north-star-widget.ns-about-hero,
  section.ns-about-hero,
  .ns-about-hero{
    min-height:clamp(500px,42vw,560px)!important;
    overflow:hidden!important;
  }
  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    display:flex!important;
    visibility:visible!important;
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:58%!important;
    height:100%!important;
    z-index:1!important;
    opacity:1!important;
    background:none!important;
    background-image:none!important;
    background-size:contain!important;
    background-repeat:no-repeat!important;
    background-position:right bottom!important;
    clip-path:none!important;
    overflow:visible!important;
    pointer-events:none!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
  }
  .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero-image picture{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    max-height:100%!important;
    margin:0!important;
    overflow:visible!important;
  }
  .ns-about-hero-image img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:right bottom!important;
    margin:0!important;
  }
  .ns-about-hero-inner{
    position:relative!important;
    z-index:3!important;
  }
  .ns-about-hero-content{
    max-width:min(43vw,520px)!important;
  }
  .ns-about-hero-badge{
    z-index:5!important;
    right:clamp(28px,4vw,58px)!important;
    bottom:clamp(34px,4.4vw,58px)!important;
  }
}

@media (min-width:1025px) and (max-width:1180px){
  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    width:56%!important;
  }
  .ns-about-hero-content{
    max-width:420px!important;
  }
  .ns-about-hero-badge{
    max-width:315px!important;
    right:24px!important;
    bottom:38px!important;
  }
}

@media (max-width:1024px){
  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    background:none!important;
    background-image:none!important;
    clip-path:none!important;
  }
  .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero-image picture{
    display:flex!important;
    width:100%!important;
    height:100%!important;
    align-items:flex-end!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  .ns-about-hero-image img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
}

/* v2.0.141 - About Hero mid desktop no-crop patch
   Targeted fix only for the screen range where the right-side people image can be cut.
   Keeps the existing layout, but renders the uploaded image as a contained bottom-aligned picture. */
@media (min-width:1241px) and (max-width:1440px){
  .north-star-widget.ns-about-hero,
  section.ns-about-hero,
  .ns-about-hero{
    overflow:hidden!important;
  }
  .ns-about-hero .ns-about-hero-curve,
  .ns-about-hero-curve{
    z-index:1!important;
  }
  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    display:flex!important;
    visibility:visible!important;
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:64%!important;
    height:100%!important;
    z-index:2!important;
    opacity:1!important;
    clip-path:none!important;
    overflow:visible!important;
    pointer-events:none!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    background-size:contain!important;
    background-position:right bottom!important;
    background-repeat:no-repeat!important;
  }
  .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero-image picture{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    max-height:100%!important;
    margin:0!important;
    overflow:visible!important;
  }
  .ns-about-hero-image img{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:right bottom!important;
    margin:0!important;
  }
  .ns-about-hero-inner{
    position:relative!important;
    z-index:3!important;
  }
  .ns-about-hero-content{
    max-width:min(43vw,520px)!important;
  }
  .ns-about-hero-badge{
    z-index:5!important;
  }
}


/* v2.0.142 - About Hero 1241px-1440px final no-crop correction
   This is intentionally scoped only to the About Hero mid-desktop range.
   It removes the duplicate CSS background image and renders only the real <picture>/<img>,
   shifted slightly left so the people image no longer creates a hard vertical cropped edge. */
@media (min-width:1241px) and (max-width:1440px){
  .north-star-widget.ns-about-hero,
  section.ns-about-hero,
  .ns-about-hero{
    overflow:hidden!important;
  }

  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:70%!important;
    height:100%!important;
    z-index:1!important;
    opacity:1!important;
    clip-path:none!important;
    overflow:visible!important;
    pointer-events:none!important;
    background:none!important;
    background-image:none!important;
    background-color:transparent!important;
    mix-blend-mode:normal!important;
  }

  .ns-about-hero .ns-about-hero-image:before,
  .ns-about-hero-image:before,
  .ns-about-hero .ns-about-hero-image:after,
  .ns-about-hero-image:after{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    content:none!important;
    background:none!important;
    background-image:none!important;
  }

  .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero-image picture{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    right:clamp(54px,5.5vw,86px)!important;
    bottom:0!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    max-height:100%!important;
    margin:0!important;
    overflow:visible!important;
  }

  .ns-about-hero-image img{
    display:block!important;
    visibility:visible!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:right bottom!important;
    margin:0!important;
    transform:none!important;
  }

  .ns-about-hero-inner{
    position:relative!important;
    z-index:3!important;
  }

  .ns-about-hero-content{
    max-width:min(43vw,520px)!important;
  }

  .ns-about-hero-badge{
    z-index:5!important;
  }
}


/* v2.0.143 - About Hero layer-order fix for 1241px-1440px
   The marked vertical cut was caused by the decorative hero layers / image wrapper stacking in front of the people image on mid desktop widths.
   This patch keeps the correction scoped only to the About Hero problem range, places the curve/overlay/dots below the image,
   and moves the actual <picture>/<img> slightly left so the transparent PNG is not hidden by the side column edge. */
@media (min-width:1241px) and (max-width:1440px){
  .north-star-widget.ns-about-hero,
  section.ns-about-hero,
  .ns-about-hero{
    position:relative!important;
    isolation:isolate!important;
    overflow:hidden!important;
  }

  .ns-about-hero .ns-about-hero-overlay,
  .ns-about-hero-overlay,
  .ns-about-hero .ns-about-hero-curve,
  .ns-about-hero-curve{
    z-index:0!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:none!important;
  }

  .ns-about-hero .ns-about-hero-overlay,
  .ns-about-hero-overlay{
    background:transparent!important;
  }

  .ns-about-hero .ns-about-hero-curve,
  .ns-about-hero-curve{
    background:var(--ns-about-bg,#063f2c)!important;
    right:-26%!important;
    width:72%!important;
  }

  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:78%!important;
    height:100%!important;
    z-index:2!important;
    opacity:1!important;
    background:none!important;
    background-image:none!important;
    background-color:transparent!important;
    clip-path:none!important;
    overflow:visible!important;
    pointer-events:none!important;
    mix-blend-mode:normal!important;
  }

  .ns-about-hero .ns-about-hero-image:before,
  .ns-about-hero-image:before,
  .ns-about-hero .ns-about-hero-image:after,
  .ns-about-hero-image:after{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    content:none!important;
    background:none!important;
    background-image:none!important;
  }

  .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero-image picture{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    right:clamp(22px,3.2vw,50px)!important;
    bottom:0!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    max-height:100%!important;
    margin:0!important;
    overflow:visible!important;
    transform:translateX(clamp(-92px,-5.4vw,-58px))!important;
    z-index:2!important;
  }

  .ns-about-hero-image img{
    display:block!important;
    visibility:visible!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:right bottom!important;
    margin:0!important;
    transform:none!important;
    position:relative!important;
    z-index:2!important;
  }

  .ns-about-hero-dots{
    z-index:1!important;
    pointer-events:none!important;
  }

  .ns-about-hero-inner{
    position:relative!important;
    z-index:4!important;
  }

  .ns-about-hero-content{
    position:relative!important;
    z-index:5!important;
    max-width:min(43vw,520px)!important;
  }

  .ns-about-hero-badge{
    z-index:6!important;
  }
}

/* v2.0.144 - About Hero real image layer + hard-left-edge fix
   Scoped only to 1241px-1440px. The previous visible vertical cut is not from the text/content layer;
   it comes from the side image wrapper / picture edge sitting on top of the green hero background.
   Keep decorative layers below the people image, make the image wrapper full-width so it cannot crop the picture,
   and softly feather the image's far-left edge so no hard rectangular line appears. */
@media (min-width:1241px) and (max-width:1440px){
  .north-star-widget.ns-about-hero,
  section.ns-about-hero,
  .ns-about-hero{
    position:relative!important;
    overflow:hidden!important;
    isolation:isolate!important;
    background:var(--ns-about-bg,#063f2c)!important;
  }

  .ns-about-hero .ns-about-hero-overlay,
  .ns-about-hero .ns-about-hero-curve,
  .ns-about-hero .ns-about-hero-dots{
    pointer-events:none!important;
  }

  .ns-about-hero .ns-about-hero-overlay,
  .ns-about-hero-overlay{
    z-index:0!important;
    background:transparent!important;
    opacity:0!important;
  }

  .ns-about-hero .ns-about-hero-curve,
  .ns-about-hero-curve{
    z-index:0!important;
    opacity:0!important;
    visibility:hidden!important;
  }

  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    z-index:10!important;
    opacity:1!important;
    overflow:visible!important;
    clip-path:none!important;
    background:transparent!important;
    background-image:none!important;
    background-color:transparent!important;
    pointer-events:none!important;
    mix-blend-mode:normal!important;
  }

  .ns-about-hero .ns-about-hero-image:before,
  .ns-about-hero-image:before,
  .ns-about-hero .ns-about-hero-image:after,
  .ns-about-hero-image:after{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    content:none!important;
    background:none!important;
    background-image:none!important;
  }

  .ns-about-hero .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero .ns-about-hero-image picture,
  .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero-image picture{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    right:clamp(28px,4.8vw,76px)!important;
    bottom:0!important;
    left:auto!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    max-height:100%!important;
    margin:0!important;
    overflow:visible!important;
    transform:translateX(clamp(-132px,-7.8vw,-88px))!important;
    z-index:12!important;
    -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.96) 3.5%,#000 8%,#000 100%)!important;
    mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.96) 3.5%,#000 8%,#000 100%)!important;
    -webkit-mask-size:100% 100%!important;
    mask-size:100% 100%!important;
    -webkit-mask-repeat:no-repeat!important;
    mask-repeat:no-repeat!important;
  }

  .ns-about-hero .ns-about-hero-image img,
  .ns-about-hero-image img{
    display:block!important;
    visibility:visible!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:right bottom!important;
    position:relative!important;
    z-index:12!important;
    margin:0!important;
    transform:none!important;
    background:transparent!important;
  }

  .ns-about-hero .ns-about-hero-dots,
  .ns-about-hero-dots{
    z-index:6!important;
    opacity:.38!important;
  }

  .ns-about-hero .ns-about-hero-inner,
  .ns-about-hero-inner{
    position:relative!important;
    z-index:20!important;
  }

  .ns-about-hero .ns-about-hero-content,
  .ns-about-hero-content{
    position:relative!important;
    z-index:21!important;
    max-width:min(43vw,520px)!important;
  }

  .ns-about-hero .ns-about-hero-badge,
  .ns-about-hero-badge{
    z-index:30!important;
  }
}

/* v2.0.145 - About Hero desktop visual balance fix.
   This is a CSS-only override for the About Hero image position. It keeps the previous anti-crop/layer fixes,
   but moves the people image group back toward the centre on large desktop screens so it does not sit too far right. */
@media (min-width:1281px){
  .north-star-widget.ns-about-hero,
  section.ns-about-hero,
  .ns-about-hero{
    position:relative!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }

  .ns-about-hero .ns-about-hero-overlay,
  .ns-about-hero-overlay{
    z-index:0!important;
  }

  .ns-about-hero .ns-about-hero-curve,
  .ns-about-hero-curve{
    z-index:0!important;
    opacity:0!important;
    visibility:hidden!important;
  }

  .ns-about-hero .ns-about-hero-image,
  .ns-about-hero-image{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    top:0!important;
    bottom:0!important;
    left:36%!important;
    right:0!important;
    width:64%!important;
    height:100%!important;
    max-width:none!important;
    z-index:10!important;
    opacity:1!important;
    overflow:visible!important;
    clip-path:none!important;
    background:transparent!important;
    background-image:none!important;
    pointer-events:none!important;
  }

  .ns-about-hero .ns-about-hero-image:before,
  .ns-about-hero-image:before,
  .ns-about-hero .ns-about-hero-image:after,
  .ns-about-hero-image:after{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    content:none!important;
    background:none!important;
    background-image:none!important;
  }

  .ns-about-hero .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero .ns-about-hero-image picture,
  .ns-about-hero-image .ns-about-hero-picture,
  .ns-about-hero-image picture{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    right:clamp(0px,1.2vw,24px)!important;
    bottom:0!important;
    left:auto!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    max-height:100%!important;
    margin:0!important;
    overflow:visible!important;
    transform:translateX(clamp(-320px,-14vw,-210px))!important;
    z-index:12!important;
  }

  .ns-about-hero .ns-about-hero-image img,
  .ns-about-hero-image img{
    display:block!important;
    visibility:visible!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:right bottom!important;
    position:relative!important;
    z-index:12!important;
    margin:0!important;
    transform:none!important;
    background:transparent!important;
  }

  .ns-about-hero .ns-about-hero-dots,
  .ns-about-hero-dots{
    z-index:6!important;
  }

  .ns-about-hero .ns-about-hero-inner,
  .ns-about-hero-inner{
    position:relative!important;
    z-index:20!important;
  }

  .ns-about-hero .ns-about-hero-content,
  .ns-about-hero-content{
    position:relative!important;
    z-index:21!important;
  }

  .ns-about-hero .ns-about-hero-badge,
  .ns-about-hero-badge{
    z-index:30!important;
  }
}
