    * { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      font-family: 'Segoe UI', Tahoma, sans-serif;
      background: #ffd6e7;
      color: #7a003c;
      overflow-x: hidden;
    }

    /* Falling hearts */
    .heart {
      position: fixed;
      top: -10vh;
      font-size: 24px;
      animation: fall linear infinite, spin linear infinite;
      pointer-events: none;
      z-index: 999;
    }

    @keyframes fall {
      to { transform: translateY(110vh); }
    }

    @keyframes spin {
      to { rotate: 360deg; }
    }

    header {
      height: 100vh;
      background: linear-gradient(rgba(255,182,193,0.6), rgba(255,182,193,0.6)),
        url('pregnant-belly.jpg');
      background-size: cover;
      background-position: center;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 40px;
    }

    header h1 {
      font-size: 4rem;
      color: #fff;
      text-shadow: 2px 2px 8px #000;
    }

    header p {
      font-size: 1.5rem;
      color: #fff;
      margin-top: 20px;
    }

    section {
      padding: 80px 10%;
    }

    section h2 {
      font-size: 2.5rem;
      margin-bottom: 20px;
    }

    section p {
      line-height: 1.8;
      font-size: 1.1rem;
      margin-bottom: 20px;
    }

      .month-card {
        background: #fff0f6;
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 8px 16px rgba(0,0,0,0.15);
        text-align: center;
        height: 680px;
        }

        .month-card img {
        width: 100%;
        height: 530px;        /* 🔴 forces same height */
        object-position: center;
        object-fit: cover;   /* 🔴 crops instead of stretching */
        display: block;
        
        }

        .month-card p {
        padding: 15px;
        font-size: 1rem;
        color: #7a003c;
        }

    .gallery {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 20px;
      margin-top: 40px;
      height: 700px;
    }

    .gallery img {
      width: 100%;
      border-radius: 20px;
      box-shadow: 0 10px 20px rgba(0,0,0,0.2);
      height: 700px;
    }

        .asd {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 20px;
      margin-top: 40px;
      height: 900px;
    }

    .asd img {
      width: 100%;
      border-radius: 20px;
      box-shadow: 0 10px 20px rgba(0,0,0,0.2);
      height: 900px;
    }

    .card {
      background: #fff0f6;
      padding: 30px;
      border-radius: 25px;
      box-shadow: 0 8px 16px rgba(0,0,0,0.15);
      margin-top: 30px;
    }

    footer {
      background: #d63384;
      color: white;
      display: flex;              /* enable flex layout */
      justify-content: space-between;  /* space items apart */
      padding: 15px 30px;         /* top/bottom 15px, left/right 30px */
      font-size: 1rem;
      align-items: center;        /* vertically center text */
    }

    .footer-left {
      /* optional: add a tiny left offset */
      margin-left: 5px;
    }

    .footer-right {
      /* optional: add a tiny right offset */
      margin-right: 5px;
    }

    .back-link-container {
        position: fixed; bottom: 30px; left: 50%;
        transform: translateX(-50%); z-index: 1000;
    }
    .back-link {
        display: inline-block; padding: 12px 25px;
        background: linear-gradient(135deg, #fcb6c7, #f88da6);
        color: white; text-decoration: none; font-weight: bold;
        font-family: 'Segoe UI', sans-serif; border-radius: 50px;
        transition: transform 0.2s, background 0.3s;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    }
    .back-link:hover {
        transform: scale(1.05);
        background: linear-gradient(135deg, #f88da6, #fcb6c7);
    }    

        /* Lightbox styles */