.elementor.elementor-8 .ng-cta{
  display:flex;flex-direction:column;
  --cta-pad-block:120px; --cta-gutter:48px;
  background:var(--ink);padding-block:var(--cta-pad-block);padding-inline:0;
}
.elementor.elementor-8 .ng-cta-wrap{
  max-width:1200px;margin-inline:auto;padding-inline:var(--cta-gutter);
  display:flex;flex-direction:column;width:100%;box-sizing:border-box;
}

/* C14, Force Multiplier border. 2s at rest, 1s on hover. */
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg;}
@keyframes ng-cta-spin{to{--ang:360deg;}}
.elementor.elementor-8 .ng-cta-box{
  width:100%;max-width:860px;margin-inline:auto;
  border-radius:20px;padding:2px;
  background:linear-gradient(var(--ang),var(--gold),var(--teal),var(--elec),var(--purp),var(--sage),var(--gold));
  animation:ng-cta-spin 2s linear infinite;
  transition:transform .25s ease, filter .25s ease;
}
.elementor.elementor-8 .ng-cta-box:hover{transform:translateY(-6px);filter:drop-shadow(0 18px 44px rgba(255,255,255,.10));animation-duration:1s;}
.elementor.elementor-8 .ng-cta-inner{
  background:var(--ink);border-radius:18px;
  padding:58px 56px 52px;text-align:center;
  display:flex;flex-direction:column;align-items:center;
}

.elementor.elementor-8 .ng-cta-eyebrow{
  display:inline-block;margin:0 0 22px;
  font-family:var(--font-mono);font-size:15px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;
  color:var(--gold);background:var(--gdim);
  border:1px solid var(--gline);border-radius:8px;padding:9px 16px;
}
.elementor.elementor-8 .ng-cta-h2{
  font-family:var(--font-heading);font-weight:700;
  font-size:clamp(23px,3.4vw,41px);line-height:1.2;letter-spacing:-.015em;
  color:var(--text);margin:0 0 22px;max-width:none;
}
.elementor.elementor-8 .ng-cta-h2 .ln{display:block;white-space:nowrap;}
.elementor.elementor-8 .ng-cta-h2 .hl{color:var(--gold);}
.elementor.elementor-8 .ng-cta-sub{margin:0 0 34px;max-width:62ch;font-size:19px;line-height:1.6;color:var(--text);}

.elementor.elementor-8 .ng-cta-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:.04em;line-height:1;text-transform:uppercase;
  color:var(--ink);background:var(--gold);
  border:0;border-radius:8px;padding:18px 16px;text-decoration:none;cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
}
.elementor.elementor-8 .ng-cta-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 0 0 1px rgba(200,136,26,.30), 0 8px 28px rgba(200,136,26,.20);
}
.elementor.elementor-8 .ng-cta-btn:focus-visible{outline:2px solid var(--text);outline-offset:3px;}
.elementor.elementor-8 .ng-cta-note{
  margin:18px 0 0;font-family:var(--font-mono);font-size:15px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--secondary);
}
.elementor.elementor-8 .ng-cta-note span{white-space:nowrap;}

@media (prefers-reduced-motion:reduce){
  .elementor.elementor-8 .ng-cta-box{animation:none;}
  .elementor.elementor-8 .ng-cta-box, .elementor.elementor-8 .ng-cta-btn{transition:none;}
}
@media (max-width:1023px){
  .elementor.elementor-8 .ng-cta{--cta-pad-block:96px;--cta-gutter:32px;}
  .elementor.elementor-8 .ng-cta-inner{padding:48px 40px 44px;}
}
@media (max-width:640px){
  .elementor.elementor-8 .ng-cta{--cta-pad-block:80px;--cta-gutter:20px;}
  .elementor.elementor-8 .ng-cta-h2{font-size:22px;}
  .elementor.elementor-8 .ng-cta-h2 .ln{white-space:normal;}
  .elementor.elementor-8 .ng-cta-inner{padding:38px 24px 34px;}
  .elementor.elementor-8 .ng-cta-eyebrow{font-size:14px;}
  .elementor.elementor-8 .ng-cta-sub{font-size:17.5px;}
  .elementor.elementor-8 .ng-cta-btn{width:100%;justify-content:center;}
  .elementor.elementor-8 .ng-cta-note{font-size:14px;letter-spacing:.08em;}
}
