.osh-tantra-events,
.twr-ose-upcoming{
  --twr-rose:#c45b6a;
  --twr-rose-deep:#9e3f4f;
  --twr-ink:#2a2a2a;
  --twr-muted:#6b6560;
  --twr-line:rgba(196,91,106,.22);
  --twr-card:#fffdfb;
  width:min(1120px,calc(100% - 2.5rem));
  margin:0.25rem auto 2.75rem;
  font-family:inherit;
}
.twr-ose-upcoming__status{
  text-align:center;
  color:var(--twr-muted);
  padding:1.5rem .75rem 2rem;
  font-size:1rem;
}
.twr-ose-upcoming__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.15rem;
}
@media (max-width:980px){
  .twr-ose-upcoming__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .twr-ose-upcoming__grid{grid-template-columns:1fr}
  .osh-tantra-events,
  .twr-ose-upcoming{width:min(1120px,calc(100% - 1.25rem))}
}
.twr-ose-card{
  display:flex;
  flex-direction:column;
  background:var(--twr-card);
  border:1px solid var(--twr-line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(42,42,42,.06);
  min-height:100%;
}
.twr-ose-card__media{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:linear-gradient(135deg,#f3ddd8,#efe6df);
}
.twr-ose-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.twr-ose-card__body{
  display:flex;
  flex-direction:column;
  gap:.7rem;
  padding:1.15rem 1.2rem 1.25rem;
  flex:1;
}
.twr-ose-card__title{
  margin:0;
  color:var(--twr-ink);
  font-size:1.2rem;
  line-height:1.25;
  font-weight:700;
  letter-spacing:-.01em;
}
.twr-ose-card__type{
  margin:0;
  color:var(--twr-rose);
  font-size:.84rem;
  font-weight:600;
}
.twr-ose-card__pill{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:.42rem .9rem;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  border:1px solid var(--twr-line);
  color:var(--twr-rose-deep);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.twr-ose-card__place{
  margin:0;
  color:var(--twr-muted);
  font-size:.92rem;
  line-height:1.35;
}
.twr-ose-card__text{
  margin:0;
  color:#4d4743;
  font-size:.95rem;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  flex:1;
}
.twr-ose-card__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:.35rem;
  padding:.72rem 1rem;
  border-radius:999px;
  background:var(--twr-rose);
  color:#fff!important;
  text-decoration:none!important;
  font-weight:700;
  font-size:.92rem;
}
.twr-ose-card__cta:hover{background:var(--twr-rose-deep)}
