/* ══════════════════════════════════════════════════════════════════════════
   Nandan — Premium Buddhist Cultural Organization Website v2.0
   Brand: Blue #1565C0 | Yellow #FFD700 | White | Gold gradient
   Fonts: Hind Siliguri (BN) + Poppins (EN) | Google Fonts
   Design: Modern, premium, Buddhist-inspired, mobile-first
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Design Tokens ──────────────────────────────────────────────────────── */
:root {
  /* Core Brand */
  --nd-blue:        #1565C0;
  --nd-blue-dark:   #0D47A1;
  --nd-blue-mid:    #1976D2;
  --nd-blue-light:  #42A5F5;
  --nd-blue-pale:   #E3F2FD;
  --nd-blue-xpale:  #F0F7FF;
  --nd-yellow:      #FFD700;
  --nd-gold:        #F4B942;
  --nd-gold-dark:   #D4950F;
  --nd-saffron:     #FF8F00;

  /* Neutrals */
  --nd-white:       #FFFFFF;
  --nd-off:         #FAFBFD;
  --nd-bg:          #F4F7FB;
  --nd-text:        #1A202C;
  --nd-text-2:      #2D3748;
  --nd-muted:       #64748B;
  --nd-muted-2:     #94A3B8;
  --nd-border:      #E2E8F0;
  --nd-border-2:    #CBD5E1;

  /* Status */
  --nd-success:     #10B981;
  --nd-warning:     #F59E0B;
  --nd-error:       #EF4444;
  --nd-info:        #3B82F6;

  /* Layout */
  --nd-container:   1200px;
  --nd-radius-sm:   6px;
  --nd-radius:      12px;
  --nd-radius-lg:   20px;
  --nd-radius-xl:   32px;
  --nd-radius-full: 9999px;

  /* Shadows */
  --nd-shadow-xs:   0 1px 2px rgba(0,0,0,.05);
  --nd-shadow-sm:   0 2px 8px rgba(21,101,192,.08), 0 1px 3px rgba(0,0,0,.06);
  --nd-shadow:      0 4px 20px rgba(21,101,192,.12), 0 2px 8px rgba(0,0,0,.08);
  --nd-shadow-lg:   0 12px 40px rgba(21,101,192,.18), 0 4px 16px rgba(0,0,0,.1);
  --nd-shadow-xl:   0 24px 64px rgba(21,101,192,.22), 0 8px 24px rgba(0,0,0,.12);
  --nd-shadow-gold: 0 4px 20px rgba(255,215,0,.3);

  /* Typography */
  --nd-font-en: 'Poppins', system-ui, -apple-system, sans-serif;
  --nd-font-bn: 'Hind Siliguri', system-ui, sans-serif;
  --nd-font: var(--nd-font-en);

  /* Transitions */
  --nd-t-fast:   0.15s cubic-bezier(0.4,0,0.2,1);
  --nd-t:        0.25s cubic-bezier(0.4,0,0.2,1);
  --nd-t-slow:   0.4s  cubic-bezier(0.4,0,0.2,1);

  /* Gradients */
  --nd-grad-hero:   linear-gradient(135deg, #0D47A1 0%, #1565C0 40%, #1976D2 70%, #0D47A1 100%);
  --nd-grad-blue:   linear-gradient(135deg, #1565C0, #1976D2);
  --nd-grad-gold:   linear-gradient(135deg, #FFD700, #F4B942, #FF8F00);
  --nd-grad-cta:    linear-gradient(135deg, #FFD700 0%, #F4B942 50%, #FF8F00 100%);
  --nd-grad-card:   linear-gradient(145deg, #fff 0%, #F8FAFF 100%);
  --nd-grad-dark:   linear-gradient(135deg, #0A2558 0%, #0D47A1 50%, #1565C0 100%);
}

/* ── Reset & Base ───────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: var(--nd-font-bn);
  color: var(--nd-text);
  background: var(--nd-white);
  line-height: 1.7;
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[data-lang="en"] body { font-family: var(--nd-font-en); }

img, video { max-width: 100%; display: block; }
img { object-fit: cover; }

a { color: var(--nd-blue); text-decoration: none; transition: color var(--nd-t-fast); }
a:hover { color: var(--nd-blue-dark); }

button { cursor: pointer; font-family: inherit; border: none; background: none; }

ul, ol { list-style: none; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.25;
  font-family: var(--nd-font-en);
  font-weight: 700;
  color: var(--nd-text);
}

[data-lang="bn"] h1,
[data-lang="bn"] h2,
[data-lang="bn"] h3 { font-family: var(--nd-font-bn); }

p { color: var(--nd-text-2); }

/* ── Skip Link ──────────────────────────────────────────────────────────── */
.nd-skip-link {
  position: absolute; top: -100px; left: 1rem;
  background: var(--nd-blue); color: #fff;
  padding: .5rem 1rem; border-radius: var(--nd-radius-sm);
  font-size: .85rem; z-index: 10000; transition: top var(--nd-t);
}
.nd-skip-link:focus { top: 1rem; }

/* ── Container ──────────────────────────────────────────────────────────── */
.nd-container {
  width: 100%; max-width: var(--nd-container);
  margin-inline: auto; padding-inline: 1.5rem;
}

/* ── Buttons ────────────────────────────────────────────────────────────── */
.nd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  font-family: var(--nd-font-en); font-weight: 600; font-size: .95rem;
  padding: .75rem 1.75rem; border-radius: var(--nd-radius-full);
  transition: all var(--nd-t); cursor: pointer;
  letter-spacing: .01em; text-decoration: none; white-space: nowrap;
}

.nd-btn--primary {
  background: var(--nd-grad-gold);
  color: #0D47A1; box-shadow: var(--nd-shadow-gold);
}
.nd-btn--primary:hover {
  transform: translateY(-2px); box-shadow: 0 8px 28px rgba(255,215,0,.5);
  color: #0A2558; text-decoration: none;
}

.nd-btn--outline {
  background: transparent;
  border: 2px solid rgba(255,255,255,.7);
  color: #fff;
}
.nd-btn--outline:hover {
  background: rgba(255,255,255,.12); border-color: #fff;
  transform: translateY(-2px); text-decoration: none; color: #fff;
}

.nd-btn--secondary {
  background: var(--nd-blue-pale); color: var(--nd-blue-dark);
  font-weight: 600;
}
.nd-btn--secondary:hover {
  background: var(--nd-blue); color: #fff;
  transform: translateY(-2px); box-shadow: var(--nd-shadow);
  text-decoration: none;
}

.nd-btn--blue {
  background: var(--nd-blue); color: #fff; box-shadow: var(--nd-shadow);
}
.nd-btn--blue:hover {
  background: var(--nd-blue-dark); transform: translateY(-2px);
  box-shadow: var(--nd-shadow-lg); color: #fff; text-decoration: none;
}

.nd-btn--nav-cta {
  background: var(--nd-grad-gold); color: var(--nd-blue-dark); font-weight: 700;
  padding: .5rem 1.25rem; font-size: .875rem;
}
.nd-btn--nav-cta:hover { transform: translateY(-1px); text-decoration: none; color: var(--nd-blue-dark); }

.nd-btn--sm { padding: .5rem 1.25rem; font-size: .85rem; }
.nd-btn--lg { padding: 1rem 2.5rem; font-size: 1.05rem; }

/* ── Section Headers ────────────────────────────────────────────────────── */
.nd-section-label {
  display: inline-block; font-size: .8rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--nd-blue);
  background: var(--nd-blue-pale); padding: .35rem .9rem;
  border-radius: var(--nd-radius-full); margin-bottom: .75rem;
}

.nd-section-header {
  text-align: center; margin-bottom: 3rem;
}

.nd-section-header h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  color: var(--nd-text); margin-bottom: 1rem;
}

.nd-section-header p {
  max-width: 580px; margin: 0 auto;
  color: var(--nd-muted); font-size: 1.05rem;
}

.nd-section-link {
  display: inline-flex; align-items: center; gap: .4rem;
  font-weight: 600; font-size: .9rem; color: var(--nd-blue);
  transition: gap var(--nd-t-fast);
}
.nd-section-link:hover { gap: .7rem; text-decoration: none; }

/* ══════════════════════════════════════════════════════════════════════════
   NAVIGATION
   ══════════════════════════════════════════════════════════════════════════ */
.nd-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 900;
  background: rgba(255,255,255,0.0);
  transition: background var(--nd-t), box-shadow var(--nd-t), backdrop-filter var(--nd-t);
}

.nd-nav.scrolled {
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 2px 20px rgba(21,101,192,.12);
}

.nd-nav-spacer { height: 72px; }

.nd-nav__inner {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  height: 72px; max-width: var(--nd-container);
  margin-inline: auto; padding-inline: 1.5rem;
}

.nd-nav__logo {
  display: flex; align-items: center; gap: .75rem;
  text-decoration: none; flex-shrink: 0;
}

.nd-nav__logo img {
  width: 44px; height: 44px; border-radius: 50%;
  box-shadow: 0 2px 8px rgba(21,101,192,.2);
  transition: transform var(--nd-t);
}
.nd-nav__logo:hover img { transform: scale(1.05); }

.nd-nav__brand { display: flex; flex-direction: column; line-height: 1.1; }

.nd-nav__brand-en {
  font-family: var(--nd-font-en); font-weight: 800; font-size: 1.1rem;
  color: var(--nd-blue-dark); letter-spacing: -.01em;
}

.nd-nav.scrolled .nd-nav__brand-en { color: var(--nd-blue-dark); }
.nd-nav:not(.scrolled) .nd-nav__brand-en { color: #fff; }

.nd-nav__brand-bn {
  font-family: var(--nd-font-bn); font-weight: 700; font-size: .95rem;
  color: var(--nd-gold);
}

.nd-nav__links {
  display: flex; align-items: center; gap: .2rem;
}

.nd-nav__links a {
  font-family: var(--nd-font-en); font-size: .875rem; font-weight: 500;
  padding: .45rem .7rem; border-radius: var(--nd-radius-sm);
  transition: all var(--nd-t-fast); color: var(--nd-text-2);
}
.nd-nav:not(.scrolled) .nd-nav__links a { color: rgba(255,255,255,.9); }
.nd-nav__links a:hover, .nd-nav__links a.active {
  background: var(--nd-blue-pale); color: var(--nd-blue);
  text-decoration: none;
}
.nd-nav:not(.scrolled) .nd-nav__links a:hover {
  background: rgba(255,255,255,.15); color: #fff;
}

.nd-nav__cta-wrap, .nd-nav__lang-wrap { margin-left: .5rem; }

.nd-lang-toggle {
  display: flex; align-items: center;
  background: var(--nd-blue-pale); border: 1px solid var(--nd-border);
  border-radius: var(--nd-radius-full); overflow: hidden;
  padding: 0; height: 34px; cursor: pointer;
  font-family: var(--nd-font-en); font-size: .8rem; font-weight: 600;
  transition: all var(--nd-t-fast);
}

.nd-lang-toggle__btn {
  padding: 0 .9rem; height: 100%;
  color: var(--nd-muted); background: transparent;
  border: none; cursor: pointer; font-size: .8rem; font-weight: 600;
  font-family: inherit; transition: all var(--nd-t-fast);
}

.nd-lang-toggle__btn.active {
  background: var(--nd-blue); color: #fff; border-radius: var(--nd-radius-full);
}

.nd-nav:not(.scrolled) .nd-lang-toggle {
  background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.3);
}
.nd-nav:not(.scrolled) .nd-lang-toggle__btn { color: rgba(255,255,255,.8); }
.nd-nav:not(.scrolled) .nd-lang-toggle__btn.active {
  background: rgba(255,255,255,.25); color: #fff;
}

/* Mobile burger */
.nd-nav__burger {
  display: none; flex-direction: column; gap: 5px;
  width: 36px; height: 36px; padding: .4rem;
  border-radius: var(--nd-radius-sm); background: transparent;
  transition: background var(--nd-t-fast);
}

.nd-nav__burger span {
  display: block; height: 2px; background: var(--nd-text);
  border-radius: 2px; transition: all var(--nd-t);
}

.nd-nav:not(.scrolled) .nd-nav__burger span { background: #fff; }

.nd-nav__burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nd-nav__burger.open span:nth-child(2) { opacity: 0; }
.nd-nav__burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ══════════════════════════════════════════════════════════════════════════
   HERO SECTION
   ══════════════════════════════════════════════════════════════════════════ */
.nd-hero {
  position: relative; min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; padding: 6rem 1.5rem 4rem;
}

/* Background gradient + pattern */
.nd-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: var(--nd-grad-hero);
  z-index: 0;
}

/* Decorative circles */
.nd-hero::after {
  content: '';
  position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,215,0,.12) 0%, transparent 50%),
    radial-gradient(circle at 85% 70%, rgba(255,215,0,.08) 0%, transparent 50%),
    radial-gradient(circle at 50% 100%, rgba(13,71,161,.5) 0%, transparent 60%);
}

/* Background image overlay */
.nd-hero__bg {
  position: absolute; inset: 0; z-index: 0;
  background-image: var(--hero-bg, none);
  background-size: cover; background-position: center;
  opacity: .2;
  filter: blur(2px);
}

/* SVG pattern overlay */
.nd-hero__pattern {
  position: absolute; inset: 0; z-index: 1;
  opacity: .06;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3Ccircle cx='0' cy='0' r='2'/%3E%3Ccircle cx='60' cy='0' r='2'/%3E%3Ccircle cx='0' cy='60' r='2'/%3E%3Ccircle cx='60' cy='60' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/* Animated rings */
.nd-hero__rings {
  position: absolute; top: 50%; left: 50%; z-index: 1;
  transform: translate(-50%, -50%);
  width: min(80vw, 600px); height: min(80vw, 600px);
  pointer-events: none;
}
.nd-hero__ring {
  position: absolute; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.1);
  animation: nd-ring-pulse 4s ease-in-out infinite;
}
.nd-hero__ring:nth-child(1) { inset: 0; animation-delay: 0s; }
.nd-hero__ring:nth-child(2) { inset: 10%; animation-delay: .8s; border-color: rgba(255,215,0,.12); }
.nd-hero__ring:nth-child(3) { inset: 20%; animation-delay: 1.6s; }

@keyframes nd-ring-pulse {
  0%, 100% { opacity: .4; transform: scale(1); }
  50%       { opacity: .8; transform: scale(1.03); }
}

.nd-hero__content {
  position: relative; z-index: 2;
  text-align: center; max-width: 800px; margin-inline: auto;
  animation: nd-fade-up .8s ease both;
}

@keyframes nd-fade-up {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

.nd-hero__logo {
  margin: 0 auto 2rem;
  width: min(140px, 28vw); height: min(140px, 28vw);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(255,255,255,.2), 0 0 0 8px rgba(255,215,0,.2), 0 24px 60px rgba(0,0,0,.3);
  animation: nd-fade-up .6s ease both;
  transition: transform var(--nd-t);
}
.nd-hero__logo:hover { transform: scale(1.04); }

.nd-hero__badge {
  display: inline-flex; align-items: center; gap: .5rem;
  background: rgba(255,255,255,.12); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: var(--nd-radius-full);
  padding: .45rem 1.1rem; margin-bottom: 1.5rem;
  font-size: .82rem; font-weight: 600; letter-spacing: .08em;
  color: rgba(255,255,255,.95); text-transform: uppercase;
  animation: nd-fade-up .7s ease .1s both;
}
.nd-hero__badge-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--nd-yellow);
  box-shadow: 0 0 0 3px rgba(255,215,0,.3);
  animation: nd-blink 2s ease-in-out infinite;
}
@keyframes nd-blink { 0%,100%{opacity:1} 50%{opacity:.4} }

.nd-hero__title {
  font-size: clamp(3rem, 8vw, 5.5rem);
  font-weight: 800; color: #fff;
  letter-spacing: -.02em; line-height: 1.1;
  margin-bottom: .75rem;
  text-shadow: 0 2px 20px rgba(0,0,0,.2);
  animation: nd-fade-up .7s ease .15s both;
}

[data-lang="bn"] .nd-hero__title {
  font-family: var(--nd-font-bn); font-size: clamp(2.5rem, 7vw, 4.5rem);
}

.nd-hero__sub {
  font-size: clamp(1rem, 2vw, 1.3rem); font-weight: 500;
  color: rgba(255,255,255,.85); margin-bottom: .5rem;
  animation: nd-fade-up .7s ease .2s both;
}

.nd-hero__tagline {
  font-size: clamp(.9rem, 1.8vw, 1.1rem);
  color: rgba(255,215,0,.9);
  font-weight: 400; margin-bottom: 2.5rem;
  animation: nd-fade-up .7s ease .25s both;
}

.nd-hero__actions {
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center;
  animation: nd-fade-up .7s ease .3s both;
}

.nd-hero__scroll {
  position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%);
  color: rgba(255,255,255,.6);
  animation: nd-bounce 2s ease-in-out infinite;
}
@keyframes nd-bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }

/* ══════════════════════════════════════════════════════════════════════════
   STATS SECTION
   ══════════════════════════════════════════════════════════════════════════ */
.nd-stats {
  background: var(--nd-blue-dark);
  padding: 3rem 0; position: relative; overflow: hidden;
}
.nd-stats::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.03) 50%, transparent 100%);
}

.nd-stats__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  position: relative; z-index: 1;
}

.nd-stats__item {
  text-align: center; padding: 2rem 1rem;
  border-right: 1px solid rgba(255,255,255,.1);
  position: relative;
}
.nd-stats__item:last-child { border-right: none; }

.nd-stats__num {
  font-size: clamp(2.2rem, 4vw, 3.2rem); font-weight: 800;
  color: var(--nd-yellow); line-height: 1.1;
  font-family: var(--nd-font-en);
  display: flex; align-items: baseline; justify-content: center; gap: .1em;
}

.nd-stats__label {
  font-size: .88rem; font-weight: 500;
  color: rgba(255,255,255,.75); margin-top: .5rem;
  text-transform: uppercase; letter-spacing: .06em;
}

/* ══════════════════════════════════════════════════════════════════════════
   ABOUT PREVIEW SECTION
   ══════════════════════════════════════════════════════════════════════════ */
.nd-about-preview {
  padding: 5rem 0; background: var(--nd-white);
}

.nd-about-preview__inner {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 4rem; align-items: center;
}

.nd-about-preview__text h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  margin-bottom: 1rem; color: var(--nd-text);
}

.nd-about-preview__text p {
  font-size: 1.05rem; color: var(--nd-muted); line-height: 1.8;
  margin-bottom: 2rem;
}

.nd-about-preview__pillars {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
  margin-bottom: 2rem;
}

.nd-pillar {
  background: var(--nd-blue-xpale);
  border: 1px solid var(--nd-blue-pale);
  border-radius: var(--nd-radius); padding: 1.25rem;
  transition: all var(--nd-t);
}
.nd-pillar:hover { background: var(--nd-blue-pale); transform: translateY(-3px); box-shadow: var(--nd-shadow); }

.nd-pillar__icon { font-size: 1.75rem; margin-bottom: .5rem; }

.nd-pillar__label {
  font-weight: 700; font-size: .85rem; text-transform: uppercase;
  letter-spacing: .08em; color: var(--nd-blue); margin-bottom: .4rem;
}

.nd-pillar__text { font-size: .9rem; color: var(--nd-muted); line-height: 1.6; }

/* Logo graphic in about section */
.nd-about-preview__graphic {
  display: flex; justify-content: center; align-items: center;
}

.nd-about-preview__logo-wrap {
  position: relative; display: flex; align-items: center; justify-content: center;
  width: 320px; height: 320px;
}

.nd-about-preview__logo-wrap img {
  position: relative; z-index: 3;
  width: 220px; height: 220px; border-radius: 50%;
  box-shadow: var(--nd-shadow-xl);
  object-fit: cover;
}

.nd-about-preview__ring {
  position: absolute; border-radius: 50%;
  animation: nd-ring-spin 20s linear infinite;
}

.nd-about-preview__ring--1 {
  width: 290px; height: 290px;
  border: 2px dashed rgba(21,101,192,.2);
}
.nd-about-preview__ring--2 {
  width: 320px; height: 320px;
  border: 1px solid rgba(255,215,0,.25);
  animation-direction: reverse; animation-duration: 30s;
}

@keyframes nd-ring-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ══════════════════════════════════════════════════════════════════════════
   EVENTS PREVIEW
   ══════════════════════════════════════════════════════════════════════════ */
.nd-events-preview {
  padding: 5rem 0; background: var(--nd-bg);
}

.nd-events__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
}

.nd-event-card {
  background: var(--nd-white); border-radius: var(--nd-radius-lg);
  box-shadow: var(--nd-shadow-sm); overflow: hidden;
  transition: all var(--nd-t); border: 1px solid var(--nd-border);
  display: flex; flex-direction: column;
}
.nd-event-card:hover { transform: translateY(-6px); box-shadow: var(--nd-shadow-lg); border-color: var(--nd-blue-pale); }

.nd-event-card__img {
  height: 200px; overflow: hidden; background: var(--nd-blue-pale);
}
.nd-event-card__img img { width: 100%; height: 100%; transition: transform .5s ease; }
.nd-event-card:hover .nd-event-card__img img { transform: scale(1.06); }

.nd-event-card__body { padding: 1.25rem; flex: 1; display: flex; flex-direction: column; }

.nd-event-card__date {
  font-size: .8rem; font-weight: 600; color: var(--nd-blue);
  text-transform: uppercase; letter-spacing: .06em;
  margin-bottom: .5rem;
  display: flex; align-items: center; gap: .4rem;
}

.nd-event-card__title {
  font-size: 1.1rem; font-weight: 700; margin-bottom: .75rem; flex: 1;
}
.nd-event-card__title a { color: var(--nd-text); }
.nd-event-card__title a:hover { color: var(--nd-blue); text-decoration: none; }

.nd-event-card__venue {
  font-size: .85rem; color: var(--nd-muted);
  display: flex; align-items: center; gap: .4rem;
  margin-bottom: 1rem;
}

.nd-event-card__more {
  font-size: .85rem; font-weight: 600; color: var(--nd-blue);
  display: flex; align-items: center; gap: .3rem;
}

/* ══════════════════════════════════════════════════════════════════════════
   GALLERY PREVIEW
   ══════════════════════════════════════════════════════════════════════════ */
.nd-gallery-preview {
  padding: 5rem 0; background: var(--nd-white);
}

.nd-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 220px);
  gap: .75rem;
}

.nd-gallery__item {
  border-radius: var(--nd-radius); overflow: hidden;
  position: relative; cursor: pointer;
  background: var(--nd-blue-pale);
}
.nd-gallery__item:nth-child(1) { grid-column: span 2; }
.nd-gallery__item:nth-child(4) { grid-column: span 2; }

.nd-gallery__item img {
  width: 100%; height: 100%;
  transition: transform .5s ease;
}
.nd-gallery__item:hover img { transform: scale(1.08); }

.nd-gallery__item::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(13,71,161,.5) 0%, transparent 60%);
  opacity: 0; transition: opacity var(--nd-t);
}
.nd-gallery__item:hover::after { opacity: 1; }

.nd-gallery__placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--nd-blue-pale), var(--nd-blue-xpale));
  display: flex; align-items: center; justify-content: center;
  color: var(--nd-blue-light); font-size: 2rem;
}

/* ══════════════════════════════════════════════════════════════════════════
   CHIBORDAN TEASER
   ══════════════════════════════════════════════════════════════════════════ */
.nd-chibordan-teaser {
  padding: 5rem 0;
  background: var(--nd-grad-dark);
  position: relative; overflow: hidden;
}

.nd-chibordan-teaser::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 10% 50%, rgba(255,215,0,.08) 0%, transparent 50%),
    radial-gradient(circle at 90% 20%, rgba(255,215,0,.06) 0%, transparent 50%);
}

.nd-chibordan-teaser__inner {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1fr auto; gap: 3rem;
  align-items: center;
}

.nd-chibordan-teaser__count {
  font-size: clamp(4rem, 8vw, 6.5rem); font-weight: 900;
  color: var(--nd-yellow); font-family: var(--nd-font-en);
  line-height: 1; margin-bottom: .5rem;
  text-shadow: 0 4px 20px rgba(255,215,0,.3);
}

.nd-chibordan-teaser__label {
  font-size: clamp(.85rem, 1.5vw, 1rem); font-weight: 700;
  color: rgba(255,255,255,.7); text-transform: uppercase;
  letter-spacing: .1em;
}

.nd-chibordan-teaser__title {
  font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 800;
  color: #fff; margin-bottom: .75rem;
}

.nd-chibordan-teaser__desc {
  font-size: 1.05rem; color: rgba(255,255,255,.7); line-height: 1.7;
  margin-bottom: 1.75rem;
}

/* ══════════════════════════════════════════════════════════════════════════
   BLOG PREVIEW
   ══════════════════════════════════════════════════════════════════════════ */
.nd-blog-preview { padding: 5rem 0; background: var(--nd-bg); }

.nd-blog__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
}

.nd-blog-card {
  background: var(--nd-white); border-radius: var(--nd-radius-lg);
  box-shadow: var(--nd-shadow-sm); overflow: hidden;
  transition: all var(--nd-t); border: 1px solid var(--nd-border);
  display: flex; flex-direction: column;
}
.nd-blog-card:hover { transform: translateY(-6px); box-shadow: var(--nd-shadow-lg); }

.nd-blog-card__img { height: 190px; overflow: hidden; background: var(--nd-blue-pale); }
.nd-blog-card__img img { width: 100%; height: 100%; transition: transform .5s ease; }
.nd-blog-card:hover .nd-blog-card__img img { transform: scale(1.06); }

.nd-blog-card__body { padding: 1.25rem 1.5rem; flex: 1; display: flex; flex-direction: column; }

.nd-blog-card__meta {
  display: flex; align-items: center; gap: .75rem;
  font-size: .8rem; color: var(--nd-muted); margin-bottom: .75rem;
}

.nd-blog-card__title {
  font-size: 1.1rem; font-weight: 700; margin-bottom: .75rem; flex: 1;
  line-height: 1.4;
}
.nd-blog-card__title a { color: var(--nd-text); }
.nd-blog-card__title a:hover { color: var(--nd-blue); text-decoration: none; }

.nd-blog-card__excerpt { font-size: .9rem; color: var(--nd-muted); line-height: 1.6; margin-bottom: 1rem; }

.nd-blog-card__more {
  font-size: .85rem; font-weight: 600; color: var(--nd-blue);
  margin-top: auto; display: flex; align-items: center; gap: .3rem;
}

/* ══════════════════════════════════════════════════════════════════════════
   JOIN CTA SECTION
   ══════════════════════════════════════════════════════════════════════════ */
.nd-join-cta {
  padding: 6rem 0; background: var(--nd-blue);
  position: relative; overflow: hidden; text-align: center;
}

.nd-join-cta::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 20% 50%, rgba(255,215,0,.12) 0%, transparent 50%),
    radial-gradient(circle at 80% 50%, rgba(255,255,255,.06) 0%, transparent 50%);
}

.nd-join-cta__inner { position: relative; z-index: 1; max-width: 680px; margin: 0 auto; }

.nd-join-cta h2 {
  font-size: clamp(2rem, 4vw, 3rem); color: #fff; margin-bottom: 1rem;
}

.nd-join-cta p {
  font-size: 1.1rem; color: rgba(255,255,255,.8); margin-bottom: 2.5rem;
}

.nd-join-cta__cards {
  display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-bottom: 2.5rem;
}

.nd-fee-card {
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--nd-radius-lg); padding: 1.5rem 2rem;
  text-align: center; transition: all var(--nd-t); min-width: 160px;
  backdrop-filter: blur(8px);
}
.nd-fee-card:hover { background: rgba(255,255,255,.18); transform: translateY(-3px); }
.nd-fee-card.featured {
  background: rgba(255,215,0,.2); border-color: rgba(255,215,0,.5);
}

.nd-fee-card__type {
  font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em;
  color: rgba(255,255,255,.7); margin-bottom: .5rem;
}
.nd-fee-card.featured .nd-fee-card__type { color: var(--nd-yellow); }

.nd-fee-card__amount {
  font-size: 1.75rem; font-weight: 900; color: #fff; font-family: var(--nd-font-en);
}

.nd-fee-card__unit { font-size: .8rem; color: rgba(255,255,255,.6); }

/* ══════════════════════════════════════════════════════════════════════════
   ABOUT PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.nd-page-hero {
  background: var(--nd-grad-hero); padding: 7rem 0 4rem;
  position: relative; overflow: hidden;
}
.nd-page-hero::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 60px;
  background: var(--nd-white);
  clip-path: ellipse(55% 100% at 50% 100%);
}

.nd-page-hero__inner {
  position: relative; z-index: 1; text-align: center;
  padding-inline: 1.5rem;
}

.nd-page-hero h1 {
  font-size: clamp(2rem, 5vw, 3.5rem); color: #fff; margin-bottom: .75rem;
}

.nd-page-hero p {
  font-size: 1.1rem; color: rgba(255,255,255,.8); max-width: 580px; margin: 0 auto;
}

/* Founder card */
.nd-founder-section { padding: 5rem 0; background: var(--nd-white); }

.nd-founder-card {
  display: grid; grid-template-columns: 320px 1fr; gap: 4rem;
  align-items: start; background: var(--nd-white);
  border-radius: var(--nd-radius-xl); padding: 3rem;
  box-shadow: var(--nd-shadow-lg);
  border: 1px solid var(--nd-border);
}

.nd-founder-card__photo {
  position: relative;
}
.nd-founder-card__photo img {
  width: 100%; aspect-ratio: 3/4; border-radius: var(--nd-radius-lg);
  box-shadow: var(--nd-shadow-lg); object-fit: cover;
}

.nd-founder-card__photo-placeholder {
  width: 100%; aspect-ratio: 3/4; border-radius: var(--nd-radius-lg);
  background: var(--nd-grad-blue); display: flex; flex-direction: column;
  align-items: center; justify-content: center; color: rgba(255,255,255,.8);
  font-size: 5rem;
}

.nd-founder-card__badge {
  position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%);
  background: var(--nd-yellow); color: var(--nd-blue-dark);
  padding: .5rem 1.25rem; border-radius: var(--nd-radius-full);
  font-weight: 700; font-size: .9rem; white-space: nowrap;
  box-shadow: var(--nd-shadow-gold);
}

.nd-founder-card__info { padding-top: .5rem; }

.nd-founder-card__info h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: .4rem;
}

.nd-founder-card__title {
  font-size: 1rem; color: var(--nd-blue); font-weight: 600;
  margin-bottom: 1.5rem;
}

.nd-founder-card__bio {
  font-size: 1rem; color: var(--nd-muted); line-height: 1.8;
  white-space: pre-line;
}

/* Advisors section */
.nd-advisors-section {
  padding: 4rem 0; background: var(--nd-bg);
}

.nd-advisors__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.5rem;
}

.nd-advisor-card {
  background: var(--nd-white); border-radius: var(--nd-radius-lg);
  box-shadow: var(--nd-shadow-sm); overflow: hidden;
  text-align: center; padding: 2rem 1rem;
  transition: all var(--nd-t); border: 1px solid var(--nd-border);
}
.nd-advisor-card:hover { transform: translateY(-6px); box-shadow: var(--nd-shadow-lg); }

.nd-advisor-card__photo {
  width: 100px; height: 100px; border-radius: 50%;
  margin: 0 auto 1rem; overflow: hidden;
  background: var(--nd-blue-pale); box-shadow: var(--nd-shadow);
  border: 3px solid var(--nd-blue-pale);
}
.nd-advisor-card__photo img { width: 100%; height: 100%; }

.nd-advisor-card__initials {
  width: 100%; height: 100%; background: var(--nd-blue);
  display: flex; align-items: center; justify-content: center;
  font-size: 2rem; font-weight: 700; color: #fff;
}

.nd-advisor-card__name { font-weight: 700; font-size: 1rem; margin-bottom: .3rem; }
.nd-advisor-card__role { font-size: .85rem; color: var(--nd-blue); font-weight: 600; }

/* Members section */
.nd-members-section { padding: 4rem 0; background: var(--nd-white); }

.nd-members__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1.25rem;
}

.nd-member-card {
  text-align: center; padding: 1.25rem .75rem;
  border-radius: var(--nd-radius); transition: all var(--nd-t);
  border: 1px solid transparent;
}
.nd-member-card:hover {
  background: var(--nd-blue-xpale); border-color: var(--nd-blue-pale);
  transform: translateY(-3px);
}

.nd-member-card__photo {
  width: 80px; height: 80px; border-radius: 50%;
  margin: 0 auto .75rem; overflow: hidden;
  background: var(--nd-blue-pale); box-shadow: var(--nd-shadow-sm);
}
.nd-member-card__photo img { width: 100%; height: 100%; }
.nd-member-card__initials {
  width: 100%; height: 100%; background: var(--nd-blue);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; font-weight: 700; color: #fff;
}

.nd-member-card__name { font-size: .9rem; font-weight: 600; }
.nd-member-card__type { font-size: .78rem; color: var(--nd-muted); }

/* ══════════════════════════════════════════════════════════════════════════
   CHIBORDAN PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.nd-chibordan-page { padding: 3rem 0 5rem; }

.nd-chibordan-search {
  background: var(--nd-white); border-radius: var(--nd-radius-lg);
  box-shadow: var(--nd-shadow); padding: 1.75rem;
  margin-bottom: 2rem; border: 1px solid var(--nd-border);
  display: flex; flex-wrap: wrap; gap: 1rem; align-items: center;
}

.nd-search-field {
  flex: 1; min-width: 240px;
  display: flex; align-items: center; gap: .75rem;
  background: var(--nd-bg); border: 2px solid var(--nd-border);
  border-radius: var(--nd-radius-full); padding: .6rem 1.25rem;
  transition: border-color var(--nd-t-fast);
}
.nd-search-field:focus-within { border-color: var(--nd-blue); }

.nd-search-field input {
  flex: 1; border: none; background: transparent; outline: none;
  font-size: .95rem; font-family: var(--nd-font-bn); color: var(--nd-text);
}
.nd-search-field input::placeholder { color: var(--nd-muted); }

.nd-filter-wrap {
  display: flex; gap: .75rem; flex-wrap: wrap;
}

.nd-filter-select {
  padding: .6rem 1.25rem; border: 2px solid var(--nd-border);
  border-radius: var(--nd-radius-full); background: var(--nd-bg);
  font-size: .9rem; font-family: var(--nd-font-bn); color: var(--nd-text);
  cursor: pointer; outline: none;
  transition: border-color var(--nd-t-fast);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .9rem center;
  padding-right: 2.5rem;
}
.nd-filter-select:focus { border-color: var(--nd-blue); }

.nd-chibordan-info {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1.25rem; padding: .75rem 0;
  font-size: .9rem; color: var(--nd-muted);
}

.nd-chibordan-info strong { color: var(--nd-blue); font-weight: 700; }

.nd-chibordan-list {
  display: grid; gap: .75rem;
}

.nd-cb-entry {
  background: var(--nd-white); border-radius: var(--nd-radius-lg);
  border: 1px solid var(--nd-border); padding: 1.25rem 1.5rem;
  display: flex; align-items: center; gap: 1.5rem;
  transition: all var(--nd-t); position: relative; overflow: hidden;
}

.nd-cb-entry::before {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: var(--nd-blue);
}

.nd-cb-entry:hover {
  border-color: var(--nd-blue-pale);
  box-shadow: var(--nd-shadow);
  transform: translateX(4px);
}

.nd-cb-entry__date-block {
  flex-shrink: 0; text-align: center;
  background: var(--nd-blue-xpale); border-radius: var(--nd-radius);
  padding: .75rem 1rem; min-width: 80px;
  border: 1px solid var(--nd-blue-pale);
}

.nd-cb-entry__day-num {
  font-size: 1.5rem; font-weight: 800; color: var(--nd-blue);
  font-family: var(--nd-font-en); line-height: 1;
}

.nd-cb-entry__month { font-size: .75rem; color: var(--nd-muted); font-weight: 600; }
.nd-cb-entry__weekday { font-size: .78rem; color: var(--nd-blue); font-weight: 600; margin-top: .25rem; }

.nd-cb-entry__info { flex: 1; min-width: 0; }

.nd-cb-entry__name {
  font-size: 1rem; font-weight: 700; color: var(--nd-text);
  margin-bottom: .3rem; line-height: 1.4;
}

.nd-cb-entry__district {
  font-size: .85rem; color: var(--nd-muted);
  display: flex; align-items: center; gap: .3rem;
}

.nd-cb-entry__actions {
  flex-shrink: 0; display: flex; gap: .5rem; flex-wrap: wrap;
}

.nd-cb-entry__btn {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .78rem; font-weight: 600;
  padding: .4rem .9rem; border-radius: var(--nd-radius-full);
  border: 1px solid; transition: all var(--nd-t-fast); cursor: pointer;
}

.nd-cb-entry__btn--maps {
  background: var(--nd-blue-pale); color: var(--nd-blue);
  border-color: var(--nd-blue-pale);
}
.nd-cb-entry__btn--maps:hover {
  background: var(--nd-blue); color: #fff; text-decoration: none;
}

.nd-cb-entry__btn--dir {
  background: var(--nd-bg); color: var(--nd-text-2);
  border-color: var(--nd-border);
}
.nd-cb-entry__btn--dir:hover {
  background: var(--nd-text-2); color: #fff; text-decoration: none;
}

/* ══════════════════════════════════════════════════════════════════════════
   GALLERY PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.nd-gallery-page { padding: 3rem 0 5rem; }

.nd-gallery-filter {
  display: flex; flex-wrap: wrap; gap: .5rem;
  margin-bottom: 2rem;
}

.nd-gallery-filter__btn {
  padding: .45rem 1.1rem; border-radius: var(--nd-radius-full);
  font-size: .85rem; font-weight: 600; cursor: pointer;
  transition: all var(--nd-t-fast);
  background: var(--nd-bg); border: 1px solid var(--nd-border); color: var(--nd-muted);
}
.nd-gallery-filter__btn.active,
.nd-gallery-filter__btn:hover {
  background: var(--nd-blue); color: #fff; border-color: var(--nd-blue);
}

.nd-gallery-page__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: .75rem;
}

.nd-gallery-page__item {
  border-radius: var(--nd-radius); overflow: hidden;
  position: relative; cursor: zoom-in; aspect-ratio: 4/3;
  background: var(--nd-blue-pale);
}
.nd-gallery-page__item.wide { grid-column: span 2; }

.nd-gallery-page__item img {
  width: 100%; height: 100%;
  transition: transform .5s ease;
}
.nd-gallery-page__item:hover img { transform: scale(1.06); }

.nd-gallery-page__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(13,71,161,.7) 0%, transparent 60%);
  opacity: 0; transition: opacity var(--nd-t);
  display: flex; align-items: flex-end; padding: 1rem;
  color: #fff; font-weight: 600; font-size: .9rem;
}
.nd-gallery-page__item:hover .nd-gallery-page__overlay { opacity: 1; }

/* Lightbox */
.nd-lightbox {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(10,37,88,.95); backdrop-filter: blur(12px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transition: all var(--nd-t);
  padding: 2rem;
}
.nd-lightbox.open { opacity: 1; visibility: visible; }

.nd-lightbox__img {
  max-width: 90vw; max-height: 85vh;
  border-radius: var(--nd-radius-lg); box-shadow: var(--nd-shadow-xl);
  object-fit: contain;
}

.nd-lightbox__close {
  position: absolute; top: 1.5rem; right: 1.5rem;
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(255,255,255,.15); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem; cursor: pointer; transition: background var(--nd-t-fast);
  backdrop-filter: blur(8px);
}
.nd-lightbox__close:hover { background: rgba(255,255,255,.25); }

.nd-lightbox__caption {
  position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%);
  color: rgba(255,255,255,.8); font-size: .9rem; text-align: center;
  max-width: 60ch;
}

/* ══════════════════════════════════════════════════════════════════════════
   CONTACT PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.nd-contact-page { padding: 3rem 0 5rem; }

.nd-contact__layout {
  display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start;
}

.nd-contact-info__card {
  background: var(--nd-white); border-radius: var(--nd-radius-lg);
  box-shadow: var(--nd-shadow); padding: 2rem;
  border: 1px solid var(--nd-border);
  margin-bottom: 1.25rem;
  display: flex; gap: 1rem; align-items: flex-start;
}

.nd-contact-info__icon {
  width: 48px; height: 48px; border-radius: var(--nd-radius);
  background: var(--nd-blue-pale); display: flex; align-items: center;
  justify-content: center; color: var(--nd-blue); flex-shrink: 0;
}

.nd-contact-info__label { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--nd-muted); margin-bottom: .3rem; }
.nd-contact-info__value { font-size: 1rem; font-weight: 600; color: var(--nd-text); }
.nd-contact-info__value a { color: var(--nd-blue); }

/* ══════════════════════════════════════════════════════════════════════════
   FORMS
   ══════════════════════════════════════════════════════════════════════════ */
.nd-form-card {
  background: var(--nd-white); border-radius: var(--nd-radius-xl);
  box-shadow: var(--nd-shadow-lg); padding: 2.5rem;
  border: 1px solid var(--nd-border);
}

.nd-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

.nd-field { margin-bottom: 1.25rem; }

.nd-field label {
  display: block; font-size: .85rem; font-weight: 600;
  color: var(--nd-text-2); margin-bottom: .4rem;
}

.nd-field input,
.nd-field textarea,
.nd-field select {
  width: 100%; padding: .75rem 1rem;
  border: 2px solid var(--nd-border); border-radius: var(--nd-radius);
  font-size: .95rem; font-family: var(--nd-font-bn); color: var(--nd-text);
  background: var(--nd-white); outline: none;
  transition: border-color var(--nd-t-fast), box-shadow var(--nd-t-fast);
  -webkit-appearance: none;
}
.nd-field input:focus,
.nd-field textarea:focus,
.nd-field select:focus {
  border-color: var(--nd-blue);
  box-shadow: 0 0 0 3px rgba(21,101,192,.12);
}

.nd-field textarea { min-height: 120px; resize: vertical; }

.nd-field--file input[type=file] {
  padding: .6rem; cursor: pointer;
  background: var(--nd-bg);
}

.nd-field-help { font-size: .8rem; color: var(--nd-muted); margin-top: .35rem; }
.nd-field-err  { font-size: .8rem; color: var(--nd-error); margin-top: .35rem; }

/* Radio / checkbox groups */
.nd-radio-group, .nd-check-group {
  display: flex; flex-wrap: wrap; gap: .75rem;
}

.nd-radio-label, .nd-check-label {
  display: flex; align-items: center; gap: .5rem;
  padding: .6rem 1.1rem; border-radius: var(--nd-radius-full);
  border: 2px solid var(--nd-border); cursor: pointer;
  font-size: .9rem; font-weight: 500; transition: all var(--nd-t-fast);
  user-select: none;
}
.nd-radio-label:hover { border-color: var(--nd-blue); background: var(--nd-blue-xpale); }
input[type=radio]:checked + .nd-radio-label,
input[type=checkbox]:checked + .nd-check-label {
  border-color: var(--nd-blue); background: var(--nd-blue); color: #fff;
}
.nd-chip input { position: absolute; opacity: 0; pointer-events: none; }
.nd-chip input:focus-visible + .nd-radio-label { outline: 3px solid rgba(21,101,192,.35); outline-offset: 2px; }

/* ══════════════════════════════════════════════════════════════════════════
   MEMBER JOIN PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.nd-join-page { padding: 3rem 0 5rem; background: var(--nd-bg); }

.nd-join-layout {
  display: grid; grid-template-columns: 1fr 380px; gap: 2rem; align-items: start;
}

.nd-fee-sidebar {
  background: var(--nd-blue-dark); border-radius: var(--nd-radius-xl);
  padding: 2rem; color: #fff; position: sticky; top: 90px;
}

.nd-fee-sidebar h3 { font-size: 1.1rem; margin-bottom: 1.5rem; color: rgba(255,255,255,.8); font-weight: 600; }

.nd-fee-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.1);
}
.nd-fee-item:last-of-type { border-bottom: none; }

.nd-fee-item__type { font-weight: 700; color: #fff; }
.nd-fee-item__period { font-size: .8rem; color: rgba(255,255,255,.6); }
.nd-fee-item__amount {
  font-size: 1.5rem; font-weight: 800; color: var(--nd-yellow);
  font-family: var(--nd-font-en);
}

.nd-payment-methods {
  margin-top: 1.5rem; padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,.15);
}

.nd-payment-methods h4 { font-size: .85rem; color: rgba(255,255,255,.7); margin-bottom: 1rem; font-weight: 600; }

.nd-pay-method {
  background: rgba(255,255,255,.1); border-radius: var(--nd-radius);
  padding: .75rem 1rem; margin-bottom: .75rem;
  display: flex; align-items: center; gap: .75rem;
}

.nd-pay-method__icon { font-size: 1.25rem; }
.nd-pay-method__label { font-size: .85rem; color: rgba(255,255,255,.7); }
.nd-pay-method__num { font-weight: 700; color: var(--nd-yellow); font-family: var(--nd-font-en); }

/* ══════════════════════════════════════════════════════════════════════════
   BLOG / POST PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.nd-blog-page { padding: 3rem 0 5rem; }
.nd-post-page { padding: 0 0 5rem; }

.nd-post-hero {
  background: var(--nd-grad-hero); padding: 6rem 0 4rem;
  position: relative; overflow: hidden; margin-bottom: 0;
}

.nd-post-hero__inner { position: relative; z-index: 1; max-width: 800px; margin: 0 auto; padding: 0 1.5rem; }

.nd-post-hero h1 {
  font-size: clamp(1.75rem, 4vw, 3rem); color: #fff; margin-bottom: 1rem;
}

.nd-post-meta {
  display: flex; align-items: center; flex-wrap: wrap; gap: .75rem;
  font-size: .85rem; color: rgba(255,255,255,.75);
}

.nd-post-body {
  max-width: 800px; margin: 3rem auto; padding: 0 1.5rem;
  font-size: 1.05rem; line-height: 1.85; color: var(--nd-text-2);
}

.nd-post-body h2 { font-size: 1.6rem; margin: 2rem 0 .75rem; color: var(--nd-text); }
.nd-post-body h3 { font-size: 1.3rem; margin: 1.5rem 0 .6rem; color: var(--nd-text); }
.nd-post-body p  { margin-bottom: 1.25rem; }
.nd-post-body ul, .nd-post-body ol { padding-left: 1.5rem; margin-bottom: 1.25rem; }
.nd-post-body ul { list-style: disc; }
.nd-post-body ol { list-style: decimal; }
.nd-post-body li { margin-bottom: .4rem; }
.nd-post-body blockquote {
  border-left: 4px solid var(--nd-yellow); padding: 1rem 1.5rem;
  margin: 1.5rem 0; background: var(--nd-blue-xpale);
  border-radius: 0 var(--nd-radius) var(--nd-radius) 0;
  color: var(--nd-blue-dark); font-style: italic;
}
.nd-post-body img {
  width: 100%; border-radius: var(--nd-radius); margin: 1.5rem 0;
  box-shadow: var(--nd-shadow);
}

/* Author card */
.nd-author-card {
  max-width: 800px; margin: 2rem auto; padding: 0 1.5rem;
}
.nd-author-card__inner {
  display: flex; gap: 1.25rem; align-items: center;
  background: var(--nd-blue-xpale); border-radius: var(--nd-radius-lg);
  padding: 1.5rem; border: 1px solid var(--nd-blue-pale);
}
.nd-author-card__photo {
  width: 64px; height: 64px; border-radius: 50%; overflow: hidden;
  background: var(--nd-blue-pale); flex-shrink: 0;
}
.nd-author-card__photo img { width: 100%; height: 100%; }
.nd-author-card__initials {
  width: 100%; height: 100%; background: var(--nd-blue);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 700; font-size: 1.25rem;
}
.nd-author-card__name { font-weight: 700; margin-bottom: .2rem; }
.nd-author-card__role { font-size: .85rem; color: var(--nd-blue); margin-bottom: .4rem; }
.nd-author-card__bio { font-size: .88rem; color: var(--nd-muted); }

/* ══════════════════════════════════════════════════════════════════════════
   EVENTS PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.nd-events-page { padding: 3rem 0 5rem; }

.nd-events-tabs {
  display: flex; gap: .5rem; margin-bottom: 2rem; border-bottom: 2px solid var(--nd-border);
}
.nd-tab-btn {
  padding: .75rem 1.5rem; font-weight: 600; font-size: .9rem;
  color: var(--nd-muted); cursor: pointer; position: relative;
  transition: color var(--nd-t-fast);
}
.nd-tab-btn.active { color: var(--nd-blue); }
.nd-tab-btn.active::after {
  content: '';
  position: absolute; bottom: -2px; left: 0; right: 0; height: 2px;
  background: var(--nd-blue);
}

/* ══════════════════════════════════════════════════════════════════════════
   PAGINATION
   ══════════════════════════════════════════════════════════════════════════ */
.nd-pagination {
  display: flex; justify-content: center; gap: .4rem; margin-top: 3rem; flex-wrap: wrap;
}
.nd-page-link {
  min-width: 40px; height: 40px; border-radius: var(--nd-radius);
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem; font-weight: 600; border: 1px solid var(--nd-border);
  color: var(--nd-text-2); background: var(--nd-white); transition: all var(--nd-t-fast);
  text-decoration: none;
}
.nd-page-link:hover { border-color: var(--nd-blue); color: var(--nd-blue); background: var(--nd-blue-xpale); text-decoration: none; }
.nd-page-link.active { background: var(--nd-blue); color: #fff; border-color: var(--nd-blue); }
.nd-page-link.disabled { opacity: .4; pointer-events: none; }

/* ══════════════════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════════════════ */
.nd-footer {
  background: var(--nd-blue-dark);
  color: rgba(255,255,255,.8);
}

.nd-footer__inner {
  display: grid; grid-template-columns: 1.5fr 1fr 1fr;
  gap: 3rem; padding: 4rem 0 2rem;
  max-width: var(--nd-container); margin: 0 auto; padding-inline: 1.5rem;
}

.nd-footer__col--brand { max-width: 320px; }

.nd-footer__logo-link {
  display: flex; align-items: center; gap: 1rem;
  margin-bottom: 1rem; text-decoration: none;
}

.nd-footer__logo-link img {
  width: 56px; height: 56px; border-radius: 50%;
  box-shadow: 0 4px 16px rgba(0,0,0,.3);
}

.nd-footer__name {
  font-size: 1.3rem; font-weight: 800; color: #fff;
  font-family: var(--nd-font-en);
}

.nd-footer__tagline {
  font-size: .8rem; color: var(--nd-yellow); margin-top: .2rem;
  font-family: var(--nd-font-bn);
}

.nd-footer__social {
  display: flex; gap: .75rem; margin-top: 1rem;
}
.nd-footer__social a {
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(255,255,255,.1); display: flex; align-items: center;
  justify-content: center; color: rgba(255,255,255,.8);
  transition: all var(--nd-t-fast);
}
.nd-footer__social a:hover {
  background: var(--nd-yellow); color: var(--nd-blue-dark);
  transform: translateY(-3px);
}

.nd-footer__col h4 {
  font-size: .85rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: rgba(255,255,255,.5);
  margin-bottom: 1.25rem;
}

.nd-footer__col ul li { margin-bottom: .6rem; }
.nd-footer__col ul a {
  color: rgba(255,255,255,.75); font-size: .92rem;
  transition: color var(--nd-t-fast);
}
.nd-footer__col ul a:hover { color: var(--nd-yellow); text-decoration: none; }

.nd-footer__contact li {
  display: flex; gap: .6rem; margin-bottom: .75rem;
  color: rgba(255,255,255,.75); font-size: .9rem;
}
.nd-footer__contact li svg { flex-shrink: 0; margin-top: .2rem; }
.nd-footer__contact a { color: rgba(255,255,255,.75); }
.nd-footer__contact a:hover { color: var(--nd-yellow); }

.nd-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.1);
  padding: 1.25rem 0;
}
.nd-footer__bottom-inner {
  max-width: var(--nd-container); margin: 0 auto; padding-inline: 1.5rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  flex-wrap: wrap;
}
.nd-footer__bottom p { font-size: .85rem; color: rgba(255,255,255,.5); }
.nd-footer__credit {
  font-size: .8rem; color: rgba(255,255,255,.4);
}
.nd-footer__credit a {
  color: rgba(255,215,0,.6); font-weight: 600;
  transition: color var(--nd-t-fast);
}
.nd-footer__credit a:hover { color: var(--nd-yellow); text-decoration: none; }

/* ══════════════════════════════════════════════════════════════════════════
   FLASH MESSAGES
   ══════════════════════════════════════════════════════════════════════════ */
.nd-flash {
  padding: 1rem 1.5rem; border-radius: var(--nd-radius); margin: 1rem 0;
  font-weight: 500; display: flex; align-items: center; gap: .75rem;
  animation: nd-slide-in .3s ease;
}
@keyframes nd-slide-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

.nd-flash--ok  { background: #ECFDF5; color: #065F46; border: 1px solid #A7F3D0; }
.nd-flash--err { background: #FEF2F2; color: #991B1B; border: 1px solid #FECACA; }
.nd-flash--info { background: #EFF6FF; color: #1E40AF; border: 1px solid #BFDBFE; }

/* ══════════════════════════════════════════════════════════════════════════
   BREADCRUMB
   ══════════════════════════════════════════════════════════════════════════ */
.nd-breadcrumb {
  padding: .75rem 0; margin-bottom: 1.5rem;
  font-size: .85rem;
}
.nd-breadcrumb ol {
  display: flex; flex-wrap: wrap; align-items: center; gap: .4rem;
}
.nd-breadcrumb a { color: var(--nd-blue); }
.nd-breadcrumb li:last-child { color: var(--nd-muted); }
.nd-breadcrumb__sep { color: var(--nd-muted-2); }

/* ══════════════════════════════════════════════════════════════════════════
   FLOATING ELEMENTS
   ══════════════════════════════════════════════════════════════════════════ */

/* WhatsApp floating button */
.nd-whatsapp-float {
  position: fixed; bottom: 2rem; right: 2rem; z-index: 800;
  width: 56px; height: 56px; border-radius: 50%;
  background: #25D366; color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.4);
  transition: all var(--nd-t); text-decoration: none;
  animation: nd-whatsapp-pulse 3s ease-in-out infinite;
}
.nd-whatsapp-float:hover { transform: scale(1.1); color: #fff; text-decoration: none; }

@keyframes nd-whatsapp-pulse {
  0%, 100% { box-shadow: 0 4px 20px rgba(37,211,102,.4); }
  50%       { box-shadow: 0 4px 30px rgba(37,211,102,.65); }
}

/* Back to top */
.nd-back-top {
  position: fixed; bottom: 2rem; right: 5.5rem; z-index: 800;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--nd-blue); color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--nd-shadow);
  transition: all var(--nd-t); opacity: 0; visibility: hidden;
}
.nd-back-top.visible { opacity: 1; visibility: visible; }
.nd-back-top:hover { background: var(--nd-blue-dark); transform: translateY(-3px); color: #fff; text-decoration: none; }

/* ══════════════════════════════════════════════════════════════════════════
   UTILITY / ANIMATION
   ══════════════════════════════════════════════════════════════════════════ */
.nd-reveal {
  opacity: 0; transform: translateY(24px);
  transition: opacity .6s ease, transform .6s ease;
}
.nd-reveal.in-view { opacity: 1; transform: translateY(0); }

.nd-reveal-delay-1 { transition-delay: .1s; }
.nd-reveal-delay-2 { transition-delay: .2s; }
.nd-reveal-delay-3 { transition-delay: .3s; }
.nd-reveal-delay-4 { transition-delay: .4s; }

.nd-text-center { text-align: center; }
.nd-mb-4 { margin-bottom: 1rem; }
.nd-mb-8 { margin-bottom: 2rem; }
.nd-mt-auto { margin-top: auto; }
.nd-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

/* Install check page */
.nd-install-wrap {
  max-width: 640px; margin: 3rem auto; padding: 1.5rem;
}
.nd-health-item {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 1rem; border-radius: var(--nd-radius); margin-bottom: .75rem;
}
.nd-health-item.ok   { background: #ECFDF5; border: 1px solid #A7F3D0; }
.nd-health-item.fail { background: #FEF2F2; border: 1px solid #FECACA; }
.nd-health-item__icon { font-size: 1.25rem; flex-shrink: 0; margin-top: .1rem; }

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — TABLET (≤ 1024px)
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .nd-about-preview__inner  { grid-template-columns: 1fr; gap: 2.5rem; }
  .nd-about-preview__graphic { order: -1; }
  .nd-about-preview__logo-wrap { width: 260px; height: 260px; }
  .nd-founder-card { grid-template-columns: 260px 1fr; gap: 2.5rem; }
  .nd-join-layout  { grid-template-columns: 1fr; }
  .nd-fee-sidebar  { position: static; }
  .nd-contact__layout { grid-template-columns: 1fr; }
  .nd-footer__inner { grid-template-columns: 1fr 1fr; }
  .nd-chibordan-teaser__inner { grid-template-columns: 1fr; gap: 1.5rem; }
  .nd-stats__grid { grid-template-columns: repeat(2, 1fr); }
  .nd-stats__item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); }
  .nd-stats__item:nth-child(even) { border-right: none; }
}

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE (≤ 768px)
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* Hero */
  .nd-hero { min-height: 90vh; padding: 5rem 1.25rem 3rem; }
  .nd-hero__logo { width: 110px; height: 110px; }
  .nd-hero__actions { flex-direction: column; align-items: center; }
  .nd-hero__actions .nd-btn { width: 100%; max-width: 280px; }

  /* Sections */
  .nd-about-preview { padding: 3.5rem 0; }
  .nd-about-preview__pillars { grid-template-columns: 1fr; }
  .nd-events-preview, .nd-gallery-preview, .nd-blog-preview, .nd-join-cta { padding: 3.5rem 0; }
  .nd-events__grid, .nd-blog__grid { grid-template-columns: 1fr; }
  .nd-gallery__grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 180px; }
  .nd-gallery__item:nth-child(1), .nd-gallery__item:nth-child(4) { grid-column: span 1; }
  .nd-stats__grid { grid-template-columns: repeat(2, 1fr); }
  .nd-chibordan-teaser__inner { grid-template-columns: 1fr; text-align: center; }

  /* About page */
  .nd-founder-card { grid-template-columns: 1fr; padding: 1.75rem; }
  .nd-founder-card__photo { max-width: 240px; margin: 0 auto; }
  .nd-advisors__grid { grid-template-columns: repeat(2, 1fr); }
  .nd-members__grid { grid-template-columns: repeat(3, 1fr); }

  /* Chibordan */
  .nd-cb-entry { flex-direction: column; align-items: flex-start; padding: 1rem; }
  .nd-cb-entry__actions { width: 100%; }
  .nd-cb-entry__btn { flex: 1; justify-content: center; }

  /* Forms */
  .nd-form-row { grid-template-columns: 1fr; }
  .nd-form-card { padding: 1.5rem; }

  /* Footer */
  .nd-footer__inner { grid-template-columns: 1fr; gap: 2rem; padding-top: 3rem; }
  .nd-footer__col--brand { max-width: none; }
  .nd-footer__bottom-inner { flex-direction: column; text-align: center; gap: .5rem; }

  /* Floating */
  .nd-whatsapp-float { bottom: 1.25rem; right: 1.25rem; }
  .nd-back-top { bottom: 1.25rem; right: 5rem; }

  /* Gallery page */
  .nd-gallery-page__grid { grid-template-columns: 1fr 1fr; }
  .nd-gallery-page__item.wide { grid-column: span 1; }
}

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — SMALL MOBILE (≤ 480px)
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  .nd-members__grid { grid-template-columns: repeat(2, 1fr); }
  .nd-advisors__grid { grid-template-columns: 1fr; }
  .nd-gallery__grid { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .nd-gallery__item:nth-child(1), .nd-gallery__item:nth-child(4) { grid-column: span 1; }
  .nd-join-cta__cards { flex-direction: column; align-items: center; }
  .nd-fee-card { width: 100%; max-width: 280px; }
  .nd-gallery-page__grid { grid-template-columns: 1fr; }
  .nd-chibordan-teaser__count { font-size: 3.5rem; }
}


/* ══════════════════════════════════════════════════════════════════════════
   INNER PAGE COMPONENTS (chibordan, contact, join, post, event, 404)
   ══════════════════════════════════════════════════════════════════════════ */
:root { --nd-transition: .25s cubic-bezier(.4,0,.2,1); --nd-yellow-dark: #F4B942; --nd-bc-color: rgba(255,255,255,.8); --nd-bc-sep: rgba(255,255,255,.5); }
.nd-btn--large {padding: .8rem 2rem; font-size: 1rem; border-radius: 10px;}
.nd-page-hero--blue {background: linear-gradient(135deg, var(--nd-blue-dark), var(--nd-blue-light));
  color: #fff;}
.nd-page-hero--blue .nd-breadcrumb {--nd-bc-color: rgba(255,255,255,.75); --nd-bc-sep: rgba(255,255,255,.5);}
.nd-gallery-grid {columns: 4;
  column-gap: .75rem;}
.nd-gallery-item {break-inside: avoid;
  margin-bottom: .75rem;
  border-radius: var(--nd-radius);
  overflow: hidden;
  cursor: pointer;
  position: relative;}
.nd-gallery-item img {width: 100%;
  display: block;
  transition: transform .3s;}
.nd-gallery-item:hover img {transform: scale(1.03);}
.nd-gallery-item__caption {position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0,0,0,.7), transparent);
  color: #fff;
  padding: .6rem .75rem .5rem;
  font-size: .78rem;
  transform: translateY(100%);
  transition: transform .2s;}
.nd-gallery-item:hover .nd-gallery-item__caption {transform: translateY(0);}
.nd-lightbox__prev, .nd-lightbox__next {position: absolute;
  background: rgba(255,255,255,.12);
  border: none;
  color: #fff;
  font-size: 1.3rem;
  cursor: pointer;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s;
  backdrop-filter: blur(4px);}
.nd-lightbox__prev:hover, .nd-lightbox__next:hover {background: rgba(255,255,255,.24);}
.nd-lightbox__prev {left: 1rem; top: 50%; transform: translateY(-50%);}
.nd-lightbox__next {right: 1rem; top: 50%; transform: translateY(-50%);}
.nd-founder {background: linear-gradient(135deg, var(--nd-blue-dark), var(--nd-blue));
  color: #fff;
  padding: 5rem 0;}
.nd-founder__photo {width: 180px;
  height: 180px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid var(--nd-yellow);
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
  margin: 0 auto;}
.nd-founder__avatar {width: 180px;
  height: 180px;
  border-radius: 50%;
  border: 4px solid var(--nd-yellow);
  background: rgba(255,255,255,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
  margin: 0 auto;}
.nd-founder__title {color: var(--nd-yellow); font-size: .9rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .4rem;}
.nd-founder__name {font-size: 2rem; font-weight: 700; margin-bottom: .3rem;}
.nd-founder__bio {opacity: .88; line-height: 1.8;}
.nd-advisors {padding: 5rem 0; background: var(--nd-off);}
.nd-advisor-card__avatar {width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--nd-blue);
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto .75rem;}
.nd-members-filter {display: flex;
  gap: .4rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  justify-content: center;}
.nd-members-filter__btn {padding: .35rem .9rem;
  border-radius: 100px;
  border: 1px solid var(--nd-border);
  background: var(--nd-white);
  color: var(--nd-muted);
  font-size: .84rem;
  font-weight: 600;
  cursor: pointer;
  transition: var(--nd-transition);
  font-family: inherit;}
.nd-members-filter__btn.active, .nd-members-filter__btn:hover {background: var(--nd-blue);
  color: #fff;
  border-color: var(--nd-blue);}
.nd-event-detail {padding: 3rem 0 5rem;}
.nd-event-detail__hero {width: 100%; max-height: 400px; object-fit: cover; border-radius: var(--nd-radius-lg); margin-bottom: 2rem;}
.nd-event-detail__meta {display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  background: var(--nd-blue-pale);
  padding: 1.2rem 1.5rem;
  border-radius: var(--nd-radius);
  margin-bottom: 2rem;
  font-size: .9rem;}
.nd-event-detail__meta-item {display: flex; align-items: center; gap: .4rem; color: var(--nd-blue-dark); font-weight: 500;}
.nd-post {padding-bottom: 5rem;}
.nd-post__hero {width: 100%; max-height: 420px; overflow: hidden;}
.nd-post__hero img {width: 100%; object-fit: cover; max-height: 420px;}
.nd-post__inner {max-width: 760px; margin: 0 auto; padding-top: 2rem;}
.nd-post__meta {display: flex; align-items: center; gap: .5rem; font-size: .85rem; color: var(--nd-muted); margin-bottom: .75rem; flex-wrap: wrap;}
.nd-post__sep {opacity: .4;}
.nd-post__lead {font-size: 1.1rem; color: var(--nd-muted); margin-top: .5rem; line-height: 1.6;}
.nd-post__body {margin-top: 2rem; font-size: 1rem; line-height: 1.85;}
.nd-post__body h2, .nd-post__body h3 {color: var(--nd-blue-dark); margin: 1.5rem 0 .5rem;}
.nd-post__body p {margin-bottom: 1.2rem;}
.nd-post__body ul {list-style: disc; margin: .5rem 0 1.2rem 1.2rem;}
.nd-post__body blockquote {border-left: 4px solid var(--nd-yellow);
  padding: .75rem 1rem;
  margin: 1.5rem 0;
  background: var(--nd-blue-pale);
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: var(--nd-blue-dark);}
.nd-post__body a {text-decoration: underline;}
.nd-post__author-box {display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--nd-off);
  border: 1px solid var(--nd-border);
  border-radius: var(--nd-radius);
  padding: 1.2rem;
  margin-top: 3rem;}
.nd-post__author-photo {width: 60px; height: 60px; border-radius: 50%; object-fit: cover; flex-shrink: 0;}
.nd-post__author-avatar {width: 60px; height: 60px; border-radius: 50%; background: var(--nd-blue); color: #fff; font-size: 1.3rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
.nd-post__author-name {font-weight: 700;}
.nd-post__author-role {font-size: .82rem; color: var(--nd-muted);}
.nd-post__author-bio {font-size: .88rem; color: var(--nd-muted); margin-top: .3rem;}
.nd-contact {padding: 5rem 0;}
.nd-contact__inner {display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 3rem;
  align-items: start;}
.nd-contact__detail {display: flex; align-items: flex-start; gap: .75rem; margin-bottom: 1.2rem;}
.nd-contact__detail-icon {font-size: 1.3rem;}
.nd-contact__detail strong {display: block; font-weight: 600; font-size: .9rem;}
.nd-contact__detail p {font-size: .88rem; color: var(--nd-muted); margin-top: .15rem;}
.nd-contact__detail a {color: var(--nd-blue);}
.nd-contact__map {margin-top: 1.5rem; border-radius: var(--nd-radius); overflow: hidden;}
.nd-contact__map iframe {width: 100%; height: 240px; border: none;}
.nd-form {display: flex; flex-direction: column; gap: 1.1rem;}
.nd-form__row {display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;}
.nd-form__field {display: flex; flex-direction: column; gap: .3rem;}
.nd-form__field label {font-size: .84rem; font-weight: 600; color: var(--nd-muted); text-transform: uppercase; letter-spacing: .03em;}
.nd-form__field input, .nd-form__field textarea, .nd-form__field select {padding: .65rem .9rem;
  border: 1.5px solid var(--nd-border);
  border-radius: 8px;
  font-size: .95rem;
  font-family: var(--nd-font-bn);
  color: var(--nd-text);
  background: var(--nd-white);
  transition: border-color .15s, box-shadow .15s;}
.nd-form__field input:focus, .nd-form__field textarea:focus, .nd-form__field select:focus {outline: none;
  border-color: var(--nd-blue);
  box-shadow: 0 0 0 3px rgba(21,101,192,.1);}
.nd-form__field textarea {min-height: 120px; resize: vertical;}
.nd-form__field small {font-size: .78rem; color: var(--nd-muted);}
.nd-form__submit {display: flex; flex-direction: column; gap: .6rem; align-items: flex-start;}
.nd-form__note {font-size: .82rem; color: var(--nd-muted);}
.nd-radio {display: flex; align-items: center; gap: .6rem; cursor: pointer; font-size: .9rem;}
.nd-radio input[type="radio"] {display: none;}
.nd-radio__mark {width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--nd-border);
  flex-shrink: 0;
  transition: var(--nd-transition);
  position: relative;}
.nd-radio input:checked ~ .nd-radio__mark {border-color: var(--nd-blue); background: var(--nd-blue);}
.nd-radio input:checked ~ .nd-radio__mark::after {content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: #fff;}
.nd-alert {padding: .75rem 1rem;
  border-radius: 8px;
  font-size: .9rem;
  font-weight: 500;}
.nd-alert--error {background: #fff5f5; border: 1px solid #fed7d7; color: var(--nd-error);}
.nd-success-box {background: var(--nd-white);
  border: 1px solid #c6f6d5;
  border-radius: var(--nd-radius-lg);
  padding: 2.5rem;
  text-align: center;
  box-shadow: var(--nd-shadow);}
.nd-success-box--lg {max-width: 580px; margin: 0 auto;}
.nd-success-box__icon {font-size: 3rem; margin-bottom: .75rem;}
.nd-success-box h2, .nd-success-box h3 {color: var(--nd-success); margin-bottom: .5rem;}
.nd-success-box__id {font-family: monospace;
  font-size: 1.1rem;
  background: var(--nd-off);
  padding: .5rem 1rem;
  border-radius: 6px;
  border: 1px dashed var(--nd-border);
  margin: .75rem 0;
  word-break: break-all;
  font-weight: 700;
  color: var(--nd-blue-dark);}
.nd-success-box__payment {text-align: left; border-top: 1px solid var(--nd-border); margin-top: 1.5rem; padding-top: 1.2rem;}
.nd-success-box__payment h3 {margin-bottom: .5rem; font-size: 1rem;}
.nd-payment-option {padding: .5rem 0; border-bottom: 1px solid var(--nd-border); font-size: .9rem; display: flex; align-items: center; gap: .5rem;}
.nd-payment-option:last-of-type {border-bottom: none;}
.nd-success-box__note {font-size: .82rem; color: var(--nd-muted); margin-top: .75rem;}
.nd-membership-plans {display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  margin-bottom: 3rem;}
.nd-membership-plan {background: var(--nd-white);
  border: 2px solid var(--nd-border);
  border-radius: var(--nd-radius-lg);
  padding: 2rem 1.5rem;
  text-align: center;
  position: relative;
  transition: var(--nd-transition);}
.nd-membership-plan:hover {border-color: var(--nd-blue); transform: translateY(-3px); box-shadow: var(--nd-shadow);}
.nd-membership-plan--featured {border-color: var(--nd-blue); background: var(--nd-blue-pale);}
.nd-membership-plan__badge {position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--nd-blue);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  padding: .2rem .7rem;
  border-radius: 100px;
  text-transform: uppercase;
  letter-spacing: .05em;}
.nd-membership-plan__type {font-weight: 700; font-size: .9rem; color: var(--nd-muted); text-transform: uppercase; letter-spacing: .04em; margin-bottom: .5rem;}
.nd-membership-plan__fee {font-size: 2rem; font-weight: 700; color: var(--nd-blue-dark); margin-bottom: 1rem;}
.nd-membership-plan__fee span {font-size: 1rem; color: var(--nd-muted);}
.nd-membership-plan ul {text-align: left; list-style: disc; padding-left: 1.2rem;}
.nd-membership-plan ul li {font-size: .88rem; color: var(--nd-muted); margin-bottom: .3rem;}
.nd-404 {padding: 7rem 0; text-align: center;}
.nd-404__inner {display: flex; flex-direction: column; align-items: center; gap: 1rem;}
.nd-404__num {font-size: 7rem; font-weight: 800; color: var(--nd-blue-pale); line-height: 1;}
.nd-404 h1 {font-size: 1.8rem; color: var(--nd-blue-dark);}
.nd-404 p {color: var(--nd-muted); max-width: 400px;}
@media (max-width: 1024px) {
  .nd-contact__inner {grid-template-columns: 1fr;}
  .nd-gallery-grid {columns: 3;}
}
@media (max-width: 768px) {
  .nd-form__row {grid-template-columns: 1fr;}
  .nd-gallery-grid {columns: 2;}
}
@media (max-width: 480px) {
  .nd-gallery-grid {columns: 1;}
  .nd-membership-plans {grid-template-columns: 1fr;}
}

/* ══════════════════════════════════════════════════════════════════════════
   INNER PAGES — v2 premium layer (overrides the base rules above)
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Page hero (all inner pages) ─────────────────────────────────────── */
.nd-page-hero { text-align: center; color: #fff; padding: 8rem 0 5rem; isolation: isolate; }
.nd-page-hero::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(circle at 12% 25%, rgba(255,215,0,.18) 0%, transparent 45%),
    radial-gradient(circle at 88% 80%, rgba(66,165,245,.35) 0%, transparent 50%),
    url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='1.5' fill='%23ffffff' fill-opacity='.08'/%3E%3C/svg%3E");
}
.nd-page-hero h1 { color: #fff; font-size: clamp(2rem, 5vw, 3.4rem); margin: .5rem 0 .75rem; text-shadow: 0 2px 20px rgba(0,0,0,.18); }
.nd-page-hero p  { color: rgba(255,255,255,.85); font-size: clamp(1rem, 1.6vw, 1.15rem); max-width: 640px; margin: 0 auto; }
.nd-page-hero .nd-section-label { background: rgba(255,255,255,.14); color: var(--nd-yellow); border: 1px solid rgba(255,255,255,.2); }
.nd-page-hero .nd-breadcrumb { display: flex; justify-content: center; margin-bottom: .5rem; padding: 0; }
.nd-page-hero .nd-breadcrumb ol { justify-content: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); padding: .35rem 1rem; border-radius: var(--nd-radius-full); backdrop-filter: blur(6px); }
.nd-page-hero .nd-breadcrumb a, .nd-page-hero .nd-breadcrumb li { color: rgba(255,255,255,.85); font-size: .82rem; }
.nd-page-hero .nd-breadcrumb li:last-child { color: var(--nd-yellow); }
.nd-page-hero--saffron { background: linear-gradient(135deg, #7A2E00 0%, #B45309 35%, #D97706 70%, #F59E0B 100%); }
.nd-page-hero--saffron::after { background: var(--nd-bg); }
.nd-dhamma-wheel {
  display: inline-flex; align-items: center; justify-content: center;
  width: 72px; height: 72px; border-radius: 50%; font-size: 2.6rem; line-height: 1;
  color: var(--nd-yellow); background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25);
  animation: nd-ring-spin 24s linear infinite; margin-bottom: .25rem;
}
.nd-dhamma-wheel--sm { width: 60px; height: 60px; font-size: 2.1rem; }

/* ── Section header variants ─────────────────────────────────────────── */
.nd-section-header--center { text-align: center; }
.nd-section-header .nd-section-link { margin-top: 1rem; }

/* ── Empty state ─────────────────────────────────────────────────────── */
.nd-empty-state {
  text-align: center; padding: 4rem 1.5rem; background: var(--nd-white);
  border: 2px dashed var(--nd-border); border-radius: var(--nd-radius-xl); max-width: 560px; margin: 1rem auto;
}
.nd-empty-state__icon { font-size: 3rem; margin-bottom: .75rem; }
.nd-empty-state h3 { margin-bottom: .4rem; }
.nd-empty-state p { color: var(--nd-muted); }

/* ── Buttons extra ───────────────────────────────────────────────────── */
.nd-btn--ghost { background: transparent; color: var(--nd-muted); border: 2px solid var(--nd-border); }
.nd-btn--ghost:hover { border-color: var(--nd-blue); color: var(--nd-blue); text-decoration: none; }
.nd-btn--large { padding: 1rem 2.5rem; font-size: 1.05rem; }

/* ── About: story / mission ──────────────────────────────────────────── */
.nd-about-story { padding: 5rem 0; background: var(--nd-white); }
.nd-about-story__inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: 3.5rem; align-items: start; }
.nd-about-story__text h2 { font-size: clamp(1.75rem, 3vw, 2.4rem); margin-bottom: 1rem; }
.nd-about-story__body { color: var(--nd-text-2); font-size: 1.05rem; line-height: 1.85; }
.nd-about-story__body p { margin-bottom: 1rem; }
.nd-about-story__pillars { display: grid; gap: 1.25rem; }
.nd-mission-box {
  position: relative; background: linear-gradient(145deg, var(--nd-blue-xpale), #fff);
  border: 1px solid var(--nd-blue-pale); border-radius: var(--nd-radius-lg);
  padding: 1.75rem 1.75rem 1.75rem 5rem; box-shadow: var(--nd-shadow-sm); transition: all var(--nd-t);
}
.nd-mission-box:hover { transform: translateY(-4px); box-shadow: var(--nd-shadow); }
.nd-mission-box__icon {
  position: absolute; left: 1.5rem; top: 1.6rem; width: 44px; height: 44px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center; font-size: 1.4rem;
  background: var(--nd-grad-blue); box-shadow: var(--nd-shadow-sm);
}
.nd-mission-box h3 { font-size: 1.1rem; color: var(--nd-blue-dark); margin-bottom: .35rem; }
.nd-mission-box p { color: var(--nd-muted); font-size: .95rem; }

/* ── About: founder ──────────────────────────────────────────────────── */
.nd-founder { padding: 5rem 0; background: var(--nd-bg); }
.nd-founder__card {
  display: grid; grid-template-columns: 300px 1fr; gap: 3.5rem; align-items: center;
  background: var(--nd-white); border-radius: var(--nd-radius-xl); padding: 3rem;
  box-shadow: var(--nd-shadow-lg); border: 1px solid var(--nd-border); max-width: 1000px; margin: 0 auto;
}
.nd-founder__photo-wrap { position: relative; width: 260px; height: 260px; margin: 0 auto; }
.nd-founder__photo { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; position: relative; z-index: 1; border: 6px solid #fff; box-shadow: var(--nd-shadow-lg); }
.nd-founder__photo-ring { position: absolute; inset: -14px; border-radius: 50%; border: 2px dashed rgba(21,101,192,.3); animation: nd-ring-spin 30s linear infinite; }
.nd-founder__avatar {
  width: 240px; height: 240px; border-radius: 50%; margin: 0 auto; background: var(--nd-grad-hero);
  display: flex; align-items: center; justify-content: center; color: var(--nd-yellow); font-size: 5rem; font-weight: 800; box-shadow: var(--nd-shadow-lg);
}
.nd-founder__name { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: .25rem; }
.nd-founder__title { color: var(--nd-blue); font-weight: 600; margin-bottom: 1.25rem; display: inline-block; background: var(--nd-blue-pale); padding: .3rem .9rem; border-radius: var(--nd-radius-full); font-size: .9rem; }
.nd-founder__bio { color: var(--nd-text-2); line-height: 1.85; }
.nd-founder__bio p { margin-bottom: .9rem; }

/* ── About: advisors ─────────────────────────────────────────────────── */
.nd-advisors { padding: 5rem 0; background: var(--nd-white); }
.nd-advisor-card { padding: 2rem 1.25rem 1.5rem; }
.nd-advisor-card__photo-wrap { width: 112px; height: 112px; margin: 0 auto 1rem; border-radius: 50%; overflow: hidden; border: 4px solid var(--nd-blue-pale); box-shadow: var(--nd-shadow); }
.nd-advisor-card__photo-wrap img { width: 100%; height: 100%; object-fit: cover; }
.nd-advisor-card__avatar { width: 112px; height: 112px; margin: 0 auto 1rem; border-radius: 50%; background: var(--nd-grad-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 2.4rem; font-weight: 700; box-shadow: var(--nd-shadow); }
.nd-advisor-card__body { text-align: center; }
.nd-advisor-card__bio { font-size: .86rem; color: var(--nd-muted); margin-top: .6rem; line-height: 1.6; }

/* ── About: committee + members ──────────────────────────────────────── */
.nd-committee-section { padding: 5rem 0; background: linear-gradient(180deg, var(--nd-bg) 0%, #fff 100%); }
.nd-members__grid { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 1.25rem; }
.nd-member-card {
  background: var(--nd-white); border: 1px solid var(--nd-border); border-radius: var(--nd-radius-lg);
  padding: 1.75rem 1rem 1.4rem; box-shadow: var(--nd-shadow-xs); position: relative; overflow: hidden;
}
.nd-member-card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 56px; background: linear-gradient(135deg, var(--nd-blue-pale), var(--nd-blue-xpale)); z-index: 0; }
.nd-member-card:hover { background: #fff; border-color: var(--nd-blue-light); box-shadow: var(--nd-shadow-lg); transform: translateY(-6px); }
.nd-member-card__photo { position: relative; z-index: 1; width: 96px; height: 96px; border: 4px solid #fff; box-shadow: var(--nd-shadow); }
.nd-member-card__photo img { object-fit: cover; }
.nd-member-card__initials { background: var(--nd-grad-hero); font-size: 1.6rem; letter-spacing: .02em; }
.nd-member-card__name { font-size: .98rem; font-weight: 700; color: var(--nd-text); line-height: 1.35; margin-top: .25rem; }
.nd-member-card__type { display: inline-block; margin-top: .45rem; font-size: .74rem; font-weight: 600; color: var(--nd-blue); background: var(--nd-blue-xpale); padding: .2rem .65rem; border-radius: var(--nd-radius-full); }
.nd-members__grid--committee .nd-member-card__type { color: #8A5A00; background: #FFF6D6; }
.nd-members-filter { margin-bottom: 2rem; }

/* ── Chibordan page ──────────────────────────────────────────────────── */
.nd-chibordan-list { display: block; padding: 3rem 0 5rem; background: var(--nd-bg); }
.nd-chibordan-filter {
  display: flex; flex-wrap: wrap; gap: .75rem; align-items: center;
  background: var(--nd-white); border-radius: var(--nd-radius-lg); box-shadow: var(--nd-shadow);
  padding: 1rem; border: 1px solid var(--nd-border); margin-top: -4.5rem; position: relative; z-index: 5;
}
.nd-chibordan-filter__search {
  flex: 1 1 280px; display: flex; align-items: center; gap: .6rem;
  background: var(--nd-bg); border: 2px solid var(--nd-border); border-radius: var(--nd-radius-full);
  padding: .55rem 1.1rem; color: var(--nd-muted); transition: border-color var(--nd-t-fast);
}
.nd-chibordan-filter__search:focus-within { border-color: var(--nd-blue); background: #fff; }
.nd-chibordan-filter__search input { flex: 1; border: 0; outline: 0; background: transparent; font: inherit; font-size: .95rem; color: var(--nd-text); min-width: 0; }
.nd-chibordan-filter__selects { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.nd-chibordan-filter__selects select {
  padding: .6rem 2.4rem .6rem 1rem; border: 2px solid var(--nd-border); border-radius: var(--nd-radius-full);
  background: var(--nd-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right .9rem center;
  font: inherit; font-size: .9rem; color: var(--nd-text); appearance: none; -webkit-appearance: none; cursor: pointer; max-width: 240px;
}
.nd-chibordan-filter__selects select:focus { outline: 0; border-color: var(--nd-blue); }
.nd-chibordan-info { margin: 1.5rem 0 1rem; }
.nd-chibordan-info__total { color: var(--nd-muted-2); margin-left: .35rem; }
.nd-chibordan-day { margin-bottom: 2.25rem; }
.nd-chibordan-day__header {
  position: sticky; top: 72px; z-index: 4; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem;
  background: var(--nd-grad-hero); color: #fff; border-radius: var(--nd-radius); padding: .85rem 1.25rem; margin-bottom: 1rem; box-shadow: var(--nd-shadow);
}
.nd-chibordan-day__date { font-weight: 700; font-size: 1.05rem; }
.nd-chibordan-day__date-bn { color: var(--nd-yellow); }
.nd-chibordan-day__weekday { font-size: .85rem; color: rgba(255,255,255,.8); }
.nd-chibordan-day__sep { opacity: .5; margin: 0 .4rem; }
.nd-chibordan-day__entries { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: .9rem; }
.nd-chibordan-entry {
  display: flex; align-items: center; gap: 1rem; background: var(--nd-white);
  border: 1px solid var(--nd-border); border-radius: var(--nd-radius-lg); padding: 1rem 1.1rem;
  transition: all var(--nd-t); position: relative; overflow: hidden;
}
.nd-chibordan-entry::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--nd-grad-gold); }
.nd-chibordan-entry:hover { border-color: var(--nd-blue-light); box-shadow: var(--nd-shadow); transform: translateY(-3px); }
.nd-chibordan-entry__icon { flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; color: #B45309; background: #FFF6D6; }
.nd-chibordan-entry__body { flex: 1; min-width: 0; }
.nd-chibordan-entry__name { font-family: var(--nd-font-bn); font-size: 1rem; font-weight: 700; line-height: 1.4; margin-bottom: .2rem; }
.nd-chibordan-entry__district { display: flex; align-items: center; gap: .3rem; font-size: .83rem; color: var(--nd-muted); }
.nd-chibordan-entry__actions { display: flex; flex-direction: column; gap: .4rem; flex-shrink: 0; }
.nd-chibordan-entry__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .35rem; font-size: .76rem; font-weight: 600;
  padding: .38rem .8rem; border-radius: var(--nd-radius-full); transition: all var(--nd-t-fast); white-space: nowrap; text-decoration: none;
}
.nd-chibordan-entry__btn--maps { background: var(--nd-blue-pale); color: var(--nd-blue); }
.nd-chibordan-entry__btn--maps:hover { background: var(--nd-blue); color: #fff; text-decoration: none; }
.nd-chibordan-entry__btn--dir { background: #FFF6D6; color: #8A5A00; }
.nd-chibordan-entry__btn--dir:hover { background: var(--nd-gold); color: var(--nd-blue-dark); text-decoration: none; }

/* ── Pagination (server rendered <ul>) ───────────────────────────────── */
.nd-pagination ul { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.nd-pagination a {
  min-width: 42px; height: 42px; padding: 0 .75rem; display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--nd-radius); border: 1px solid var(--nd-border); background: #fff; color: var(--nd-text-2); font-weight: 600; transition: all var(--nd-t-fast);
}
.nd-pagination a:hover { border-color: var(--nd-blue); color: var(--nd-blue); text-decoration: none; }
.nd-pagination a.nd-pagination__active { background: var(--nd-blue); border-color: var(--nd-blue); color: #fff; box-shadow: var(--nd-shadow-sm); }

/* ── Gallery page ────────────────────────────────────────────────────── */
.nd-gallery-page { background: var(--nd-bg); }
.nd-gallery-filter { justify-content: center; }
.nd-filter-btn {
  padding: .5rem 1.2rem; border-radius: var(--nd-radius-full); font-size: .88rem; font-weight: 600;
  background: #fff; border: 1px solid var(--nd-border); color: var(--nd-muted); transition: all var(--nd-t-fast); text-decoration: none;
}
.nd-filter-btn:hover, .nd-filter-btn--active { background: var(--nd-blue); border-color: var(--nd-blue); color: #fff; text-decoration: none; }
.nd-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); grid-auto-rows: 240px; gap: .9rem; }
.nd-gallery-item { position: relative; overflow: hidden; border-radius: var(--nd-radius-lg); cursor: zoom-in; background: var(--nd-blue-pale); box-shadow: var(--nd-shadow-sm); }
.nd-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.nd-gallery-item:hover img { transform: scale(1.08); }
.nd-gallery-item--wide { grid-column: span 2; }
.nd-gallery-item__overlay {
  position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: space-between; gap: .5rem; padding: 1rem;
  background: linear-gradient(to top, rgba(10,37,88,.8) 0%, transparent 55%); opacity: 0; transition: opacity var(--nd-t);
}
.nd-gallery-item:hover .nd-gallery-item__overlay { opacity: 1; }
.nd-gallery-item__caption { color: #fff; font-weight: 600; font-size: .9rem; margin: 0; }
.nd-lightbox__prev, .nd-lightbox__next {
  position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border-radius: 50%;
  background: rgba(255,255,255,.15); color: #fff; font-size: 2rem; line-height: 1; display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(8px); transition: background var(--nd-t-fast); cursor: pointer;
}
.nd-lightbox__prev { left: 1.5rem; } .nd-lightbox__next { right: 1.5rem; }
.nd-lightbox__prev:hover, .nd-lightbox__next:hover { background: rgba(255,255,255,.3); }

/* ── Events ──────────────────────────────────────────────────────────── */
.nd-events-page { background: var(--nd-bg); }
.nd-tabs { display: inline-flex; gap: .25rem; padding: .3rem; background: #fff; border: 1px solid var(--nd-border); border-radius: var(--nd-radius-full); margin: 0 auto 2.5rem; box-shadow: var(--nd-shadow-xs); }
.nd-events-page .nd-container > .nd-tabs { display: flex; width: fit-content; }
.nd-tab { padding: .55rem 1.4rem; border-radius: var(--nd-radius-full); font-weight: 600; font-size: .9rem; color: var(--nd-muted); transition: all var(--nd-t-fast); }
.nd-tab:hover { color: var(--nd-blue); text-decoration: none; }
.nd-tab--active { background: var(--nd-blue); color: #fff !important; box-shadow: var(--nd-shadow-sm); }
.nd-event-card__img--placeholder { display: flex; align-items: center; justify-content: center; font-size: 3rem; background: var(--nd-grad-hero); color: var(--nd-yellow); }
.nd-event-card__time { color: var(--nd-muted); font-weight: 500; text-transform: none; letter-spacing: 0; }
.nd-event-card__desc { font-size: .9rem; color: var(--nd-muted); line-height: 1.6; margin-bottom: .5rem; }
.nd-event-card--lg .nd-event-card__img { height: 220px; }

/* ── Event detail ────────────────────────────────────────────────────── */
.nd-event-detail { padding: 3rem 0 5rem; }
.nd-event-detail__hero { border-radius: var(--nd-radius-xl); overflow: hidden; margin-bottom: 2rem; box-shadow: var(--nd-shadow-lg); max-height: 480px; }
.nd-event-detail__hero img { width: 100%; height: 100%; object-fit: cover; }
.nd-event-detail__inner { max-width: 820px; margin: 0 auto; }
.nd-event-detail__header { margin-bottom: 2rem; }
.nd-event-detail__meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .9rem; margin-top: 1.25rem; }
.nd-event-detail__meta-item { display: flex; align-items: center; gap: .7rem; background: var(--nd-blue-xpale); border: 1px solid var(--nd-blue-pale); border-radius: var(--nd-radius); padding: .9rem 1rem; font-weight: 600; color: var(--nd-text-2); }
.nd-event-detail__meta-item svg { color: var(--nd-blue); flex-shrink: 0; }
.nd-event-detail__body { font-size: 1.05rem; line-height: 1.85; color: var(--nd-text-2); }
.nd-event-detail__body p { margin-bottom: 1.1rem; }

/* ── Blog ────────────────────────────────────────────────────────────── */
.nd-blog-page { background: var(--nd-bg); }
.nd-blog__grid--full { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.nd-blog-card__img-wrap { display: block; height: 200px; overflow: hidden; background: var(--nd-blue-pale); }
.nd-blog-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.nd-blog-card:hover .nd-blog-card__img-wrap img { transform: scale(1.06); }
.nd-blog-card__date { color: var(--nd-blue); font-weight: 600; }
.nd-blog-card__sep { opacity: .5; }
.nd-blog-card__author { color: var(--nd-muted); }
.nd-blog-card__read-more { margin-top: auto; font-size: .88rem; font-weight: 600; color: var(--nd-blue); display: inline-flex; gap: .3rem; transition: gap var(--nd-t-fast); }
.nd-blog-card__read-more:hover { gap: .6rem; text-decoration: none; }

/* ── Post ────────────────────────────────────────────────────────────── */
.nd-post { padding: 2rem 0 5rem; }
.nd-post__hero { max-width: 1100px; margin: 0 auto 1.5rem; padding: 0 1.5rem; }
.nd-post__hero img { width: 100%; max-height: 520px; object-fit: cover; border-radius: var(--nd-radius-xl); box-shadow: var(--nd-shadow-lg); }
.nd-post__inner { max-width: 760px; margin: 0 auto; }
.nd-post__header { margin-bottom: 2rem; }
.nd-post__header h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1.2; margin: .5rem 0 1rem; }
.nd-post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .9rem; color: var(--nd-muted); }
.nd-post__meta time { color: var(--nd-blue); font-weight: 600; }
.nd-post__lead { font-size: 1.2rem; color: var(--nd-muted); line-height: 1.7; border-left: 4px solid var(--nd-yellow); padding-left: 1rem; }
.nd-post__body { font-size: 1.08rem; line-height: 1.9; color: var(--nd-text-2); }
.nd-post__body p { margin-bottom: 1.25rem; }
.nd-post__body h2 { font-size: 1.6rem; margin: 2.25rem 0 .8rem; }
.nd-post__body h3 { font-size: 1.3rem; margin: 1.75rem 0 .6rem; }
.nd-post__body ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 1.25rem; }
.nd-post__body ol { list-style: decimal; padding-left: 1.5rem; margin-bottom: 1.25rem; }
.nd-post__body blockquote { border-left: 4px solid var(--nd-yellow); background: var(--nd-blue-xpale); padding: 1rem 1.5rem; border-radius: 0 var(--nd-radius) var(--nd-radius) 0; margin: 1.5rem 0; font-style: italic; color: var(--nd-blue-dark); }
.nd-post__body img { border-radius: var(--nd-radius); margin: 1.5rem 0; box-shadow: var(--nd-shadow); }
.nd-post__author-box { display: flex; gap: 1.25rem; align-items: center; margin-top: 3rem; padding: 1.5rem; border-radius: var(--nd-radius-lg); background: linear-gradient(135deg, var(--nd-blue-xpale), #fff); border: 1px solid var(--nd-blue-pale); }
.nd-post__author-photo, .nd-post__author-avatar { width: 72px; height: 72px; border-radius: 50%; flex-shrink: 0; object-fit: cover; box-shadow: var(--nd-shadow-sm); }
.nd-post__author-avatar { background: var(--nd-grad-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; font-weight: 700; }
.nd-post__author-name { font-weight: 700; font-size: 1.05rem; }
.nd-post__author-role { color: var(--nd-blue); font-size: .88rem; }
.nd-post__author-bio { color: var(--nd-muted); font-size: .9rem; margin-top: .3rem; }
.nd-share { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--nd-border); }
.nd-share__label { font-weight: 600; color: var(--nd-muted); font-size: .9rem; margin-right: .25rem; }
.nd-share__btn { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem 1rem; border-radius: var(--nd-radius-full); font-size: .85rem; font-weight: 600; color: #fff; transition: transform var(--nd-t-fast), box-shadow var(--nd-t-fast); cursor: pointer; }
.nd-share__btn:hover { transform: translateY(-2px); box-shadow: var(--nd-shadow); color: #fff; text-decoration: none; }
.nd-share__btn--fb { background: #1877F2; } .nd-share__btn--wa { background: #25D366; } .nd-share__btn--copy { background: var(--nd-text-2); }

/* ── Contact ─────────────────────────────────────────────────────────── */
.nd-contact { padding: 4rem 0 5rem; background: var(--nd-bg); }
.nd-contact__inner { display: grid; grid-template-columns: 1fr 1.25fr; gap: 2.5rem; align-items: start; }
.nd-contact__info h2 { font-size: 1.75rem; margin-bottom: .5rem; }
.nd-contact__info > p { color: var(--nd-muted); margin-bottom: 1.5rem; }
.nd-contact__detail { display: flex; gap: 1rem; align-items: center; background: #fff; border: 1px solid var(--nd-border); border-radius: var(--nd-radius-lg); padding: 1.1rem 1.25rem; margin-bottom: .9rem; box-shadow: var(--nd-shadow-xs); transition: all var(--nd-t); }
.nd-contact__detail:hover { border-color: var(--nd-blue-light); box-shadow: var(--nd-shadow); transform: translateX(4px); }
.nd-contact__detail-icon { width: 48px; height: 48px; border-radius: 12px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--nd-grad-blue); color: #fff; }
.nd-contact__detail strong, .nd-contact__detail h4 { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--nd-muted); }
.nd-contact__map { border-radius: var(--nd-radius-lg); overflow: hidden; margin-top: 1rem; box-shadow: var(--nd-shadow); }
.nd-contact__map iframe { width: 100%; height: 260px; border: 0; display: block; }
.nd-contact__form-wrap { background: #fff; border-radius: var(--nd-radius-xl); padding: 2.5rem; box-shadow: var(--nd-shadow-lg); border: 1px solid var(--nd-border); }

/* ── Generic form (contact + join) ───────────────────────────────────── */
.nd-form fieldset { border: 0; padding: 0; margin: 0 0 2rem; }
.nd-form legend { font-size: 1.1rem; font-weight: 700; color: var(--nd-blue-dark); margin-bottom: 1rem; padding-bottom: .5rem; border-bottom: 2px solid var(--nd-blue-pale); width: 100%; }
.nd-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.nd-form__field { margin-bottom: 1.1rem; }
.nd-form__field label { text-transform: none; letter-spacing: 0; font-size: .88rem; color: var(--nd-text-2); }
.nd-form__field input, .nd-form__field textarea, .nd-form__field select {
  width: 100%; padding: .8rem 1rem; border: 2px solid var(--nd-border); border-radius: var(--nd-radius);
  font: inherit; font-size: .95rem; background: #fff; color: var(--nd-text); transition: border-color var(--nd-t-fast), box-shadow var(--nd-t-fast);
}
.nd-form__field input:focus, .nd-form__field textarea:focus, .nd-form__field select:focus { border-color: var(--nd-blue); box-shadow: 0 0 0 4px rgba(21,101,192,.12); outline: 0; }
.nd-form__field input[type=file] { padding: .6rem; background: var(--nd-bg); cursor: pointer; }
.nd-form--membership { background: #fff; border-radius: var(--nd-radius-xl); padding: 2.5rem; box-shadow: var(--nd-shadow-lg); border: 1px solid var(--nd-border); max-width: 860px; margin: 0 auto; }
.nd-form__submit { text-align: center; }
.nd-form__note { font-size: .85rem; color: var(--nd-muted); margin-top: .75rem; }
.nd-radio-group { display: grid; gap: .75rem; }
.nd-radio { padding: 1rem 1.25rem; border: 2px solid var(--nd-border); border-radius: var(--nd-radius); transition: all var(--nd-t-fast); font-weight: 500; }
.nd-radio:hover { border-color: var(--nd-blue-light); background: var(--nd-blue-xpale); }
.nd-radio:has(input:checked) { border-color: var(--nd-blue); background: var(--nd-blue-xpale); }
.nd-radio input[type=radio] { position: absolute; opacity: 0; display: inline; }
.nd-alert { border-radius: var(--nd-radius); padding: .9rem 1.1rem; margin-bottom: 1.25rem; font-weight: 500; }

/* ── Join page ───────────────────────────────────────────────────────── */
.nd-member-join { padding: 4rem 0 5rem; background: var(--nd-bg); }
.nd-membership-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; max-width: 960px; margin: 0 auto 3rem; }
.nd-membership-plan { position: relative; background: #fff; border: 1px solid var(--nd-border); border-radius: var(--nd-radius-xl); padding: 2rem 1.75rem; text-align: center; box-shadow: var(--nd-shadow-sm); transition: all var(--nd-t); }
.nd-membership-plan:hover { transform: translateY(-6px); box-shadow: var(--nd-shadow-lg); }
.nd-membership-plan--featured { background: var(--nd-grad-hero); color: #fff; border: 0; transform: scale(1.04); box-shadow: var(--nd-shadow-xl); }
.nd-membership-plan--featured:hover { transform: scale(1.04) translateY(-6px); }
.nd-membership-plan__badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--nd-grad-gold); color: var(--nd-blue-dark); font-weight: 700; font-size: .78rem; padding: .3rem 1rem; border-radius: var(--nd-radius-full); box-shadow: var(--nd-shadow-gold); white-space: nowrap; }
.nd-membership-plan__type { font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--nd-blue); margin-bottom: .5rem; }
.nd-membership-plan--featured .nd-membership-plan__type { color: var(--nd-yellow); }
.nd-membership-plan__fee { font-family: var(--nd-font-en); font-size: 2.4rem; font-weight: 800; color: var(--nd-text); margin-bottom: 1rem; }
.nd-membership-plan--featured .nd-membership-plan__fee { color: #fff; }
.nd-membership-plan__fee span { font-size: .9rem; font-weight: 500; color: var(--nd-muted); }
.nd-membership-plan--featured .nd-membership-plan__fee span { color: rgba(255,255,255,.7); }
.nd-membership-plan ul { text-align: left; display: grid; gap: .5rem; }
.nd-membership-plan li { position: relative; padding-left: 1.6rem; font-size: .92rem; color: var(--nd-text-2); }
.nd-membership-plan--featured li { color: rgba(255,255,255,.9); }
.nd-membership-plan li::before { content: '✓'; position: absolute; left: 0; color: var(--nd-success); font-weight: 800; }
.nd-membership-plan--featured li::before { color: var(--nd-yellow); }

/* ── Success boxes ───────────────────────────────────────────────────── */
.nd-success-box { text-align: center; background: #fff; border-radius: var(--nd-radius-xl); padding: 3rem 2rem; box-shadow: var(--nd-shadow-lg); border: 1px solid var(--nd-border); }
.nd-success-box--lg { max-width: 640px; margin: 0 auto; }
.nd-success-box__icon { font-size: 3.5rem; margin-bottom: .75rem; }
.nd-success-box__id { display: inline-block; font-family: monospace; font-size: 1.15rem; font-weight: 700; color: var(--nd-blue-dark); background: var(--nd-blue-pale); padding: .6rem 1.25rem; border-radius: var(--nd-radius); margin: .75rem 0 1.5rem; letter-spacing: .04em; }
.nd-success-box__payment { text-align: left; background: var(--nd-bg); border-radius: var(--nd-radius-lg); padding: 1.5rem; }
.nd-payment-option { background: #fff; border: 1px solid var(--nd-border); border-radius: var(--nd-radius); padding: .75rem 1rem; margin: .6rem 0; }
.nd-success-box__note { font-size: .88rem; color: var(--nd-muted); margin-top: 1rem; }

/* ── Donate page ─────────────────────────────────────────────────────── */
.nd-donate-grid { display: grid; grid-template-columns: 1fr 380px; gap: 2rem; align-items: start; }
.nd-chip-group { display: flex; flex-wrap: wrap; gap: .6rem; }
.nd-chip { position: relative; cursor: pointer; }
.nd-chip .nd-radio-label { padding: .6rem 1.15rem; font-weight: 600; background: #fff; }
.nd-donate-teaser { padding: 5rem 0; background: linear-gradient(135deg, #FFF8E1 0%, #FFFDF5 50%, #E3F2FD 100%); }
.nd-donate-teaser__inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 3rem; align-items: center; max-width: 1000px; margin: 0 auto; }
.nd-donate-teaser h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: .75rem; }
.nd-donate-teaser p { color: var(--nd-muted); font-size: 1.05rem; line-height: 1.8; margin-bottom: 2rem; }
.nd-donate-teaser__amounts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.nd-donate-amount { display: block; background: #fff; border: 2px solid var(--nd-border); border-radius: var(--nd-radius-lg); padding: 1.4rem 1rem; text-align: center; color: inherit; transition: all var(--nd-t); }
.nd-donate-amount:hover { border-color: var(--nd-blue); box-shadow: var(--nd-shadow); transform: translateY(-4px); text-decoration: none; color: inherit; }
.nd-donate-amount strong { display: block; font-family: var(--nd-font-en); font-size: 1.6rem; font-weight: 800; color: var(--nd-blue); }
.nd-donate-amount span { font-size: .78rem; color: var(--nd-muted); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }

/* ── 404 ─────────────────────────────────────────────────────────────── */
.nd-404 { min-height: 70vh; display: flex; align-items: center; padding: 6rem 0 4rem; background: var(--nd-bg); text-align: center; }
.nd-404__inner { max-width: 560px; }
.nd-404__num { font-family: var(--nd-font-en); font-size: clamp(6rem, 18vw, 10rem); font-weight: 900; line-height: 1; background: var(--nd-grad-hero); -webkit-background-clip: text; background-clip: text; color: transparent; margin-bottom: .5rem; }
.nd-404 h1 { margin-bottom: .75rem; }
.nd-404 p { color: var(--nd-muted); margin-bottom: 2rem; }

/* ── Inner-page responsive ───────────────────────────────────────────── */
@media (max-width: 1024px) {
  .nd-about-story__inner, .nd-contact__inner, .nd-donate-grid, .nd-donate-teaser__inner { grid-template-columns: 1fr; }
  .nd-founder__card { grid-template-columns: 1fr; text-align: center; padding: 2.25rem 1.5rem; }
  .nd-membership-plans { grid-template-columns: 1fr; max-width: 420px; }
  .nd-membership-plan--featured, .nd-membership-plan--featured:hover { transform: none; }
}
@media (max-width: 768px) {
  .nd-page-hero { padding: 6.5rem 0 4rem; }
  .nd-form__row { grid-template-columns: 1fr; gap: 0; }
  .nd-form--membership, .nd-contact__form-wrap { padding: 1.5rem; }
  .nd-chibordan-filter { margin-top: -3rem; }
  .nd-chibordan-filter__selects { width: 100%; }
  .nd-chibordan-filter__selects select { flex: 1 1 140px; max-width: none; }
  .nd-chibordan-filter__selects .nd-btn { flex: 1 1 100%; }
  .nd-chibordan-day__entries { grid-template-columns: 1fr; }
    .nd-chibordan-entry { flex-wrap: wrap; }
  .nd-chibordan-entry__actions { flex-direction: row; width: 100%; padding-left: 60px; }
  .nd-chibordan-entry__btn { flex: 1; }
  .nd-gallery-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 160px; gap: .6rem; }
  .nd-gallery-item--wide { grid-column: span 2; }
  .nd-members__grid { grid-template-columns: repeat(2, 1fr); gap: .9rem; }
  .nd-founder__photo-wrap { width: 200px; height: 200px; }
  .nd-founder__avatar { width: 180px; height: 180px; font-size: 4rem; }
  .nd-lightbox__prev { left: .5rem; } .nd-lightbox__next { right: .5rem; }
  .nd-blog__grid--full { grid-template-columns: 1fr; }
  .nd-post__author-box { flex-direction: column; text-align: center; }
}



/* ── Nav: hero-aware + collapsed menu below 1100px ───────────────────── */
body:has(.nd-hero) .nd-nav-spacer,
body:has(.nd-page-hero) .nd-nav-spacer,
body:has(.nd-404) .nd-nav-spacer { display: none; }
.nd-nav__links { gap: .1rem; }
.nd-nav__links a { white-space: nowrap; }
@media (max-width: 1280px) { .nd-nav__links a { padding: .45rem .55rem; font-size: .84rem; } .nd-nav__brand-bn { display: none; } }
@media (max-width: 1100px) {
  /* Nav */
  .nd-nav__links {
    position: fixed; top: 72px; left: 0; right: 0;
    background: rgba(255,255,255,.98); backdrop-filter: blur(16px);
    flex-direction: column; padding: 1.5rem; gap: .3rem;
    box-shadow: var(--nd-shadow-lg); transform: translateY(-12px);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: transform var(--nd-t), opacity var(--nd-t), visibility var(--nd-t); z-index: 899;
  }
  .nd-nav__links.open { transform: translateY(0); opacity: 1; visibility: visible; pointer-events: auto; }
  .nd-nav__links a { color: var(--nd-text-2) !important; padding: .75rem 1rem; width: 100%; border-radius: var(--nd-radius); }
  .nd-nav__links a:hover { background: var(--nd-blue-pale); color: var(--nd-blue) !important; }
  .nd-nav__cta-wrap, .nd-nav__lang-wrap { margin-left: 0; width: 100%; }
  .nd-btn--nav-cta, .nd-lang-toggle { width: 100%; justify-content: center; }
  .nd-nav__burger { display: flex; }
  .nd-nav__links { max-height: calc(100vh - 72px); overflow-y: auto; align-items: stretch; }
  .nd-nav__links li { width: 100%; }
  .nd-nav__brand-bn { display: block; }
}

/* ── Hero refinements ────────────────────────────────────────────────── */
a.nd-hero__badge { text-decoration: none; transition: background var(--nd-t-fast), transform var(--nd-t-fast); text-transform: none; letter-spacing: .02em; }
a.nd-hero__badge:hover { background: rgba(255,255,255,.22); color: #fff; transform: translateY(-2px); }
.nd-hero__content .nd-hero__scroll { position: relative; left: auto; bottom: auto; display: inline-block; margin-top: 3rem; animation: nd-bob 2s ease-in-out infinite; }
@keyframes nd-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .nd-reveal { opacity: 1; transform: none; }
}

/* ── Chibordan date chips + submission ───────────────────────────────── */
.nd-cb-dates { display: flex; gap: .55rem; overflow-x: auto; padding: 1.25rem .25rem .75rem; scroll-snap-type: x proximity; scrollbar-width: thin; }
.nd-cb-date {
  flex: 0 0 auto; scroll-snap-align: start; display: flex; flex-direction: column; align-items: center; gap: .1rem;
  min-width: 78px; padding: .6rem .75rem; background: #fff; border: 1px solid var(--nd-border); border-radius: var(--nd-radius);
  color: var(--nd-text-2); text-decoration: none; transition: all var(--nd-t-fast); box-shadow: var(--nd-shadow-xs);
}
.nd-cb-date:hover { border-color: var(--nd-blue-light); color: var(--nd-blue); transform: translateY(-2px); text-decoration: none; }
.nd-cb-date__d { font-weight: 700; font-size: .88rem; white-space: nowrap; }
.nd-cb-date__w { font-size: .72rem; color: var(--nd-muted); }
.nd-cb-date__n { font-family: var(--nd-font-en); font-size: .72rem; font-weight: 700; color: var(--nd-blue); background: var(--nd-blue-xpale); border-radius: var(--nd-radius-full); padding: .05rem .5rem; margin-top: .15rem; }
.nd-cb-date.is-past { opacity: .55; }
.nd-cb-date--hl { border-color: var(--nd-gold); background: #FFFBEB; }
.nd-cb-date.is-active { background: var(--nd-grad-blue); border-color: var(--nd-blue); color: #fff; box-shadow: var(--nd-shadow); opacity: 1; }
.nd-cb-date.is-active .nd-cb-date__w { color: rgba(255,255,255,.8); }
.nd-cb-date.is-active .nd-cb-date__n { background: var(--nd-yellow); color: var(--nd-blue-dark); }
.nd-cb-submit { display: grid; grid-template-columns: 1fr 1.3fr; gap: 2.5rem; align-items: start; margin-top: 4rem; background: #fff; border-radius: var(--nd-radius-xl); padding: 2.5rem; box-shadow: var(--nd-shadow-lg); border: 1px solid var(--nd-border); }
.nd-cb-submit__intro h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin-bottom: .5rem; }
.nd-cb-submit__intro p { color: var(--nd-muted); }
.nd-footer__contact-cta { display: inline-flex; margin-top: .25rem; }
@media (max-width: 900px) { .nd-cb-submit { grid-template-columns: 1fr; padding: 1.5rem; gap: 1.25rem; } }

/* ── Overflow guards ─────────────────────────────────────────────────── */
html, body { overflow-x: clip; }
.nd-about-preview, .nd-hero, .nd-page-hero, .nd-chibordan-teaser, .nd-join-cta { overflow-x: clip; }
@media (max-width: 480px) {
  .nd-about-preview__logo-wrap { width: 240px; height: 240px; }
  .nd-about-preview__logo-wrap img { width: 170px; height: 170px; }
  .nd-about-preview__ring--1 { width: 215px; height: 215px; }
  .nd-about-preview__ring--2 { width: 240px; height: 240px; }
}

/* ── Wordmark logo ───────────────────────────────────────────────────── */
.nd-nav__logo { position: relative; height: 48px; gap: .6rem; }
.nd-nav__logo .nd-nav__emblem { width: 46px; height: 46px; border-radius: 50%; box-shadow: 0 2px 10px rgba(0,0,0,.18); flex-shrink: 0; }
.nd-nav__wm { position: relative; display: inline-flex; align-items: center; }
.nd-nav__logo .nd-nav__wordmark { height: 46px; width: auto; object-fit: contain; border-radius: 0; box-shadow: none !important; transition: opacity var(--nd-t), transform var(--nd-t); }
.nd-nav__logo:hover .nd-nav__wordmark { transform: scale(1.03); }
.nd-nav__wordmark--dark { position: absolute; left: 0; top: 0; opacity: 0; }
.nd-nav.scrolled .nd-nav__wordmark--light { opacity: 0; }
.nd-nav.scrolled .nd-nav__wordmark--dark { opacity: 1; }
.nd-footer__logo-link { display: inline-flex; align-items: center; gap: .85rem; margin-bottom: .75rem; }
.nd-footer__logo-link .nd-footer__emblem { width: 72px; height: 72px; border-radius: 50% !important; box-shadow: 0 4px 16px rgba(0,0,0,.3); }
.nd-footer__logo-link .nd-footer__wordmark { height: 64px; width: auto; object-fit: contain; border-radius: 0 !important; box-shadow: none !important; }
.nd-footer__tagline { color: var(--nd-yellow); font-size: .9rem; margin-bottom: 1rem; }
@media (max-width: 480px) { .nd-nav__logo .nd-nav__wordmark { height: 40px; } .nd-nav__logo .nd-nav__emblem { width: 40px; height: 40px; } }

/* ── Focus areas, motto, FAQ ─────────────────────────────────────────── */
.nd-focus { padding: 5rem 0; background: linear-gradient(180deg, #fff 0%, var(--nd-bg) 100%); }
.nd-focus__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.nd-focus__card { background: #fff; border: 1px solid var(--nd-border); border-radius: var(--nd-radius-xl); padding: 2rem 1.75rem; box-shadow: var(--nd-shadow-sm); transition: all var(--nd-t); position: relative; overflow: hidden; }
.nd-focus__card::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--nd-grad-gold); transform: scaleX(0); transform-origin: left; transition: transform var(--nd-t-slow); }
.nd-focus__card:hover { transform: translateY(-6px); box-shadow: var(--nd-shadow-lg); }
.nd-focus__card:hover::after { transform: scaleX(1); }
.nd-focus__icon { width: 60px; height: 60px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; background: var(--nd-grad-blue); box-shadow: var(--nd-shadow); margin-bottom: 1.25rem; }
.nd-focus__card h3 { font-size: 1.2rem; margin-bottom: .5rem; }
.nd-focus__card p { color: var(--nd-muted); line-height: 1.7; }
.nd-motto { margin: 3rem auto 0; max-width: 860px; text-align: center; padding: 2rem 2.5rem; border-radius: var(--nd-radius-xl); background: var(--nd-grad-hero); box-shadow: var(--nd-shadow-lg); position: relative; }
.nd-motto::before { content: '☸'; position: absolute; top: -22px; left: 50%; transform: translateX(-50%); width: 44px; height: 44px; border-radius: 50%; background: var(--nd-grad-gold); color: var(--nd-blue-dark); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; box-shadow: var(--nd-shadow-gold); }
.nd-motto p { color: #fff; font-size: clamp(1.05rem, 2vw, 1.35rem); font-style: italic; line-height: 1.7; margin: 0; }
.nd-faq { padding: 5rem 0; background: var(--nd-white); }
.nd-faq__inner { max-width: 880px; }
.nd-faq__list { display: grid; gap: .85rem; }
.nd-faq__item { background: var(--nd-bg); border: 1px solid var(--nd-border); border-radius: var(--nd-radius-lg); transition: all var(--nd-t); }
.nd-faq__item[open] { background: #fff; border-color: var(--nd-blue-light); box-shadow: var(--nd-shadow); }
.nd-faq__item summary { cursor: pointer; list-style: none; padding: 1.15rem 3.25rem 1.15rem 1.4rem; font-weight: 700; color: var(--nd-text); position: relative; }
.nd-faq__item summary::-webkit-details-marker { display: none; }
.nd-faq__item summary::after { content: '+'; position: absolute; right: 1.2rem; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; background: var(--nd-blue-pale); color: var(--nd-blue); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: 600; transition: transform var(--nd-t); }
.nd-faq__item[open] summary::after { content: '−'; background: var(--nd-blue); color: #fff; }
.nd-faq__item p { padding: 0 1.4rem 1.25rem; color: var(--nd-text-2); line-height: 1.8; }
.nd-donate-quote { margin: 0 0 1.25rem; padding: 1.1rem 1.25rem; border-left: 4px solid var(--nd-yellow); background: #FFFBEB; border-radius: 0 var(--nd-radius) var(--nd-radius) 0; color: #78350F; font-style: italic; }
@media (max-width: 900px) { .nd-focus__grid { grid-template-columns: 1fr; } .nd-motto { padding: 2rem 1.25rem 1.5rem; } }

/* keep the floating buttons clear of the footer credit */
@media (min-width: 769px) { .nd-footer__bottom-inner { padding-right: 9rem; } }
@media (max-width: 768px) { .nd-footer__bottom { padding-bottom: 5rem; } }

/* ══════════════════════════════════════════════════════════════════════════
   PRINT STYLES
   ══════════════════════════════════════════════════════════════════════════ */
@media print {
  .nd-nav, .nd-hero__scroll, .nd-whatsapp-float, .nd-back-top, .nd-footer { display: none; }
  .nd-nav-spacer { height: 0; }
  body { color: #000; background: #fff; }
  .nd-chibordan-list .nd-cb-entry { break-inside: avoid; }
}
