:root {
  --pink: #e91e78;
  --rose: #ff5fa2;
  --blush: #fff0f6;
  --deep: #7a0f45;
  --ink: #3a1b2b;
  --gold: #f2b84b;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: "Poppins", "Noto Sans Telugu", sans-serif;
  color: var(--ink);
  background: #fff;
  overflow-x: hidden;
}
h1,
h2,
h3,
.brand {
  font-family: "Playfair Display", "Noto Serif Telugu", serif;
}
.te {
  font-family: "Noto Serif Telugu", serif;
}
.navbar {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 20px rgba(233, 30, 120, 0.12);
}
.brand {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--pink) !important;
}
.brand i {
  display: inline-block;
  animation: beat 1.6s infinite;
}
.nav-link {
  font-weight: 500;
  color: var(--ink) !important;
  position: relative;
}
.nav-link.active,
.nav-link:hover {
  color: var(--pink) !important;
}
.nav-link::after {
  content: "";
  position: absolute;
  left: 0.5rem;
  right: 0.5rem;
  bottom: 2px;
  height: 2px;
  background: var(--pink);
  transform: scaleX(0);
  transition: 0.3s;
}
.nav-link.active::after,
.nav-link:hover::after {
  transform: scaleX(1);
}
.btn-pink {
  background: linear-gradient(135deg, var(--pink), var(--rose));
  color: #fff;
  border: 0;
  border-radius: 50px;
  padding: 0.7rem 1.8rem;
  font-weight: 600;
  box-shadow: 0 8px 22px rgba(233, 30, 120, 0.35);
  transition: 0.3s;
}
.btn-pink:hover {
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(233, 30, 120, 0.45);
}
.btn-line {
  border: 2px solid #fff;
  color: #fff;
  border-radius: 50px;
  padding: 0.65rem 1.7rem;
  font-weight: 600;
  transition: 0.3s;
}
.btn-line:hover {
  background: #fff;
  color: var(--pink);
}
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding-top: 80px;
  color: #fff;
  background: linear-gradient(
      100deg,
      rgba(122, 15, 69, 0.93) 0%,
      rgba(233, 30, 120, 0.72) 45%,
      rgba(255, 95, 162, 0.12) 100%
    ),
    url(../images/landpagebg.jpg) right center/cover;
}
.hero h1 {
  font-size: clamp(2.6rem, 6vw, 4.8rem);
  font-weight: 700;
  line-height: 1.08;
}
.hero .tag {
  font-size: 1.2rem;
  font-style: italic;
  opacity: 0.95;
}
.badge-soft {
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 50px;
  padding: 0.35rem 1rem;
  font-size: 0.9rem;
  display: inline-block;
}
#notes {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.note {
  position: absolute;
  bottom: -40px;
  color: rgba(255, 255, 255, 0.7);
  animation: rise linear infinite;
}
@keyframes rise {
  to {
    transform: translateY(-115vh) rotate(40deg);
    opacity: 0;
  }
}
@keyframes beat {
  50% {
    transform: scale(1.25);
  }
}
.eq {
  display: flex;
  align-items: flex-end;
  gap: 5px;
  height: 46px;
  margin: 1.4rem 0;
}
.eq span {
  width: 6px;
  background: #fff;
  border-radius: 3px;
  animation: eq 1s ease-in-out infinite;
}
.eq span:nth-child(2n) {
  animation-duration: 0.7s;
}
.eq span:nth-child(3n) {
  animation-duration: 1.3s;
  background: var(--gold);
}
.eq span:nth-child(4n) {
  animation-delay: -0.4s;
}
@keyframes eq {
  0%,
  100% {
    height: 8px;
  }
  50% {
    height: 46px;
  }
}
section {
  padding: 5.5rem 0;
}
.bg-blush {
  background: var(--blush);
}
.sec-title {
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 700;
  color: var(--deep);
}
.sec-title::after {
  content: "♪ ♫ ♪";
  display: block;
  font-size: 1rem;
  color: var(--pink);
  letter-spacing: 0.5rem;
  margin-top: 0.4rem;
}
.text-center .sec-title::after {
  margin-inline: auto;
}
.page-head {
  padding: 9rem 0 4rem;
  text-align: center;
  color: #fff;
  background: linear-gradient(120deg, var(--deep), var(--pink), var(--rose));
  position: relative;
  overflow: hidden;
}
.page-head h1 {
  font-weight: 700;
  position: relative;
}
.stat {
  background: #fff;
  border-radius: 22px;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 10px 35px rgba(233, 30, 120, 0.13);
  transition: 0.35s;
  height: 100%;
}
.stat:hover {
  transform: translateY(-8px);
}
.stat i {
  font-size: 2rem;
  color: var(--pink);
}
.stat .n {
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--deep);
  font-family: "Playfair Display", serif;
}
.card-x {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(122, 15, 69, 0.12);
  transition: 0.35s;
  height: 100%;
  background: #fff;
}
.card-x:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 40px rgba(233, 30, 120, 0.25);
}
.card-x .im {
  overflow: hidden;
}
.card-x img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  transition: 0.5s;
}
.card-x:hover img {
  transform: scale(1.07);
}
.book img {
  height: 340px;
  object-fit: contain;
  background: var(--blush);
  padding: 0.8rem;
}
.frame {
  border-radius: 26px;
  box-shadow: 20px 20px 0 var(--rose);
  width: 100%;
}
.timeline {
  border-left: 3px solid var(--rose);
  padding-left: 1.8rem;
}
.timeline .it {
  position: relative;
  margin-bottom: 1.6rem;
}
.timeline .it::before {
  content: "♪";
  position: absolute;
  left: -2.95rem;
  top: -2px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--pink);
  color: #fff;
  text-align: center;
  line-height: 30px;
}
.chip {
  padding: 0.4rem 1.1rem;
  border-radius: 50px;
  border: 1.5px solid var(--pink);
  color: var(--pink);
  background: #fff;
  cursor: pointer;
  font-weight: 500;
  transition: 0.3s;
}
.chip.on,
.chip:hover {
  background: var(--pink);
  color: #fff;
}
.masonry {
  columns: 4 240px;
  column-gap: 14px;
}
.masonry a {
  display: block;
  margin-bottom: 14px;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
}
.masonry img {
  width: 100%;
  display: block;
  transition: 0.5s;
}
.masonry a:hover img {
  transform: scale(1.08);
}
.masonry a::after {
  content: "\F52A";
  font-family: bootstrap-icons;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #fff;
  background: rgba(233, 30, 120, 0.55);
  opacity: 0;
  transition: 0.3s;
}
.masonry a:hover::after {
  opacity: 1;
}
.quote {
  font-size: 1.5rem;
  font-family: "Playfair Display", serif;
  font-style: italic;
  color: var(--deep);
}
.form-control {
  border-radius: 14px;
  padding: 0.8rem 1rem;
  border: 1.5px solid #f6c3da;
}
.form-control:focus {
  border-color: var(--pink);
  box-shadow: 0 0 0 0.2rem rgba(233, 30, 120, 0.18);
}
.contact-card {
  background: linear-gradient(135deg, var(--deep), var(--pink));
  color: #fff;
  border-radius: 26px;
  padding: 2.4rem;
  height: 100%;
}
.contact-card a {
  color: #fff;
}
footer {
  background: var(--deep);
  color: #f9cfe2;
  padding: 4rem 0 1.5rem;
}
footer a {
  color: #f9cfe2;
  text-decoration: none;
}
footer a:hover {
  color: #fff;
}
.soc a {
  display: inline-flex;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  align-items: center;
  justify-content: center;
  margin-right: 0.4rem;
  transition: 0.3s;
}
.soc a:hover {
  background: var(--pink);
  transform: translateY(-4px);
}
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: 0.8s;
}
.reveal.in {
  opacity: 1;
  transform: none;
}
#top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 99;
  display: none;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  padding: 0;
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
  .reveal {
    opacity: 1;
    transform: none;
  }
}
/* ===== v2 professional pink/plum ===== */
:root {
  --pink: #d81b60;
  --rose: #f06292;
  --blush: #fdf2f6;
  --deep: #7a0f45;
  --ink: #33202b;
  --gold: #c9a24b;
}
.brand {
  font-size: 1.35rem;
}
.btn-pink {
  padding: 0.45rem 1.2rem;
  font-size: 0.88rem;
  box-shadow: 0 4px 12px rgba(216, 27, 96, 0.25);
}
.btn-pink:hover {
  transform: translateY(-2px);
}
.btn-line {
  padding: 0.4rem 1.1rem;
  font-size: 0.88rem;
  border-width: 1.5px;
}
.btn-line-d {
  border: 1.5px solid var(--pink);
  color: var(--pink);
  border-radius: 50px;
  padding: 0.4rem 1.1rem;
  font-size: 0.88rem;
}
.btn-line-d:hover {
  background: var(--pink);
  color: #fff;
}
.sec-title {
  color: var(--deep);
  font-size: clamp(1.7rem, 3.2vw, 2.3rem);
}
.sec-title::after {
  content: "";
  display: block;
  width: 46px;
  height: 3px;
  background: linear-gradient(90deg, var(--pink), var(--gold));
  margin-top: 0.6rem;
  letter-spacing: 0;
}
.text-center .sec-title::after {
  margin-inline: auto;
}
.frame {
  border-radius: 16px;
  box-shadow: 0 22px 50px rgba(122, 15, 69, 0.22);
}
.card-x {
  border-radius: 14px;
}
.page-head {
  padding: 8rem 0 3.2rem;
  background: radial-gradient(
      circle at 80% 0,
      rgba(216, 27, 96, 0.55),
      transparent 55%
    ),
    var(--deep);
}
.page-head h1 {
  font-size: clamp(1.6rem, 3.6vw, 2.6rem);
}
.hero {
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(
      95deg,
      rgba(122, 15, 69, 0.97) 0%,
      rgba(122, 15, 69, 0.85) 42%,
      rgba(216, 27, 96, 0.25) 100%
    ),
    url(../images/landpagebg.jpg) 100% center/cover;
  transition: background-position 0.4s;
}
.hero h1 {
  font-size: clamp(2.6rem, 6vw, 4.6rem);
  letter-spacing: -0.5px;
}
.hero .tag {
  color: var(--gold);
  font-style: italic;
  font-size: 1.05rem;
}
#wave {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 150px;
  opacity: 0.9;
  pointer-events: none;
}
.hs {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(8px);
  border-radius: 12px;
  padding: 0.9rem 1rem;
  text-align: center;
  max-width: 190px;
}
.hs .n {
  font-family: "Playfair Display", serif;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1;
}
.hs small {
  opacity: 0.8;
}
.ticker {
  background: var(--pink);
  color: #fff;
  overflow: hidden;
  white-space: nowrap;
  padding: 0.7rem 0;
}
.ticker .track {
  display: inline-block;
  animation: tick 45s linear infinite;
}
.ticker:hover .track {
  animation-play-state: paused;
}
.ticker span {
  margin: 0 1.6rem;
  font-size: 0.9rem;
  font-weight: 500;
}
.ticker span::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  margin-right: 1.6rem;
  vertical-align: middle;
}
@keyframes tick {
  to {
    transform: translateX(-50%);
  }
}
.tabb {
  border: 1px solid #efc2d3;
  background: #fff;
  color: var(--ink);
  border-radius: 8px;
  padding: 0.4rem 0.9rem;
  font-size: 0.85rem;
  transition: 0.25s;
}
.tabb.on,
.tabb:hover {
  background: var(--deep);
  color: #fff;
  border-color: var(--deep);
}
.slider {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 0.8rem;
  scrollbar-width: thin;
}
.sl-card {
  flex: 0 0 min(300px, 80%);
  scroll-snap-align: start;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: var(--ink);
  box-shadow: 0 8px 24px rgba(122, 15, 69, 0.1);
  transition: 0.3s;
}
.sl-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(216, 27, 96, 0.22);
  color: var(--ink);
}
.sl-card img {
  width: 100%;
  height: 190px;
  object-fit: cover;
}
.arrow {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid var(--pink);
  background: #fff;
  color: var(--pink);
  transition: 0.25s;
  padding: 0;
}
.arrow:hover {
  background: var(--pink);
  color: #fff;
}
.strip {
  display: flex;
  gap: 8px;
  height: 360px;
}
.strip a {
  flex: 1;
  background: center/cover;
  border-radius: 14px;
  transition: flex 0.55s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.3s;
  filter: saturate(0.8);
}
.strip a:hover {
  flex: 4;
  filter: none;
}
.cta {
  background: radial-gradient(
      circle at 20% 0,
      rgba(216, 27, 96, 0.5),
      transparent 55%
    ),
    var(--deep);
  color: #fff;
}
.feat {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--blush);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: var(--ink);
  margin-bottom: 2.2rem;
  transition: 0.3s;
}
.feat:hover {
  box-shadow: 0 18px 40px rgba(216, 27, 96, 0.2);
  color: var(--ink);
}
.feat img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
}
.toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.4rem;
}
.toolbar input {
  max-width: 260px;
  border-radius: 50px;
}
.chip {
  padding: 0.25rem 0.85rem;
  font-size: 0.82rem;
}
.ev-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.8rem;
  border-bottom: 1px solid #f1d5e0;
  text-decoration: none;
  color: var(--ink);
  border-radius: 10px;
  transition: 0.25s;
}
.ev-row:hover {
  background: var(--blush);
  color: var(--ink);
  padding-left: 1.2rem;
}
.ev-row img {
  width: 84px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  flex: none;
}
.tagp {
  font-size: 0.75rem;
  background: #fde3ee;
  color: var(--pink);
  padding: 0.15rem 0.6rem;
  border-radius: 20px;
  font-weight: 600;
}
.ev-row .go {
  color: var(--pink);
  opacity: 0;
  transition: 0.25s;
}
.ev-row:hover .go {
  opacity: 1;
}
.pn {
  display: block;
  border: 1px solid #efc2d3;
  border-radius: 10px;
  padding: 0.55rem 0.85rem;
  font-size: 0.85rem;
  line-height: 1.35;
  color: var(--ink);
  text-decoration: none;
  transition: 0.25s;
  height: 100%;
}
.pn small {
  color: var(--pink);
  font-weight: 600;
}
.pn:hover {
  border-color: var(--pink);
  background: var(--blush);
  color: var(--pink);
}
@media (max-width: 768px) {
  .feat {
    grid-template-columns: 1fr;
  }
  .strip {
    height: 240px;
  }
  .ev-row .go {
    display: none;
  }
  .ev-row img {
    width: 64px;
    height: 52px;
  }
}
/* ===== v3 events ===== */
.ev-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 250px;
  gap: 16px;
  grid-auto-flow: dense;
}
.ev-tile {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  display: block;
  color: #fff;
  text-decoration: none;
  isolation: isolate;
  background: var(--deep);
}
.ev-tile.big {
  grid-column: span 2;
  grid-row: span 2;
}
.ev-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s;
  z-index: -2;
}
.ev-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(122, 15, 69, 0.94) 8%,
    rgba(122, 15, 69, 0.1) 62%
  );
  z-index: -1;
}
.ev-tile:hover {
  color: #fff;
}
.ev-tile:hover img {
  transform: scale(1.08);
}
.ev-tile .in {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.1rem 1.2rem;
}
.ev-tile small {
  color: #f6b8d0;
  font-weight: 600;
}
.ev-tile h5,
.ev-tile h6 {
  font-size: 1.02rem;
  line-height: 1.3;
}
.ev-tile.big h5 {
  font-size: 1.7rem;
}
.ev-tile p {
  margin: 0;
  font-size: 0.85rem;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: 0.4s;
}
.ev-tile:hover p {
  max-height: 64px;
  opacity: 0.92;
  margin-top: 0.4rem;
}
.ev-tile .tagp {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(255, 255, 255, 0.92);
}
@media (hover: none) {
  .ev-tile p {
    max-height: 64px;
    opacity: 0.92;
    margin-top: 0.4rem;
  }
}
@media (max-width: 992px) {
  .ev-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .ev-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 230px;
  }
  .ev-tile.big {
    grid-column: auto;
    grid-row: auto;
  }
}
.dhero {
  position: relative;
  color: #fff;
  padding: 8rem 0 3.5rem;
  overflow: hidden;
  background: var(--deep);
}
.dhero::before {
  content: "";
  position: absolute;
  inset: -30px;
  background: var(--bg) center/cover;
  filter: blur(22px) brightness(0.45) saturate(1.2);
}
.dhero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(122, 15, 69, 0.85),
    rgba(216, 27, 96, 0.15)
  );
}
.dhero .container {
  z-index: 2;
}
.dhero h1 {
  font-size: clamp(1.6rem, 3.6vw, 2.7rem);
  max-width: 820px;
  margin: 0.6rem 0 1rem;
  line-height: 1.25;
}
.back {
  color: #f6b8d0;
  text-decoration: none;
  font-size: 0.88rem;
}
.back:hover {
  color: #fff;
}
.meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  font-size: 0.9rem;
  opacity: 0.9;
}
.lead-p {
  font-family: "Playfair Display", "Noto Serif Telugu", serif;
  font-size: 1.35rem;
  line-height: 1.7;
  color: var(--deep);
  border-left: 4px solid var(--pink);
  padding-left: 1.1rem;
  margin-bottom: 1.4rem;
}
.body-p {
  font-size: 1.05rem;
  line-height: 1.85;
}
.dg {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.dg a {
  display: block;
  border-radius: 12px;
  overflow: hidden;
}
.dg img {
  width: 100%;
  height: 170px;
  object-fit: cover;
  transition: 0.5s;
  display: block;
}
.dg a:hover img {
  transform: scale(1.08);
}
.side {
  position: sticky;
  top: 96px;
  display: grid;
  gap: 16px;
}
.side-card {
  border: 1px solid #f1d5e0;
  border-radius: 14px;
  padding: 1.3rem;
  background: #fff;
}
.side-card.dark {
  background: var(--deep);
  color: #fff;
  border: 0;
}
.side-card h6 {
  font-family: "Playfair Display", serif;
  font-size: 1.1rem;
  margin-bottom: 0.8rem;
}
.side-card dl {
  margin: 0 0 1rem;
}
.side-card dt {
  font-size: 0.75rem;
  color: var(--pink);
  font-weight: 600;
}
.side-card dd {
  margin: 0 0 0.6rem;
  font-size: 0.92rem;
}
.mini {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  grid-auto-rows: 150px;
}
.mini .col {
  padding: 0;
  display: contents;
}
.mini3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  grid-auto-rows: 170px;
}
@media (max-width: 768px) {
  .mini3 {
    grid-template-columns: 1fr;
  }
  .dg {
    grid-template-columns: repeat(2, 1fr);
  }
  .side {
    position: static;
  }
}
.back {
  display: block;
}
.dhero .tagp {
  margin-top: 0.4rem;
}
/* ===== v4: back to bright pink (no black) ===== */
:root {
  --pink: #e91e78;
  --rose: #ff5fa2;
  --blush: #fff0f6;
  --deep: #7a0f45;
  --ink: #3a1b2b;
  --gold: #f2b84b;
}
.hero {
  background: linear-gradient(
      100deg,
      rgba(122, 15, 69, 0.9) 0%,
      rgba(233, 30, 120, 0.7) 45%,
      rgba(255, 95, 162, 0.1) 100%
    ),
    url(../images/landpagebg.jpg) 100% center/cover;
}
#notes {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;
}
.hero .tag {
  color: #ffe3ee;
}
.eq {
  margin: 1rem 0 0.4rem;
}
.page-head {
  position: relative;
  overflow: hidden;
  background: linear-gradient(120deg, var(--deep), var(--pink), var(--rose));
}
.cta {
  background: linear-gradient(120deg, var(--deep), var(--pink), var(--rose));
  color: #fff;
}
.dhero {
  background: var(--deep);
}
.dhero::before {
  filter: blur(22px) brightness(0.8) saturate(1.3);
}
.dhero::after {
  background: linear-gradient(
    to top,
    rgba(122, 15, 69, 0.8),
    rgba(233, 30, 120, 0.35)
  );
}
.side-card.dark {
  background: linear-gradient(135deg, var(--deep), var(--pink));
}
.ev-tile::before {
  background: linear-gradient(
    to top,
    rgba(122, 15, 69, 0.92) 6%,
    rgba(233, 30, 120, 0.12) 62%
  );
}
.hs {
  background: rgba(255, 255, 255, 0.18);
}
footer {
  background: var(--deep);
}
.ticker {
  background: linear-gradient(90deg, var(--pink), var(--rose));
}
.tabb.on,
.tabb:hover {
  background: var(--pink);
  border-color: var(--pink);
}
.ev-tile small {
  color: #ffd3e4;
}
.dhero {
  background: linear-gradient(120deg, var(--deep), var(--pink), var(--rose));
}
.dhero::before {
  opacity: 0.35;
}
/* ===== v5 home ===== */
.feat2 {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  background: linear-gradient(120deg, var(--deep), var(--pink), var(--rose));
  color: #fff;
  border-radius: 18px;
  overflow: hidden;
  text-decoration: none;
  transition: 0.3s;
}
.feat2:hover {
  color: #fff;
  box-shadow: 0 20px 44px rgba(233, 30, 120, 0.35);
}
.feat2 img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}
.feat2 small {
  color: #ffe3ee;
}
.tilt {
  transition: transform 0.4s;
}
.tilt:hover {
  transform: rotate(-1.5deg) scale(1.02);
}
.stat h6 {
  font-family: "Playfair Display", serif;
  font-size: 1.15rem;
  color: var(--deep);
}
.hero .btn-line:hover {
  color: var(--pink);
}
@media (max-width: 768px) {
  .feat2 {
    grid-template-columns: 1fr;
  }
}
/* ===== NAV BAR SIZE (change these numbers to resize) ===== */
.navbar {
  padding-top: 1.1rem;
  padding-bottom: 1.1rem;
}
.navbar .brand {
  font-size: 1.9rem;
}
.navbar .nav-link {
  font-size: 1.1rem;
  padding: 0.5rem 1rem !important;
}
.navbar .btn-pink {
  font-size: 1rem;
  padding: 0.6rem 1.5rem;
}
.hero,
.page-head,
.dhero {
  padding-top: 9.5rem;
}
@media (max-width: 991px) {
  .navbar .brand {
    font-size: 1.5rem;
  }
}
/* ===== v4 profile / TCA / press (additive) ===== */
.dropdown-menu {
  border: 0;
  border-radius: 12px;
  box-shadow: 0 14px 34px rgba(122, 15, 69, 0.18);
  padding: 0.5rem;
}
.dropdown-item {
  border-radius: 8px;
  font-size: 0.92rem;
  color: var(--ink);
}
.dropdown-item:hover {
  background: var(--blush);
  color: var(--pink);
}
.lang-te {
  display: none;
}
body.show-te .lang-te {
  display: revert;
}
body.show-te .lang-en {
  display: none;
}
body.show-te span.lang-te {
  display: inline;
}
.chips-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.chips-row .chip {
  text-decoration: none;
  display: inline-block;
}
.bio-sec {
  padding: 3.6rem 0;
}
.bio-sec p {
  line-height: 1.85;
  font-size: 1.02rem;
}
.bio-ic {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pink), var(--rose));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  box-shadow: 0 8px 20px rgba(216, 27, 96, 0.3);
}
.bio-sec {
  scroll-margin-top: 70px;
}
#essay,
#message {
  scroll-margin-top: 70px;
}
ul.hl {
  list-style: none;
  padding: 0;
  margin: 1.2rem 0;
}
ul.hl li {
  background: #fff;
  border-left: 4px solid var(--pink);
  border-radius: 10px;
  padding: 0.8rem 1rem;
  margin-bottom: 0.7rem;
  box-shadow: 0 6px 18px rgba(122, 15, 69, 0.07);
  line-height: 1.75;
}
.comm {
  background: #fff;
  border-radius: 14px;
  padding: 1.2rem 1.4rem;
  box-shadow: 0 8px 24px rgba(122, 15, 69, 0.1);
}
.comm h5 {
  color: var(--deep);
  font-family: "Playfair Display", "Noto Serif Telugu", serif;
}
.comm ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.comm li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.4rem 0;
  border-bottom: 1px dashed #f1d5e0;
  font-size: 0.92rem;
}
.comm li b {
  color: var(--pink);
  font-weight: 600;
}
.comm li span {
  text-align: right;
}
.idea {
  background: #fff;
  border-radius: 14px;
  padding: 1.1rem 1.2rem;
  height: 100%;
  box-shadow: 0 8px 24px rgba(122, 15, 69, 0.1);
  transition: 0.3s;
}
.idea:hover {
  transform: translateY(-6px);
}
.idea h5 {
  font-size: 1.02rem;
  color: var(--deep);
}
.idea h5 i {
  color: var(--pink);
}
.idea ul {
  padding-left: 1.1rem;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.7;
}
.press-card {
  display: block;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 30px rgba(122, 15, 69, 0.12);
  text-decoration: none;
  color: var(--ink);
  transition: 0.35s;
  height: 100%;
}
.press-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 40px rgba(216, 27, 96, 0.25);
  color: var(--ink);
}
.press-card .im {
  overflow: hidden;
  background: var(--blush);
  max-height: 520px;
}
.press-card img {
  width: 100%;
  display: block;
  transition: 0.6s;
  object-fit: cover;
  max-height: 520px;
  object-position: top;
}
.press-card:hover img {
  transform: scale(1.04);
}
.pc-b {
  padding: 1rem 1.2rem 1.3rem;
}

/* ===== v5 footer + page hero image (additive) ===== */
footer.ft {
  position: relative;
  overflow: hidden;
  padding: 3rem 0 1.2rem;
  background: radial-gradient(
      circle at 15% 30%,
      rgba(216, 27, 96, 0.18),
      transparent 50%
    ),
    #5c0b38;
}
footer.ft .container {
  position: relative;
  z-index: 1;
}
.ft-staff {
  position: absolute;
  left: -10px;
  bottom: 30px;
  font-size: 5rem;
  color: rgba(255, 255, 255, 0.06);
  letter-spacing: 1.2rem;
  white-space: nowrap;
  transform: rotate(-6deg);
  pointer-events: none;
}
.ft-h {
  font-family: "Playfair Display", serif;
  font-size: 1.25rem;
}
.ft-line {
  flex: 1;
  height: 1px;
  background: rgba(240, 98, 146, 0.6);
  min-width: 30px;
}
.ft-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.ft-grid a {
  display: block;
  aspect-ratio: 1/1.1;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}
.ft-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.4s;
}
.ft-grid a:hover img {
  transform: scale(1.12);
}
.ft-links li {
  margin-bottom: 0.35rem;
}
.ft-sub {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 14px;
  padding: 0.35rem 0.4rem 0.35rem 0.8rem;
}
.ft-sub input {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: 0;
  outline: 0;
  color: #fff;
  font-size: 0.85rem;
}
.ft-sub input::placeholder {
  color: #e9b9cf;
}
.ft-sub .btn {
  padding: 0.45rem 1rem;
}
footer.ft p {
  margin-bottom: 0.5rem;
}
.page-head {
  background: linear-gradient(
      to right,
      rgba(92, 11, 56, 0.78),
      rgba(122, 15, 69, 0.45) 55%,
      rgba(122, 15, 69, 0.25)
    ),
    url(../images/hero-veena.jpg) center/cover;
  padding: 8.5rem 0 4.5rem;
}
.page-head h1,
.page-head .lead {
  text-shadow: 0 2px 14px rgba(60, 5, 35, 0.7);
}
@media (max-width: 576px) {
  .ft-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
  }
  .page-head {
    padding: 7rem 0 3rem;
  }
}

/* =====================================================================
   v6 – COMPACT SPACING + INTERACTIVE + MOBILE  (design/colours unchanged)
   ===================================================================== */
:root { --sec-pad: 3rem; }

/* ---- less scrolling: tighter paddings everywhere ---- */
section { padding: var(--sec-pad) 0; }
.bio-sec { padding: 2.2rem 0; }
.hero { min-height: 88vh; padding-bottom: 2.5rem; }
.page-head { padding: 7.5rem 0 2.4rem; }
.dhero { padding: 7.5rem 0 2rem; }
.sec-title { margin-bottom: 1.2rem !important; }
.text-center.mb-5, .mb-5 { margin-bottom: 1.6rem !important; }
.mt-5 { margin-top: 1.6rem !important; }
.navbar { padding-top: .6rem; padding-bottom: .6rem; transition: padding .3s, box-shadow .3s; }
.navbar .brand { font-size: 1.7rem; transition: font-size .3s; }
.navbar .nav-link { font-size: 1.02rem; padding: .4rem .85rem !important; }
.navbar .btn-pink { font-size: .95rem; padding: .5rem 1.3rem; }
.navbar.scrolled { padding-top: .3rem; padding-bottom: .3rem; box-shadow: 0 4px 24px rgba(233,30,120,.22); }
.navbar.scrolled .brand { font-size: 1.45rem; }
.hero .eq { margin: .7rem 0 .3rem; }
.hero .lead { font-size: 1.08rem; }

/* ---- count cards (stats): smaller ---- */
.stat { padding: 1.1rem 1rem; border-radius: 16px; }
.stat i { font-size: 1.5rem; }
.stat .n { font-size: 2rem; line-height: 1.2; }
.stat h6 { font-size: 1rem; margin-bottom: .2rem; }
.stat p { font-size: .8rem !important; line-height: 1.4; }
.stats-row { --bs-gutter-y: 1rem; --bs-gutter-x: 1rem; }

/* ---- cards / images a bit shorter ---- */
.card-x img { height: 190px; }
.card-x .p-4 { padding: 1rem 1.1rem !important; }
.book img { height: 290px; }
.strip { height: 280px; }
.ev-grid { grid-auto-rows: 215px; gap: 14px; }
.feat2 img { min-height: 220px; }
.feat2 .p-4, .feat2 .p-lg-5 { padding: 1.4rem 1.6rem !important; }
.dg img { height: 150px; }
.contact-card { padding: 1.6rem; }
footer.ft { padding: 2rem 0 .9rem; }
.ft-staff { font-size: 3.4rem; }
.cta { padding: 2.6rem 0; }
.cta h2 { font-size: clamp(1.4rem, 3vw, 2rem); }
.timeline .it { margin-bottom: 1rem; }
.frame { max-width: 100%; height: auto; }

/* ---- INTERACTIVE ---- */
/* scroll progress bar */
#progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 2000;
  background: linear-gradient(90deg, var(--pink), var(--gold)); transition: width .1s linear; }

/* reveal: stagger + variants */
.reveal { transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal-left { transform: translateX(-34px); }
.reveal-right { transform: translateX(34px); }
.reveal-zoom { transform: scale(.92); }

/* 3D tilt cards (JS sets --rx / --ry) */
.tilt-card { transform-style: preserve-3d; will-change: transform; transition: transform .25s ease, box-shadow .3s; }
.tilt-card.is-tilting { transition: transform .06s linear, box-shadow .3s; transform: perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px); }
.tilt-card::after { pointer-events: none; }
.glare { position: absolute; inset: 0; pointer-events: none; border-radius: inherit; opacity: 0; transition: opacity .3s;
  background: radial-gradient(circle at var(--gx,50%) var(--gy,50%), rgba(255,255,255,.35), transparent 55%); z-index: 3; }
.is-tilting > .glare { opacity: 1; }
.card-x, .stat, .idea, .press-card, .ev-tile, .sl-card, .side-card, .comm { position: relative; }

/* button ripple + magnetic */
.btn { position: relative; overflow: hidden; }
.ripple { position: absolute; border-radius: 50%; transform: scale(0); background: rgba(255,255,255,.55);
  animation: rip .6s ease-out forwards; pointer-events: none; }
@keyframes rip { to { transform: scale(4); opacity: 0; } }
.btn-pink, .btn-line, .btn-line-d { transition: transform .25s, box-shadow .25s, background .25s, color .25s; }
.btn-pink:active, .btn-line:active, .btn-line-d:active { transform: scale(.96); }

/* nav link / footer link micro-interactions */
.ft-links a { display: inline-block; transition: transform .25s, color .25s; }
.ft-links a:hover { transform: translateX(6px); }
.ft-grid a { transition: transform .3s; }
.ft-grid a:hover { transform: translateY(-4px) rotate(-2deg); }
.dropdown-menu { animation: dd .22s ease; }
@keyframes dd { from { opacity: 0; transform: translateY(8px); } }

/* hero parallax / floating image */
.hero { background-attachment: scroll; }
.frame { transition: transform .4s, box-shadow .4s; }
.frame:hover { box-shadow: 0 28px 60px rgba(122,15,69,.3); }

/* back-to-top pulse */
#top { transition: transform .25s, opacity .3s; animation: pulse 2.4s infinite; }
@keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(233,30,120,.5)} 70%{box-shadow:0 0 0 14px rgba(233,30,120,0)} 100%{box-shadow:0 0 0 0 rgba(233,30,120,0)} }

/* chips / tabs / rows */
.chip, .tabb { transition: transform .2s, background .25s, color .25s; }
.chip:hover, .tabb:hover { transform: translateY(-2px); }
.ev-row:hover { transform: translateX(4px); }

/* ---- MOBILE ---- */
@media (max-width: 991px) {
  .navbar .navbar-collapse { background: #fff; border-radius: 14px; margin-top: .6rem; padding: .6rem 1rem 1rem;
    box-shadow: 0 12px 30px rgba(122,15,69,.15); max-height: 78vh; overflow-y: auto; }
  .navbar .nav-link { padding: .6rem .4rem !important; border-bottom: 1px solid #fbe3ee; }
  .navbar .nav-link::after { display: none; }
  .navbar .btn-pink { display: block; text-align: center; margin-top: .6rem; }
  .navbar .dropdown-menu { box-shadow: none; background: var(--blush); }
  .navbar-toggler { border: 1.5px solid var(--pink); padding: .25rem .5rem; }
  .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(233,30,120,.2); }
}
@media (max-width: 768px) {
  :root { --sec-pad: 2.2rem; }
  .hero { min-height: auto; padding: 6.2rem 0 2.4rem; }
  .hero h1 { font-size: clamp(2rem, 9vw, 2.6rem); }
  .hero .lead { font-size: .98rem; }
  .eq { height: 34px; }
  @keyframes eq { 0%,100% { height: 6px; } 50% { height: 34px; } }
  .page-head { padding: 6.2rem 0 1.8rem; }
  .dhero { padding: 6.2rem 0 1.6rem; }
  .sec-title { font-size: 1.5rem; }
  .navbar .brand { font-size: 1.35rem; }
  /* 3 count cards in one row */
  .stats-row > [class*="col-"] { width: 33.333%; padding-left: .3rem; padding-right: .3rem; }
  .stats-row { --bs-gutter-x: .3rem; }
  .stats-row .stat { padding: .8rem .4rem; }
  .stats-row .stat i { font-size: 1.2rem; }
  .stats-row .stat .n { font-size: 1.35rem; }
  .stats-row .stat h6 { font-size: .8rem; margin: 0; }
  .stats-row .stat p { display: none; }
  .card-x img { height: 170px; }
  .book img { height: 250px; }
  .strip { height: 190px; gap: 5px; }
  .ev-grid { grid-auto-rows: 200px; }
  .feat2 .p-4, .feat2 .p-lg-5 { padding: 1.1rem !important; }
  .feat2 h2 { font-size: 1.3rem; }
  .frame { box-shadow: 0 12px 30px rgba(122,15,69,.2); }
  .lead-p { font-size: 1.08rem; }
  .body-p { font-size: .98rem; line-height: 1.75; }
  .masonry { columns: 2 140px; column-gap: 8px; }
  .masonry a { margin-bottom: 8px; }
  .toolbar input { max-width: 100%; width: 100%; }
  .ft-grid { grid-template-columns: repeat(4, 1fr); }
  .ft-line { display: none; }
  footer.ft .col-lg-4 .d-flex { justify-content: space-between; flex-wrap: wrap; gap: .5rem !important; }
  .ft-staff { display: none; }
  #top { right: 14px; bottom: 14px; width: 42px; height: 42px; }
  .reveal-left, .reveal-right { transform: translateY(24px); }
}
@media (max-width: 400px) {
  .navbar .brand { font-size: 1.15rem; }
  .ev-grid { grid-auto-rows: 185px; }
}
@media (prefers-reduced-motion: reduce) {
  .tilt-card.is-tilting { transform: none; }
  #top { animation: none; }
}
/* mobile: stop wide gutters causing sideways scroll */
html { overflow-x: clip; }
@media (max-width: 991px) {
  .row.g-5, .row.g-4 { --bs-gutter-x: 1.5rem; --bs-gutter-y: 1.4rem; }
}

/* Event photo gallery */
.ev-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.ev-gallery a{display:block;overflow:hidden;border-radius:12px;aspect-ratio:4/3;box-shadow:0 8px 20px rgba(122,15,69,.15)}
.ev-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.ev-gallery a:hover img{transform:scale(1.06)}


/* ===== v7: no empty gaps, image heights, bilingual filter ===== */
/* event detail: main image capped so tall posters don't stretch the page */
.ev-main{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;background:#fbeaf1}
.ev-detail{padding-bottom:2.5rem}
.ev-detail .col-lg-8 .lead-p{margin-top:.2rem}
.ev-detail .col-lg-8 .body-p{margin-bottom:1rem}
.ev-gallery.sq a{aspect-ratio:1/1}
/* profile poster: limit height so the hero row has no blank space */
.pf-poster{width:auto;max-width:100%;max-height:340px;object-fit:contain;display:block;margin-left:auto;box-shadow:0 18px 40px rgba(122,15,69,.22)}
@media (max-width:991.98px){.pf-poster{margin:0 auto;max-height:300px}.ev-main{max-height:420px}}
/* events grid: when filtering/searching, drop the 2x2 feature tile so results pack tightly */
.ev-grid.is-filtered .ev-tile.big{grid-column:auto;grid-row:auto}
.ev-grid{grid-auto-flow:dense}
.chip .chip-te{font-size:.85em;opacity:.85;margin-left:.2rem}


/* ===== v8: news-feed events, uncropped images, no empty gaps ===== */
/* feed (events.html) – masonry columns so cards of any height pack with no gaps */
.feed{columns:2 340px;column-gap:22px;margin-top:1.5rem}
.post{display:block;break-inside:avoid;width:100%;margin:0 0 22px;background:#fff;border:1px solid #f1d5e0;border-radius:16px;overflow:hidden;box-shadow:0 6px 18px rgba(122,15,69,.07);transition:box-shadow .3s}
.post:hover{box-shadow:0 14px 34px rgba(216,27,96,.2)}
.post-h{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.1rem}
.post-h .av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--deep),var(--pink));color:#fff;display:grid;place-items:center;font-weight:600;font-family:"Playfair Display",serif;flex:none}
.post-h strong{display:block;font-size:.95rem;line-height:1.2;color:var(--deep)}
.post-h small{color:#8a6a79;font-size:.78rem}
.post-img{display:block;position:relative;line-height:0;background:var(--blush)}
.post-img img{display:block;width:100%;height:auto}
.post-badge{position:absolute;right:.7rem;bottom:.7rem;background:rgba(0,0,0,.62);color:#fff;border-radius:99px;padding:.2rem .65rem;font-size:.75rem;line-height:1.5}
.post-b{padding:1rem 1.2rem .3rem}
.post-b h3{font-size:1.12rem;line-height:1.4;color:var(--deep);margin:0 0 .6rem}
.post-b h3 a{color:inherit;text-decoration:none}
.post-t p{margin:0 0 .6rem;font-size:.95rem;line-height:1.7;color:var(--ink)}
.post-t p.lead{font-weight:500}
.post-t.clamp{max-height:9.8em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 72%,transparent);mask-image:linear-gradient(#000 72%,transparent)}
.post-t.clamp.open{max-height:none;-webkit-mask-image:none;mask-image:none}
.post-more{border:0;background:none;color:var(--pink);font-weight:600;font-size:.88rem;padding:0;margin:.1rem 0 .4rem}
.post-f{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem 1.2rem 1rem}
.post-share{border:1px solid #f1d5e0;background:#fff;color:var(--pink);border-radius:99px;padding:.3rem .9rem;font-size:.85rem}
.post-share:hover{background:var(--blush)}

/* event detail: images always shown whole, never cropped or letter-boxed */
.dhero{--bg:none!important}
.dhero::before{background:radial-gradient(circle at 18% 0,rgba(233,30,120,.55),transparent 60%)!important;filter:none!important}
.ev-main{max-height:none!important;height:auto!important;object-fit:contain;background:none!important}
.ev-gallery{display:block!important;columns:3 180px;column-gap:12px}
.ev-gallery a{display:block;aspect-ratio:auto!important;margin-bottom:12px;break-inside:avoid}
.ev-gallery img{width:100%;height:auto!important;object-fit:contain!important;display:block}
/* previous / next */
.evnav{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
.pn-card{display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid #f1d5e0;border-radius:14px;padding:.6rem;text-decoration:none;color:var(--ink);transition:box-shadow .3s,transform .3s}
.pn-card:hover{box-shadow:0 12px 28px rgba(216,27,96,.2);transform:translateY(-3px);color:var(--ink)}
.pn-card img{width:120px;height:auto;border-radius:10px;flex:none;display:block}
.pn-card.next{flex-direction:row-reverse;text-align:right}
.pn-card small{display:block;color:var(--pink);font-weight:600;margin-bottom:.15rem}
.pn-card h6{color:var(--deep);line-height:1.35;font-size:.95rem}
/* more events */
.more-ev{columns:3 220px;column-gap:14px}
.more-card{display:block;break-inside:avoid;margin-bottom:14px;background:#fff;border:1px solid #f1d5e0;border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ink);transition:box-shadow .3s,transform .3s}
.more-card:hover{box-shadow:0 12px 28px rgba(216,27,96,.2);transform:translateY(-3px);color:var(--ink)}
.more-card img{display:block;width:100%;height:auto}
.more-card .mc-b{padding:.7rem .9rem .85rem}
.more-card small{color:var(--pink);font-weight:600}
.more-card h6{color:var(--deep);line-height:1.35;font-size:.95rem}
@media (max-width:575.98px){.evnav{grid-template-columns:1fr}.pn-card img{width:96px}}

/* site-wide: no cropped images */
.card-x img{height:auto!important;object-fit:contain}
.book img{height:auto!important;max-height:none}
.feat2{align-items:center}
.feat2 img{height:auto!important;min-height:0!important;object-fit:contain}
.press-card img{object-fit:contain;max-height:none;object-position:center}
.sl-card img,.feat img,.ev-row img,.ft-grid img{object-fit:contain}
/* Moments strip: original hover-expand design */
.strip{display:flex!important;gap:8px;height:300px!important;columns:auto}
.strip a{display:block;flex:1;min-width:0;margin:0;overflow:hidden;border-radius:14px;filter:saturate(.8);transition:flex .55s cubic-bezier(.2,.8,.2,1),filter .3s}
.strip a:hover{flex:4;filter:none}
.strip img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
@media(max-width:576px){.strip{height:190px!important;gap:5px}}
/* profile hero: poster natural size, chips live under the buttons so the row has no blank area */
.pf-poster{width:100%!important;max-height:none!important;margin:0!important}
.chips-in-col{margin-top:1.4rem!important}

footer.post-f{background:transparent!important;color:inherit;margin:0;border:0;border-radius:0}
/* event detail: image floats left with text wrapping beside it (article style) so nothing is stretched or left blank */
.ev-main{float:left;width:min(46%,430px)!important;margin:0 1.6rem 1rem 0!important}
.ev-detail .col-lg-8::after{content:"";display:block;clear:both}
.ev-detail .col-lg-8 .lead-p{margin-top:0}
.ev-gallery,.ev-detail .col-lg-8>p:last-child{clear:both}
@media (max-width:767.98px){.ev-main{float:none;width:100%!important;margin:0 0 1rem 0!important}}
/* profile poster: moderate width, row centred so both columns look balanced */
.pf-poster{max-width:320px;margin-left:auto!important;display:block}
@media (max-width:991.98px){.pf-poster{margin:0 auto!important;max-width:300px}}
.ev-detail .lead-p{display:flow-root}

/* ===== v8: mobile hero – face stays clear, text + animation compact ===== */
@media (max-width: 768px) {
  .hero {
    min-height: auto;
    display: block;
    /* padding: 345px 0 1.2rem; */
    background: linear-gradient(180deg, #7a0f45 0%, #a3125a 100%);
    overflow: hidden;
  }
  /* photo block on top, face framed to the right of the source image */
  .hero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 10px;
    background:
      linear-gradient(180deg, rgba(122,15,69,.35) 0%, rgba(122,15,69,0) 22%, rgba(122,15,69,0) 80%, #7a0f45 100%),
      url(../images/landpagebg.jpg) 100% 0 / auto 100% no-repeat;
    z-index: 0;
  }
  #notes { display: none; }
  .hero .container { z-index: 2; }
  .hero .badge-soft { font-size: .68rem; padding: .22rem .65rem; margin-bottom: .55rem !important; }
  .hero h1 { font-size: clamp(1.45rem, 6.8vw, 1.8rem); line-height: 1.12; letter-spacing: 0; margin-bottom: .2rem; }
  .hero .tag { font-size: .8rem; margin-bottom: 0; }
  .hero .eq { height: 16px; margin: .45rem 0 .35rem; gap: 2px; }
  .hero .eq span { width: 3px; }
  @keyframes eq { 0%,100% { height: 3px; } 50% { height: 16px; } }
  .hero .lead { font-size: .8rem; line-height: 1.5; margin-bottom: 0; }
  .hero .d-flex.gap-2 { margin-top: .75rem !important; }
  .hero .btn { font-size: .78rem; padding: .38rem .95rem; }
  .ticker span { font-size: .8rem; }
}
@media (max-width: 400px) {
  /* .hero { padding-top: 150px; } */
  .hero::before { height: 365px; }
}
