:root{--bg-cream: #f3ecd9;
      --bg-cream-light: #fbf8f0;
      --bg-cream-card: #ffffff;
      --bg-cream-alt: #eae1c9;
      --primary-orange: #db673e;
      --primary-orange-hover: #c4542d;
      --primary-orange-light: #faece6;
      --primary-orange-border: rgba(219, 103, 62, 0.25);
      --deep-slate: #24383f;
      --deep-slate-hover: #1b2c32;
      --deep-slate-light: #344d56;
      --deep-slate-muted: #5d757e;
      --deep-slate-border: rgba(36, 56, 63, 0.12);
      
      --font-main: 'Encode Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      
      --radius-sm: 8px;
      --radius-md: 14px;
      --radius-lg: 20px;
      --radius-xl: 28px;
      --radius-full: 9999px;
      
      --shadow-sm: 0 2px 8px rgba(36, 56, 63, 0.06);
      --shadow-md: 0 8px 24px rgba(36, 56, 63, 0.08);
      --shadow-lg: 0 16px 36px rgba(36, 56, 63, 0.12);
      --shadow-orange: 0 8px 20px rgba(219, 103, 62, 0.25);
      
      --transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
      --transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
.nsm-programs *, .nsm-programs *::before, .nsm-programs *::after{box-sizing: border-box;
      margin: 0;
      padding: 0;}
.nsm-programs{scroll-behavior: smooth;
      font-size: 16px;}
.nsm-programs{font-family: var(--font-main);
      background-color: var(--bg-cream);
      color: var(--deep-slate);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      overflow-x: hidden;
      padding: 24px 0 60px;}
.nsm-programs a{color: inherit;
      text-decoration: none;
      transition: all var(--transition-fast);}
.nsm-programs img{max-width: 100%;
      height: auto;
      display: block;}
.nsm-programs ul, .nsm-programs ol{list-style: none;}
.nsm-programs .container{width: 100%;
      max-width: 1240px;
      margin: 0 auto;
      padding: 0 24px;}
.nsm-programs h1, .nsm-programs h2, .nsm-programs h3, .nsm-programs h4, .nsm-programs h5, .nsm-programs h6{color: var(--deep-slate);
      font-family: var(--font-main);
      font-weight: 700;
      line-height: 1.25;
      letter-spacing: -0.015em;}
.nsm-programs p{color: var(--deep-slate-light);
      font-size: 1.025rem;
      line-height: 1.65;}
.nsm-programs .btn{display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-family: var(--font-main);
      font-weight: 700;
      font-size: 0.95rem;
      padding: 12px 26px;
      border-radius: var(--radius-full);
      border: 2px solid transparent;
      cursor: pointer;
      transition: all var(--transition-fast);
      text-align: center;
      white-space: nowrap;}
.nsm-programs .btn-primary{background-color: var(--primary-orange);
      color: #ffffff;
      box-shadow: var(--shadow-orange);}
.nsm-programs .btn-primary:hover{background-color: var(--primary-orange-hover);
      transform: translateY(-2px);
      box-shadow: 0 10px 24px rgba(219, 103, 62, 0.35);}
.nsm-programs .btn-secondary{background-color: var(--deep-slate);
      color: #ffffff;}
.nsm-programs .btn-secondary:hover{background-color: var(--deep-slate-light);
      transform: translateY(-2px);
      box-shadow: 0 8px 20px rgba(36, 56, 63, 0.25);}
.nsm-programs .btn-outline{background-color: transparent;
      border-color: var(--deep-slate);
      color: var(--deep-slate);}
.nsm-programs .btn-outline:hover{background-color: var(--deep-slate);
      color: #ffffff;
      transform: translateY(-2px);}
.nsm-programs .btn-sm{padding: 8px 18px;
      font-size: 0.875rem;}
.nsm-programs .hero-section{padding: 32px 0 48px;
      position: relative;}
.nsm-programs .hero-grid{display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 48px;
      align-items: center;}
.nsm-programs .badge-pill{display: inline-flex;
      align-items: center;
      gap: 8px;
      background-color: var(--primary-orange-light);
      border: 1px solid var(--primary-orange-border);
      color: var(--primary-orange-hover);
      padding: 6px 16px;
      border-radius: var(--radius-full);
      font-size: 0.85rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 20px;}
.nsm-programs .badge-pill svg{width: 14px;
      height: 14px;
      fill: currentColor;}
.nsm-programs .hero-title{font-size: 3.2rem;
      font-weight: 900;
      color: var(--deep-slate);
      line-height: 1.12;
      margin-bottom: 20px;
      letter-spacing: -0.03em;}
.nsm-programs .hero-title span{color: var(--primary-orange);}
.nsm-programs .hero-lead{font-size: 1.15rem;
      color: var(--deep-slate-light);
      margin-bottom: 32px;
      max-width: 600px;}
.nsm-programs .hero-cta-group{display: flex;
      flex-wrap: wrap;
      gap: 16px;}
.nsm-programs .hero-stat-card{background-color: var(--deep-slate);
      color: #ffffff;
      padding: 32px;
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow-lg);
      position: relative;
      overflow: hidden;}
.nsm-programs .hero-stat-card::before{content: '';
      position: absolute;
      top: -40px;
      right: -40px;
      width: 140px;
      height: 140px;
      background: radial-gradient(circle, rgba(219, 103, 62, 0.4) 0%, transparent 70%);
      border-radius: 50%;}
.nsm-programs .hero-stat-card-title{font-size: 1.35rem;
      font-weight: 800;
      color: #ffffff;
      margin-bottom: 8px;}
.nsm-programs .hero-stat-card-subtitle{font-size: 0.9rem;
      color: rgba(243, 236, 217, 0.8);
      margin-bottom: 24px;}
.nsm-programs .hero-metrics-grid{display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;}
.nsm-programs .metric-item{background-color: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(243, 236, 217, 0.1);
      padding: 16px;
      border-radius: var(--radius-md);
      transition: background-color var(--transition-fast);}
.nsm-programs .metric-item:hover{background-color: rgba(255, 255, 255, 0.1);}
.nsm-programs .metric-num{font-size: 1.85rem;
      font-weight: 900;
      color: var(--primary-orange);
      line-height: 1;
      margin-bottom: 4px;}
.nsm-programs .metric-label{font-size: 0.8rem;
      font-weight: 600;
      color: #f3ecd9;
      line-height: 1.3;}
.nsm-programs .pillars-section{padding: 48px 0 64px;}
.nsm-programs .section-header{text-align: center;
      max-width: 780px;
      margin: 0 auto 48px;}
.nsm-programs .section-tag{color: var(--primary-orange);
      font-size: 0.85rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      margin-bottom: 8px;
      display: block;}
.nsm-programs .section-title{font-size: 2.35rem;
      font-weight: 800;
      color: var(--deep-slate);
      margin-bottom: 16px;}
.nsm-programs .section-desc{font-size: 1.05rem;
      color: var(--deep-slate-light);}
.nsm-programs .pillars-grid{display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;}
.nsm-programs .pillar-card{background-color: var(--bg-cream-card);
      border: 1px solid var(--deep-slate-border);
      border-radius: var(--radius-lg);
      padding: 28px 20px;
      box-shadow: var(--shadow-sm);
      transition: all var(--transition-base);
      display: flex;
      flex-direction: column;
      align-items: flex-start;}
.nsm-programs .pillar-card:hover{transform: translateY(-4px);
      box-shadow: var(--shadow-md);
      border-color: var(--primary-orange-border);}
.nsm-programs .pillar-icon-box{width: 48px;
      height: 48px;
      background-color: var(--primary-orange-light);
      color: var(--primary-orange);
      border-radius: var(--radius-md);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 18px;}
.nsm-programs .pillar-icon-box svg{width: 24px;
      height: 24px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;}
.nsm-programs .pillar-title{font-size: 1.15rem;
      font-weight: 700;
      color: var(--deep-slate);
      margin-bottom: 8px;}
.nsm-programs .pillar-text{font-size: 0.9rem;
      color: var(--deep-slate-muted);
      line-height: 1.55;}
.nsm-programs .programs-wrapper{padding: 32px 0 60px;}
.nsm-programs .filter-tabs-container{background-color: var(--bg-cream-card);
      border: 1px solid var(--deep-slate-border);
      border-radius: var(--radius-full);
      padding: 6px;
      display: inline-flex;
      margin: 0 auto 40px;
      box-shadow: var(--shadow-sm);}
.nsm-programs .filter-tab{background: none;
      border: none;
      padding: 12px 26px;
      font-family: var(--font-main);
      font-size: 0.95rem;
      font-weight: 700;
      color: var(--deep-slate-muted);
      border-radius: var(--radius-full);
      cursor: pointer;
      transition: all var(--transition-fast);
      display: inline-flex;
      align-items: center;
      gap: 8px;}
.nsm-programs .filter-tab.active{background-color: var(--deep-slate);
      color: #ffffff;
      box-shadow: 0 4px 12px rgba(36, 56, 63, 0.2);}
.nsm-programs .filter-tab .badge-count{background-color: rgba(255, 255, 255, 0.2);
      color: inherit;
      font-size: 0.75rem;
      padding: 2px 7px;
      border-radius: 10px;
      font-weight: 800;}
.nsm-programs .filter-tab.active .badge-count{background-color: var(--primary-orange);
      color: #ffffff;}
.nsm-programs .stream-header{background: linear-gradient(135deg, var(--deep-slate), #19272c);
      color: #ffffff;
      border-radius: var(--radius-xl);
      padding: 36px 40px;
      margin-bottom: 36px;
      box-shadow: var(--shadow-md);
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 24px;
      position: relative;
      overflow: hidden;}
.nsm-programs .stream-header.orange-accent{border-left: 8px solid var(--primary-orange);}
.nsm-programs .stream-header-info{max-width: 700px;}
.nsm-programs .stream-tag{background-color: var(--primary-orange);
      color: #ffffff;
      font-size: 0.75rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      padding: 4px 12px;
      border-radius: var(--radius-full);
      display: inline-block;
      margin-bottom: 12px;}
.nsm-programs .stream-heading{font-size: 1.85rem;
      color: #ffffff;
      margin-bottom: 8px;}
.nsm-programs .stream-sub{color: rgba(243, 236, 217, 0.85);
      font-size: 0.975rem;}
.nsm-programs .programs-grid{display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 32px;
      margin-bottom: 56px;}
.nsm-programs .program-card{background-color: var(--bg-cream-card);
      border: 1px solid var(--deep-slate-border);
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow-sm);
      transition: all var(--transition-base);
      display: flex;
      flex-direction: column;
      overflow: hidden;}
.nsm-programs .program-card:hover{transform: translateY(-6px);
      box-shadow: var(--shadow-lg);
      border-color: var(--primary-orange-border);}
.nsm-programs .card-image-box{width: 100%;
      height: 220px;
      position: relative;
      overflow: hidden;
      background-color: var(--bg-cream-alt);}
.nsm-programs .card-image-box img{width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      transition: transform 0.5s ease;}
.nsm-programs .program-card:hover .card-image-box img{transform: scale(1.05);}
.nsm-programs .card-content{padding: 28px 28px 24px;
      display: flex;
      flex-direction: column;
      flex-grow: 1;
      justify-content: space-between;}
.nsm-programs .program-badge-row{display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 14px;}
.nsm-programs .program-icon-wrapper{width: 44px;
      height: 44px;
      border-radius: var(--radius-md);
      background-color: var(--primary-orange-light);
      color: var(--primary-orange);
      display: flex;
      align-items: center;
      justify-content: center;}
.nsm-programs .program-icon-wrapper svg{width: 22px;
      height: 22px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;}
.nsm-programs .program-target-pill{font-size: 0.75rem;
      font-weight: 700;
      color: var(--deep-slate);
      background-color: var(--bg-cream-alt);
      padding: 5px 12px;
      border-radius: var(--radius-full);
      letter-spacing: 0.02em;}
.nsm-programs .program-title{font-size: 1.35rem;
      font-weight: 800;
      color: var(--deep-slate);
      margin-bottom: 12px;
      line-height: 1.3;}
.nsm-programs .program-summary{font-size: 0.95rem;
      color: var(--deep-slate-light);
      line-height: 1.6;
      margin-bottom: 20px;}
.nsm-programs .program-highlights{margin-bottom: 24px;
      display: flex;
      flex-direction: column;
      gap: 10px;}
.nsm-programs .highlight-item{display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 0.885rem;
      color: var(--deep-slate);
      font-weight: 500;}
.nsm-programs .highlight-item svg{width: 16px;
      height: 16px;
      stroke: var(--primary-orange);
      fill: none;
      stroke-width: 2.5;
      flex-shrink: 0;
      margin-top: 3px;}
.nsm-programs .card-meta-box{background-color: var(--bg-cream-light);
      border: 1px solid var(--deep-slate-border);
      border-radius: var(--radius-md);
      padding: 14px 16px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: auto;}
.nsm-programs .meta-col{display: flex;
      flex-direction: column;}
.nsm-programs .meta-label{font-size: 0.725rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--primary-orange);
      margin-bottom: 2px;}
.nsm-programs .meta-value{font-size: 0.85rem;
      font-weight: 600;
      color: var(--deep-slate);
      line-height: 1.35;}
.nsm-programs .program-card.featured-card{grid-column: 1 / -1;
      display: grid;
      grid-template-columns: 1fr 1fr;
      border: 2px solid var(--primary-orange-border);}
.nsm-programs .featured-left-col{display: flex;
      flex-direction: column;}
.nsm-programs .featured-card .card-image-box{height: 240px;}
.nsm-programs .featured-right-col{background-color: var(--deep-slate);
      color: #ffffff;
      padding: 36px 32px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;}
.nsm-programs .featured-right-col h4{color: #ffffff;
      font-size: 1.25rem;
      margin-bottom: 14px;
      display: flex;
      align-items: center;
      gap: 10px;}
.nsm-programs .featured-right-col p{color: rgba(243, 236, 217, 0.88);
      font-size: 0.95rem;
      line-height: 1.65;
      margin-bottom: 20px;}
.nsm-programs .featured-scripture-quote{border-left: 3px solid var(--primary-orange);
      padding-left: 14px;
      font-style: italic;
      font-size: 0.875rem;
      color: #f3ecd9;}
.nsm-programs .impact-showcase{background-color: var(--deep-slate);
      color: #ffffff;
      border-radius: var(--radius-xl);
      padding: 56px 48px;
      margin: 40px 0 80px;
      position: relative;
      overflow: hidden;
      box-shadow: var(--shadow-lg);}
.nsm-programs .impact-showcase-grid{display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 48px;
      align-items: center;}
.nsm-programs .impact-video-frame{background: linear-gradient(135deg, #1b2c32, #142125);
      border: 2px solid rgba(219, 103, 62, 0.4);
      border-radius: var(--radius-lg);
      padding: 40px 24px;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      min-height: 280px;
      position: relative;}
.nsm-programs .play-btn-pulse{width: 68px;
      height: 68px;
      background-color: var(--primary-orange);
      color: #ffffff;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 16px;
      box-shadow: 0 0 0 0 rgba(219, 103, 62, 0.7);
      animation: pulse 2s infinite;
      cursor: pointer;
      transition: transform var(--transition-fast);}
.nsm-programs .play-btn-pulse:hover{transform: scale(1.08);}
.nsm-programs .play-btn-pulse svg{width: 28px;
      height: 28px;
      fill: #ffffff;
      margin-left: 3px;}
@keyframes pulse{
      0% {
        box-shadow: 0 0 0 0 rgba(219, 103, 62, 0.7);
      }
      70% {
        box-shadow: 0 0 0 16px rgba(219, 103, 62, 0);
      }
      100% {
        box-shadow: 0 0 0 0 rgba(219, 103, 62, 0);
      }
    }
.nsm-programs .impact-video-text h4{color: #ffffff;
      font-size: 1.25rem;
      margin-bottom: 6px;}
.nsm-programs .impact-video-text p{color: rgba(243, 236, 217, 0.75);
      font-size: 0.875rem;}
.nsm-programs .impact-content h3{font-size: 2.2rem;
      color: #ffffff;
      margin-bottom: 16px;
      line-height: 1.2;}
.nsm-programs .impact-content p{color: rgba(243, 236, 217, 0.85);
      font-size: 1rem;
      margin-bottom: 24px;}
.nsm-programs .impact-bullet-list{display: flex;
      flex-direction: column;
      gap: 12px;
      margin-bottom: 28px;}
.nsm-programs .impact-bullet{display: flex;
      align-items: center;
      gap: 12px;
      font-size: 0.925rem;
      color: #ffffff;}
.nsm-programs .impact-bullet svg{width: 18px;
      height: 18px;
      stroke: var(--primary-orange);
      fill: none;
      stroke-width: 2.5;}
.nsm-programs .sustainability-section{background-color: var(--bg-cream-alt);
      border-radius: var(--radius-xl);
      padding: 60px 48px;
      margin-bottom: 80px;}
.nsm-programs .sustainability-grid{display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
      margin-top: 40px;}
.nsm-programs .sustain-card{background-color: var(--bg-cream-card);
      border-radius: var(--radius-lg);
      padding: 28px;
      border: 1px solid var(--deep-slate-border);
      box-shadow: var(--shadow-sm);}
.nsm-programs .sustain-num{font-size: 1.6rem;
      font-weight: 900;
      color: var(--primary-orange);
      margin-bottom: 8px;}
.nsm-programs .sustain-title{font-size: 1.15rem;
      font-weight: 700;
      color: var(--deep-slate);
      margin-bottom: 10px;}
.nsm-programs .sustain-desc{font-size: 0.9rem;
      color: var(--deep-slate-light);
      line-height: 1.55;}
.nsm-programs .cta-banner{background: linear-gradient(135deg, var(--primary-orange), #b84c24);
      color: #ffffff;
      border-radius: var(--radius-xl);
      padding: 64px 48px;
      text-align: center;
      margin-bottom: 40px;
      box-shadow: var(--shadow-orange);
      position: relative;
      overflow: hidden;}
.nsm-programs .cta-banner h2{color: #ffffff;
      font-size: 2.6rem;
      font-weight: 900;
      margin-bottom: 16px;
      letter-spacing: -0.02em;}
.nsm-programs .cta-banner p{color: rgba(255, 255, 255, 0.9);
      font-size: 1.15rem;
      max-width: 650px;
      margin: 0 auto 36px;}
.nsm-programs .cta-button-group{display: flex;
      justify-content: center;
      gap: 16px;
      flex-wrap: wrap;}
.nsm-programs .btn-white{background-color: #ffffff;
      color: var(--primary-orange);
      font-weight: 800;}
.nsm-programs .btn-white:hover{background-color: var(--bg-cream-light);
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);}
.nsm-programs .btn-dark-outline{background-color: rgba(36, 56, 63, 0.2);
      border-color: rgba(255, 255, 255, 0.4);
      color: #ffffff;}
.nsm-programs .btn-dark-outline:hover{background-color: var(--deep-slate);
      border-color: var(--deep-slate);
      transform: translateY(-2px);}
@media (max-width: 1024px){.nsm-programs .hero-grid{grid-template-columns: 1fr;
        gap: 36px;}
.nsm-programs .hero-title{font-size: 2.75rem;}
.nsm-programs .pillars-grid{grid-template-columns: repeat(2, 1fr);}
.nsm-programs .sustainability-grid{grid-template-columns: 1fr;}
.nsm-programs .program-card.featured-card{grid-template-columns: 1fr;}}
@media (max-width: 768px){.nsm-programs .programs-grid{grid-template-columns: 1fr;}
.nsm-programs .hero-title{font-size: 2.2rem;}
.nsm-programs .impact-showcase-grid{grid-template-columns: 1fr;}
.nsm-programs .card-meta-box{grid-template-columns: 1fr;}
.nsm-programs .filter-tabs-container{display: flex;
        width: 100%;
        overflow-x: auto;
        border-radius: var(--radius-md);}
.nsm-programs .filter-tab{flex: 1;
        text-align: center;
        justify-content: center;
        padding: 10px 14px;
        font-size: 0.85rem;}
.nsm-programs .cta-banner{padding: 40px 20px;}
.nsm-programs .cta-banner h2{font-size: 2rem;}
.nsm-programs .stream-header{padding: 24px;}}


/* ===== Elementor DOM adaptation (Programs) ===== */
.nsm-programs .elementor-widget{margin:0}
.nsm-programs .elementor-heading-title{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;margin:0}
.nsm-programs .elementor-widget-text-editor,.nsm-programs .elementor-widget-text-editor p{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}
.nsm-programs .e-con{--gap:0px}
.nsm-programs .e-con-inner{width:100%}
.nsm-programs .elementor-widget-image .elementor-widget-container,.nsm-programs .elementor-widget-image figure,.nsm-programs .elementor-widget-image a{height:100%;margin:0;line-height:0}
.nsm-programs .elementor-widget-image img{display:block;width:100%;height:100%;object-fit:cover}
.nsm-programs .prog-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Encode Sans',sans-serif;font-weight:700;border-radius:10px;transition:all .25s;border:none;cursor:pointer;line-height:1.2}
.nsm-programs .prog-btn-primary .elementor-button{background:var(--primary-orange);color:#fff;padding:14px 26px}
.nsm-programs .prog-btn-primary .elementor-button:hover{background:var(--primary-orange-hover);transform:translateY(-2px)}
.nsm-programs .prog-btn-outline .elementor-button{background:transparent;color:var(--deep-slate);border:1.5px solid var(--deep-slate-border);padding:14px 26px}
.nsm-programs .prog-btn-outline .elementor-button:hover{border-color:var(--primary-orange);color:var(--primary-orange)}
.nsm-programs .prog-btn-secondary .elementor-button{background:var(--deep-slate);color:#fff;padding:14px 26px}
.nsm-programs .prog-btn-dark-outline .elementor-button{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.3);padding:14px 26px}
.nsm-programs .prog-btn-white .elementor-button{background:#fff;color:var(--deep-slate);padding:14px 26px}
.nsm-programs .prog-btn-white .elementor-button:hover{transform:translateY(-2px)}
.nsm-programs .prog-btn-sm .elementor-button{padding:10px 18px;font-size:.85rem}
.nsm-programs .filter-tab.active{background-color:var(--deep-slate)!important;color:#fff!important;box-shadow:0 4px 12px rgba(36,56,63,.2)}
.nsm-programs .filter-tab.active .badge-count{background:rgba(255,255,255,.25);color:#fff}
/* loading/filter visibility handled by JS via inline display */

/* ===== loop-grid-bridge: dynamic program cards ===== */
.nsm-programs .nsm-prog-loop .e-loop{gap:28px!important;align-items:stretch}
.nsm-programs .nsm-prog-loop .e-loop-item{height:auto}
.nsm-programs .nsm-prog-loop .e-loop-item>.elementor{height:100%}
.nsm-programs .program-card{height:100%}
.nsm-programs .program-card .card-content>.card-post-content,
.nsm-programs .program-card .card-content>.card-post-content>.elementor-widget-container{display:flex;flex-direction:column;flex:1;width:100%}
.nsm-programs .program-card .card-content>.card-post-content>.elementor-widget-container>.prog-body{display:block}
.nsm-programs .program-card .card-post-content h1,.nsm-programs .program-card .card-post-content h2,.nsm-programs .program-card .card-post-content h3,.nsm-programs .program-card .card-post-content h4,.nsm-programs .program-card .card-post-content h5,.nsm-programs .program-card .card-post-content h6,.nsm-programs .program-card .card-post-content p{margin-top:0}
.nsm-programs .program-card .card-post-content h3.program-title{margin-top:0;margin-bottom:12px}
.nsm-programs .program-card .card-post-content .program-summary{margin-top:0;margin-bottom:20px}
.nsm-programs .program-card .card-meta-box{margin-top:auto}
.nsm-programs .nsm-prog-loop .card-image-box img{width:100%;height:100%;object-fit:cover;display:block}
.nsm-programs .nsm-prog-loop.nsm-loading{opacity:.45;transition:opacity .2s ease}

/* filter-center-fix + design-match */
.nsm-programs .filter-tabs-container{align-self:center;margin-left:auto;margin-right:auto;width:auto;max-width:max-content;flex-wrap:wrap}
.nsm-programs .program-icon-wrapper svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2}
.nsm-programs .highlight-item svg{width:16px;height:16px;stroke:var(--primary-orange);fill:none;stroke-width:2.5;flex-shrink:0;margin-top:3px}
.nsm-programs .program-icon-wrapper{display:flex;align-items:center;justify-content:center}

/* pillar + impact icons via data-URI (no HTML widget) */
.nsm-programs .pillar-icon-box{background-repeat:no-repeat;background-position:center;background-size:24px 24px}
.nsm-programs .pillars-grid>.pillar-card:nth-child(1) .pillar-icon-box{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20stroke%3D%22%2523db673e%22%20fill%3D%22none%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M3%2021h18M5%2021V7l7-4%207%204v14M10%209a2%202%200%20114%200v12h-4V9z%22%2F%3E%3C%2Fsvg%3E")}
.nsm-programs .pillars-grid>.pillar-card:nth-child(2) .pillar-icon-box{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20stroke%3D%22%2523db673e%22%20fill%3D%22none%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M12%206.253v13m0-13C10.832%205.477%209.246%205%207.5%205S4.168%205.477%203%206.253v13C4.168%2018.477%205.754%2018%207.5%2018s3.332.477%204.5%201.253m0-13C13.168%205.477%2014.754%205%2016.5%205c1.747%200%203.332.477%204.5%201.253v13C19.832%2018.477%2018.247%2018%2016.5%2018c-1.746%200-3.332.477-4.5%201.253%22%2F%3E%3C%2Fsvg%3E")}
.nsm-programs .pillars-grid>.pillar-card:nth-child(3) .pillar-icon-box{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20stroke%3D%22%2523db673e%22%20fill%3D%22none%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9%2019v-6a2%202%200%2000-2-2H5a2%202%200%2000-2%202v6a2%202%200%20002%202h2a2%202%200%20002-2zm0%200V9a2%202%200%20012-2h2a2%202%200%20012%202v10m-6%200a2%202%200%20002%202h2a2%202%200%20002-2m0%200V5a2%202%200%20012-2h2a2%202%200%20012%202v14a2%202%200%2001-2%202h-2a2%202%200%2001-2-2z%22%2F%3E%3C%2Fsvg%3E")}
.nsm-programs .pillars-grid>.pillar-card:nth-child(4) .pillar-icon-box{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20stroke%3D%22%2523db673e%22%20fill%3D%22none%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M4%204v5h.582m15.356%202A8.001%208.001%200%20004.582%209m0%200H9m11%2011v-5h-.581m0%200a8.003%208.003%200%2001-15.357-2m15.357%202H15%22%2F%3E%3C%2Fsvg%3E")}
.nsm-programs .impact-bullet{display:flex;align-items:center;gap:12px}
.nsm-programs .impact-bullet::before{content:"";width:18px;height:18px;flex-shrink:0;background-repeat:no-repeat;background-position:center;background-size:18px 18px;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20stroke%3D%22%2523db673e%22%20fill%3D%22none%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M5%2013l4%204L19%207%22%2F%3E%3C%2Fsvg%3E")}

/* featured evangelistic card + hero badge icons */
.nsm-programs .nsm-evangelistic .program-icon-wrapper{background-repeat:no-repeat;background-position:center;background-size:22px 22px;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20stroke%3D%22%2523db673e%22%20fill%3D%22none%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M11%205.882V19.24a1.76%201.76%200%2001-3.417.592l-2.147-6.15M18%2013a3%203%200%20100-6M5.436%2013.683A4.001%204.001%200%20017%206h1.832c4.1%200%207.625-1.234%209.168-3v14c-1.543-1.766-5.067-3-9.168-3H7a3.988%203.988%200%2001-1.564-.317z%22%2F%3E%3C%2Fsvg%3E")}
.nsm-programs .nsm-evangelistic .highlight-item{display:flex;align-items:flex-start;gap:10px}
.nsm-programs .nsm-evangelistic .highlight-item::before{content:"";width:16px;height:16px;margin-top:3px;flex-shrink:0;background-repeat:no-repeat;background-position:center;background-size:16px 16px;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20stroke%3D%22%2523db673e%22%20fill%3D%22none%22%20stroke-width%3D%222.5%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M5%2013l4%204L19%207%22%2F%3E%3C%2Fsvg%3E")}
.nsm-programs .nsm-evangelistic .card-content{display:flex;flex-direction:column}
.nsm-programs .nsm-evangelistic .card-meta-box{margin-top:auto}
.nsm-programs .badge-pill .elementor-heading-title{display:inline-flex;align-items:center;gap:8px}
.nsm-programs .badge-pill .elementor-heading-title::before{content:"";width:15px;height:15px;flex-shrink:0;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%2523db673e%22%3E%3Cpath%20d%3D%22M12%202L1%2021h22L12%202zm0%203.84L19.53%2019H4.47L12%205.84zM11%2010h2v4h-2zm0%206h2v2h-2z%22%2F%3E%3C%2Fsvg%3E")}

/* loop-container-gridfix: full-width equal 2-col loop grid */
.nsm-programs .nsm-prog-loop .elementor-loop-container{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:32px !important;width:100%}
.nsm-programs .nsm-prog-loop .e-loop-item{width:100%;max-width:none}
.nsm-programs .nsm-prog-loop .e-loop-item>.elementor{height:100%;width:100%}
.nsm-programs .nsm-prog-loop .program-card{width:100%}
@media(max-width:767px){.nsm-programs .nsm-prog-loop .elementor-loop-container{grid-template-columns:1fr !important}}
