/* ===== NSM Blog Archive (page 68) — scoped native-Elementor design ===== */
.nsm-blog-archive{
  --cream:#F3ECD9;--cream-light:#FAF6ED;--cream-dark:#E4D9C0;
  --terra:#DB673E;--terra-dark:#BF5029;--terra-tint:rgba(219,103,62,.12);
  --slate:#24383F;--slate-light:#344D56;--slate-dark:#172429;--slate-muted:#627A84;
  --border:rgba(36,56,63,.08);--r-md:14px;--r-lg:20px;--r-xl:28px;--r-full:9999px;
  --sh-card:0 10px 30px -5px rgba(36,56,63,.08),0 4px 12px -2px rgba(36,56,63,.03);
  --sh-hover:0 20px 35px -8px rgba(36,56,63,.14),0 8px 16px -4px rgba(36,56,63,.06);
  --ease:cubic-bezier(.25,.8,.25,1);
  font-family:'Encode Sans',sans-serif;background:var(--cream-light);
}
.nsm-blog-archive .elementor-widget{margin:0}
.nsm-blog-archive .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-blog-archive .elementor-widget-text-editor,.nsm-blog-archive .elementor-widget-text-editor p{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}
.nsm-blog-archive .elementor-widget-image .elementor-widget-container,.nsm-blog-archive .elementor-widget-image figure,.nsm-blog-archive .elementor-widget-image a{height:100%;margin:0;line-height:0;display:block}
.nsm-blog-archive .elementor-widget-image img{display:block;width:100%}
.nsm-blog-archive .container{width:100%;max-width:1200px;margin:0 auto!important;padding:0 24px!important}
.nsm-blog-archive h1,.nsm-blog-archive h2,.nsm-blog-archive h3{font-weight:800;letter-spacing:-.02em;color:var(--slate);line-height:1.12}
.nsm-blog-archive a{text-decoration:none;color:inherit}

/* SECTION 1 hero */
.nsm-blog-archive .blog-hero{background:var(--cream-light);padding:60px 0 36px;border-bottom:1px solid var(--border)}
.nsm-blog-archive .blog-hero .container{display:flex!important;flex-direction:column;gap:24px;align-items:flex-start}
.nsm-blog-archive .hero-breadcrumb{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--slate-muted)}
.nsm-blog-archive .hero-breadcrumb span{color:var(--terra)}
.nsm-blog-archive .hero-headline-wrap{display:flex!important;flex-direction:column;gap:14px}
.nsm-blog-archive .hero-title{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800}
.nsm-blog-archive .hero-subtitle{max-width:640px;font-size:1.08rem;line-height:1.65;color:var(--slate-muted);font-weight:400}
.nsm-blog-archive .filter-section{width:100%}
.nsm-blog-archive .category-pills{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:10px}
.nsm-blog-archive .category-pill .elementor-button{font-family:'Encode Sans',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.74rem;padding:10px 18px;border-radius:var(--r-full);border:1.5px solid var(--border);background:#fff;color:var(--slate);transition:var(--ease)}
.nsm-blog-archive .category-pill .elementor-button:hover{border-color:var(--terra);color:var(--terra)}
.nsm-blog-archive .category-pill.is-active .elementor-button{background:var(--terra);border-color:var(--terra);color:#fff}

/* SECTION 2 featured */
.nsm-blog-archive .featured-card-wrapper{background:var(--cream);padding:36px 0 44px}
.nsm-blog-archive .featured-article-card{display:flex!important;flex-direction:row!important;background:#fff;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-card);border:1px solid var(--border)}
.nsm-blog-archive .featured-content-side{width:55%;display:flex!important;flex-direction:column;gap:20px;padding:48px;justify-content:center}
.nsm-blog-archive .featured-badge-row{display:flex!important;flex-direction:row!important;gap:10px;align-items:center}
.nsm-blog-archive .badge-featured{background:var(--terra);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;padding:6px 14px;border-radius:var(--r-full)}
.nsm-blog-archive .badge-cat{color:var(--slate-muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}
.nsm-blog-archive .featured-title{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.nsm-blog-archive .featured-excerpt{font-size:1.06rem;line-height:1.65;color:var(--slate-muted);font-weight:400}
.nsm-blog-archive .author-box{display:flex!important;flex-direction:row!important;gap:12px;align-items:center}
.nsm-blog-archive .author-avatar,.nsm-blog-archive .mini-av{display:flex;align-items:center;justify-content:center;background:var(--terra);color:#fff;font-weight:800;border-radius:var(--r-full)}
.nsm-blog-archive .author-avatar{width:44px;height:44px;font-size:.9rem}
.nsm-blog-archive .author-avatar span{color:#fff}
.nsm-blog-archive .author-info{display:flex!important;flex-direction:column;gap:2px}
.nsm-blog-archive .author-info-name{font-weight:700;color:var(--slate);font-size:.92rem}
.nsm-blog-archive .author-info-role{font-size:.78rem;color:var(--slate-muted);font-weight:500}
.nsm-blog-archive .btn-read .elementor-button{background:var(--terra);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;padding:15px 28px;border-radius:var(--r-full);transition:var(--ease)}
.nsm-blog-archive .btn-read .elementor-button:hover{background:var(--terra-dark);transform:translateY(-2px)}
.nsm-blog-archive .featured-image-side{width:45%;position:relative;min-height:440px;overflow:hidden}
.nsm-blog-archive .featured-image-side img{width:100%;height:100%;object-fit:cover}
.nsm-blog-archive .image-overlay-badge{position:absolute;top:18px;left:18px;background:var(--terra);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.66rem;padding:7px 14px;border-radius:var(--r-full)}
.nsm-blog-archive .image-location-tag{position:absolute;left:18px;bottom:18px;background:rgba(36,56,63,.72);color:var(--cream);backdrop-filter:blur(6px);padding:8px 14px;border-radius:var(--r-full);font-weight:700;font-size:.76rem;letter-spacing:.03em}

/* SECTION 3 grid */
.nsm-blog-archive .stories{background:var(--cream);padding:20px 0 76px}
.nsm-blog-archive .stories .container{display:flex!important;flex-direction:column;gap:34px}
.nsm-blog-archive .section-header{display:flex!important;flex-direction:column;gap:8px}
.nsm-blog-archive .section-eyebrow,.nsm-blog-archive .essay-eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;color:var(--terra)}
.nsm-blog-archive .section-title{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800}
.nsm-blog-archive .section-sub{color:var(--slate-muted);font-weight:400;line-height:1.6}
.nsm-blog-archive .stories-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:28px}
.nsm-blog-archive .story-card{display:flex!important;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-card);transition:var(--ease)}
.nsm-blog-archive .story-card:hover{transform:translateY(-6px);box-shadow:var(--sh-hover)}
.nsm-blog-archive .story-card-image-wrap{position:relative;aspect-ratio:16/9;overflow:hidden}
.nsm-blog-archive .story-card-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.nsm-blog-archive .story-card:hover .story-card-image-wrap img{transform:scale(1.06)}
.nsm-blog-archive .story-card-badge{position:absolute;top:12px;left:12px;background:var(--terra);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.64rem;padding:6px 12px;border-radius:var(--r-full)}
.nsm-blog-archive .story-card-body{display:flex!important;flex-direction:column;gap:10px;padding:22px 22px 16px}
.nsm-blog-archive .story-date{color:var(--slate-muted);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}
.nsm-blog-archive .story-card-title{font-size:1.22rem;font-weight:800;line-height:1.25}
.nsm-blog-archive .story-card-title a:hover{color:var(--terra)}
.nsm-blog-archive .story-card-excerpt{color:var(--slate-muted);font-weight:400;font-size:.92rem;line-height:1.6}
.nsm-blog-archive .story-card-footer{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;padding:14px 22px;border-top:1px solid var(--border);margin-top:auto}
.nsm-blog-archive .story-author-mini{display:flex!important;flex-direction:row!important;gap:8px;align-items:center}
.nsm-blog-archive .mini-av{width:26px;height:26px;font-size:.66rem}
.nsm-blog-archive .mini-name{font-weight:600;font-size:.8rem;color:var(--slate)}
.nsm-blog-archive .story-arrow .elementor-button{background:var(--cream);color:var(--slate);width:38px;height:38px;border-radius:var(--r-full);padding:0;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:var(--ease)}
.nsm-blog-archive .story-card:hover .story-arrow .elementor-button{background:var(--terra);color:#fff;transform:translateX(3px)}

/* SECTION 4 photo essay */
.nsm-blog-archive .photo-essay-section{background:var(--slate);padding:80px 0}
.nsm-blog-archive .photo-essay-section .container{display:flex!important;flex-direction:column;gap:40px}
.nsm-blog-archive .photo-essay-header{display:flex!important;flex-direction:column;gap:10px;text-align:center;align-items:center}
.nsm-blog-archive .essay-title{color:var(--cream);font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:800}
.nsm-blog-archive .essay-gallery-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:20px}
.nsm-blog-archive .essay-photo-card{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:460px}
.nsm-blog-archive .essay-photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.nsm-blog-archive .essay-photo-card:hover img{transform:scale(1.05)}
.nsm-blog-archive .essay-card-overlay{position:absolute;inset:0;display:flex!important;flex-direction:column;justify-content:flex-end;gap:8px;padding:28px;background:linear-gradient(to top,rgba(23,36,41,.94) 0%,rgba(23,36,41,.45) 45%,transparent 78%)}
.nsm-blog-archive .essay-card-caption-kicker{color:var(--terra);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}
.nsm-blog-archive .essay-card-caption-text{color:var(--cream);font-weight:500;line-height:1.5;font-size:1.02rem}

/* SECTION 5 magazine + sidebar */
.nsm-blog-archive .magazine{background:var(--cream-light);padding:72px 0}
.nsm-blog-archive .magazine-row{display:flex!important;flex-direction:row!important;gap:40px;align-items:flex-start}
.nsm-blog-archive .magazine-main{width:65%;display:flex!important;flex-direction:column;gap:14px}
.nsm-blog-archive .mag-heading{font-size:1.7rem;font-weight:800;margin-bottom:8px}
.nsm-blog-archive .mag-list{display:flex!important;flex-direction:column;gap:18px}
.nsm-blog-archive .mag-item{display:flex!important;flex-direction:row!important;gap:20px;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-card);transition:var(--ease)}
.nsm-blog-archive .mag-item:hover{box-shadow:var(--sh-hover)}
.nsm-blog-archive .mag-item-img{width:220px;flex:0 0 220px;overflow:hidden}
.nsm-blog-archive .mag-item-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.nsm-blog-archive .mag-item:hover .mag-item-img img{transform:scale(1.05)}
.nsm-blog-archive .mag-item-body{display:flex!important;flex-direction:column;gap:8px;padding:22px 24px 22px 4px;justify-content:center}
.nsm-blog-archive .mag-cat{font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;color:var(--terra)}
.nsm-blog-archive .mag-title{font-size:1.28rem;font-weight:800;line-height:1.25}
.nsm-blog-archive .mag-title a:hover{color:var(--terra)}
.nsm-blog-archive .mag-excerpt{color:var(--slate-muted);font-weight:400;font-size:.92rem;line-height:1.6}
.nsm-blog-archive .mag-meta{color:var(--slate-muted);font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}
.nsm-blog-archive .impact-sidebar{width:35%;display:flex!important;flex-direction:column;gap:20px;position:sticky;top:100px}
.nsm-blog-archive .sidebar-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh-card)}
.nsm-blog-archive .sidebar-title{font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;color:var(--slate);margin-bottom:18px}
.nsm-blog-archive .counters{display:flex!important;flex-direction:column;gap:16px}
.nsm-blog-archive .counter-item .elementor-counter-number-wrapper{color:var(--terra);font-weight:900;font-family:'Encode Sans',sans-serif;font-size:2.2rem;justify-content:flex-start}
.nsm-blog-archive .counter-item .elementor-counter-title{color:var(--slate-muted);font-weight:600;text-align:left;font-size:.86rem}
.nsm-blog-archive .voice-card{background:var(--slate);border-color:var(--slate)}
.nsm-blog-archive .voice-kicker{color:var(--terra);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;margin-bottom:12px}
.nsm-blog-archive .voice-quote{color:var(--cream);font-weight:500;line-height:1.55;font-size:1.05rem}
.nsm-blog-archive .voice-attr{color:rgba(243,236,217,.7);font-weight:600;font-size:.82rem;margin-top:12px}
.nsm-blog-archive .media-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:6px}
.nsm-blog-archive .media-grid .elementor-widget-image{aspect-ratio:1;overflow:hidden;border-radius:8px}
.nsm-blog-archive .media-grid img{width:100%;height:100%;object-fit:cover;transition:var(--ease)}
.nsm-blog-archive .media-grid .elementor-widget-image:hover img{transform:scale(1.08)}

/* SECTION 6 newsletter */
.nsm-blog-archive .newsletter{background:var(--terra);padding:56px 0}
.nsm-blog-archive .newsletter-row{display:flex!important;flex-direction:row!important;gap:32px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.nsm-blog-archive .newsletter-copy{display:flex!important;flex-direction:column;gap:8px}
.nsm-blog-archive .news-title{color:var(--cream);font-size:1.8rem;font-weight:800}
.nsm-blog-archive .news-sub{color:rgba(243,236,217,.9);font-weight:400;line-height:1.55;max-width:520px}
.nsm-blog-archive .btn-subscribe .elementor-button{background:var(--slate);color:var(--cream);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;padding:16px 30px;border-radius:var(--r-full);transition:var(--ease)}
.nsm-blog-archive .btn-subscribe .elementor-button:hover{background:var(--slate-dark);transform:translateY(-2px)}

/* responsive */
@media(max-width:1024px){
 .nsm-blog-archive .featured-article-card{flex-direction:column}
 .nsm-blog-archive .featured-content-side,.nsm-blog-archive .featured-image-side{width:100%}
 .nsm-blog-archive .featured-image-side{min-height:300px;order:-1}
 .nsm-blog-archive .stories-grid{grid-template-columns:repeat(2,1fr)}
 .nsm-blog-archive .magazine-row{flex-direction:column}
 .nsm-blog-archive .magazine-main,.nsm-blog-archive .impact-sidebar{width:100%}
 .nsm-blog-archive .impact-sidebar{position:static}
 .nsm-blog-archive .essay-gallery-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
 .nsm-blog-archive .stories-grid,.nsm-blog-archive .essay-gallery-grid{grid-template-columns:1fr}
 .nsm-blog-archive .featured-content-side{padding:30px}
 .nsm-blog-archive .category-pills{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
 .nsm-blog-archive .mag-item{flex-direction:column}
 .nsm-blog-archive .mag-item-img{width:100%;flex:none;height:200px}
 .nsm-blog-archive .newsletter-row{flex-direction:column;align-items:flex-start}
}

/* ===== loop-grid-finalize: wire live Loop Grid to story-card design ===== */

/* Loop Grid wrapper — gap & stretch to fill section */
.nsm-blog-archive .nsm-blog-loop.elementor-widget-loop-grid{width:100%}
.nsm-blog-archive .nsm-blog-loop .e-loop{gap:28px!important;align-items:stretch!important}
.nsm-blog-archive .nsm-blog-loop .e-loop .e-loop-item{height:auto}

/* Each loop item fills its column */
.nsm-blog-archive .nsm-blog-loop .e-loop-item>.elementor{height:100%}
.nsm-blog-archive .nsm-blog-loop .e-loop-item .story-card{
  height:100%;flex-direction:column!important;background:#fff;
  border:1px solid var(--border);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--sh-card);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);display:flex!important}
.nsm-blog-archive .nsm-blog-loop .e-loop-item .story-card:hover{
  transform:translateY(-6px);box-shadow:var(--sh-hover)}

/* image wrap: 16:9 aspect ratio inside loop container */
.nsm-blog-archive .nsm-blog-loop .story-card-image-wrap{
  position:relative!important;overflow:hidden!important;flex:0 0 auto;
  aspect-ratio:16/9;width:100%}
.nsm-blog-archive .nsm-blog-loop .story-card-image-wrap .story-card-img .elementor-widget-container,
.nsm-blog-archive .nsm-blog-loop .story-card-image-wrap .story-card-img figure,
.nsm-blog-archive .nsm-blog-loop .story-card-image-wrap .story-card-img a{
  display:block;height:100%}
.nsm-blog-archive .nsm-blog-loop .story-card-image-wrap img{
  width:100%!important;height:100%!important;object-fit:cover!important;
  display:block;transition:transform .6s var(--ease)}
.nsm-blog-archive .nsm-blog-loop .e-loop-item .story-card:hover .story-card-image-wrap img{
  transform:scale(1.06)}

/* category badge overlaid on image */
.nsm-blog-archive .nsm-blog-loop .story-card-badge{
  position:absolute!important;top:12px;left:12px;z-index:2;
  background:var(--terra)!important;color:#fff!important;
  font-family:'Encode Sans',sans-serif!important;
  font-weight:800!important;text-transform:uppercase;letter-spacing:.05em;
  font-size:.64rem;padding:5px 12px;border-radius:var(--r-full);
  line-height:1.4;white-space:nowrap}
.nsm-blog-archive .nsm-blog-loop .story-card-badge .elementor-heading-title{
  color:#fff!important;font-family:'Encode Sans',sans-serif!important;
  font-weight:800!important;font-size:.64rem!important;text-transform:uppercase;
  letter-spacing:.05em!important;line-height:1.4;margin:0}

/* card body */
.nsm-blog-archive .nsm-blog-loop .story-card-body{
  display:flex!important;flex-direction:column!important;
  gap:10px;padding:22px 22px 16px;flex:1}
.nsm-blog-archive .nsm-blog-loop .story-date .elementor-heading-title{
  font-family:'Encode Sans',sans-serif!important;font-weight:600!important;
  font-size:.76rem!important;color:var(--slate-muted)!important;
  text-transform:uppercase;letter-spacing:.04em!important;line-height:1}
.nsm-blog-archive .nsm-blog-loop .story-card-title .elementor-heading-title{
  font-family:'Encode Sans',sans-serif!important;font-weight:800!important;
  font-size:1.18rem!important;line-height:1.25!important;
  color:var(--slate)!important;letter-spacing:-.01em!important}
.nsm-blog-archive .nsm-blog-loop .story-card-title .elementor-heading-title:hover{
  color:var(--terra)!important}
.nsm-blog-archive .nsm-blog-loop .story-card-title a,
.nsm-blog-archive .nsm-blog-loop .story-card-title a:hover{color:inherit}
.nsm-blog-archive .nsm-blog-loop .story-card-excerpt .elementor-heading-title{
  font-family:'Encode Sans',sans-serif!important;font-weight:400!important;
  font-size:.92rem!important;line-height:1.6!important;
  color:var(--slate-muted)!important;letter-spacing:0!important}

/* footer: author + arrow */
.nsm-blog-archive .nsm-blog-loop .story-card-footer{
  display:flex!important;flex-direction:row!important;
  justify-content:space-between!important;align-items:center!important;
  padding:14px 22px!important;border-top:1px solid var(--border);margin-top:auto}
.nsm-blog-archive .nsm-blog-loop .story-author-mini{
  display:flex!important;flex-direction:row!important;
  gap:8px;align-items:center}
.nsm-blog-archive .nsm-blog-loop .mini-av .elementor-heading-title{
  display:flex!important;align-items:center;justify-content:center;
  width:26px;height:26px;background:var(--terra);color:#fff!important;
  font-weight:800!important;font-size:.62rem!important;
  border-radius:var(--r-full);font-family:'Encode Sans',sans-serif!important;margin:0}
.nsm-blog-archive .nsm-blog-loop .mini-name .elementor-heading-title{
  font-family:'Encode Sans',sans-serif!important;font-weight:600!important;
  font-size:.8rem!important;color:var(--slate)!important;line-height:1}

/* arrow button */
.nsm-blog-archive .nsm-blog-loop .story-arrow .elementor-button{
  background:var(--cream)!important;color:var(--slate)!important;
  width:36px!important;height:36px!important;min-width:36px;
  border-radius:var(--r-full)!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:1.1rem!important;font-weight:700;
  transition:background .25s var(--ease),transform .25s var(--ease)!important}
.nsm-blog-archive .nsm-blog-loop .e-loop-item .story-card:hover .story-arrow .elementor-button{
  background:var(--terra)!important;color:#fff!important;transform:translateX(3px)}

/* neutralise Elementor's own loop-item padding & margin so our card layout owns spacing */
.nsm-blog-archive .nsm-blog-loop .e-loop-item .elementor-element{margin:0!important}
.nsm-blog-archive .nsm-blog-loop .e-loop-item>.elementor>.e-con{padding:0!important;gap:0!important}
/* AJAX filter loading state */
.nsm-blog-archive .nsm-blog-loop.nsm-loading{opacity:.45;transition:opacity .2s ease;pointer-events:none}
