.hero-subtitle {
    font-size: 96px;
}

.omEmblem {
    width: 175px;
    height: auto;
    margin: 20px;
}

.cultureTitle {
    font-size: 50px;
    font-weight: 700;
    background: linear-gradient(84deg, #261d00 0%, #815d09 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-top: 50px;
}

.omSubtitleText {
    font-size: 15px;
    font-weight: 600;
    font-style: italic;
    color: #3a2800;
    margin-top: 30px;
    text-align: center;
}

.whereIsItContainer {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.northLocationTitle {
    font-size: 32px;
    line-height: 40px;
    font-weight: bolder;
    text-align: center;
    width: 300px;
}

.northLocationText {
    font-size: 16px;
    line-height: 30px;
    margin: 15px;
    text-align: center;
    width: 400px;
}

.northIndiaText {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.northIndiaLocation {
    display: flex;
    gap: 40px;
}

.southLocationTitle {
    font-size: 32px;
    line-height: 40px;
    font-weight: bolder;
    text-align: center;
    width: 300px;
}

.southLocationText {
    font-size: 16px;
    line-height: 30px;
    margin: 15px;
    text-align: center;
    width: 400px;
}

.southIndiaText {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.southIndiaLocation {
    display: flex;
    gap: 40px;
}

.blackBackground {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 700px;
}

.blackBackground::before {
    content: "";
    position: absolute;
    width: 2000px;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: hsla(0, 0%, 0%, 0.85);
    filter: blur(50px);
    z-index: 0;
}

.blackBackground > * {
    position: relative;
    z-index: 1;
}

.omInfoContainer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 100px;
}

.omTextContainer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    align-items: center;
    width: 400px;
}

.whiteTitle {
    color: white;
    font-size: 64px;
    width: 800px;
}

.whiteText {
    color: white;
    line-height: 30px;
    font-size: 24px;
    margin-top: 10px;
}

.omTransparentImg {
    width: 100%;
    height: 300px;
}

.facts-about-culture-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 2000px;
    max-width: 2000px;
    margin: 0;
    padding: 60px 20px;
    background: rgba(255, 255, 255, 0.027) url(img/SandstoneTexture1.avif);
    box-shadow: inset 0 8px 12px rgba(71, 46, 6, 0.224), inset 0 -8px 12px rgba(23, 14, 0, 0.224);
}

.facts-about-culture-section::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    background: rgba(255, 251, 226, 0.6);
    box-shadow: inset 0 8px 12px rgba(71, 46, 6, 0.224), inset 0 -8px 12px rgba(23, 14, 0, 0.224), 0 4px 8px rgba(0, 0, 0, 0.199);
    z-index: 0;
}

.facts-about-culture-section > * {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1200px;
}

.gold-title2 {
  font-size: 32px;
  font-weight: 800;
  color: #1b1200;
  margin: 30px;
  z-index: 4;
  text-align: center;
}

.cultureImages {
    width: 60%;
    height: auto;
}

.culture-card {
    padding: 10px 5px 10px 10px;
    height: auto;
    max-height: 500px;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 250px;
    background: linear-gradient(#FFEABC, #F1BF6F);
    font-size: medium;
    box-shadow: 0px 4px 6px rgba(0,0,0,0.25), inset 0px -8px 12px rgba(0, 0, 0, 0.25), inset 0 4px 8px hsla(46, 100%, 13%, 0.15);
    line-height: 1.6;
}

.culture-card ul {
    list-style-type: disc;
    list-style-position: inside;
    padding-left: 0;
    text-align: left;
    margin-top: 10px;
}

.culture-card li {
    margin-bottom: 8px;
    display: list-item;
}

.cultureCaption {
    font-size: 14px;
    margin: 10px;
    text-align: center;
}

  .calendar-wrapper {
    width: 100%;
    max-width: 660px;
  }

  /* ── Title ── */
  .calendar-title {
    font-size: 32px;
    font-weight: 800;
    text-align: center;
    margin-bottom: 6px;
    color: #1a1000;
  }

  .calendar-subtitle {
    text-align: center;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 18px;
    color: #2a1e00;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }

  /* ── Month Nav ── */
  .month-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0;
    background: linear-gradient(180deg, #f8f0da 0%, #ede0c0 100%);
    border: 1px solid #c8b888;
    border-bottom: none;
  }

  .month-nav-btn {
    width: 48px;
    height: 48px;
    background: linear-gradient(180deg, #FFEABC 0%, #E0BF77 100%);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 -4px 8px rgba(0, 0, 0, 0.25), inset 0 4px 4px rgba(255, 255, 255, 0.5), 0 0 6px rgba(0, 0, 0, 0.114);
    transition: filter 0.15s;
  }

  .month-nav-btn:hover {
    filter: brightness(1.1);
  }

  .month-nav-btn svg {
    width: 20px;
    height: 20px;
    fill: #1b1200;
  }

  .month-name {
    font-size: 30px;
    font-weight: 700;
    color: #1a1000;
  }

  /* ── Calendar Grid ── */
  .calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    border: 1px solid #a89868;
    background: #a89868;
    gap: 1px;
  }

  .calendar-cell {
    background: #faf4e4;
    min-height: 80px;
    padding: 6px 8px;
    font-size: 15px;
    font-weight: 700;
    position: relative;
    vertical-align: top;
  }

  .calendar-cell.empty {
    background: #f4eed8;
  }

  .calendar-cell .day-number {
    font-size: 15px;
    font-weight: 700;
    color: #1a1000;
  }

  .calendar-cell .event-text {
    font-size: 9.5px;
    font-weight: 400;
    line-height: 1.35;
    color: #2a1e00;
    margin-top: 3px;
    display: block;
  }

  .calendar-cell .event-label {
    font-weight: 700;
    font-size: 10px;
  }