.nsm-wwa{--cream: #F3ECD9;
      --cream-light: #FAF6ED;
      --terracotta: #DB673E;
      --terracotta-hover: #C2532C;
      --terracotta-tint: rgba(219, 103, 62, 0.12);
      --slate: #24383F;
      --slate-deep: #19272C;
      --slate-muted: #53676E;
      --slate-light: #F0EDE5;
      --white: #FFFFFF;
      --border: rgba(36, 56, 63, 0.14);
      --border-light: rgba(36, 56, 63, 0.08);

      --font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
      --font-display: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;

      --radius-sm: 6px;
      --radius-md: 12px;
      --radius-lg: 20px;
      --radius-xl: 28px;
      --radius-pill: 999px;
      
      --ease: cubic-bezier(0.16, 1, 0.3, 1);}
.nsm-wwa *, .nsm-wwa *::before, .nsm-wwa *::after{box-sizing: border-box;
      margin: 0;
      padding: 0;}
.nsm-wwa{scroll-behavior: smooth;
      -webkit-font-smoothing: antialiased;
      background-color: var(--cream);
      color: var(--slate);}
.nsm-wwa{font-family: var(--font-body);
      background-color: var(--cream);
      color: var(--slate);
      line-height: 1.65;
      overflow-x: hidden;
      padding: 24px 0 60px;}
.nsm-wwa img{max-width: 100%;
      height: auto;
      display: block;
      object-fit: cover;}
.nsm-wwa a{color: inherit;
      text-decoration: none;
      transition: all 0.2s var(--ease);}
.nsm-wwa .container{width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 24px;}
.nsm-wwa .btn{display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 14px 28px;
      font-size: 0.95rem;
      font-weight: 700;
      border-radius: var(--radius-pill);
      transition: all 0.25s var(--ease);
      white-space: nowrap;
      cursor: pointer;
      border: none;}
.nsm-wwa .btn-primary{background: var(--terracotta);
      color: var(--white);
      box-shadow: 0 10px 25px -6px rgba(219, 103, 62, 0.4);}
.nsm-wwa .btn-primary:hover{background: var(--terracotta-hover);
      transform: translateY(-2px);
      box-shadow: 0 14px 28px -6px rgba(219, 103, 62, 0.5);}
.nsm-wwa .btn-ghost-cream{border: 1px solid rgba(243, 236, 217, 0.25);
      color: var(--cream);
      background: rgba(243, 236, 217, 0.06);
      backdrop-filter: blur(8px);}
.nsm-wwa .btn-ghost-cream:hover{background: var(--cream);
      color: var(--slate-deep);
      transform: translateY(-2px);}
.nsm-wwa .btn-cream{background: var(--cream);
      color: var(--slate);}
.nsm-wwa .btn-cream:hover{background: var(--white);
      transform: translateY(-2px);}
.nsm-wwa .hero-wrapper{padding: 12px 0 40px;}
.nsm-wwa .hero-canvas{background: var(--slate-deep);
      background-image: 
        radial-gradient(circle at 85% 15%, rgba(219, 103, 62, 0.18) 0%, transparent 45%),
        radial-gradient(circle at 10% 90%, rgba(243, 236, 217, 0.08) 0%, transparent 40%);
      color: var(--cream);
      border-radius: var(--radius-xl);
      padding: 70px 60px;
      border: 1px solid rgba(243, 236, 217, 0.12);
      box-shadow: 0 25px 60px -15px rgba(25, 39, 44, 0.35);
      position: relative;
      overflow: hidden;}
.nsm-wwa .hero-canvas::after{content: "";
      position: absolute;
      inset: 0;
      background-image: radial-gradient(rgba(243, 236, 217, 0.06) 1px, transparent 1px);
      background-size: 24px 24px;
      pointer-events: none;}
.nsm-wwa .hero-grid{display: grid;
      grid-template-columns: 1.15fr 0.85fr;
      gap: 56px;
      align-items: center;
      position: relative;
      z-index: 2;}
.nsm-wwa .hero-pill{display: inline-flex;
      align-items: center;
      gap: 10px;
      background: rgba(219, 103, 62, 0.15);
      border: 1px solid rgba(219, 103, 62, 0.35);
      color: #F8A07E;
      padding: 6px 16px;
      border-radius: var(--radius-pill);
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 22px;
      backdrop-filter: blur(6px);}
.nsm-wwa .pulse-dot{width: 8px;
      height: 8px;
      background: var(--terracotta);
      border-radius: 50%;
      box-shadow: 0 0 0 0 rgba(219, 103, 62, 0.7);
      animation: pulse 2s infinite;}
@keyframes pulse{
      0% { box-shadow: 0 0 0 0 rgba(219, 103, 62, 0.7); }
      70% { box-shadow: 0 0 0 10px rgba(219, 103, 62, 0); }
      100% { box-shadow: 0 0 0 0 rgba(219, 103, 62, 0); }
    }
.nsm-wwa .hero-title{font-family: var(--font-display);
      font-size: clamp(2.5rem, 4.2vw, 3.8rem);
      font-weight: 800;
      line-height: 1.08;
      letter-spacing: -0.035em;
      color: var(--white);
      margin-bottom: 22px;}
.nsm-wwa .hero-title .accent-text{color: var(--terracotta);
      position: relative;
      display: inline-block;}
.nsm-wwa .hero-lead{font-size: 1.15rem;
      line-height: 1.7;
      color: rgba(243, 236, 217, 0.85);
      margin-bottom: 34px;
      max-width: 540px;}
.nsm-wwa .hero-actions{display: flex;
      align-items: center;
      gap: 16px;
      flex-wrap: wrap;
      margin-bottom: 40px;}
.nsm-wwa .hero-metrics-strip{display: flex;
      gap: 32px;
      padding-top: 30px;
      border-top: 1px solid rgba(243, 236, 217, 0.12);}
.nsm-wwa .hero-metric-item .val{font-family: var(--font-display);
      font-size: 1.75rem;
      font-weight: 800;
      color: var(--white);
      line-height: 1;
      margin-bottom: 4px;}
.nsm-wwa .hero-metric-item .val span{color: var(--terracotta);}
.nsm-wwa .hero-metric-item .lbl{font-size: 0.78rem;
      color: rgba(243, 236, 217, 0.65);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.04em;}
.nsm-wwa .hero-visual{position: relative;}
.nsm-wwa .hero-img-frame{border-radius: var(--radius-lg);
      overflow: hidden;
      border: 2px solid rgba(243, 236, 217, 0.15);
      box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
      background: var(--slate);
      position: relative;}
.nsm-wwa .hero-img-frame img{width: 100%;
      height: 440px;
      filter: brightness(0.95);
      transition: transform 0.6s var(--ease);}
.nsm-wwa .hero-img-frame:hover img{transform: scale(1.03);}
.nsm-wwa .hero-floating-card{position: absolute;
      bottom: -22px;
      left: -22px;
      background: var(--cream);
      color: var(--slate);
      border-radius: var(--radius-md);
      padding: 18px 22px;
      box-shadow: 0 20px 35px rgba(0, 0, 0, 0.35);
      border-left: 4px solid var(--terracotta);
      max-width: 290px;
      z-index: 5;}
.nsm-wwa .hero-floating-card p{font-family: var(--font-display);
      font-size: 0.92rem;
      font-weight: 700;
      line-height: 1.4;
      margin-bottom: 4px;}
.nsm-wwa .hero-floating-card span{font-size: 0.74rem;
      font-weight: 700;
      color: var(--terracotta);
      text-transform: uppercase;
      letter-spacing: 0.05em;}
.nsm-wwa .hero-location-badge{position: absolute;
      top: 16px;
      right: 16px;
      background: rgba(25, 39, 44, 0.85);
      backdrop-filter: blur(8px);
      border: 1px solid rgba(243, 236, 217, 0.2);
      color: var(--cream);
      padding: 6px 14px;
      border-radius: var(--radius-pill);
      font-size: 0.75rem;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: 6px;
      z-index: 4;}
.nsm-wwa .section{padding: 80px 0;
      border-bottom: 1px solid var(--border);}
.nsm-wwa .section-header{margin-bottom: 48px;}
.nsm-wwa .section-header.centered{text-align: center;
      max-width: 680px;
      margin-left: auto;
      margin-right: auto;}
.nsm-wwa .tag{display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.78rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--terracotta);
      margin-bottom: 14px;}
.nsm-wwa .section-title{font-family: var(--font-display);
      font-size: 2.2rem;
      font-weight: 700;
      letter-spacing: -0.03em;
      line-height: 1.2;
      color: var(--slate);
      margin-bottom: 14px;}
.nsm-wwa .section-desc{font-size: 1.05rem;
      color: var(--slate-muted);
      line-height: 1.65;}
.nsm-wwa .identity-grid{display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;}
.nsm-wwa .card-minimal{background: var(--cream-light);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 36px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;}
.nsm-wwa .card-minimal h3{font-family: var(--font-display);
      font-size: 1.35rem;
      font-weight: 700;
      color: var(--slate);
      margin: 10px 0 12px;
      letter-spacing: -0.02em;}
.nsm-wwa .card-minimal p{font-size: 0.98rem;
      color: var(--slate-muted);
      line-height: 1.7;}
.nsm-wwa .story-intro{background: var(--slate);
      color: var(--cream);
      padding: 38px 42px;
      border-radius: var(--radius-md);
      margin-bottom: 70px;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 28px;
      align-items: center;}
.nsm-wwa .story-intro-badge{font-family: var(--font-display);
      font-size: 1rem;
      font-weight: 700;
      color: var(--terracotta);
      border: 1px solid var(--terracotta);
      padding: 8px 16px;
      border-radius: var(--radius-sm);
      white-space: nowrap;}
.nsm-wwa .story-intro p{font-size: 1.02rem;
      line-height: 1.65;
      color: rgba(243, 236, 217, 0.9);}
.nsm-wwa .storyline{display: flex;
      flex-direction: column;
      gap: 75px;}
.nsm-wwa .story-block{display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 50px;
      align-items: center;}
.nsm-wwa .story-block.alt{direction: rtl;}
.nsm-wwa .story-block.alt > *{direction: ltr;}
.nsm-wwa .story-media-box{border-radius: var(--radius-md);
      overflow: hidden;
      border: 1px solid var(--border);
      background: var(--white);}
.nsm-wwa .story-media-box img{width: 100%;
      height: 360px;}
.nsm-wwa .story-text{display: flex;
      flex-direction: column;
      gap: 14px;}
.nsm-wwa .step-tag{font-family: var(--font-display);
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--terracotta);}
.nsm-wwa .story-text h3{font-family: var(--font-display);
      font-size: 1.65rem;
      font-weight: 700;
      letter-spacing: -0.025em;
      line-height: 1.25;
      color: var(--slate);}
.nsm-wwa .story-text p{font-size: 0.98rem;
      color: var(--slate-muted);
      line-height: 1.7;}
.nsm-wwa .story-quote{border-left: 2px solid var(--terracotta);
      padding-left: 18px;
      font-style: italic;
      color: var(--slate);
      font-weight: 500;
      font-size: 0.95rem;
      margin: 4px 0;}
.nsm-wwa .scripture-strip{background: var(--cream-light);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      padding: 48px 0;}
.nsm-wwa .scripture-grid{display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;}
.nsm-wwa .scripture-card{border-left: 2px solid var(--slate);
      padding-left: 20px;}
.nsm-wwa .scripture-card p{font-family: var(--font-display);
      font-size: 1.12rem;
      font-weight: 500;
      color: var(--slate);
      line-height: 1.5;
      margin-bottom: 8px;}
.nsm-wwa .scripture-card span{font-size: 0.8rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--terracotta);}
.nsm-wwa .objectives-grid{display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;}
.nsm-wwa .objective-item{background: var(--cream-light);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 30px 26px;
      display: flex;
      flex-direction: column;
      transition: border-color 0.2s;}
.nsm-wwa .objective-item:hover{border-color: var(--terracotta);}
.nsm-wwa .obj-num{font-family: var(--font-display);
      font-size: 0.85rem;
      font-weight: 700;
      color: var(--terracotta);
      margin-bottom: 12px;}
.nsm-wwa .objective-item h4{font-family: var(--font-display);
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--slate);
      letter-spacing: -0.02em;
      margin-bottom: 10px;
      line-height: 1.35;}
.nsm-wwa .objective-item p{font-size: 0.92rem;
      color: var(--slate-muted);
      line-height: 1.65;}
.nsm-wwa .faith-acc-grid{display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;}
.nsm-wwa .statement-box{background: var(--cream-light);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 36px;}
.nsm-wwa .statement-box h3{font-family: var(--font-display);
      font-size: 1.3rem;
      font-weight: 700;
      color: var(--slate);
      margin-bottom: 12px;
      letter-spacing: -0.02em;}
.nsm-wwa .statement-box p{font-size: 0.95rem;
      color: var(--slate-muted);
      line-height: 1.7;
      margin-bottom: 14px;}
.nsm-wwa .pill-row{display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 18px;}
.nsm-wwa .pill{font-size: 0.78rem;
      font-weight: 600;
      padding: 4px 12px;
      background: var(--cream);
      border: 1px solid var(--border);
      border-radius: var(--radius-pill);
      color: var(--slate);}
.nsm-wwa .stats-row{display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      margin-bottom: 50px;}
.nsm-wwa .stat-card{background: var(--cream-light);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 24px 20px;
      text-align: center;}
.nsm-wwa .stat-card .val{font-family: var(--font-display);
      font-size: 2.4rem;
      font-weight: 700;
      color: var(--slate);
      line-height: 1;
      margin-bottom: 6px;}
.nsm-wwa .stat-card .lbl{font-size: 0.82rem;
      font-weight: 600;
      color: var(--slate-muted);
      text-transform: uppercase;
      letter-spacing: 0.05em;}
.nsm-wwa .team-grid{display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;}
.nsm-wwa .team-item{background: var(--cream-light);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      overflow: hidden;}
.nsm-wwa .team-item-img{height: 220px;
      background: var(--slate);}
.nsm-wwa .team-item-img img{width: 100%;
      height: 100%;}
.nsm-wwa .team-item-body{padding: 24px;}
.nsm-wwa .team-role{font-size: 0.76rem;
      font-weight: 700;
      color: var(--terracotta);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 4px;}
.nsm-wwa .team-name{font-family: var(--font-display);
      font-size: 1.22rem;
      font-weight: 700;
      color: var(--slate);
      margin-bottom: 8px;}
.nsm-wwa .team-desc{font-size: 0.9rem;
      color: var(--slate-muted);
      line-height: 1.6;}
.nsm-wwa .mosaic-grid{display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-auto-rows: 220px;
      gap: 16px;}
.nsm-wwa .mosaic-cell{border-radius: var(--radius-md);
      overflow: hidden;
      border: 1px solid var(--border);
      position: relative;}
.nsm-wwa .mosaic-cell img{width: 100%;
      height: 100%;
      transition: transform 0.4s var(--ease);}
.nsm-wwa .mosaic-cell:hover img{transform: scale(1.03);}
.nsm-wwa .mosaic-wide{grid-column: span 2;}
.nsm-wwa .mosaic-tall{grid-row: span 2;}
.nsm-wwa .mosaic-lbl{position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 20px 14px 10px;
      background: linear-gradient(to top, rgba(36, 56, 63, 0.85), transparent);
      color: var(--cream);
      font-size: 0.8rem;
      font-weight: 500;}
.nsm-wwa .cta-banner{background: var(--slate-deep);
      color: var(--cream);
      padding: 75px 40px;
      border-radius: var(--radius-xl);
      text-align: center;
      margin: 40px 0 20px;
      border: 1px solid rgba(243, 236, 217, 0.12);
      box-shadow: 0 20px 50px -10px rgba(25, 39, 44, 0.25);}
.nsm-wwa .cta-container{max-width: 660px;
      margin: 0 auto;}
.nsm-wwa .cta-banner h2{font-family: var(--font-display);
      font-size: 2.3rem;
      font-weight: 700;
      letter-spacing: -0.03em;
      margin-bottom: 16px;
      line-height: 1.2;
      color: var(--white);}
.nsm-wwa .cta-banner p{font-size: 1.05rem;
      color: rgba(243, 236, 217, 0.85);
      line-height: 1.65;
      margin-bottom: 32px;}
.nsm-wwa .cta-actions{display: flex;
      justify-content: center;
      gap: 16px;
      flex-wrap: wrap;}
@media (max-width: 992px){.nsm-wwa .hero-grid{grid-template-columns: 1fr;
        gap: 40px;}
.nsm-wwa .hero-canvas{padding: 50px 36px;}
.nsm-wwa .objectives-grid{grid-template-columns: repeat(2, 1fr);}
.nsm-wwa .team-grid{grid-template-columns: repeat(2, 1fr);}
.nsm-wwa .stats-row{grid-template-columns: repeat(2, 1fr);}
.nsm-wwa .mosaic-grid{grid-template-columns: repeat(2, 1fr);}
.nsm-wwa .mosaic-wide{grid-column: span 1;}}
@media (max-width: 768px){.nsm-wwa{padding: 12px 0 40px;}
.nsm-wwa .hero-canvas{padding: 40px 24px;
        border-radius: var(--radius-lg);}
.nsm-wwa .hero-title{font-size: 2.25rem;}
.nsm-wwa .hero-floating-card{position: static;
        margin-top: 14px;
        max-width: 100%;}
.nsm-wwa .hero-metrics-strip{flex-direction: column;
        gap: 18px;}
.nsm-wwa .identity-grid, .nsm-wwa .faith-acc-grid, .nsm-wwa .scripture-grid{grid-template-columns: 1fr;}
.nsm-wwa .story-block, .nsm-wwa .story-block.alt{grid-template-columns: 1fr;
        gap: 28px;
        direction: ltr;}
.nsm-wwa .story-intro{grid-template-columns: 1fr;
        padding: 28px 24px;}
.nsm-wwa .objectives-grid, .nsm-wwa .team-grid{grid-template-columns: 1fr;}
.nsm-wwa .cta-banner{padding: 50px 24px;
        border-radius: var(--radius-lg);}}

/* ===== Elementor DOM adaptation (Who We Are) ===== */
.nsm-wwa .elementor-widget{margin:0}
.nsm-wwa .elementor-heading-title{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;font-style:inherit;margin:0}
.nsm-wwa .elementor-widget-container{color:inherit}
.nsm-wwa .elementor-widget-text-editor,.nsm-wwa .elementor-widget-text-editor p{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}
.nsm-wwa .e-con-inner{width:100%}
.nsm-wwa .elementor-widget-image .elementor-widget-container,.nsm-wwa .elementor-widget-image figure,.nsm-wwa .elementor-widget-image a{height:100%;margin:0;line-height:0}
.nsm-wwa .elementor-widget-image img{display:block}
/* buttons mapped to design .btn */
.nsm-wwa .wwa-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;font-family:var(--font-body);font-size:.95rem;font-weight:700;border-radius:999px;transition:all .25s var(--ease);border:none;line-height:1.2}
.nsm-wwa .wwa-btn-primary .elementor-button{background:var(--terracotta);color:#fff;box-shadow:0 10px 25px -6px rgba(219,103,62,.4)}
.nsm-wwa .wwa-btn-primary .elementor-button:hover{background:var(--terracotta-hover);transform:translateY(-2px);box-shadow:0 14px 28px -6px rgba(219,103,62,.5)}
.nsm-wwa .wwa-btn-ghost .elementor-button{border:1px solid rgba(243,236,217,.25);color:var(--cream);background:rgba(243,236,217,.06)}
.nsm-wwa .wwa-btn-ghost .elementor-button:hover{background:var(--cream);color:var(--slate-deep);transform:translateY(-2px)}
.nsm-wwa .wwa-btn-cream .elementor-button{background:var(--cream);color:var(--slate)}
.nsm-wwa .wwa-btn-cream .elementor-button:hover{background:#fff;transform:translateY(-2px)}
/* neutralize elementor container flex so design grids/paddings own layout */
.nsm-wwa .e-con{--gap:0px}
.nsm-wwa .hero-actions,.nsm-wwa .cta-actions,.nsm-wwa .pill-row,.nsm-wwa .hero-metrics-strip{align-content:start}

/* ===== brand font override (Encode Sans) ===== */
.nsm-wwa{--font-body:'Encode Sans',sans-serif;--font-display:'Encode Sans Expanded','Encode Sans',sans-serif}
