/* =====================================================
   NEW BENGAL CLUB THANE - Main Stylesheet
   Fonts: DM Sans (body) + Mulish (display)
   No emojis. Font Awesome icons. 3-bg-color section system.
   ===================================================== */

:root {
  --green: #0d5c3a;
  --green-dk: #09432b;
  --green-md: #1a7a50;
  --green-lt: #eaf4ef;
  --gold: #c9a227;
  --gold-dk: #9e7c10;
  --gold-lt: #fdf6e3;
  --navy: #0b1e34;
  --navy-md: #152e4d;
  --white: #ffffff;
  --off: #f8f9fa;
  --cream: #f5f5f5;
  --gray-100: #f0f2f5;
  --gray-200: #e1e5eb;
  --gray-400: #9aa4b2;
  --gray-600: #6b7280;
  --gray-700: #4a5568;
  --gray-900: #1a202c;
  --display: 'Mulish', 'DM Sans', sans-serif;
  --body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --r-sm: 6px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-xl: 32px;
  --sh-xs: 0 1px 3px rgba(0, 0, 0, .08);
  --sh-sm: 0 2px 8px rgba(0, 0, 0, .08);
  --sh-md: 0 8px 24px rgba(0, 0, 0, .10);
  --sh-lg: 0 16px 48px rgba(0, 0, 0, .13);
  --ease: cubic-bezier(.25, .8, .25, 1);
  --t: .3s var(--ease);
  --hdr-h: 68px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip
}

body {
  font-family: var(--body);
  color: var(--gray-900);
  background: var(--white);
  overflow-x: clip;
  line-height: 1.7
}

img {
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: cover
}

a {
  color: inherit;
  text-decoration: none
}

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit
}

ul {
  list-style: none
}

input,
select,
textarea {
  font-family: inherit;
  outline: none
}

em,
i {
  font-style: normal
}

/* LAYOUT */
.container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px
}

.section {
  padding: 88px 0
}

.section-sm {
  padding: 56px 0
}

.section-dark {
  background: var(--navy)
}

.section-pale {
  background: var(--cream)
}

.section-green {
  background: var(--green-lt)
}

/* TYPOGRAPHY */
.d-xl {
  font-family: var(--display);
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.01em
}

.d-lg {
  font-family: var(--display);
  font-size: clamp(1.4rem, 2.4vw, 2.1rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.005em
}

.d-md {
  font-family: var(--display);
  font-size: clamp(1.2rem, 1.8vw, 1.7rem);
  font-weight: 700;
  line-height: 1.28
}

.d-sm {
  font-family: var(--display);
  font-size: clamp(1.05rem, 1.4vw, 1.35rem);
  font-weight: 600;
  line-height: 1.35
}

.eyebrow {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  display: block;
  margin-bottom: 10px
}

.eyebrow-green {
  color: var(--green-md)
}

.lead {
  font-size: .97rem;
  color: var(--gray-700);
  line-height: 1.8
}

.text-em {
  color: var(--green);
  font-style: normal
}

.text-gold {
  color: var(--gold)
}

.text-white {
  color: var(--white)
}

.divider {
  width: 44px;
  height: 3px;
  background: var(--gold);
  border-radius: 2px;
  margin-bottom: 18px
}

/* BUTTONS */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 22px;
  border-radius: 50px;
  font-size: .84rem;
  font-weight: 600;
  transition: var(--t);
  position: relative;
  overflow: hidden
}

.btn i {
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0
}

.btn-primary,
.btn-green {
  background: var(--green);
  color: var(--white)
}

.btn-primary:hover,
.btn-green:hover {
  background: var(--green-dk);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(13, 92, 58, .28)
}

.btn-gold {
  background: var(--gold);
  color: var(--navy)
}

.btn-gold:hover {
  background: var(--gold-dk);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(201, 162, 39, .28)
}

.btn-outline {
  background: transparent;
  color: var(--green);
  border: 1.5px solid var(--green)
}

.btn-outline:hover {
  background: var(--green);
  color: var(--white)
}

.btn-outline-w {
  background: transparent;
  color: var(--white);
  border: 1.5px solid rgba(255, 255, 255, .55)
}

.btn-outline-w:hover {
  background: var(--white);
  color: var(--navy)
}

.btn-lg {
  padding: 12px 30px;
  font-size: .92rem
}

.btn-sm {
  padding: 7px 16px;
  font-size: .78rem
}

/* NAVBAR */
/* Fixed header wrapper - holds announcement bar + navbar */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: background .4s ease, box-shadow .4s ease
}

.site-header.scrolled {
  background: rgba(11, 30, 52, .97);
  backdrop-filter: blur(20px);
  box-shadow: 0 2px 20px rgba(0, 0, 0, .2)
}

.site-header.scrolled .sj-bar {
  border-bottom-color: rgba(201, 162, 39, .35)
}

.navbar {
  position: relative;
  width: 100%
}

.nav-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  height: 68px;
  display: flex;
  align-items: center;
  gap: 8px
}

.nav-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  margin-right: auto
}

.nav-logo-img {
  width: 38px;
  height: 38px;
  object-fit: contain
}

.nav-logo-text {
  font-family: var(--display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1.2
}

.nav-logo-text span {
  color: var(--gold)
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 2px
}

.nav-link {
  color: rgba(255, 255, 255, .78);
  font-size: .82rem;
  font-weight: 500;
  padding: 8px 10px;
  border-radius: 6px;
  transition: var(--t);
  white-space: nowrap
}

.nav-link:hover,
.nav-link.active {
  color: var(--white);
  background: rgba(255, 255, 255, .1)
}

.nav-cta {
  background: var(--gold);
  color: var(--navy);
  padding: 8px 18px;
  border-radius: 50px;
  font-size: .82rem;
  font-weight: 700;
  margin-left: 8px;
  transition: var(--t);
  white-space: nowrap
}

.nav-cta:hover {
  background: #e0b420;
  transform: translateY(-1px)
}

.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 6px;
  margin-left: auto
}

.hamburger span {
  width: 22px;
  height: 2px;
  background: var(--white);
  border-radius: 2px;
  transition: var(--t);
  display: block
}

.mobile-nav {
  position: fixed;
  inset: 0;
  background: var(--navy);
  z-index: 1001;
  padding: 0;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform .4s var(--ease);
  display: flex;
  flex-direction: column
}

.mobile-nav.open {
  transform: translateX(0)
}

.mn-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  flex-shrink: 0
}

.mn-logo {
  font-family: var(--display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--white)
}

.mn-close {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .1);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .18);
  transition: var(--t);
  flex-shrink: 0
}

.mn-close:hover {
  background: var(--gold);
  color: var(--navy);
  border-color: var(--gold)
}

.mobile-nav ul {
  display: flex;
  flex-direction: column;
  padding: 12px 0;
  flex: 1
}

.mobile-nav ul li a {
  color: rgba(255, 255, 255, .85);
  font-size: 1rem;
  font-weight: 500;
  padding: 14px 24px;
  display: block;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  transition: color .2s, background .2s
}

.mobile-nav ul li a:hover {
  color: var(--gold);
  background: rgba(255, 255, 255, .05)
}

.mn-footer {
  padding: 20px 24px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  flex-shrink: 0
}

.mn-cta {
  display: block;
  text-align: center;
  background: var(--gold);
  color: var(--navy);
  padding: 12px;
  border-radius: 50px;
  font-weight: 700;
  font-size: .9rem;
  transition: var(--t)
}

.mn-cta:hover {
  background: #e0b420
}

/* ANNOUNCEMENT BAR */
.sj-bar {
  background: var(--navy);
  border-bottom: 1px solid rgba(201, 162, 39, .45);
  padding: 9px 0;
  text-align: center
}

.sj-bar-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap
}

.sj-pill {
  background: var(--gold);
  color: var(--navy);
  padding: 3px 13px;
  border-radius: 50px;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap
}

.sj-text {
  color: rgba(255, 255, 255, .8);
  font-size: .79rem;
  font-weight: 500
}

@media(max-width:1024px) {
  .sj-text {
    display: none
  }

  .sj-bar-inner {
    gap: 10px
  }
}

@media(max-width:640px) {
  .sj-bar {
    padding: 7px 0
  }

  .sj-pill {
    font-size: .62rem;
    padding: 3px 10px
  }
}

/* HERO */
.hero {
  min-height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

.hero-bg {
  position: absolute;
  inset: 0
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(11,30,52,.72) 0%, rgba(11,30,52,.55) 50%, rgba(11,30,52,.8) 100%)
}

.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 150px 24px 130px;
  max-width: 860px;
  margin: 0 auto
}

.hero-scroll {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, .5);
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  animation: bounce 2.5s ease-in-out infinite
}

.hero-scroll-line {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, .35)
}

@keyframes bounce {

  0%,
  100% {
    transform: translateX(-50%) translateY(0)
  }

  50% {
    transform: translateX(-50%) translateY(8px)
  }
}

/* CARDS */
.card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: var(--t)
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-lg);
  border-color: transparent
}

.card-img {
  overflow: hidden
}

.card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease
}

.card:hover .card-img img {
  transform: scale(1.04)
}

.card-body {
  padding: 24px
}

/* ICON */
.icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.icon-wrap i {
  font-size: 22px;
  line-height: 1
}

.iw-44 {
  width: 44px;
  height: 44px;
  border-radius: 10px
}

.iw-52 {
  width: 52px;
  height: 52px;
  border-radius: 50%
}

.iw-green {
  background: var(--green-lt);
  color: var(--green)
}

.iw-gold {
  background: var(--gold-lt);
  color: var(--gold-dk)
}

.iw-white {
  background: rgba(255, 255, 255, .12);
  color: var(--white)
}

.iw-navy {
  background: rgba(11, 30, 52, .08);
  color: var(--navy-md)
}

/* GRID */
.g2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px
}

.g3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px
}

.g4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.g-center {
  align-items: center
}

/* BADGE */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--green-lt);
  color: var(--green);
  padding: 5px 12px;
  border-radius: 50px;
  font-size: .75rem;
  font-weight: 600
}

.badge i {
  font-size: 11px;
  line-height: 1
}

.badge-gold {
  background: var(--gold-lt);
  color: var(--gold-dk)
}

.badge-navy {
  background: rgba(11, 30, 52, .08);
  color: var(--navy-md)
}

/* STATS */
.stat-num {
  font-family: var(--display);
  font-size: clamp(1.6rem, 2.8vw, 2.4rem);
  font-weight: 700;
  line-height: 1;
  margin-bottom: 6px
}

/* REVEAL */
.reveal {
  opacity: 0;
  transition: opacity .6s ease, transform .6s ease
}

.reveal.from-bottom {
  transform: translateY(32px)
}

.reveal.from-left {
  transform: translateX(-32px)
}

.reveal.from-right {
  transform: translateX(32px)
}

.reveal.visible {
  opacity: 1;
  transform: none
}

@media(max-width:1100px) {

  .reveal.from-left,
  .reveal.from-right {
    transform: translateY(28px)
  }
}

/* FORMS */
.form-group {
  margin-bottom: 18px
}

.form-label {
  display: block;
  font-size: .8rem;
  font-weight: 600;
  color: var(--gray-700);
  margin-bottom: 5px
}

.form-input,
.form-select,
.form-textarea {
  width: 100%;
  padding: 11px 15px;
  border: 1.5px solid var(--gray-200);
  border-radius: var(--r-md);
  font-size: .88rem;
  color: var(--gray-900);
  background: var(--white);
  transition: border-color .2s
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(13, 92, 58, .07)
}

.form-textarea {
  resize: vertical
}

.form-input:disabled,
.form-select:disabled,
.form-textarea:disabled {
  background: var(--gray-100);
  color: var(--gray-500);
  cursor: not-allowed
}

.form-row-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px
}

@media(max-width:640px) {
  .form-row-3 { grid-template-columns: 1fr }
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px
}

/* GALLERY */
.gal-grid {
  columns: 4;
  column-gap: 12px
}

.gal-item {
  break-inside: avoid;
  margin-bottom: 12px;
  border-radius: var(--r-md);
  overflow: hidden;
  cursor: pointer;
  position: relative
}

.gal-item img {
  width: 100%;
  display: block;
  transition: transform .5s ease
}

.gal-item:hover img {
  transform: scale(1.04)
}

.gal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(11, 30, 52, .68);
  display: flex;
  align-items: flex-end;
  padding: 14px;
  opacity: 0;
  transition: opacity .3s ease
}

.gal-item:hover .gal-overlay {
  opacity: 1
}

.gal-cap {
  color: var(--white);
  font-size: .78rem;
  font-weight: 500
}

@media(max-width:900px) {
  .gal-grid { columns: 2 }
}

@media(max-width:520px) {
  .gal-grid { columns: 1 }
}

.gal-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px
}

.gf-btn {
  padding: 7px 16px;
  border-radius: 50px;
  font-size: .8rem;
  font-weight: 600;
  background: var(--white);
  color: var(--gray-700);
  border: 1.5px solid var(--gray-200);
  transition: var(--t)
}

.gf-btn.active,
.gf-btn:hover {
  background: var(--green);
  color: var(--white);
  border-color: var(--green)
}

/* PROGRESS */
.prog-bar {
  height: 5px;
  background: var(--gray-200);
  border-radius: 3px;
  overflow: hidden;
  margin-top: 12px
}

.prog-fill {
  height: 100%;
  background: var(--green);
  border-radius: 3px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.2s ease
}

.prog-fill.anim {
  transform: scaleX(1)
}

/* PAGE HERO */
.page-hero {
  background: var(--navy);
  padding: 140px 0 68px;
  text-align: center;
  position: relative
}

.breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .78rem;
  color: rgba(255, 255, 255, .45);
  justify-content: center;
  margin-bottom: 18px
}

.breadcrumb a {
  color: var(--gold);
  transition: opacity .2s
}

.breadcrumb a:hover {
  opacity: .8
}

.bc-sep {
  opacity: .35
}

/* TABLE */
table {
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem
}
thead tr {
  background: var(--navy);
  color: var(--white)
}
thead th {
  padding: 14px 20px;
  text-align: left;
  font-weight: 600;
  font-family: var(--display);
  letter-spacing: .02em
}
tbody td {
  padding: 13px 20px;
  border-bottom: 1px solid var(--gray-200);
  color: var(--gray-700)
}
tbody td:first-child {
  color: var(--gray-400);
  font-size: .8rem;
  font-weight: 600;
  width: 40px
}
tbody td strong {
  color: var(--gray-900);
  font-weight: 600
}
tbody tr:last-child td {
  border-bottom: none
}
tbody tr:nth-child(even) {
  background: var(--gray-100)
}
tbody tr:hover {
  background: var(--green-lt)
}
@media(max-width: 600px) {
  table, thead, tbody, th, td, tr { display: block }
  thead tr { display: none }
  tbody tr {
    border-bottom: 1px solid var(--gray-200);
    padding: 12px 0
  }
  tbody td {
    border: none;
    padding: 4px 16px;
    display: flex;
    gap: 8px
  }
  tbody td::before {
    content: attr(data-label);
    font-weight: 600;
    color: var(--gray-500);
    min-width: 90px;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding-top: 2px
  }
  tbody td:first-child { display: none }
}

/* FOOTER */
.footer {
  background: var(--navy);
  color: var(--white)
}

.footer-top {
  padding: 64px 0 48px
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 48px;
  align-items: start
}

.footer-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px
}

.footer-logo img {
  width: 40px;
  height: 40px;
  object-fit: contain
}

.footer-logo-name {
  font-family: var(--display);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--white)
}

.footer-logo-name span {
  color: var(--gold)
}

.footer-brand p {
  font-size: .84rem;
  color: rgba(255, 255, 255, .5);
  line-height: 1.8;
  margin-bottom: 20px
}

.footer-col h4 {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 16px
}

.footer-col ul {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.footer-col ul li a {
  font-size: .84rem;
  color: rgba(255, 255, 255, .5);
  transition: color .2s
}

.footer-col ul li a:hover {
  color: var(--white)
}

.footer-nl-form {
  display: flex;
  gap: 8px;
  margin-bottom: 18px
}

.footer-nl-input {
  flex: 1;
  padding: 10px 15px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 50px;
  color: var(--white);
  font-size: .82rem
}

.footer-nl-input::placeholder {
  color: rgba(255, 255, 255, .3)
}

.footer-nl-input:focus {
  border-color: var(--gold);
  outline: none
}

.footer-nl-btn {
  background: var(--gold);
  color: var(--navy);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: var(--t)
}

.footer-nl-btn:hover {
  background: #e0b420
}

.footer-nl-btn i {
  font-size: 14px;
  line-height: 1
}

.footer-social {
  display: flex;
  gap: 8px
}

.fsoc {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .07);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .1);
  transition: var(--t)
}

.fsoc:hover {
  background: var(--gold);
  color: var(--navy);
  border-color: var(--gold)
}

.fsoc i {
  font-size: 15px;
  line-height: 1
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .08);
  padding: 20px 0
}

.footer-bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px
}

.footer-bottom-inner p {
  font-size: .76rem;
  color: rgba(255, 255, 255, .3)
}

/* BACK TO TOP */
.btt {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 500;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--sh-md);
  opacity: 0;
  transform: translateY(16px);
  transition: var(--t);
  pointer-events: none
}

.btt.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto
}

.btt:hover {
  background: var(--gold);
  color: var(--navy)
}

.btt i {
  font-size: 16px;
  line-height: 1
}

/* TESTIMONIAL */
.test-slider-wrap {
  overflow: hidden;
  border-radius: 20px;
  margin-top: 40px
}

.test-track {
  display: flex;
  transition: transform .5s cubic-bezier(.4, 0, .2, 1)
}

.test-card {
  min-width: 100%;
  background: rgba(255, 255, 255, .06);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 20px;
  padding: 44px 52px;
  position: relative
}

.test-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .3);
  cursor: pointer;
  transition: all .25s ease;
  border: none;
  padding: 0
}

.test-dot.active {
  background: var(--gold);
  width: 24px;
  border-radius: 4px
}

.test-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 24px
}

.test-arr {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .1);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--t);
  border: 1px solid rgba(255, 255, 255, .18)
}

.test-arr:hover {
  background: var(--gold);
  color: var(--navy);
  border-color: var(--gold)
}

.test-arr i {
  font-size: 14px;
  line-height: 1
}

.test-quote {
  font-style: normal;
  color: rgba(255, 255, 255, .85);
  font-size: .9rem;
  line-height: 1.8;
  margin-bottom: 22px;
  position: relative;
  z-index: 1
}

.test-author {
  display: flex;
  align-items: center;
  gap: 12px
}

.test-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.test-author strong {
  display: block;
  color: var(--white);
  font-size: .92rem
}

.test-author span {
  font-size: .78rem;
  color: rgba(255, 255, 255, .5)
}

/* FAQ */
.faq-item {
  border-bottom: 1px solid var(--gray-200)
}

.faq-btn {
  width: 100%;
  text-align: left;
  padding: 20px 0;
  font-size: .97rem;
  font-weight: 600;
  color: var(--gray-900);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px
}

.faq-btn[aria-expanded=true] {
  color: var(--green)
}

.faq-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--gold);
  transition: transform .3s ease
}

.faq-btn[aria-expanded=true] .faq-icon {
  transform: rotate(45deg)
}

.faq-body {
  color: var(--gray-700);
  font-size: .88rem;
  line-height: 1.8;
  overflow: hidden;
  max-height: 0;
  padding-bottom: 0;
  transition: max-height .35s ease, padding-bottom .35s ease
}

/* AMT BUTTONS (donate) */
.amt-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 18px
}

.amt-btn {
  padding: 11px;
  border-radius: 10px;
  border: 1.5px solid var(--gray-200);
  font-weight: 700;
  font-size: .88rem;
  color: var(--gray-700);
  transition: var(--t)
}

.amt-btn.active,
.amt-btn:hover {
  border-color: var(--green);
  background: var(--green-lt);
  color: var(--green)
}

/* RESPONSIVE */
@media(max-width:1024px) {
  .g4 {
    grid-template-columns: repeat(2, 1fr)
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr
  }

  .gal-grid {
    columns: 3
  }
}

@media(max-width:1150px) {
  .nav-link {
    padding: 8px 7px;
    font-size: .775rem
  }

  .nav-logo-text {
    font-size: 1rem
  }

  .nav-logo-img {
    width: 34px;
    height: 34px
  }
}

@media(max-width:980px) {
  .nav-links {
    display: none
  }

  .hamburger {
    display: flex
  }
}

.sponsor-cta-card{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--navy);border-radius:var(--r-xl);overflow:hidden}
.sponsor-cta-body{padding:56px 52px}
.sponsor-cta-img{display:flex;min-height:420px}
.sponsor-cta-img img{width:100%;height:100%;object-fit:cover;display:block}

@media(max-width:768px) {
  .sponsor-cta-card{grid-template-columns:1fr}
  .sponsor-cta-img{order:-1;min-height:240px}
  .sponsor-cta-body{padding:36px 28px}

  .section {
    padding: 52px 0
  }

  .section-sm {
    padding: 36px 0
  }

  .g2,
  .g3,
  .g4 {
    grid-template-columns: 1fr
  }

  .form-row {
    grid-template-columns: 1fr
  }

  .gal-grid {
    columns: 2
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr
  }
}

@media(max-width:480px) {
  .gal-grid {
    columns: 1
  }

  .footer-grid {
    grid-template-columns: 1fr
  }

  .footer-bottom-inner {
    flex-direction: column;
    text-align: center
  }

  .hero-content {
    padding: 110px 16px 100px
  }

  .page-hero {
    padding: 110px 0 44px
  }

  .btn {
    padding: 9px 18px;
    font-size: .8rem
  }

  .btn-lg {
    padding: 10px 22px;
    font-size: .85rem
  }
}

@media(prefers-reduced-motion:reduce) {

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important
  }
}

/* ---- DROPDOWN NAVIGATION ---- */
.nav-item{position:relative;display:flex;align-items:center}
.nav-dropdown-toggle{display:flex;align-items:center;gap:4px;cursor:pointer}
.nav-dropdown-toggle i{opacity:.6;transition:transform .25s ease,opacity .25s;font-size:9px}
.nav-item:hover .nav-dropdown-toggle i{transform:rotate(180deg);opacity:1}
.dropdown-menu{
  display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);
  background:rgba(8,22,42,.97);border:1px solid rgba(255,255,255,.1);
  border-radius:12px;min-width:240px;padding:8px 0;z-index:1200;
  backdrop-filter:blur(20px);box-shadow:0 16px 48px rgba(0,0,0,.5)
}
/* invisible bridge covers the 10px gap so mouse doesn't lose hover */
.dropdown-menu::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
.nav-item:hover>.dropdown-menu{display:block;animation:dropIn .18s ease}
@keyframes dropIn{from{opacity:0;transform:translateX(-50%) translateY(-4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.dropdown-link{display:block;padding:10px 18px;font-size:.83rem;font-weight:500;color:rgba(255,255,255,.8);transition:background .15s,color .15s;white-space:nowrap;border-radius:6px;margin:1px 4px}
.dropdown-link:hover{background:rgba(255,255,255,.08);color:var(--gold)}
.dropdown-divider{height:1px;background:rgba(255,255,255,.08);margin:5px 0}

/* ---- MANAGEMENT COMMITTEE ---- */
.mc-current{background:var(--white);border:2px solid var(--gold);border-radius:var(--r-xl);padding:32px;box-shadow:var(--sh-md)}
.mc-officers{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:8px}
.mc-officer{background:var(--off);border-radius:var(--r-md);padding:12px 16px}
.mc-role{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--green);margin-bottom:4px}
.mc-name{font-size:.9rem;font-weight:600;color:var(--gray-900)}

/* ---- YOUTUBE VIDEO GRID ---- */
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.video-card{display:block;text-decoration:none;border-radius:var(--r-lg);overflow:hidden;background:var(--white);border:1.5px solid var(--gray-200);transition:var(--t)}
.video-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--green)}
.video-thumb{position:relative;aspect-ratio:16/9;background:var(--gray-100)}
.video-thumb img{width:100%;height:100%;object-fit:cover}
.video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.video-play i{width:52px;height:52px;border-radius:50%;background:rgba(11,30,52,.75);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:18px}
.video-card:hover .video-play i{background:var(--green)}
.video-body{padding:14px 16px}
.video-title{font-size:.9rem;font-weight:700;color:var(--gray-900)}
.video-year{font-size:.76rem;color:var(--gray-500);margin-top:2px}

/* ---- PHOTO ARCHIVE STRIP ---- */
.archive-slider{position:relative}
.archive-strip{display:flex;gap:14px;overflow-x:auto;scroll-behavior:smooth;padding:8px 2px 16px;scrollbar-width:none}
.archive-strip::-webkit-scrollbar{display:none}
.archive-thumb{flex:0 0 130px;text-decoration:none;text-align:center}
.archive-thumb img{width:130px;height:90px;object-fit:cover;border-radius:var(--r-md);transition:var(--t)}
.archive-thumb:hover img{transform:translateY(-3px);box-shadow:var(--sh-md)}
.archive-thumb span{display:block;margin-top:8px;font-size:.78rem;font-weight:700;color:var(--gray-700)}
.archive-arr{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:var(--white);border:1.5px solid var(--gray-200);color:var(--gray-700);display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-sm);transition:var(--t);z-index:2}
.archive-arr:hover{background:var(--green);border-color:var(--green);color:var(--white)}
.archive-arr.prev{left:-14px}
.archive-arr.next{right:-14px}
@media(max-width:640px){.archive-arr{display:none}}

/* ---- YEAR GALLERY 2-COLUMN LAYOUT ---- */
.gal-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gal-2col img{width:100%;height:340px;object-fit:cover;border-radius:var(--r-lg)}
.gal-cap-below{font-size:.8rem;color:var(--gray-600);margin-top:8px;text-align:center}
@media(max-width:768px){.gal-2col{grid-template-columns:1fr}.gal-2col img{height:230px}}

/* ---- LIGHTBOX ---- */
.lightbox{position:fixed;inset:0;background:rgba(8,12,18,.95);z-index:2000;display:none;align-items:center;justify-content:center;padding:40px}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:var(--r-md);box-shadow:var(--sh-lg)}
.lb-close,.lb-prev,.lb-next{position:fixed;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.25);color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:var(--t)}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.2)}
.lb-close{top:24px;right:24px}
.lb-prev{left:24px;top:50%;transform:translateY(-50%)}
.lb-next{right:24px;top:50%;transform:translateY(-50%)}
.lb-count{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:.8rem}
@media(max-width:640px){.lightbox{padding:16px}.lb-prev,.lb-next{width:38px;height:38px;font-size:15px}.lb-prev{left:8px}.lb-next{right:8px}.lb-close{top:12px;right:12px}}

/* ---- HERO SLIDESHOW ---- */
.hero-bg-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.hero-bg-slide.active{opacity:1}
.hero-bg-slide img{width:100%;height:100%;object-fit:cover;object-position:center top}

/* ---- HERO TICKER ---- */
.hero-ticker{position:absolute;left:0;right:0;bottom:90px;z-index:4;display:flex;align-items:center;overflow:hidden;padding:0 24px;pointer-events:none}
.hero-ticker-label{background:var(--gold);color:var(--navy);font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:4px 0 0 4px;white-space:nowrap;flex-shrink:0;line-height:1}
.hero-ticker-track{overflow:hidden;background:rgba(11,30,52,.78);backdrop-filter:blur(8px);border:1px solid rgba(201,162,39,.3);border-left:none;border-radius:0 4px 4px 0;flex:1;min-width:0}
.hero-ticker-inner{display:flex;gap:60px;animation:tickerScroll 28s linear infinite;white-space:nowrap;padding:6px 20px;width:max-content}
.hero-ticker-inner span{font-size:.73rem;font-weight:600;color:rgba(255,255,255,.9);letter-spacing:.03em}
@keyframes tickerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:640px){.hero-ticker{bottom:72px;padding:0 12px}.hero-ticker-label{font-size:.55rem;padding:5px 8px}}

/* SUB-NAV PILL TABS (shared by all pages) */
.sub-nav{background:var(--white);border-bottom:1px solid var(--gray-200);position:sticky;top:calc(var(--hdr-h,68px) - 1px);z-index:100}
.sub-nav-inner{display:flex;gap:4px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.sub-nav-inner::-webkit-scrollbar{display:none}
.sub-nav-link{padding:8px 16px;border-radius:50px;font-size:.83rem;font-weight:600;color:var(--gray-600);white-space:nowrap;transition:var(--t);border:1.5px solid transparent}
.sub-nav-link:hover{background:var(--gray-100);color:var(--gray-900)}
.sub-nav-link.active{background:var(--green);color:var(--white)}

/* YOUTUBE VIDEO CARDS (thumbnail + link) */
.yt-card{display:flex;flex-direction:column;background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-sm);transition:var(--t);color:inherit;margin:0}
.yt-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,400px));gap:24px;justify-content:center;margin:0 auto 20px}
.yt-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:#e62117}
.yt-thumb{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.yt-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.yt-card:hover .yt-thumb img{transform:scale(1.05)}
.yt-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(rgba(0,0,0,.05),rgba(0,0,0,.35))}
.yt-play i{width:64px;height:46px;border-radius:14px;background:#e62117;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.yt-body{padding:22px 28px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.yt-body b{font-size:1.08rem;line-height:1.45;color:var(--gray-900)}
.yt-body small{font-size:.85rem;color:var(--green);font-weight:600;word-break:break-all}
@media(max-width:640px){.yt-body{padding:18px 20px}}

/* MOBILE: one card / one image per row everywhere */
@media(max-width:600px){
  .ab-imgs,.jb-imgs,.aw,.aw-community,.pj-hawa .imgs,.cult-grid,.nb-grid,.arch-grid,.mc-officers,.aw-imgs,.cn-two,.pj-grid,.sg-grid,.video-grid,.gal-grid,.logo-grid,.facts-grid{grid-template-columns:1fr!important}
  .tiles>*{flex-basis:100%!important}
  .gal-grid .gal-item{flex-basis:100%!important;max-width:none!important}
  .arch-grid .arch-card,.arch-grid>*{grid-column:auto!important}
}

/* YEAR DROPDOWNS (Puja / Socio-Cultural) */
.dropdown-menu.dd-wide{padding:16px 18px;min-width:0;width:max-content;max-width:94vw}
.dropdown-menu.dd-right{left:auto;right:-150px;transform:none}
.nav-item:hover>.dropdown-menu.dd-right{animation:none}
.dd-title{display:block;color:var(--gold);font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;padding:2px 2px 10px;white-space:nowrap}
.dd-title:hover{color:var(--white)}
.dd-years{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.dd-years.four{grid-template-columns:repeat(4,1fr)}
.dd-chip{display:block;text-align:center;padding:7px 10px;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.85);background:rgba(255,255,255,.07);border-radius:8px;transition:background .15s,color .15s;white-space:nowrap}
.dd-chip:hover{background:var(--gold);color:var(--navy)}
.dd-chip.gold{background:rgba(201,162,39,.25);color:var(--gold)}
.dd-cols{display:grid;grid-template-columns:repeat(3,auto);gap:26px}
.dd-col{padding-right:22px;border-right:1px solid rgba(255,255,255,.1)}.dd-col:last-child{border-right:0;padding-right:0}
.mobile-nav .mn-years{display:flex;flex-wrap:wrap;gap:6px;padding:4px 16px 14px 32px;border-bottom:1px solid rgba(255,255,255,.06)}
.mobile-nav .mn-years a{padding:6px 12px!important;font-size:.78rem!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:50px;display:inline-block;color:rgba(255,255,255,.85)}
.cult-item{scroll-margin-top:170px}

/* Socio-Cultural dropdown: hover an item -> year list opens on the right */
.dd-sub{position:relative}
.dd-sub>.dropdown-link{display:flex;align-items:center;justify-content:space-between;gap:16px}
.dd-sub>.dropdown-link i{font-size:9px;opacity:.6}
.dd-fly{display:none;position:absolute;top:-8px;left:100%;margin-left:2px;background:rgba(8,22,42,.97);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px;box-shadow:0 16px 48px rgba(0,0,0,.5);grid-template-columns:repeat(3,64px);gap:2px;z-index:1}
.dd-fly::before{content:'';position:absolute;top:0;bottom:0;left:-8px;width:8px}
.dd-sub:hover>.dd-fly{display:grid}
.dd-fly a{display:block;text-align:center;padding:8px 0;font-size:.82rem;font-weight:600;color:rgba(255,255,255,.85);border-radius:6px;transition:background .15s,color .15s}
.dd-fly a:hover{background:var(--gold);color:var(--navy)}
@media(max-width:1280px){.dd-fly{left:auto;right:100%;margin:0 2px 0 0}.dd-fly::before{left:auto;right:-8px}}

/* no font flash: keep the page hidden until the web fonts + icons are ready (JS adds .fonts-ok; CSS fallback reveals after 3s) */
html:not(.fonts-ok) body{visibility:hidden;animation:fontsOk 0s linear 3s forwards}
@keyframes fontsOk{to{visibility:visible}}

/* Puja dropdown: all years */
.dd-yearmenu{min-width:300px;padding:10px}
.dd-yearmenu .dd-all{display:block;padding:10px 14px;font-size:.83rem;font-weight:700;color:var(--gold);border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:6px}
.dd-yearmenu .dd-all:hover{color:var(--white)}
.dd-ygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.dd-ygrid a{display:block;text-align:center;padding:8px 0;font-size:.82rem;font-weight:600;color:rgba(255,255,255,.85);border-radius:6px;transition:background .15s,color .15s}
.dd-ygrid a:hover{background:var(--gold);color:var(--navy)}

/* mobile menu: open / close groups */
.mobile-nav li.mn-sub{display:none}
.mobile-nav li.mn-sub.show{display:block}
.mobile-nav li.mn-years.show{display:flex}
.mobile-nav li.has-sub{display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.06)}
.mobile-nav li.has-sub>a{flex:1;border-bottom:0!important}
.mn-tog{flex:0 0 58px;display:flex;align-items:center;justify-content:center;color:var(--gold);background:transparent;border:0;border-left:1px solid rgba(255,255,255,.08);cursor:pointer;font-size:.85rem}
.mn-tog i{transition:transform .25s ease}
.mn-tog[aria-expanded=true] i{transform:rotate(180deg)}
.mn-tog[aria-expanded=true]{background:rgba(255,255,255,.06)}

.mobile-nav li.mn-sub.has-sub2{align-items:stretch;border-bottom:1px solid rgba(255,255,255,.06)}
.mobile-nav li.mn-sub.has-sub2.show{display:flex}
.mobile-nav li.mn-sub.has-sub2>a{flex:1;border-bottom:0!important}
.mn-tog2{flex:0 0 52px}
.mobile-nav li.mn-yrs{display:none}
.mobile-nav li.mn-yrs.show{display:flex}

/* ===== HEADER + FOOTER in the reference style (solid colours, serif brand, gold accents) ===== */
.site-header.scrolled{background:var(--navy);backdrop-filter:none;border-bottom:1px solid rgba(201,162,39,.4);box-shadow:0 4px 18px rgba(0,0,0,.25)}
.nav-logo-text{font-family:'Cormorant Garamond','Playfair Display',Georgia,serif;font-size:1.55rem;font-weight:700;letter-spacing:.005em}
.nav-logo-img{width:42px;height:42px}
.nav-link{position:relative;font-size:.84rem;font-weight:600;color:rgba(255,255,255,.85);padding:10px 10px;border-radius:0;background:none!important}
.nav-link::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-link:hover,.nav-link.active,.nav-item:hover>.nav-link{color:var(--gold)!important;background:none!important}
.nav-link:hover::after,.nav-link.active::after,.nav-item:hover>.nav-link::after{transform:scaleX(1)}
.nav-dropdown-toggle i{display:none}
.nav-dropdown-toggle::before{content:none}
.dropdown-menu{background:var(--navy);border:1px solid rgba(255,255,255,.1);border-top:3px solid var(--gold);border-radius:0 0 14px 14px;backdrop-filter:none;box-shadow:0 18px 40px rgba(0,0,0,.4)}
.dropdown-link{border-radius:8px;font-weight:600}
.dropdown-link:hover{background:rgba(201,162,39,.16);color:var(--gold)}
.dd-fly{background:var(--navy);border-top:3px solid var(--gold);border-radius:0 12px 12px 12px;backdrop-filter:none}
.mobile-nav .mn-cta{background:var(--gold);color:var(--navy)}

.footer{border-top:4px solid var(--gold)}
.footer-top{padding:72px 0 44px}
.footer-grid{grid-template-columns:1.5fr 1.35fr 1.15fr 1.25fr;gap:48px}
.footer-logo-name{font-family:'Cormorant Garamond','Playfair Display',Georgia,serif;font-size:1.9rem;font-weight:700;letter-spacing:.005em}
.footer-logo img{width:50px;height:50px}
.footer-brand p{font-size:.92rem;line-height:1.85;color:rgba(255,255,255,.72)}
.footer-brand p[style]{display:flex;gap:10px;align-items:flex-start;font-size:.88rem!important;color:rgba(255,255,255,.72)!important;margin-top:0!important}
.footer-brand p[style]::before{content:"\f3c5";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--gold);flex:0 0 auto;margin-top:2px}
.footer-col h4{font-family:'Cormorant Garamond','Playfair Display',Georgia,serif;font-size:1.5rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--white);margin:0 0 22px;padding-bottom:12px;position:relative}
.footer-col h4::after{content:"";position:absolute;left:0;bottom:0;width:38px;height:3px;background:var(--gold);border-radius:2px}
.footer-col ul{display:block;columns:2;column-gap:24px}
.footer-col ul li{break-inside:avoid;margin:0 0 11px}
.footer-col:nth-child(3) ul{columns:1}
.footer-col ul li a{font-size:.92rem;font-weight:500;color:rgba(255,255,255,.75);display:inline-flex;gap:8px;align-items:baseline;transition:color .2s,transform .2s}
.footer-col ul li a::before{content:"\f054";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.62rem;color:var(--gold)}
.footer-col ul li a:hover{color:var(--gold);transform:translateX(3px)}
.footer-col:nth-child(3) ul li a::before{content:"\f0e0"}
.footer-col:nth-child(3) ul li a[href*="newbengalclub.in"]::before{content:"\f0ac"}
.footer-col:nth-child(3) ul li a[href*="facebook"]::before{content:"\f09a";font-family:"Font Awesome 6 Brands";font-weight:400}
.footer-col:nth-child(3) ul li a[href*="instagram"]::before{content:"\f16d";font-family:"Font Awesome 6 Brands";font-weight:400}
.footer-col:nth-child(3) ul li a[href*="youtube"]::before{content:"\f167";font-family:"Font Awesome 6 Brands";font-weight:400}
.footer-col:nth-child(3) ul li a[href*="twitter"]::before{content:"\e61b";font-family:"Font Awesome 6 Brands";font-weight:400}
.footer-col:nth-child(3) ul li a::before{font-size:.8rem;width:14px;text-align:center}
.footer-col p{color:rgba(255,255,255,.72)!important;font-size:.9rem!important;line-height:1.7}
.footer-nl-input{border-radius:50px}
.footer-nl-btn{background:var(--gold);color:var(--navy)}
.fsoc{background:transparent;border:1.5px solid var(--gold);color:var(--gold);width:40px;height:40px}
.fsoc:hover{background:var(--gold);color:var(--navy)}
.footer-bottom{border-top:1px solid rgba(201,162,39,.35);padding:22px 0}
.footer-bottom-inner p{font-size:.82rem;color:rgba(255,255,255,.6)}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;gap:34px}.footer-col ul{columns:1}.footer-top{padding:56px 0 34px}}

/* hamburger earlier so the larger header never overflows */
@media(max-width:1240px){.nav-links{display:none}.hamburger{display:flex}}

/* footer: lighter, 3 columns (brand + social | navigate | contact) */
.footer-grid{grid-template-columns:1.1fr 1.7fr 1.2fr;gap:44px}
.footer-logo{gap:12px;margin-bottom:18px}
.footer-logo-name{font-size:1.75rem;white-space:nowrap}
.footer-logo img{width:46px;height:46px}
.footer-brand p{max-width:380px;margin-bottom:16px}
.footer-brand .footer-social{margin-top:22px}
.footer-col ul li a{white-space:nowrap}
.footer-col:nth-child(3) ul li a{white-space:normal;overflow-wrap:anywhere}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}}
.footer-follow{margin-top:26px}
.footer-follow h4{font-family:'Cormorant Garamond','Playfair Display',Georgia,serif;font-size:1.5rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--white);margin:0 0 16px;padding-bottom:12px;position:relative}
.footer-follow h4::after{content:"";position:absolute;left:0;bottom:0;width:38px;height:3px;background:var(--gold);border-radius:2px}
.footer-brand .footer-follow .footer-social{margin-top:0}
/* footer: Follow Us is its own 4th column */
.footer-grid{grid-template-columns:1.15fr 1.55fr 1.2fr .9fr;gap:40px}
.footer-follow{margin-top:0}
.footer-follow .footer-social{flex-wrap:wrap}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}}
.footer-grid{grid-template-columns:1fr 1.75fr 1.1fr .8fr;gap:28px}
.footer-col ul li a{font-size:.88rem}
.footer-col ul{column-gap:18px}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr;gap:34px}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}}

/* ===== FOOTER v2: centred brand, one link row, contact row, social ===== */
.footer{border-top:4px solid var(--gold)}
.footer-top{padding:64px 0 44px}
.ft2{max-width:1000px;text-align:center;display:flex;flex-direction:column;align-items:center}
.ft2-brand{display:inline-flex;align-items:center;gap:14px}
.ft2-brand img{width:58px;height:58px;object-fit:contain}
.ft2 .footer-logo-name{font-family:'Cormorant Garamond','Playfair Display',Georgia,serif;font-size:2.4rem;font-weight:700;color:var(--white);white-space:nowrap;line-height:1}
.ft2 .footer-logo-name span{color:var(--gold)}
.ft2-about{max-width:660px;margin:20px 0 0;font-size:1rem;line-height:1.85;color:rgba(255,255,255,.75)}
.ft2-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 30px;width:100%;margin-top:36px;padding:26px 0;border-top:1px solid rgba(201,162,39,.35);border-bottom:1px solid rgba(201,162,39,.35)}
.ft2-links a{font-size:.95rem;font-weight:600;color:rgba(255,255,255,.88);position:relative;padding-bottom:3px;transition:color .2s}
.ft2-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.ft2-links a:hover{color:var(--gold)}
.ft2-links a:hover::after{transform:scaleX(1)}
.ft2-contact{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 40px}
.ft2-contact li{display:inline-flex;align-items:center;gap:10px;font-size:.93rem;color:rgba(255,255,255,.8)}
.ft2-contact li::before{font-family:"Font Awesome 6 Free";font-weight:900;color:var(--gold);font-size:.9rem}
.ft2-addr::before{content:"\f3c5"}
.ft2-mail::before{content:"\f0e0"}
.ft2-web::before{content:"\f0ac"}
.ft2-contact a{color:rgba(255,255,255,.8);transition:color .2s}
.ft2-contact a:hover{color:var(--gold)}
.ft2 .footer-social{margin-top:28px;justify-content:center;gap:12px}
.ft2 .fsoc{width:44px;height:44px}
.footer-bottom{border-top:1px solid rgba(201,162,39,.35)}
@media(max-width:700px){.ft2 .footer-logo-name{font-size:1.9rem}.ft2-brand img{width:46px;height:46px}.ft2-links{gap:10px 20px}.ft2-contact{flex-direction:column;align-items:center;gap:12px}.footer-top{padding:48px 0 34px}}
.ft2{max-width:none}
.ft2-links{gap:12px 24px}
.ft2-links a{font-size:.92rem}
@media(max-width:700px){.ft2-links{gap:10px 20px}}

/* MOBILE header: brand on the left, menu button on the right; menu slides in from the right */
@media(max-width:1240px){
  .nav-inner{gap:6px}
  .hamburger{order:0;margin-left:auto;margin-right:0;padding:8px}
  .nav-logo{margin-right:0}
}
.mobile-nav{transform:translateX(100%)}
.mobile-nav.open{transform:translateX(0)}

/* mobile: the tab bar under the banner stays on ONE line (!important: some pages still carry their own copy of the tab css) */
@media(max-width:600px){
  .sub-nav-inner{gap:2px!important;overflow:visible!important;padding:10px 0!important}
  .sub-nav-link{flex:1 1 0!important;min-width:0!important;text-align:center!important;padding:9px 4px!important;font-size:.72rem!important;white-space:normal!important;line-height:1.25!important}
}
