/*landing page specific style*/
.main__topsection{
    display: flex;
    align-items: stretch;
    padding: 2rem;
    gap: 1rem;
}
.imgfix{
    align-self: center;
    border-radius: 2rem;
}
.pushup{
    object-fit: cover;
    margin-bottom: 1rem;
    width: 45vw;
    border-radius: 2rem;
}
.info {
    margin: 1rem;
    display:flex;
    flex-direction: column;
    align-items: center;
}
.maintext {
    margin-bottom: 2rem;
    font-size: clamp(1rem, 2.25vw, 2.25rem);
    text-align: center;
    line-height: 1.6;
    font-weight: 400;
}

.cta {
  display: inline-block;
  font-size: clamp(1.25rem, 3.5vw, 3rem);                      
  font-weight: 800;
  color: #E9ECEF;
  background: #FF293D;
  border: none;
  border-radius: 2vw;
  padding: .5rem 1.25rem;
  transition: transform .4s ease, background-color .4s ease;
  transform-origin: center;
  will-change: transform;
}

.cta:hover {
    transform: scale(1.08);
    background: #c5252f;
    outline: none;
}
.blog-section__header{
    margin-left:1.5rem;
    font-size: clamp(2rem, 3.5vw, 4rem);
    font-weight:600;
}
.blog-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 50px;
  padding: 50px;
}

.blog-item {
  background: #21252b;
  border-radius: 12px;
  overflow: hidden;
  height: 300px;
  max-width: 450px;
  position: relative;
  box-shadow: 0 0 1.5rem #030406;
}

.blog-item a {
  display: block;
  width: 100%;
  height: 100%;
}

.blog-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
h3{
    font-size: clamp(1rem, 2vw, 2rem);
    margin:0 2rem 1.5rem;
    position: absolute;
    bottom:0;
    z-index: 50;
}
.overlay-text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 70%; /* covers bottom half of image */
  display: flex;
  align-items: flex-end;   /* text sticks to the bottom */
  justify-content: center;
  padding: 10px;
  color: white;
  font-size: 1.1rem;
  text-align: center;
  box-sizing: border-box;
    background: linear-gradient(
    to top,
    rgba(0,0,0,1) 0%,   /* dark at bottom */
    rgba(0,0,0,0.75) 50%,
    rgba(0,0,0,0) 100%    /* fade to transparent at top */
  );
}
@media (max-width: 768px){
    .main{
        flex-wrap: wrap;
    }
    .main__topsection{
        padding:0;
        align-items: center;
        flex-direction: column;
        gap: 0;
    }
    .imgfix {
        margin: 0 auto;
    }
    .pushup {
        width: 80vw;
    }
    .maintext{
        margin:0;
    }
    .info{
        margin:1rem 2rem;
    }
    .cta{
        margin: .75rem 0;
    }
    .blog-list{
        padding:20px;
        gap: 20px;
    }
    .blog-item{
        height: 150px;
        max-width: 225px;
        border-radius: 6px;
    }
}
