body {
  background: linear-gradient(145deg, #2a4148, #1f363d);
  color:#e3f2fd;
}

/* Intro split section */
.intro-row {
  //background: linear-gradient(145deg, #2a4148, #1f363d);
  min-height: auto;
  padding: 2rem 2rem 0rem 2rem;  /* Referred to text + animation, increased gap from top. */
}

.intro-container {
  max-width: 1200px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;  /* ✅ This allows wrapping! */
}

.intro-text {
  //flex: 1;
  max-width: 50%;
}

.intro-anim {
  flex: 1;
  max-width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ==== CARDS SECTION ==== */
.cards-section {
  //padding:8rem 0 10rem;
  //background: linear-gradient(145deg, #2a4148, #1f363d);
  backdrop-filter:blur(10px);
}

/* ==== FLOATING FUTURISTIC CARD ==== */
.info-card {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:rgba(59,80,86,1);
  border:1px solid rgba(93,112,116,1);
  border-radius:1.2rem;
  padding:4rem 2rem;
  text-align:center;
  color:#e3f2fd;
  text-shadow:0 1px 2px rgba(90,90,90,1);
  backdrop-filter:blur(15px);
  overflow:hidden;
  transition:transform 0.6s cubic-bezier(.34,1.56,.64,1), box-shadow 0.6s;
  animation:float 6s ease-in-out infinite;
}

.info-card:hover {
  transform:translateY(-12px) scale(1.04);
  box-shadow:0 12px 40px rgba(70,200,200,1),0 4px 15px rgba(90,90,90,1);
}

/* GLOW BORDER */
.info-card::before {
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  padding:2px;
  background:conic-gradient(from 0deg,#00eaff,#00ff8f,#2d81ff,#7733ff,#ff00e0,#00eaff);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  animation:spin 8s linear infinite;
  pointer-events:none;
}

/* FLOAT ANIMATION */
@keyframes float {0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}

/* BORDER SPIN */
@keyframes spin {to{transform:rotate(360deg)}}

.icon-lg{font-size:2.8rem;color:#00eaff}

/* ==== RESPONSIVE ==== */
@media(max-width:768px) {
  .icon-lg{font-size:2.2rem}
  #hero h1{font-size:2.2rem}
}

@media(max-width:768px) {
  .intro-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .intro-text{
    text-align:center
  }

  .intro-text,
  .intro-anim {
  flex: 1 1 0;
  max-width: 600px;  /* Optional upper bound if needed */
  }

  .intro-row{
    padding:4rem 0
  }
}

/* ─── Single‑stack hero layout ─────────────────────────── */
.hero-stack {
  background: linear-gradient(145deg,rgba(31,90,98,1),rgba(1,96,101,1));
  backdrop-filter: blur(8px);

  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;   /* top items stay at top */
}

.hero-stack .row.align-items-center {
  padding-top: 4rem;             /* optional: tweak top spacing */
}

.cards-grid {
  //margin-top: auto;              /* pushes cards to the bottom of the flex column */
  padding-bottom: 10rem;          /* increade the brackground of the cards at the bottom */
  align-items: stretch;
}

.cards-grid .col {
  display: flex;
  align-items: stretch;   /* <- critical: columns take full row height */
  flex-direction: column;      /* <‑‑ IMPORTANT */
}

.cards-grid .info-card {
  flex: 1 0 100%;         /* grow+shrink, full height */
  flex: 1 1 auto;
  height: 100%;           /* for good measure */
}

.info-card {
  transform-origin: center bottom;  /* keeps transform from altering row flow */
}

.lottie-wrapper {
    font-size: 0.8rem;
}

