/* home.css - Restored to the original Wix homepage styles and layout */

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 4rem 1.5rem;
}

.section-header {
  text-align: center;
  margin-bottom: 3.5rem;
}

.section-header h2 {
  font-size: 2.25rem;
  color: #292929;
  margin-bottom: 0.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.section-header .header-line {
  width: 80px;
  height: 2px;
  background-color: #292929;
  margin: 1rem auto 0;
}

/* ============================================================
   Hero Section
   hero-top-row is position:relative with explicit height = 50vw.
   Image fills the right 50% absolutely.
   Title text (65% wide) sits on top (z-index:2), overlapping 15vw (30%) into the image.
   Description is center-aligned below.
   ============================================================ */
.hero-section {
  background-color: #f3f3f3;
  width: 100%;
}

.hero-content {
  width: 100%;
  padding-bottom: 6vw;
}

/* Row containing title + image, with explicit height matching the 1:1 image */
.hero-top-row {
  position: relative;
  width: 100%;
  height: 50vw;
  margin-top: 0;  /* meets header directly */
}

/* Image: right half of screen, fills full height of hero-top-row */
.hero-visual {
  position: absolute;
  right: 0;
  top: 0;
  width: 50%;             /* 50vw */
  height: 100%;           /* 50vw */
  overflow: hidden;
  z-index: 1;
}

.hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Title: overlaps image by 10vw (= 20% of 50vw image width)
   Container is 60% wide (50% left zone + 10% into image).
   z-index:2 keeps title on top of the image. */
.hero-text {
  position: absolute;
  left: 0;
  top: 0;
  width: 60%;
  height: 100%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  padding: 0 0 0 5vw;
  text-align: right;
}

.title-priorities {
  font-size: 10vw;
  font-weight: 900;
  color: #2d2d2d;
  line-height: 0.95;
  letter-spacing: -0.15vw;
  margin: 0;
}

.title-made-easy {
  font-size: 5.5vw;
  font-weight: 700;
  color: #2d2d2d;
  line-height: 1.1;
  margin: 0.8vw 0 0 0;
}

@media (min-width: 769px) {
  .hero-top-row {
    height: 30vw; /* 30% of screen width height for 1:1 image */
  }
  .hero-visual {
    left: 50%;
    right: auto;
    width: 30vw; /* 30% of screen width */
    height: 100%;
  }
  .hero-text {
    width: 56vw; /* 50% left zone + 6vw (20% of 30vw image width) overlap */
    padding: 0;
  }
  .title-priorities {
    font-size: 5vw; /* 5% of screen width */
  }
  .title-made-easy {
    font-size: 2.75vw;
  }
}

/* Description: full-width below the hero-top-row, center-aligned */
.hero-description {
  width: 100%;
  box-sizing: border-box;
  padding: 3vw 8vw;
  font-size: 1.1vw;
  color: #2d2d2d;
  line-height: 1.7;
  text-align: center;
}


/* What We Do Section */
.what-we-do {
  background-color: #c4c4c4; /* Swapped: Section gets dark gray background */
  padding: 5rem 0;
}

.capabilities-list {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.capability-row {
  display: flex;
  align-items: center;
  gap: 4rem;
}

.capability-row.reverse {
  flex-direction: row-reverse;
}

.capability-text-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2rem;
}

.capability-info-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  max-width: 400px;
}

.capability-text-col h3 {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #292929;
  text-align: center;
  line-height: 1.5;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.capability-desc {
  font-size: 0.9rem;
  color: #555555;
  line-height: 1.6;
  margin-top: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(15px);
  transition: max-height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              opacity 0.4s ease,
              transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              margin-top 0.4s ease;
}

/* Hover capability details */
.capability-row:hover .capability-text-col h3 {
  transform: translateY(-10px);
}

.capability-row:hover .capability-desc {
  max-height: 100px;
  opacity: 1;
  transform: translateY(0);
  margin-top: 1.25rem;
}

.capability-img-col {
  flex: 1;
}

.capability-img-col img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
  border: 1px solid #e0e0e0;
}

/* Hover color state */
.capability-row:hover .capability-img-col img {
  filter: grayscale(0%);
}

/* Testimonials Section */
.testimonials {
  background-color: #0c0c0c;
  color: #ffffff;
  padding: 6rem 1.5rem;
  text-align: center;
}

.testimonials-badge {
  display: block;
  font-size: 0.85rem;
  letter-spacing: 0.3em;
  color: #636363;
  margin-bottom: 2.5rem;
  font-weight: bold;
}

.testimonial-text {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #ffffff;
  max-width: 850px;
  margin: 0 auto 2rem;
  font-weight: normal;
}

.testimonial-author {
  font-size: 0.9rem;
  color: #888888;
  letter-spacing: 0.05em;
}

/* Clients Section */
.clients {
  background-color: #969696 !important;
  color: #ffffff !important;
  padding: 5rem 0;
}

.clients h2 {
  color: #ffffff !important;
}

.clients .header-line {
  background-color: #ffffff !important;
}

.clients .client-name {
  color: #ffffff !important;
}

.clients-list {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.client-logo-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 180px;
  height: 140px;
  padding: 1rem;
  position: relative;
}

.client-logo-box img {
  max-width: 100%;
  max-height: 80%;
  object-fit: contain;
  filter: grayscale(100%);
  transition: filter 0.3s ease, transform 0.3s ease;
}

.client-logo-box:hover img {
  filter: grayscale(0%);
  transform: translateY(-5px);
}

.client-name {
  font-size: 0.8rem;
  font-weight: bold;
  color: #292929;
  margin-top: 0.5rem;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  text-align: center;
}

.client-logo-box:hover .client-name {
  opacity: 1;
  transform: translateY(0);
}

/* Contact Us Section */
.contact-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 480px;
}

.contact-col-left {
  background-color: #000000;
  color: #ffffff;
  padding: 5rem 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.contact-col-left h2, .contact-col-right h2 {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
}

.underline-white {
  width: 40px;
  height: 3px;
  background-color: #ffffff;
  margin-bottom: 2rem;
}

.contact-col-left p {
  font-size: 0.9rem;
  color: #a0a0a0;
  line-height: 1.8;
  margin-bottom: 0.5rem;
}

.contact-col-left a {
  color: #ffffff;
  text-decoration: underline;
}

.contact-col-left a:hover {
  color: #a0a0a0;
}

.contact-col-right {
  background-color: #ffffff !important;
  color: #000000 !important;
  padding: 5rem 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.contact-col-right h2 {
  color: #000000 !important;
}

.contact-col-right .underline-white {
  background-color: #000000 !important;
}

.social-links-row {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 3rem;
}

.social-links-row a {
  color: #000000 !important;
  transition: transform 0.3s ease;
}

.social-links-row a:hover {
  transform: scale(1.15);
}

.incubated-supported-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  width: 100%;
  max-width: 500px;
}

.sub-col {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sub-col h3 {
  font-size: 0.95rem;
  font-weight: normal;
  text-decoration: underline;
  margin-bottom: 1.5rem;
  color: #000000 !important;
}

/* Box height is auto (sized to its own logo) so the vertical space between
   wrapped rows is controlled purely by `gap` below, not by an oversized
   fixed box height. This keeps every logo at its natural/original size
   while avoiding the large empty whitespace that a fixed tall box created. */
.sub-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem 1rem;
  flex-wrap: wrap;
}

/* Supported by column: Startup India stacks directly below Startup Odisha,
   both centered. */
.sub-logos-stacked {
  flex-direction: column;
  gap: 0.6rem;
}

.sub-logo-box {
  background: transparent;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sub-logo-box img {
  max-height: 100px;
  width: auto;
  object-fit: contain;
}

/* Startup India banner logo has a very wide aspect ratio (roughly 3.5:1); if
   scaled to match the other logos' height it would render far too wide, so
   it alone is capped by width instead. Every other logo keeps its natural
   size. */
.logo-startupindia {
  max-height: none !important;
  width: 180px !important;
  height: auto !important;
}

/* Home Footer */
.custom-home-footer {
  background-color: #f3f3f3;
  border-top: 1px solid #e0e0e0;
  padding: 2.5rem 1.5rem;
  text-align: center;
}

.custom-home-footer .footer-bottom {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom-home-footer .footer-policy-link {
  font-size: 0.8rem;
  font-weight: 700;
  color: #1a2b5c;
  letter-spacing: 0.1em;
  text-decoration: none;
}

.custom-home-footer .footer-policy-link:hover {
  text-decoration: underline;
}

/* Media Queries */

@media (max-width: 768px) {
  /* Description font too small at 1.1vw on mobile — bump up */
  .hero-description {
    font-size: 3.5vw;
    padding: 5vw 5vw;
  }

  .capability-row, .capability-row.reverse {
    flex-direction: column;
    gap: 1.5rem;
    text-align: center;
  }
  .clients {
    padding: 2.5rem 0 !important;
  }
  .clients-list {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    justify-items: center !important;
    gap: 1.5rem !important;
    max-width: 400px !important;
    margin: 0 auto !important;
  }
  .client-logo-box {
    width: 38vw !important;
    height: 30vw !important;
  }
  .capability-text-col h3 {
    margin-bottom: 0.5rem;
  }
  .testimonial-text {
    font-size: 1.25rem;
  }
  .contact-section {
    grid-template-columns: 1fr;
  }
  .contact-col-left, .contact-col-right {
    padding: 4rem 1.5rem;
  }
}

@media (max-width: 480px) {
  /* Hero description only — title stays at 7.5vw always */
  .hero-description {
    font-size: 3.8vw;
  }
}
