.elementor-kit-1695{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-1695 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =====================================================================
   NAMASTEY BHARAT — Elementor Pro custom CSS
   Paste in: Elementor > Site Settings > Custom CSS  (or Appearance > Customize > Additional CSS)
   Every rule is scoped to the nb-* classes used in the templates, so it will
   not touch other pages.  Fonts (Playfair Display, Tiro Devanagari Hindi, Mukta)
   are loaded by the HTML widget inside the hero (date card) of the home template.
   ===================================================================== */

/* ---------- 1. Design tokens ---------- */
:root {
  --nb-ink: #1E2A1B;
  --nb-muted: #5B6657;
  --nb-green: #1C6E05;
  --nb-green-2: #297610;
  --nb-forest: #0D3B05;
  --nb-mint: #EAF3E4;
  --nb-orange: #EC7D04;
  --nb-orange-2: #C96A00;
  --nb-cream: #FBF4E6;
  --nb-paper: #FAF6EC;
  --nb-olive: #CBCA93;
  --nb-maroon: #6B0404;
  --nb-radius: 18px;
  --nb-shadow: 0 10px 30px rgba(13, 59, 5, .10);
  --nb-shadow-lg: 0 18px 44px rgba(13, 59, 5, .20);
  --nb-serif: 'Playfair Display', 'Tiro Devanagari Hindi', Georgia, serif;
  --nb-sans: 'Mukta', 'Hind', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
}
html { scroll-behavior: smooth; }
.nb-anchor { scroll-margin-top: 24px; }

/* ---------- 2. Base typography (only inside nb-* sections) ---------- */
.nb,
.nb .elementor-widget-container { font-family: var(--nb-sans); color: var(--nb-ink); }
.nb .elementor-heading-title {
  font-family: var(--nb-serif);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: inherit;
}
.nb p { margin: 0 0 1em; line-height: 1.75; }
.nb a { text-decoration: none; }
.nb ul { list-style: none; margin: 0; padding: 0; }

/* small orange kicker above headings */
.nb-kicker p, .nb-kicker { margin: 0 !important; }
.nb-kicker p {
  font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--nb-orange-2);
}
.nb-kicker p::before {
  content: ""; display: inline-block; width: 28px; height: 2px; margin-right: 10px;
  background: currentColor; vertical-align: middle;
}
.nb-hero .nb-kicker p, .nb-dark .nb-kicker p, .nb-cta .nb-kicker p { color: #FFC780; }

/* ---------- 3. Buttons ---------- */
.nb-btn .elementor-button {
  font-family: var(--nb-sans); font-weight: 700; font-size: 16px; line-height: 1;
  padding: 15px 28px; border-radius: 999px; border: 2px solid transparent;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}
.nb-btn .elementor-button:hover { transform: translateY(-3px); }
.nb-btn-solid .elementor-button { background: var(--nb-orange); color: var(--nb-forest); box-shadow: 0 8px 20px rgba(236, 125, 4, .35); }
.nb-btn-solid .elementor-button:hover { background: #FF9A2E; color: var(--nb-forest); box-shadow: 0 12px 26px rgba(236, 125, 4, .45); }
.nb-btn-ghost .elementor-button { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
.nb-btn-ghost .elementor-button:hover { background: #fff; color: var(--nb-green); border-color: #fff; }
.nb-btn-green .elementor-button { background: var(--nb-green); color: #fff; box-shadow: 0 8px 20px rgba(28, 110, 5, .28); }
.nb-btn-green .elementor-button:hover { background: var(--nb-forest); color: #fff; }

/* "view all" pill link next to section titles */
.nb-link .elementor-button {
  font-family: var(--nb-sans); font-weight: 700; font-size: 15px; line-height: 1;
  background: transparent; color: var(--nb-green); padding: 11px 20px; border-radius: 999px;
  border: 1.5px solid rgba(28, 110, 5, .35); transition: all .25s ease;
}
.nb-link .elementor-button:hover { background: var(--nb-green); color: #fff; border-color: var(--nb-green); }
.nb-dark .nb-link .elementor-button { color: #fff; border-color: rgba(255, 255, 255, .45); }
.nb-dark .nb-link .elementor-button:hover { background: #fff; color: var(--nb-forest); }

/* ---------- 4. Section shells ---------- */
.nb-sec--tint { background: var(--nb-cream); }
.nb-sec--white { background: linear-gradient(180deg, #fff, #FDFBF5); }
.nb-head { align-items: flex-end !important; margin-bottom: 30px; }
.nb h2.elementor-heading-title { font-size: clamp(28px, 3.2vw, 42px); }
.nb-head .elementor-heading-title { color: var(--nb-forest); }
.nb-dark .nb-head .elementor-heading-title { color: #fff; }
.nb-head-title { gap: 10px !important; }

/* ---------- 6. HERO ---------- */
.nb-hero {
  position: relative; overflow: hidden; color: #fff;
  background:
    radial-gradient(900px 420px at 88% -10%, rgba(236, 125, 4, .34), transparent 60%),
    radial-gradient(700px 500px at -5% 110%, rgba(255, 255, 255, .10), transparent 55%),
    linear-gradient(135deg, #0A2F04 0%, #14570A 55%, #1C6E05 100%);
}
.nb.nb-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .10;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Ccircle cx='40' cy='40' r='38'/%3E%3Ccircle cx='40' cy='40' r='26'/%3E%3Ccircle cx='0' \
cy='0' r='38'/%3E%3Ccircle cx='80' cy='0' r='38'/%3E%3Ccircle cx='0' cy='80' r='38'/%3E%3Ccircle cx='80' cy='80' r='38'/%3E%3C/g%3E%3C/svg%3E");
}
.nb-hero > .e-con-inner, .nb-hero > .elementor-container { position: relative; z-index: 1; }
.nb-hero .elementor-heading-title { color: #fff; }
.nb-hero h1.elementor-heading-title { font-size: clamp(32px, 4.6vw, 58px); line-height: 1.16; }
.nb-lede p { font-size: clamp(17px, 1.6vw, 20px); color: rgba(255, 255, 255, .88); max-width: 56ch; }
.nb-hero-copy { gap: 22px !important; }

.nb-chips ul { display: flex; flex-wrap: wrap; gap: 10px; }
.nb-chips a {
  display: inline-block; padding: 8px 16px; border-radius: 999px; font-size: 15px; font-weight: 600;
  color: #fff; background: rgba(255, 255, 255, .10); border: 1px solid rgba(255, 255, 255, .28);
  transition: all .25s ease;
}
.nb-chips a:hover { background: var(--nb-orange); border-color: var(--nb-orange); color: var(--nb-forest); transform: translateY(-2px); }

.nb-datecard {
  position: relative; padding: 34px 34px 30px; border-radius: 28px; color: #fff; text-align: left;
  background: linear-gradient(160deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .06));
  border: 1px solid rgba(255, 255, 255, .26);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
}
.nb-datecard::before { content: ""; position: absolute; left: 34px; right: 34px; top: 0; height: 4px; border-radius: 0 0 6px 6px; background: var(--nb-orange); }
.nb-datecard__label { font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: #FFC780; font-weight: 700; margin: 0 0 6px; }
.nb-datecard__row { display: flex; align-items: center; gap: 20px; }
.nb-datecard__day { font-family: var(--nb-serif); font-weight: 700; font-size: 92px; line-height: 1; color: #FFC780; }
.nb-datecard__meta { display: flex; flex-direction: column; gap: 4px; font-size: 20px; font-weight: 600; }
.nb-datecard__meta small { font-size: 16px; font-weight: 400; color: rgba(255, 255, 255, .78); }
.nb-datecard__rule { height: 1px; margin: 22px 0 18px; background: rgba(255, 255, 255, .25); }
.nb-datecard__quote { font-family: var(--nb-serif); font-size: 26px; font-weight: 700; line-height: 1.35; margin: 0 0 6px !important; color: #fff; }
.nb-datecard__en { font-size: 16px; letter-spacing: .06em; color: rgba(255, 255, 255, .78); margin: 0 !important; }

/* ---------- 7. Category tiles (overlap the hero) ---------- */
.nb-cats { position: relative; z-index: 3; margin-top: -58px; }
.nb-tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.nb-tile {
  display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center;
  padding: 22px 12px 20px; border-radius: 20px; background: #fff; color: var(--nb-forest);
  box-shadow: var(--nb-shadow); border: 1px solid rgba(28, 110, 5, .08);
  transition: transform .3s ease, box-shadow .3s ease;
}
.nb-tile__glyph {
  width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; margin-bottom: 8px;
  font-family: var(--nb-serif); font-size: 24px; font-weight: 700; color: var(--nb-green); background: var(--nb-mint);
  transition: all .3s ease;
}
.nb-tile__name { font-weight: 700; font-size: 17px; line-height: 1.3; }
.nb-tile__en { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--nb-muted); }
.nb-tile:hover { transform: translateY(-8px); box-shadow: var(--nb-shadow-lg); color: var(--nb-forest); }
.nb-tile:hover .nb-tile__glyph { background: var(--nb-orange); color: #fff; transform: rotate(-6deg) scale(1.08); }

/* ---------- 8. POST CARDS (Elementor Posts widget) ---------- */
.nb-cards .elementor-posts-container {
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 28px !important;
}
.nb-cards .elementor-post:nth-child(n+4) { display: none !important; }   /* show 3 even if widget is set higher */
/* Featured section: simple equal 3-column grid (small cards), no 3-item cap — 3 per row at every screen size
   (extra element+class specificity needed to beat the generic .nb-cards mobile 1-column rule below) */
.elementor-widget-posts.nb-featured-grid .elementor-posts-container { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; }
.nb-featured-grid .elementor-post:nth-child(n+4) { display: flex !important; }
@media (max-width: 640px) {
  .elementor-widget-posts.nb-featured-grid .elementor-posts-container { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
  .nb-featured-grid .elementor-post__text { padding: 8px 6px !important; gap: 4px !important; }
  .nb-featured-grid .elementor-post__title { font-size: 11.5px !important; line-height: 1.3; }
  .nb-featured-grid .elementor-post__meta-data { font-size: 9px !important; }
  .nb-featured-grid .elementor-post__excerpt, .nb-featured-grid .elementor-post__read-more { display: none !important; }
}
.nb-cards .elementor-post {
  display: flex; flex-direction: column; margin: 0 !important; background: #fff; overflow: hidden;
  border-radius: var(--nb-radius); border: 1px solid rgba(28, 110, 5, .08); box-shadow: var(--nb-shadow);
  transition: transform .35s ease, box-shadow .35s ease;
}
.nb-cards .elementor-post:hover { transform: translateY(-8px); box-shadow: var(--nb-shadow-lg); }
.nb-cards .elementor-post__thumbnail__link { display: block; margin: 0 !important; }
.nb-cards .elementor-post__thumbnail { position: relative; overflow: hidden; padding-bottom: 62% !important; }
.nb-cards .elementor-post__thumbnail img {
  position: absolute !important; top: 0 !important; left: 0 !important; transform: none !important;
  width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover;
  transition: transform .7s ease;
}
.nb-cards .elementor-post:hover .elementor-post__thumbnail img { transform: scale(1.07) !important; }
.nb-cards .elementor-post__text { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 24px; gap: 10px; }
.nb-cards .elementor-post__title { margin: 0 !important; font-family: var(--nb-serif); font-size: 21px; line-height: 1.35; font-weight: 700; }
.nb-cards .elementor-post__title a { color: var(--nb-forest); transition: color .25s ease; }
.nb-cards .elementor-post:hover .elementor-post__title a { color: var(--nb-orange-2); }
.nb-cards .elementor-post__meta-data { order: -1; font-size: 13px; letter-spacing: .04em; color: var(--nb-muted); }
.nb-cards .elementor-post__excerpt { margin: 0; }
.nb-cards .elementor-post__excerpt p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--nb-muted); }
.nb-cards .elementor-post__read-more {
  margin-top: auto; padding-top: 6px; font-weight: 700; font-size: 15px; color: var(--nb-green) !important;
}
.nb-cards .elementor-post__read-more:hover { color: var(--nb-orange-2) !important; }

.nb-cards--dark .elementor-post { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .16); box-shadow: none; }
.nb-cards--dark .elementor-post__title a { color: #fff; }
.nb-cards--dark .elementor-post:hover .elementor-post__title a { color: #FFC780; }
.nb-cards--dark .elementor-post__meta-data, .nb-cards--dark .elementor-post__excerpt p { color: rgba(255, 255, 255, .72); }
.nb-cards--dark .elementor-post__read-more { color: #FFC780 !important; }

/* ---------- 9. Featured story (large card with overlay text) ---------- */
.nb-post-hero .elementor-posts-container { display: block !important; }
.nb-post-hero .elementor-post:nth-child(n+2) { display: none !important; }
.nb-post-hero .elementor-post {
  position: relative; min-height: 540px; margin: 0 !important; overflow: hidden; border-radius: 24px;
  background: var(--nb-forest); box-shadow: var(--nb-shadow-lg);
}
.nb-post-hero .elementor-post__thumbnail__link { position: absolute !important; inset: 0; display: block; margin: 0 !important; }
.nb-post-hero .elementor-post__thumbnail { position: absolute !important; inset: 0; padding-bottom: 0 !important; height: 100%; }
.nb-post-hero .elementor-post__thumbnail img {
  position: absolute !important; top: 0 !important; left: 0 !important; transform: none !important;
  width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transition: transform .9s ease;
}
.nb-post-hero .elementor-post:hover .elementor-post__thumbnail img { transform: scale(1.05) !important; }
.nb-post-hero .elementor-post::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(6, 30, 2, 0) 30%, rgba(6, 30, 2, .92) 100%);
}
.nb-post-hero .elementor-post__text {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: flex; flex-direction: column; gap: 12px;
  padding: 34px 36px 34px;
}
.nb-post-hero .elementor-post__title { margin: 0 !important; font-family: var(--nb-serif); font-size: clamp(26px, 3vw, 38px); line-height: 1.25; }
.nb-post-hero .elementor-post__title a { color: #fff; }
.nb-post-hero .elementor-post__meta-data { order: -1; align-self: flex-start; padding: 6px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; letter-spacing: .06em; color: var(--nb-forest); background: var(--nb-orange); }
.nb-post-hero .elementor-post__excerpt p { margin: 0; color: rgba(255, 255, 255, .88); font-size: 17px; }
.nb-post-hero .elementor-post__read-more { color: #FFC780 !important; font-weight: 700; }

/* ---------- 9b. Feature card (one big post: book, sant) ---------- */
.nb-post-feature .elementor-posts-container { display: block !important; }
.nb-post-feature .elementor-post:nth-child(n+2) { display: none !important; }
.nb-post-feature .elementor-post {
  display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); margin: 0 !important; overflow: hidden;
  background: #fff; border-radius: 26px; border: 1px solid rgba(28, 110, 5, .08); box-shadow: var(--nb-shadow-lg);
}
.nb-post-feature .elementor-post__thumbnail__link { display: block; margin: 0 !important; }
.nb-post-feature .elementor-post__thumbnail { position: relative; overflow: hidden; height: 100%; min-height: 360px; padding-bottom: 0 !important; }
.nb-post-feature .elementor-post__thumbnail img {
  position: absolute !important; top: 0 !important; left: 0 !important; transform: none !important;
  width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transition: transform .9s ease;
}
.nb-post-feature .elementor-post:hover .elementor-post__thumbnail img { transform: scale(1.05) !important; }
.nb-post-feature .elementor-post__text { display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 40px 44px; }
.nb-post-feature .elementor-post__title { margin: 0 !important; font-family: var(--nb-serif); font-size: clamp(26px, 2.8vw, 36px); line-height: 1.25; }
.nb-post-feature .elementor-post__title a { color: var(--nb-forest); transition: color .25s ease; }
.nb-post-feature .elementor-post:hover .elementor-post__title a { color: var(--nb-orange-2); }
.nb-post-feature .elementor-post__meta-data { order: -1; font-size: 13px; letter-spacing: .06em; color: var(--nb-muted); }
.nb-post-feature .elementor-post__excerpt { margin: 0; }
.nb-post-feature .elementor-post__excerpt p { margin: 0; font-size: 17px; color: var(--nb-muted); }
.nb-post-feature .elementor-post__read-more {
  align-self: flex-start; display: inline-block; margin-top: 6px; padding: 13px 26px; border-radius: 999px; font-weight: 700;
  background: var(--nb-orange); color: var(--nb-forest) !important; box-shadow: 0 8px 20px rgba(236, 125, 4, .35);
  transition: transform .25s ease, background .25s ease;
}
.nb-post-feature .elementor-post__read-more:hover { background: #FF9A2E; transform: translateY(-3px); }
.nb-post-feature--rev .elementor-post { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
.nb-post-feature--rev .elementor-post__thumbnail__link { order: 2; }

/* ---------- 10. Compact list (thumbnail left, title right) ---------- */
.nb-post-list .elementor-posts-container { display: flex !important; flex-direction: column; gap: 0 !important; }
.nb-post-list .elementor-post:nth-child(n+5) { display: none !important; }
.nb-list-3 .elementor-post:nth-child(n+4) { display: none !important; }
.nb-post-list .elementor-post {
  display: flex; gap: 18px; align-items: flex-start; margin: 0 !important; padding: 18px 8px;
  border-bottom: 1px solid rgba(28, 110, 5, .16); border-radius: 12px; transition: background .25s ease, transform .25s ease;
}
.nb-post-list .elementor-post:first-child { padding-top: 6px; }
.nb-post-list .elementor-post:hover { background: rgba(28, 110, 5, .05); transform: translateX(6px); }
.nb-post-list .elementor-post__thumbnail__link { flex: 0 0 140px; margin: 0 !important; }
.nb-post-list .elementor-post__thumbnail { position: relative; overflow: hidden; border-radius: 14px; padding-bottom: 68% !important; }
.nb-post-list .elementor-post__thumbnail img {
  position: absolute !important; top: 0 !important; left: 0 !important; transform: none !important;
  width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover;
}
.nb-post-list .elementor-post__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.nb-post-list .elementor-post__title { margin: 0 !important; font-family: var(--nb-serif); font-size: 19px; line-height: 1.4; }
.nb-post-list .elementor-post__title a { color: var(--nb-forest); }
.nb-post-list .elementor-post:hover .elementor-post__title a { color: var(--nb-orange-2); }
.nb-post-list .elementor-post__meta-data { order: -1; font-size: 13px; color: var(--nb-muted); }
.nb-post-list .elementor-post__excerpt, .nb-post-list .elementor-post__read-more { display: none !important; }

/* ---------- 11. Diaspora band (dark) ---------- */
.nb-dark {
  position: relative; overflow: hidden; color: #fff;
  background:
    radial-gradient(700px 360px at 100% 0%, rgba(236, 125, 4, .22), transparent 60%),
    linear-gradient(140deg, #0A2F04, #0D3B05 60%, #145209);
}
.nb.nb-dark::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Ccircle cx='40' cy='40' r='38'/%3E%3Ccircle cx='40' cy='40' r='26'/%3E%3Ccircle cx='0' \
cy='0' r='38'/%3E%3Ccircle cx='80' cy='0' r='38'/%3E%3Ccircle cx='0' cy='80' r='38'/%3E%3Ccircle cx='80' cy='80' r='38'/%3E%3C/g%3E%3C/svg%3E");
}
.nb-dark > .e-con-inner, .nb-dark > .elementor-container { position: relative; z-index: 1; }
.nb-dark .elementor-heading-title { color: #fff; }
.nb-dark .nb-lede p { color: rgba(255, 255, 255, .82); }
.nb-orgs ul { display: flex; flex-wrap: wrap; gap: 10px; }
.nb-orgs a {
  display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 999px; font-size: 15px; font-weight: 600;
  color: #fff; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .22); transition: all .25s ease;
}
.nb-orgs a::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--nb-orange); }
.nb-orgs a:hover { background: var(--nb-orange); color: var(--nb-forest); border-color: var(--nb-orange); transform: translateY(-3px); }
.nb-orgs a:hover::before { background: var(--nb-forest); }

/* ---------- 12. Editorial section (maroon accent) ---------- */
.nb-editor { background: linear-gradient(135deg, #FFF7E6, #F5E4BF); position: relative; overflow: hidden; }
.nb.nb-editor::before {
  content: "\201C"; position: absolute; right: 3%; top: -60px; font-family: var(--nb-serif); font-size: 360px; line-height: 1;
  color: var(--nb-maroon); opacity: .07; pointer-events: none;
}
.nb-editor > .e-con-inner { position: relative; z-index: 1; }
.nb-editor .nb-head .elementor-heading-title { color: var(--nb-maroon); }
.nb-editor .nb-kicker p { color: var(--nb-maroon); }

/* ---------- 13. Call to action ---------- */
.nb-cta {
  color: #fff; text-align: center; position: relative; overflow: hidden;
  background: linear-gradient(120deg, #0D3B05, #1C6E05);
}
.nb-cta::after {
  content: ""; position: absolute; width: 420px; height: 420px; right: -120px; bottom: -220px; border-radius: 50%;
  background: radial-gradient(circle, rgba(236, 125, 4, .55), transparent 70%); pointer-events: none;
}
.nb-cta .elementor-heading-title { color: #fff; font-size: clamp(28px, 3.6vw, 46px); }
.nb-cta .nb-lede p { margin-left: auto; margin-right: auto; text-align: center; }
.nb-cta > .e-con-inner { position: relative; z-index: 1; }

/* ---------- 15. Scroll-in animation (progressive: modern browsers only) ---------- */
@keyframes nb-rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .nb *, .nb *::before, .nb *::after { animation: none !important; transition: none !important; }
}

/* ---------- 16. Responsive ---------- */
@media (max-width: 1024px) {
  .nb-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nb-cards .elementor-posts-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .nb-cards .elementor-post:nth-child(3) { display: flex !important; }
  .nb-post-hero .elementor-post { min-height: 460px; }
  .nb-post-feature .elementor-post, .nb-post-feature--rev .elementor-post { grid-template-columns: 1fr; }
  .nb-post-feature--rev .elementor-post__thumbnail__link { order: 0; }
  .nb-post-feature .elementor-post__thumbnail { min-height: 280px; }
  .nb-cats { margin-top: -40px; }
  .nb-datecard__day { font-size: 74px; }
}
@media (max-width: 767px) {
  .nb-chips a { padding: 11px 18px; min-height: 20px; }

  .nb-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .nb-cards .elementor-posts-container { grid-template-columns: 1fr !important; }
  .nb-post-hero .elementor-post { min-height: 420px; }
  .nb-post-hero .elementor-post__text { padding: 24px 22px; }
  .nb-post-list .elementor-post__thumbnail__link { flex-basis: 108px; }
  .nb-head { align-items: flex-start !important; }
  .nb-datecard { padding: 28px 24px 24px; }
  .nb-datecard__day { font-size: 64px; }
  .nb-datecard__quote { font-size: 22px; }
  .nb-btn .elementor-button { padding: 14px 22px; font-size: 15px; }
  .nb-cats { margin-top: -30px; }
  .nb.nb-editor::before { font-size: 220px; top: -30px; }
  .nb-post-feature .elementor-post__text { padding: 26px 22px; }
  .nb-post-feature .elementor-post__thumbnail { min-height: 220px; }
}

/* ---------- 17. About & FAQ ---------- */
.nb-about { text-align: center; }
.nb-about__text { max-width: 760px; margin: 0 auto; font-size: 19px; line-height: 1.85; color: var(--nb-ink); }

.nb-faq { display: flex; flex-direction: column; gap: 14px; margin-top: 12px; }
.nb-faq__item {
  background: #fff; border: 1px solid rgba(28, 110, 5, .16); border-radius: 14px; padding: 4px 22px;
  box-shadow: var(--nb-shadow); transition: border-color .25s ease, box-shadow .25s ease;
}
.nb-faq__item summary {
  list-style: none; cursor: pointer; padding: 18px 4px; font-weight: 700; font-size: 17px; color: var(--nb-forest);
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.nb-faq__item summary::-webkit-details-marker { display: none; }
.nb-faq__item summary::after {
  content: "+"; font-size: 22px; line-height: 1; color: var(--nb-orange-2); transition: transform .3s ease; flex: 0 0 auto;
}
.nb-faq__item[open] summary::after { transform: rotate(45deg); }
.nb-faq__item[open] { border-color: var(--nb-orange); box-shadow: var(--nb-shadow-lg); }
.nb-faq__item p { margin: 0 0 18px; padding: 0 4px; color: var(--nb-muted); font-size: 16px; line-height: 1.75; }

@media (max-width: 767px) {
  .nb-about__text { font-size: 17px; }
  .nb-faq__item summary { font-size: 16px; padding: 15px 2px; }
}

.nb-head--plain { align-items: flex-start !important; text-align: left; }
.nb-about .nb-head--plain { align-items: center !important; }

/* =====================================================================
   PREMIUM LAYER — overrides the base styles above (keep it at the END of the file)
   Adds: gold + ivory palette, numbered sections, hero mandala, live marquee,
   framed post cards with shine, tagline banner, scroll progress + reveal animation.
   ===================================================================== */

/* ---------- P1. Tokens ---------- */
:root {
  --nb-gold: #C6A04A;
  --nb-gold-2: #E7CB85;
  --nb-gold-3: #8F6B1B;
  --nb-ivory: #FCF8EE;
  --nb-paper: #FCF8EE;
  --nb-cream: #F7F0DE;
  --nb-shadow: 0 1px 2px rgba(10, 47, 4, .06), 0 14px 34px -10px rgba(10, 47, 4, .18);
  --nb-shadow-lg: 0 2px 6px rgba(10, 47, 4, .10), 0 22px 44px -16px rgba(10, 47, 4, .30);
}
body { counter-reset: nbsec; background: var(--nb-ivory); }
.nb ::selection { background: var(--nb-gold-2); color: #231803; }

/* ---------- P2. Scroll progress bar + reveal animation (script in the hero HTML widget) ---------- */
.nb-progress {
  position: fixed; top: 0; left: 0; width: 100%; height: 3px; z-index: 9999; pointer-events: none;
  transform-origin: 0 50%; transform: scaleX(var(--nb-p, 0));
  background: linear-gradient(90deg, var(--nb-gold), var(--nb-orange));
}
@keyframes nb-in { from { opacity: 0; translate: 0 34px; } to { opacity: 1; translate: 0 0; } }
.nb-js .nb-r { opacity: 0; }
.nb-js .nb-r.is-in { animation: nb-in 1s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--i, 0) * 90ms); }
body.elementor-editor-active .nb-js .nb-r { opacity: 1 !important; animation: none !important; }
@media (prefers-reduced-motion: reduce) {
  .nb-js .nb-r { opacity: 1 !important; }
  .nb-js .nb-r.is-in { animation: none !important; }
  .nb-marquee__track, .nb.nb-hero::after { animation: none !important; }
}

/* ---------- P3. Kickers, headings, numbered section heads ---------- */
.nb-kicker p { color: var(--nb-gold-3); letter-spacing: .22em; }
.nb-hero .nb-kicker p, .nb-dark .nb-kicker p, .nb-cta .nb-kicker p { color: var(--nb-gold-2); }
.nb h2.elementor-heading-title { font-size: clamp(32px, 3.8vw, 54px); letter-spacing: -.02em; }

.nb-sec, .nb-dark { counter-increment: nbsec; }
.nb-sec .nb-head .nb-kicker p::before,
.nb-dark .nb-kicker p::before {
  content: counter(nbsec, decimal-leading-zero);
  width: auto; height: auto; background: none; margin-right: 14px; padding-right: 14px;
  border-right: 1px solid currentColor; font-family: var(--nb-serif); font-size: 20px; font-weight: 700; letter-spacing: .04em;
}
.nb-head { position: relative; margin-bottom: 10px; }
.nb-about__more-row { margin: 6px 0 2px; text-align: center; }
.nb-about__more { color: var(--nb-green); font-weight: 700; font-family: var(--nb-serif); font-style: italic; font-size: 22px; white-space: nowrap; }
.nb-about__more:hover { color: var(--nb-orange-2); }
.nb-about__contact { margin: 0; text-align: center; font-family: var(--nb-serif); font-style: italic; font-weight: 700; font-size: 20px; color: var(--nb-forest); }
.nb-about__contact b, .nb-about__contact strong { color: var(--nb-forest); }

/* ---------- P4. Buttons (gold with shine) ---------- */
.nb-btn .elementor-button { position: relative; overflow: hidden; }
/* all buttons — golden */
.nb-btn-solid .elementor-button, .nb-btn-green .elementor-button {
  background: linear-gradient(135deg, var(--nb-gold-2), var(--nb-gold) 55%, var(--nb-gold-3)) !important;
  color: #231803 !important; border-color: transparent !important; box-shadow: 0 8px 20px rgba(198, 160, 74, .35) !important;
}
.nb-btn-solid .elementor-button:hover, .nb-btn-green .elementor-button:hover {
  background: linear-gradient(135deg, #FFE9A8, #D4AE55 55%, #B38B33) !important; color: #231803 !important;
  box-shadow: 0 12px 26px rgba(198, 160, 74, .45) !important;
}
.nb-btn-ghost .elementor-button, .nb-link .elementor-button {
  background: transparent !important; color: var(--nb-gold-3) !important; border-color: var(--nb-gold) !important;
}
.nb-btn-ghost .elementor-button:hover, .nb-link .elementor-button:hover {
  background: var(--nb-gold) !important; color: #231803 !important; border-color: var(--nb-gold) !important;
}
.nb-dark .nb-btn-ghost .elementor-button, .nb-dark .nb-link .elementor-button,
.nb-band .nb-btn-ghost .elementor-button, .nb-band .nb-link .elementor-button {
  color: var(--nb-gold-2) !important; border-color: var(--nb-gold-2) !important;
}
.nb-dark .nb-btn-ghost .elementor-button:hover, .nb-dark .nb-link .elementor-button:hover,
.nb-band .nb-btn-ghost .elementor-button:hover, .nb-band .nb-link .elementor-button:hover {
  background: var(--nb-gold-2) !important; color: #231803 !important;
}
.nb-btn-solid--old-unused .elementor-button {
  background: linear-gradient(135deg, #F3D98F 0%, #C6A04A 55%, #A9822C 100%); color: #231803;
  box-shadow: 0 10px 26px -6px rgba(198, 160, 74, .7), inset 0 1px 0 rgba(255, 255, 255, .55);
}
.nb-btn-solid .elementor-button::after {
  content: ""; position: absolute; top: 0; left: -70%; width: 50%; height: 100%; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .6), transparent); transform: skewX(-20deg); transition: left .7s ease;
}
.nb-btn-solid .elementor-button:hover::after { left: 130%; }
.nb-btn-solid .elementor-button:hover { background: linear-gradient(135deg, #FFE9A8, #D4AE55 55%, #B38B33); color: #231803; }
.nb-btn-ghost .elementor-button { border-color: rgba(231, 203, 133, .7); }
.nb-btn-ghost .elementor-button:hover { background: var(--nb-gold-2); color: #231803; border-color: var(--nb-gold-2); }
.nb-btn-green .elementor-button:hover { background: var(--nb-forest); color: var(--nb-gold-2); }
.nb-link .elementor-button { border-color: rgba(198, 160, 74, .75); color: var(--nb-forest); }
.nb-link .elementor-button:hover { background: var(--nb-forest); color: var(--nb-gold-2); border-color: var(--nb-forest); }
.nb-dark .nb-link .elementor-button { color: #fff; border-color: rgba(231, 203, 133, .6); }
.nb-dark .nb-link .elementor-button:hover { background: var(--nb-gold-2); color: #231803; }

/* ---------- P5. Hero ---------- */
.nb.nb-hero {
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(198, 160, 74, .30), transparent 60%),
    radial-gradient(700px 500px at -5% 110%, rgba(255, 255, 255, .08), transparent 55%),
    linear-gradient(135deg, #061F02 0%, #0E4306 55%, #1C6E05 100%);
}
.nb.nb-hero::after {
  content: ""; position: absolute; right: -9%; top: -22%; width: 780px; height: 780px; pointer-events: none; opacity: .22; will-change: transform; contain: layout paint;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cg fill='none' stroke='%23E7CB85' stroke-width='1.2'%3E%3Ccircle cx='200' cy='200' r='192'/%3E%3Ccircle cx='200' cy='200' r='176'/%3E%3Ccircle cx='200' cy='200' r=\
'140'/%3E%3Ccircle cx='200' cy='200' r='96'/%3E%3Ccircle cx='200' cy='200' r='58'/%3E%3Ccircle cx='200' cy='200' r='24'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(0 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transf\
orm='rotate(15 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(30 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(45 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(60 2\
00 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(75 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(90 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(105 200 200)'/%3E%3C\
ellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(120 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(135 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(150 200 200)'/%3E%3Cellipse cx='2\
00' cy='96' rx='13' ry='40' transform='rotate(165 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(180 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(195 200 200)'/%3E%3Cellipse cx='200' cy='96' r\
x='13' ry='40' transform='rotate(210 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(225 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(240 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40\
' transform='rotate(255 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(270 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(285 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='\
rotate(300 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(315 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(330 200 200)'/%3E%3Cellipse cx='200' cy='96' rx='13' ry='40' transform='rotate(345 20\
0 200)'/%3E%3Cpath d='M200 40 Q222 78 200 116 Q178 78 200 40Z' transform='rotate(15 200 200)'/%3E%3Cpath d='M200 40 Q222 78 200 116 Q178 78 200 40Z' transform='rotate(45 200 200)'/%3E%3Cpath d='M200 40 Q222 78 200 116 Q178 78 200 40Z' transform='rota\
te(75 200 200)'/%3E%3Cpath d='M200 40 Q222 78 200 116 Q178 78 200 40Z' transform='rotate(105 200 200)'/%3E%3Cpath d='M200 40 Q222 78 200 116 Q178 78 200 40Z' transform='rotate(135 200 200)'/%3E%3Cpath d='M200 40 Q222 78 200 116 Q178 78 200 40Z' trans\
form='rotate(165 200 200)'/%3E%3Cpath d='M200 40 Q222 78 200 116 Q178 78 200 40Z' transform='rotate(195 200 200)'/%3E%3Cpath d='M200 40 Q222 78 200 116 Q178 78 200 40Z' transform='rotate(225 200 200)'/%3E%3Cpath d='M200 40 Q222 78 200 116 Q178 78 200\
 40Z' transform='rotate(255 200 200)'/%3E%3Cpath d='M200 40 Q222 78 200 116 Q178 78 200 40Z' transform='rotate(285 200 200)'/%3E%3Cpath d='M200 40 Q222 78 200 116 Q178 78 200 40Z' transform='rotate(315 200 200)'/%3E%3Cpath d='M200 40 Q222 78 200 116 \
Q178 78 200 40Z' transform='rotate(345 200 200)'/%3E%3Ccircle cx='384.0' cy='200.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='382.4' cy='224.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='377.7' cy='247.6' r='1.6' fill='%23C\
6A04A' stroke='none'/%3E%3Ccircle cx='370.0' cy='270.4' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='359.3' cy='292.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='346.0' cy='312.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Cc\
ircle cx='330.1' cy='330.1' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='312.0' cy='346.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='292.0' cy='359.3' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='270.4' cy='370.0' \
r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='247.6' cy='377.7' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='224.0' cy='382.4' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='200.0' cy='384.0' r='1.6' fill='%23C6A04A' str\
oke='none'/%3E%3Ccircle cx='176.0' cy='382.4' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='152.4' cy='377.7' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='129.6' cy='370.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='\
108.0' cy='359.3' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='88.0' cy='346.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='69.9' cy='330.1' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='54.0' cy='312.0' r='1.6' fill=\
'%23C6A04A' stroke='none'/%3E%3Ccircle cx='40.7' cy='292.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='30.0' cy='270.4' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='22.3' cy='247.6' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3\
Ccircle cx='17.6' cy='224.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='16.0' cy='200.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='17.6' cy='176.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='22.3' cy='152.4' r=\
'1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='30.0' cy='129.6' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='40.7' cy='108.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='54.0' cy='88.0' r='1.6' fill='%23C6A04A' stroke='n\
one'/%3E%3Ccircle cx='69.9' cy='69.9' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='88.0' cy='54.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='108.0' cy='40.7' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='129.6' cy='\
30.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='152.4' cy='22.3' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='176.0' cy='17.6' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='200.0' cy='16.0' r='1.6' fill='%23C6A04A' \
stroke='none'/%3E%3Ccircle cx='224.0' cy='17.6' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='247.6' cy='22.3' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='270.4' cy='30.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='\
292.0' cy='40.7' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='312.0' cy='54.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='330.1' cy='69.9' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='346.0' cy='88.0' r='1.6' fill='\
%23C6A04A' stroke='none'/%3E%3Ccircle cx='359.3' cy='108.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='370.0' cy='129.6' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3Ccircle cx='377.7' cy='152.4' r='1.6' fill='%23C6A04A' stroke='none'/%3E\
%3Ccircle cx='382.4' cy='176.0' r='1.6' fill='%23C6A04A' stroke='none'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; animation: nb-spin 160s linear infinite;
}
@keyframes nb-spin { to { transform: rotate(360deg); } }
.nb.nb-hero.nb-off::after { animation-play-state: paused; }   /* paused by script when the hero is off-screen */
.nb-hero h1.elementor-heading-title { font-size: clamp(36px, 5.2vw, 68px); line-height: 1.12; }
.nb-accent {
  font-style: italic; background: linear-gradient(90deg, #F5DE9B, #C6A04A); -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
}
.nb-chips a:hover { background: var(--nb-gold-2); border-color: var(--nb-gold-2); color: #231803; }
.nb-datecard {
  border: 1px solid rgba(231, 203, 133, .55); border-radius: 28px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .30), inset 0 0 0 1px rgba(255, 255, 255, .05);
}
.nb-datecard::before { background: linear-gradient(90deg, var(--nb-gold), var(--nb-orange)); }
.nb-datecard__label { color: var(--nb-gold-2); }
.nb-datecard__day { color: var(--nb-gold-2); }

/* ---------- P6. Marquee strip ---------- */
.nb-marquee-wrap { padding: 0 !important; }
.nb-marquee { width: 100%; overflow: hidden; background: #072203; border-top: 1px solid rgba(198, 160, 74, .55); border-bottom: 1px solid rgba(198, 160, 74, .55); }
.nb-marquee__track { display: flex; align-items: center; width: max-content; animation: nb-marq 52s linear infinite; }
.nb-marquee:hover .nb-marquee__track { animation-play-state: paused; }
.nb-marquee__track span { font-family: var(--nb-serif); font-style: italic; font-size: 22px; color: var(--nb-gold-2); padding: 16px 0; white-space: nowrap; transition: color .25s ease; cursor: default; }
.nb-marquee__track span:hover { color: #fff; }
.nb-marquee__track i { font-style: normal; color: var(--nb-gold); font-size: 14px; padding: 0 28px; }
@keyframes nb-marq { to { transform: translateX(-50%); } }

/* ---------- P7. Category tiles ---------- */
.nb-cats, .nb-cats.e-con { margin-top: 0 !important; }
.nb-tile {
  position: relative; overflow: hidden; align-items: flex-start; text-align: left; padding: 24px 22px 22px; border-radius: 14px;
  background: #fff; border: 1px solid rgba(198, 160, 74, .38); box-shadow: none;
}
.nb-tile__no { font-family: var(--nb-serif); font-size: 15px; letter-spacing: .12em; color: var(--nb-gold-3); }
.nb-tile__glyph {
  width: auto; height: auto; margin: 8px 0 12px; display: block; border-radius: 0; background: none; line-height: 1;
  font-size: 48px; color: var(--nb-forest);
}
.nb-tile__arrow { position: absolute; right: 18px; top: 18px; font-size: 20px; color: var(--nb-orange-2); opacity: 0; transform: translateX(-10px); transition: all .35s ease; }
.nb-tile::after { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: linear-gradient(90deg, var(--nb-gold), var(--nb-orange)); transition: width .45s ease; }
.nb-tile:hover { transform: translateY(-6px); border-color: var(--nb-gold); box-shadow: var(--nb-shadow-lg); background: linear-gradient(160deg, #fff, #FBF3DC); }
.nb-tile:hover .nb-tile__glyph { background: none; color: var(--nb-orange-2); transform: none; }
.nb-tile:hover .nb-tile__arrow { opacity: 1; transform: none; }
.nb-tile:hover::after { width: 100%; }

/* ---------- P8. Section backgrounds ---------- */
.nb-sec--tint { background: linear-gradient(180deg, #F8F1DF, #F3EACF); }

/* ---------- P9. Post cards: framed “print” look with shine ---------- */
.nb-cards .elementor-post {
  position: relative; padding: 10px; border-radius: 18px; background: #fff;
  border: 1px solid rgba(198, 160, 74, .34); box-shadow: var(--nb-shadow);
}
.nb-cards .elementor-post::before {
  content: ""; position: absolute; left: 26px; right: 26px; top: 0; height: 3px; z-index: 3; border-radius: 0 0 4px 4px;
  background: linear-gradient(90deg, var(--nb-gold), var(--nb-orange)); transform: scaleX(0); transform-origin: left; transition: transform .5s ease;
}
.nb-cards .elementor-post:hover::before { transform: scaleX(1); }
.nb-cards .elementor-post__thumbnail { border-radius: 10px; }
.nb-cards .elementor-post__thumbnail::after,
.nb-post-feature .elementor-post__thumbnail::after {
  content: ""; position: absolute; top: 0; left: -80%; width: 50%; height: 100%; z-index: 2; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .38), transparent); transform: skewX(-18deg); transition: left .9s ease;
}
.nb-cards .elementor-post:hover .elementor-post__thumbnail::after,
.nb-post-feature .elementor-post:hover .elementor-post__thumbnail::after { left: 140%; }
.nb-cards .elementor-post__text { padding: 20px 14px 14px; }
.nb-cards .elementor-post__title { font-size: 22px; }
.nb-cards .elementor-post__read-more { transition: letter-spacing .3s ease, color .25s ease; }
.nb-cards .elementor-post__read-more:hover { letter-spacing: .06em; }
.nb-cards--dark .elementor-post { background: rgba(255, 255, 255, .06); border-color: rgba(231, 203, 133, .38); box-shadow: none; }
.nb-cards--dark .elementor-post__title a { color: #ffffff !important; }
.nb-cards--dark .elementor-post__title a:hover { color: var(--nb-gold-2) !important; }
.nb-cards--dark .elementor-post__meta-data { color: rgba(255, 255, 255, .72) !important; }
.nb-cards--dark .elementor-post__excerpt p { color: rgba(255, 255, 255, .82) !important; }
.nb-cards--dark .elementor-post__read-more { color: var(--nb-gold-2) !important; }
.nb-cards--dark .elementor-post__read-more:hover { color: #ffffff !important; }

/* featured story: inner gold frame */
.nb-post-hero .elementor-post { border: 1px solid rgba(231, 203, 133, .55); }
.nb-post-hero .elementor-post::before {
  content: ""; position: absolute; inset: 14px; z-index: 3; pointer-events: none; border: 1px solid rgba(231, 203, 133, .55); border-radius: 16px;
}
.nb-post-hero .elementor-post__text { z-index: 4; padding: 40px 44px; }
.nb-post-hero .elementor-post__meta-data { background: linear-gradient(135deg, #F3D98F, #C6A04A); color: #231803; }

/* numbered list next to the featured story */
.nb-post-list .elementor-posts-container { counter-reset: nbl; }
.nb-post-list .elementor-post { counter-increment: nbl; }
.nb-post-list .elementor-post__text::before {
  content: counter(nbl, decimal-leading-zero); font-family: var(--nb-serif); font-size: 14px; letter-spacing: .16em; color: var(--nb-gold-3);
}
.nb-post-list .elementor-post:hover { background: rgba(198, 160, 74, .10); }

/* feature cards (book, sant) */
.nb-post-feature .elementor-post { border: 1px solid rgba(198, 160, 74, .5); }
.nb-post-feature .elementor-post__text::before { content: "✦  ✦  ✦"; color: var(--nb-gold); font-size: 13px; letter-spacing: .3em; }
.nb-post-feature .elementor-post__read-more {
  background: linear-gradient(135deg, #F3D98F, #C6A04A 55%, #A9822C); color: #231803 !important;
  box-shadow: 0 10px 26px -6px rgba(198, 160, 74, .7);
}
.nb-post-feature .elementor-post__read-more:hover { background: linear-gradient(135deg, #FFE9A8, #D4AE55 55%, #B38B33); }

/* ---------- P10. Tagline banner ---------- */
.nb-quote { position: relative; text-align: center; background: var(--nb-ivory); border-top: 1px solid rgba(198, 160, 74, .5); border-bottom: 1px solid rgba(198, 160, 74, .5); }
.nb-quote__text { margin: 0 0 18px !important; font-family: var(--nb-serif); font-style: italic; font-weight: 700; font-size: clamp(32px, 5vw, 68px); line-height: 1.2; color: var(--nb-forest); }
.nb-quote__en { margin: 0 !important; font-size: 14px; letter-spacing: .34em; text-transform: uppercase; color: var(--nb-gold-3); }

/* ---------- P11. Diaspora, editorial, CTA ---------- */
.nb-dark { border-top: 1px solid rgba(231, 203, 133, .5); }
.nb-orgs a::before { background: var(--nb-gold); }
.nb-orgs a:hover { background: var(--nb-gold-2); border-color: var(--nb-gold-2); color: #231803; }
.nb-orgs a:hover::before { background: #231803; }
.nb-editor { border-top: 1px solid rgba(198, 160, 74, .45); }

.nb-cta {
  background:
    radial-gradient(700px 420px at 92% 115%, rgba(198, 160, 74, .38), transparent 60%),
    linear-gradient(135deg, #061F02, #0E4306 60%, #1C6E05);
}
.nb.nb-cta::after {
  content: ""; position: absolute; top: 26px; right: 26px; bottom: 26px; left: 26px; width: auto; height: auto; border-radius: 22px;
  border: 1px solid rgba(231, 203, 133, .45); background: none; pointer-events: none;
}

/* ---------- P12. Responsive ---------- */
@media (max-width: 1024px) {
  .nb.nb-hero::after { width: 640px; height: 640px; right: -22%; }
}
@media (max-width: 767px) {
  .nb.nb-hero::after { width: 460px; height: 460px; right: -45%; top: -8%; animation: none; }
  .nb-marquee__track span { font-size: 18px; }
  .nb-tile { padding: 18px 16px; }
  .nb-tile__glyph { font-size: 38px; }
  .nb-post-hero .elementor-post__text { padding: 26px 22px; }
  .nb.nb-cta::after { inset: 12px; }
}
@media (max-width: 640px) {
  /* Featured section: keep the desktop-style side-by-side layout on mobile too, just scaled down */
  .nb-featured .elementor-post__thumbnail { padding-bottom: 72% !important; }
  .nb-post-hero .elementor-post__text { padding: 14px 12px; gap: 6px !important; }
  .nb-post-hero .elementor-post__title { font-size: 15px !important; line-height: 1.3; }
  .nb-post-hero .elementor-post__meta-data { font-size: 10px; padding: 3px 8px !important; }
  .nb-post-hero .elementor-post__excerpt p { font-size: 12px !important; line-height: 1.4; }
  .nb-post-hero .elementor-post__read-more { font-size: 12px !important; }
  .nb-post-hero .elementor-post::before { inset: 6px; }
  /* list items: thumbnail was a fixed 140px, wider than the whole mobile column — stack image above text instead */
  .nb-post-list .elementor-post { flex-direction: column; gap: 6px !important; padding: 8px 4px !important; }
  .nb-post-list .elementor-post__thumbnail__link { flex: 0 0 auto !important; width: 100%; }
  .nb-post-list .elementor-post__thumbnail { padding-bottom: 52% !important; }
  .nb-post-list .elementor-post__text { padding: 2px 0 !important; gap: 2px !important; }
  .nb-post-list .elementor-post__title { font-size: 12.5px !important; line-height: 1.35; }
  .nb-post-list .elementor-post__text::before { font-size: 10px; }
}

/* ---------- P13. About & FAQ (premium overrides) ---------- */
.nb-about__text { font-family: var(--nb-serif); font-style: italic; font-size: 22px; line-height: 1.75; color: var(--nb-forest); }

.nb-faq__item { border-color: rgba(198, 160, 74, .38); }
.nb-faq__item summary { color: var(--nb-forest); }
.nb-faq__item summary::after { content: "+"; color: var(--nb-gold-3); }
.nb-faq__item[open] { border-color: var(--nb-gold); }
.nb-faq__item[open] summary::after { color: var(--nb-gold-3); }
.nb-faq__item::before {
  content: ""; position: absolute; left: 22px; right: 22px; top: 0; height: 2px; border-radius: 0 0 3px 3px;
  background: linear-gradient(90deg, var(--nb-gold), var(--nb-orange)); transform: scaleX(0); transform-origin: left; transition: transform .4s ease;
}
.nb-faq__item { position: relative; overflow: hidden; }
.nb-faq__item[open]::before { transform: scaleX(1); }

.nb-head--plain { align-items: flex-start !important; text-align: left; }
.nb-about .nb-head--plain { align-items: center !important; }
.nb-about .nb-head--plain { text-align: center; }
.nb-about .nb-head--plain::after {
  left: 50%; right: auto; width: 240px; transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, var(--nb-gold), transparent);
}
.nb-about .nb-head--plain::before { left: 50%; transform: translateX(-50%) rotate(45deg); }
.nb-about .nb-kicker p::before { border-right: none; margin-right: 10px; padding-right: 10px; border-right: 1px solid currentColor; }


/* ---------- Sponsor ad banner (auto-sliding, 2 slides) — sits at the very top of the page ---------- */
.nb-adbanner { position: relative; width: 100%; background: #0B0B0F; border-bottom: 2px solid var(--nb-gold); }
.nb-adbanner__tag {
  position: absolute; top: 10px; left: 20px; z-index: 4; font-size: 10px; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; color: rgba(255, 255, 255, .4);
}
.nb-adbanner__slides { position: relative; min-height: 128px; }
.nb-adbanner__slide {
  position: absolute; inset: 0; display: flex; align-items: stretch; text-decoration: none;
  opacity: 0; visibility: hidden; transition: opacity .7s ease; max-width: 1240px; margin: 0 auto;
}
.nb-adbanner__slide.is-active { opacity: 1; visibility: visible; z-index: 2; }
.nb-adbanner__body { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 22px; padding: 24px 26px; }
.nb-adbanner__brand {
  flex: 0 0 auto; font-family: var(--nb-serif); font-weight: 700; font-size: 22px; line-height: 1.1; white-space: nowrap;
}
.nb-adbanner__copy { flex: 1 1 auto; min-width: 0; }
.nb-adbanner__headline { margin: 0 0 4px; font-weight: 700; font-size: 16px; line-height: 1.3; }
.nb-adbanner__sub { margin: 0; font-size: 13.5px; line-height: 1.5; color: rgba(255, 255, 255, .65); max-width: 60ch; }
.nb-adbanner__cta {
  flex: 0 0 auto; align-self: center; padding: 10px 18px; border-radius: 999px; font-size: 13px; font-weight: 700;
  white-space: nowrap; transition: transform .25s ease;
}
.nb-adbanner__slide:hover .nb-adbanner__cta { transform: translateX(3px); }

/* visual graphic panel on the right, like a real display-ad creative */
.nb-adbanner__visual {
  flex: 0 0 340px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .04);
}
.nb-adbanner__visual svg { position: relative; z-index: 1; width: 84px; height: 84px; }
.nb-adbanner__visual::before {
  content: ""; position: absolute; inset: 0; opacity: .5;
  background-image: radial-gradient(circle, rgba(255,255,255,.35) 1.5px, transparent 1.5px);
  background-size: 16px 16px;
}
.nb-adbanner__visual--img::before { content: none; }
.nb-adbanner__visual--img img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; padding: 10px; }
.nb-adbanner__visual--logo { background: rgba(255, 255, 255, .06); padding: 14px; }
.nb-adbanner__visual--logo img { object-fit: contain; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .35)); }
@media (max-width: 1024px) { .nb-adbanner__visual { flex-basis: 260px; } .nb-adbanner__visual svg { width: 64px; height: 64px; } }
@media (max-width: 640px) { .nb-adbanner__visual { display: none; } }

.nb-adbanner__slide--a2d .nb-adbanner__brand { color: #fff; }
.nb-adbanner__slide--a2d .nb-adbanner__brand span { color: #4FA6FF; }
.nb-adbanner__slide--a2d .nb-adbanner__headline { color: #fff; }
.nb-adbanner__slide--a2d .nb-adbanner__cta { background: #4FA6FF; color: #05131F; }
.nb-adbanner__slide--a2d .nb-adbanner__visual { background: linear-gradient(135deg, #0E3A66, #0A2447); }

.nb-adbanner__slide--nb .nb-adbanner__brand { color: var(--nb-gold-2); }
.nb-adbanner__slide--nb .nb-adbanner__headline { color: #fff; }
.nb-adbanner__slide--nb .nb-adbanner__cta { background: linear-gradient(135deg, #F3D98F, #C6A04A 55%, #A9822C); color: #231803; }
.nb-adbanner__slide--nb .nb-adbanner__visual { background: linear-gradient(135deg, #0D3B05, #145209); }

.nb-adbanner__dots { position: absolute; bottom: 8px; right: 20px; z-index: 4; display: flex; gap: 6px; }
.nb-adbanner__dots span { width: 6px; height: 6px; border-radius: 50%; background: rgba(255, 255, 255, .25); transition: background .3s ease, transform .3s ease; cursor: pointer; }
.nb-adbanner__dots span.is-active { background: var(--nb-gold); transform: scale(1.3); }

@media (max-width: 640px) {
  .nb-adbanner__slides { min-height: 0; }
  .nb-adbanner__slide { position: static; display: none; opacity: 1; visibility: visible; transition: none; }
  .nb-adbanner__slide.is-active { display: flex; }
  .nb-adbanner__body { flex-direction: column; align-items: flex-start; gap: 8px; padding: 30px 20px 16px; text-align: left; }
  .nb-adbanner__cta { margin-top: 4px; }
  .nb-adbanner__dots { bottom: 10px; }
}

/* ---------- Poems carousel (real posts, horizontal scroll-snap) ---------- */
.nb-pcarousel { position: relative; }
.nb-pcarousel__track {
  display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding: 6px 4px 20px; margin: 0 -4px; -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; scrollbar-color: var(--nb-gold-2) transparent;
}
.nb-pcarousel__track::-webkit-scrollbar { height: 7px; }
.nb-pcarousel__track::-webkit-scrollbar-thumb { background: var(--nb-gold-2); border-radius: 999px; }
.nb-pcarousel__track::-webkit-scrollbar-track { background: rgba(198, 160, 74, .12); border-radius: 999px; }

.nb-pcard {
  flex: 0 0 300px; scroll-snap-align: start; position: relative; padding: 10px; border-radius: 18px;
  background: #fff; border: 1px solid rgba(198, 160, 74, .34); box-shadow: var(--nb-shadow); text-decoration: none;
  display: flex; flex-direction: column; transition: transform .35s ease, box-shadow .35s ease;
}
.nb-pcard::before {
  content: ""; position: absolute; left: 26px; right: 26px; top: 0; height: 3px; z-index: 3; border-radius: 0 0 4px 4px;
  background: linear-gradient(90deg, var(--nb-gold), var(--nb-orange)); transform: scaleX(0); transform-origin: left; transition: transform .5s ease;
}
.nb-pcard:hover { transform: translateY(-6px); box-shadow: var(--nb-shadow-lg); }
.nb-pcard:hover::before { transform: scaleX(1); }
.nb-pcard__img { position: relative; overflow: hidden; border-radius: 10px; padding-bottom: 66.5%; }
.nb-pcard__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.nb-pcard:hover .nb-pcard__img img { transform: scale(1.06); }
.nb-pcard__body { padding: 16px 12px 6px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.nb-pcard__title { margin: 0; font-family: var(--nb-serif); font-weight: 700; font-size: 18px; line-height: 1.35; color: var(--nb-forest); }
.nb-pcard:hover .nb-pcard__title { color: var(--nb-orange-2); }
.nb-pcard__author { font-size: 13px; font-weight: 700; letter-spacing: .02em; color: var(--nb-gold-3); }
.nb-pcard__excerpt { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--nb-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nb-pcard__read { margin-top: auto; padding-top: 6px; font-weight: 700; font-size: 14px; color: var(--nb-green); }
.nb-pcard:hover .nb-pcard__read { color: var(--nb-orange-2); }

.nb-pcarousel__nav { display: flex; gap: 10px; }
.nb-pcarousel__btn {
  width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid rgba(198, 160, 74, .5); background: #fff;
  color: var(--nb-forest); display: grid; place-items: center; cursor: pointer; transition: all .25s ease; flex: 0 0 auto;
}
.nb-pcarousel__btn:hover { background: var(--nb-gold-2); border-color: var(--nb-gold-2); color: #231803; }
.nb-pcarousel__btn svg { width: 18px; height: 18px; }

@media (max-width: 640px) {
  .nb-pcard { flex-basis: 78vw; }
}

/* ---------- generic left/right carousel for any posts grid ---------- */
.nb-hcarousel .elementor-posts-container {
  display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  gap: 24px !important; padding: 4px 4px 10px; margin: 0 -4px; -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; scrollbar-color: var(--nb-gold-2) transparent;
}
.nb-hcarousel .elementor-posts-container::-webkit-scrollbar { height: 6px; }
.nb-hcarousel .elementor-posts-container::-webkit-scrollbar-thumb { background: var(--nb-gold-2); border-radius: 999px; }
.nb-hcarousel .elementor-posts-container::-webkit-scrollbar-track { background: rgba(198, 160, 74, .12); border-radius: 999px; }
.nb-hcarousel .elementor-post.elementor-grid-item { flex: 0 0 272px; scroll-snap-align: start; margin: 0 !important; }

.nb-hcarousel-nav { display: flex; gap: 8px; }
.nb-hcarousel-nav__btn {
  width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid rgba(198, 160, 74, .5); background: #fff;
  color: var(--nb-forest); display: grid; place-items: center; cursor: pointer; transition: all .2s ease; flex: 0 0 auto;
}
.nb-hcarousel-nav__btn:hover { background: var(--nb-gold-2); border-color: var(--nb-gold-2); color: #231803; }
.nb-hcarousel-nav__btn svg { width: 16px; height: 16px; }
.nb-dark .nb-hcarousel-nav__btn, .nb-band .nb-hcarousel-nav__btn {
  background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .4); color: #fff;
}
.nb-dark .nb-hcarousel-nav__btn:hover, .nb-band .nb-hcarousel-nav__btn:hover { background: var(--nb-gold-2); border-color: var(--nb-gold-2); color: #231803; }

@media (max-width: 640px) {
  .nb-hcarousel .elementor-post.elementor-grid-item { flex-basis: 78vw; }
}

/* ---------- Featured: magazine-style hero + strip (image overlay cards) ---------- */
.nb-feathero { display: flex; flex-direction: column; gap: 14px; }
.nb-feathero__card {
  position: relative; display: block; overflow: hidden; border-radius: 12px; text-decoration: none;
  background-size: cover; background-position: center; transition: transform .4s ease;
}
.nb-feathero__card::before {
  content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(6, 20, 3, .88) 0%, rgba(6, 20, 3, .35) 55%, transparent 85%);
}
.nb-feathero__card:hover { transform: scale(1.012); }
.nb-feathero__card--main { height: 380px; }
.nb-feathero__tag {
  position: absolute; top: 16px; left: 16px; z-index: 2; background: rgba(10, 10, 10, .78); color: #fff;
  font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 5px; letter-spacing: .02em;
}
.nb-feathero__info { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 20px 22px; }
.nb-feathero__card--main .nb-feathero__info h3 { font-size: clamp(20px, 2.6vw, 30px); }
.nb-feathero__info h3 {
  margin: 0 0 6px; font-family: var(--nb-serif); font-weight: 700; color: #fff; line-height: 1.3;
}
.nb-feathero__info p { margin: 0; color: rgba(255, 255, 255, .82); font-size: 13.5px; }
.nb-feathero__row {
  display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding-bottom: 6px; -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; scrollbar-color: var(--nb-gold-2) transparent;
}
.nb-feathero__row::-webkit-scrollbar { height: 6px; }
.nb-feathero__row::-webkit-scrollbar-thumb { background: var(--nb-gold-2); border-radius: 999px; }
.nb-feathero__row .nb-feathero__card { flex: 0 0 300px; height: 210px; scroll-snap-align: start; }
.nb-feathero__row .nb-feathero__info h3 { font-size: 16.5px; }
.nb-feathero__nav { margin-top: 4px; }
@media (max-width: 640px) {
  .nb-feathero__card--main { height: 260px; }
  .nb-feathero__row .nb-feathero__card { flex-basis: 78vw; height: 170px; }
}

/* carousels must show every post, not just the first 3 */
.nb-hcarousel .elementor-post:nth-child(n+4) { display: flex !important; }

/* ---------- Featured: image-overlay hero + scrolling strip, built on native Posts widgets (auto-updating) ---------- */
.nb-feat-hero .elementor-posts-container { display: grid !important; grid-template-columns: 1fr !important; gap: 0 !important; }
.nb-feat-hero .elementor-post, .nb-feat-strip .elementor-post {
  position: relative !important; overflow: hidden !important; border-radius: 12px; background: #0D3B05; margin: 0 !important; transition: transform .4s ease;
}
.nb-feat-hero .elementor-post:hover, .nb-feat-strip .elementor-post:hover { transform: scale(1.012); }
.nb-feat-hero .elementor-post::after, .nb-feat-strip .elementor-post::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to top, rgba(6, 20, 3, .88) 0%, rgba(6, 20, 3, .35) 55%, transparent 85%);
}
.nb-feat-hero .elementor-post__thumbnail__link, .nb-feat-strip .elementor-post__thumbnail__link {
  display: block !important; margin: 0 !important; width: 100% !important; height: 100% !important;
}
.nb-feat-hero .elementor-post__thumbnail, .nb-feat-strip .elementor-post__thumbnail {
  position: relative !important; padding-bottom: 0 !important; overflow: hidden !important; width: 100% !important;
}
.nb-feat-hero .elementor-post__thumbnail { height: 380px !important; }
.nb-feat-strip .elementor-post__thumbnail { height: 210px !important; }
.nb-feat-hero .elementor-post__thumbnail img, .nb-feat-strip .elementor-post__thumbnail img {
  position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important;
  object-fit: cover !important; object-position: center !important; transform: none !important; margin: 0 !important;
}
.nb-feat-hero .elementor-post__text, .nb-feat-strip .elementor-post__text {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 20px 22px; display: flex; flex-direction: column; gap: 6px;
}
.nb-feat-hero .elementor-post__title, .nb-feat-strip .elementor-post__title { margin: 0 !important; font-family: var(--nb-serif); font-weight: 700; line-height: 1.3; }
.nb-feat-hero .elementor-post__title a, .nb-feat-strip .elementor-post__title a {
  color: #ffffff !important; text-shadow: 0 2px 10px rgba(0, 0, 0, .55); opacity: 1 !important;
}
.nb-feat-hero .elementor-post__title { font-size: clamp(20px, 2.6vw, 30px); }
.nb-feat-strip .elementor-post__title { font-size: 16.5px; }
.nb-feat-hero .elementor-post__meta-data, .nb-feat-strip .elementor-post__meta-data {
  order: 2; color: rgba(255, 255, 255, .92) !important; font-size: 13.5px; text-shadow: 0 1px 6px rgba(0, 0, 0, .5);
}
.nb-feat-hero .elementor-post__excerpt, .nb-feat-hero .elementor-post__read-more,
.nb-feat-strip .elementor-post__excerpt, .nb-feat-strip .elementor-post__read-more { display: none !important; }
.nb-feat-strip .elementor-posts-container {
  display: flex !important; gap: 14px !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding-bottom: 6px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--nb-gold-2) transparent;
}
.nb-feat-strip .elementor-posts-container::-webkit-scrollbar { height: 6px; }
.nb-feat-strip .elementor-posts-container::-webkit-scrollbar-thumb { background: var(--nb-gold-2); border-radius: 999px; }
.nb-feat-strip .elementor-post { flex: 0 0 300px !important; scroll-snap-align: start; }
@media (max-width: 640px) {
  .nb-feat-hero .elementor-post__thumbnail { height: 260px !important; }
  .nb-feat-strip .elementor-post__thumbnail { height: 170px !important; }
  .nb-feat-strip .elementor-post { flex-basis: 78vw; }
}

/* Featured spacing: set with margins on the widgets themselves (a theme can override container gaps, not these) */
.nb-feat-hero { margin: 14px 0 0 !important; }
.nb-feat-strip { margin: 14px 0 14px !important; }

/* ---------- bilingual fallback: the language-switch toggle lived in the old hero
   section which was removed; without it .i18n-en content could never show.
   Show both Hindi and English together everywhere instead. ---------- */
.i18n-en[hidden] { display: block !important; }
.i18n-hi-row, .i18n-en-row { display: flex !important; }

/* =====================================================================
   ABOUT US PAGE — components (appended after the premium layer)
   ===================================================================== */

/* page header: reuse .nb-dark, just centered + shorter */
.nb-about-hero .nb-lede p { max-width: 60ch; margin: 0 auto; text-align: center; }
.nb-about-hero h1.elementor-heading-title { text-align: center; }

/* ---------- language cards ---------- */
.nb-lang-card {
  height: 100%; padding: 34px 34px 30px; border-radius: 20px; background: #fff;
  border: 1px solid rgba(198, 160, 74, .3); box-shadow: var(--nb-shadow);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.nb-lang-card:hover { transform: translateY(-6px); border-color: var(--nb-gold); box-shadow: var(--nb-shadow-lg); }
.nb-lang-card__tag {
  display: inline-block; margin: 0 0 16px; padding: 5px 14px; border-radius: 999px;
  font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: var(--nb-forest); background: var(--nb-mint);
}
.nb-lang-card p:not(.nb-lang-card__tag) { margin: 0 0 14px; font-size: 17px; line-height: 1.85; color: var(--nb-ink); }
.nb-lang-card p:last-child { margin-bottom: 0; }
.nb-lang-card--en { background: var(--nb-cream); }
.nb-lang-card--en .nb-lang-card__tag { color: var(--nb-gold-3); background: #fff; }
.nb-lang-card--en p:not(.nb-lang-card__tag) { font-family: var(--nb-serif); font-style: italic; font-size: 16.5px; color: var(--nb-forest); }

/* ---------- dedication plaque ---------- */
.nb-plaque {
  position: relative; width: 100%; padding: 48px 46px; border-radius: 22px; text-align: center;
  background: linear-gradient(160deg, #fff, #FBF3DC); border: 1px solid rgba(198, 160, 74, .45); box-shadow: var(--nb-shadow-lg);
  transition: transform .4s ease, box-shadow .4s ease;
}
.nb-plaque:hover { transform: translateY(-4px); box-shadow: 0 26px 54px -16px rgba(198, 160, 74, .5); }
.nb-plaque::before {
  content: "\201C"; position: absolute; left: 26px; top: 4px; font-family: var(--nb-serif); font-size: 110px; line-height: 1;
  color: var(--nb-maroon); opacity: .14; pointer-events: none;
}
.nb-plaque h2.nb-plaque__label {
  margin: 0 0 14px !important; font-family: var(--nb-sans) !important; font-size: 13px !important; font-weight: 700 !important;
  letter-spacing: .2em !important; text-transform: uppercase !important; color: var(--nb-gold-3) !important; line-height: 1.4 !important;
}
.nb-plaque__text { margin: 0 !important; font-family: var(--nb-serif); font-style: italic; font-size: 21px; line-height: 1.85; color: var(--nb-maroon); position: relative; }
.nb-plaque__text strong { font-style: normal; color: var(--nb-forest); }

/* ---------- name chip list (प्रेरणा) ---------- */
.nb-names { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 0; padding: 0; list-style: none; }
.nb-names li {
  padding: 9px 18px; border-radius: 999px; font-size: 15px; font-weight: 600; color: var(--nb-forest);
  background: var(--nb-mint); border: 1px solid rgba(28, 110, 5, .16);
  transition: transform .3s ease, background .3s ease, border-color .3s ease, color .3s ease, box-shadow .3s ease;
  cursor: default;
}
.nb-names li:hover {
  transform: translateY(-3px); background: linear-gradient(135deg, #F3D98F, #C6A04A);
  border-color: var(--nb-gold); color: #231803; box-shadow: 0 10px 22px -8px rgba(198, 160, 74, .6);
}
.nb-note { margin: 4px 0 0 !important; font-size: 15px; font-style: italic; color: var(--nb-muted); }

/* ---------- person / photo cards ---------- */
.nb-people { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; width: 100%; }
.nb-people--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 760px; margin: 0 auto; }
.nb-person { text-align: center; }
.nb-person__photo {
  width: 148px !important; height: 148px !important; min-width: 148px !important; max-width: 148px !important;
  margin: 0 auto; border-radius: 50% !important; overflow: hidden !important; position: relative; flex-shrink: 0;
  border: 4px solid #fff; box-shadow: var(--nb-shadow-lg); transition: transform .35s ease, box-shadow .35s ease;
}
.nb-person__photo img {
  width: 100% !important; height: 100% !important; max-width: 100% !important; object-fit: cover !important;
  object-position: center !important; display: block !important; border-radius: 50% !important; margin: 0 !important;
}
.nb-person:hover .nb-person__photo { transform: translateY(-6px); }
.nb-person__name { margin: 4px 0 0 !important; font-family: var(--nb-serif); font-weight: 700; font-size: 19px; color: var(--nb-forest); }
.nb-person__role { margin: 0 !important; font-size: 14px; color: var(--nb-muted); }
.nb-person--pending .nb-person__photo { border-style: dashed; opacity: .6; }
.nb-person--pending .nb-person__name, .nb-person--pending .nb-person__role { font-style: italic; color: var(--nb-muted); }

/* premium gold ring + glow on hover */
.nb-person__photo { border-color: var(--nb-gold-2); transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.nb-person:hover .nb-person__photo { box-shadow: 0 18px 40px -10px rgba(198, 160, 74, .55); border-color: var(--nb-gold); }
.nb-person__role { color: var(--nb-gold-3); }
.nb-person__name { transition: color .3s ease; }
.nb-person:hover .nb-person__name { color: var(--nb-gold-3); }

@media (max-width: 1024px) {
  .nb-people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .nb-lang-card { padding: 26px 22px; }
  .nb-plaque { padding: 36px 24px; }
  .nb-plaque__text { font-size: 19px; }
  .nb-people, .nb-people--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .nb-person__photo { width: 120px !important; height: 120px !important; min-width: 120px !important; max-width: 120px !important; }
}

/* fix: .nb-lede defaults to near-white text (built for dark hero/CTA use) — darken it on light sections */
.nb-sec--white .nb-lede p, .nb-sec--tint .nb-lede p, .nb-about .nb-lede p { color: var(--nb-muted); max-width: 70ch; }

/* ---------- bilingual tab switch (CSS-only, no JS) ---------- */
.nb-lang-switch { position: relative; width: 100%; display: flex; flex-direction: column; align-items: center; }
.nb-lang-switch__input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.nb-lang-switch__tabs {
  display: inline-flex; gap: 4px; padding: 6px; margin: 0 0 30px; border-radius: 999px;
  background: var(--nb-cream); border: 1px solid rgba(198, 160, 74, .35);
}
.nb-lang-switch__tab {
  padding: 11px 30px; border-radius: 999px; font-weight: 700; font-size: 15px; letter-spacing: .02em;
  color: var(--nb-muted); cursor: pointer; user-select: none; transition: all .3s ease; white-space: nowrap;
}
.nb-lang-switch__tab:hover { color: var(--nb-forest); }
#nb-lang-hi:checked ~ .nb-lang-switch__tabs label[for="nb-lang-hi"],
#nb-lang-en:checked ~ .nb-lang-switch__tabs label[for="nb-lang-en"] {
  background: linear-gradient(135deg, #F3D98F, #C6A04A 55%, #A9822C); color: #231803;
  box-shadow: 0 8px 18px -6px rgba(198, 160, 74, .6);
}
.nb-lang-switch__panel {
  display: none; width: 100%; max-width: 780px; padding: 40px 44px; border-radius: 22px;
  background: #fff; border: 1px solid rgba(198, 160, 74, .3); box-shadow: var(--nb-shadow);
}
@keyframes nb-lang-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
#nb-lang-hi:checked ~ .nb-lang-switch__panel--hi,
#nb-lang-en:checked ~ .nb-lang-switch__panel--en { display: block; animation: nb-lang-fade .45s ease both; }
.nb-lang-switch__panel p { margin: 0 0 14px; font-size: 17px; line-height: 1.85; color: var(--nb-ink); }
.nb-lang-switch__panel p:last-child { margin-bottom: 0; }
.nb-lang-switch__panel--en p { font-family: var(--nb-serif); font-style: italic; font-size: 16.5px; color: var(--nb-forest); }

@media (max-width: 767px) {
  .nb-lang-switch__tab { padding: 10px 22px; font-size: 14px; }
  .nb-lang-switch__panel { padding: 28px 24px; }
}

/* ---------- PAGE-WIDE bilingual toggle ---------- */
.nb-lang-switch--global { padding: 6px 0 0; }
.nb-lang-switch--global .nb-lang-switch__tabs { margin: 0; background: rgba(255, 255, 255, .14); border-color: rgba(231, 203, 133, .5); }
.nb-lang-switch--global .nb-lang-switch__tab { color: rgba(255, 255, 255, .85); }
.nb-lang-switch--global .nb-lang-switch__tab:hover { color: #fff; }
#nb-lang-hi:checked ~ .nb-lang-switch__tabs label[for="nb-lang-hi"],
#nb-lang-en:checked ~ .nb-lang-switch__tabs label[for="nb-lang-en"] {
  background: linear-gradient(135deg, #F3D98F, #C6A04A 55%, #A9822C); color: #231803;
}

/* block-level bilingual content (headings/paragraphs rendered inside text widgets) */
.i18n-en { display: none; }
body.nb-lang-en .i18n-hi { display: none; }
body.nb-lang-en .i18n-en { display: block; }

/* flex-row bilingual content (button rows) */
.i18n-hi-row { display: flex; }
.i18n-en-row { display: none; }
body.nb-lang-en .i18n-hi-row { display: none; }
body.nb-lang-en .i18n-en-row { display: flex; }

.nb-welcome-card {
  width: 100%; padding: 40px 44px; border-radius: 22px; background: #fff;
  border: 1px solid rgba(198, 160, 74, .3); box-shadow: var(--nb-shadow);
}
.nb-welcome-card p { margin: 0 0 14px; font-size: 17px; line-height: 1.85; color: var(--nb-ink); }
.nb-welcome-card p:last-child { margin-bottom: 0; }
.nb-welcome-card .i18n-en p { font-family: var(--nb-serif); font-style: italic; font-size: 16.5px; color: var(--nb-forest); }
@media (max-width: 767px) { .nb-welcome-card { padding: 28px 24px; } }/* End custom CSS */