@media screen and (min-width: 0px) {

    .desktop {
      display: none;
    }
    .mobile {
      display: block;
    }
    .tearSection {
      margin-top: -65px; 
      margin-bottom: -975px;
    }
    .tear {
      margin-left: -.2%;
      width: 100.2%;
      position: relative;
      height: 1125px;
    }

    .marginSpacingTop {
      margin-left: 0% !important;
      margin-right: 0% !important;
      position: relative;
      top: -35px;
    }

    .grid-containerTwo {
        display: grid;
        grid-template-areas:
        'first first first second'
        'third third third third';
        gap: 10px;
        padding: 10px;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .image1 { grid-area: first; }
    .image2 { grid-area: second; }
    .image3 { grid-area: third; }

    .image1 {     
      width: 100%;
      height: 150px;
      object-fit: cover;
      object-position: 0 27%;
    }
    .image2 { 
      width: 100%;
      height: 150px;
      object-fit: cover;
      object-position: top;
    }
    .image3 { 
      width: 100%;
      height: 200px;
      object-fit: cover;
      object-position: 0 20%;
    }

    .heartSpacing {
      margin-top: 45px;
    }

    .categoryContainer {
        grid-column: col-start 1/span 10;
    }
    .square {
        width: 100%;
        height: auto;
        margin-right: 0px;
        margin-top: 20px;
        padding: 35px;
    }
    .govBoxMargin{
        margin-left: 35px;
        margin-right: 35px;
    }
    .fullContainer {
        grid-column: col-start 1/span 10;
    }
    .memoriesMargin {
      margin-top: 85px;
    }

    .hero {
  padding-block: clamp(2rem, 5vw, 4rem);
  }
.hero__inner {
  display: grid;
  grid-template-columns: 1fr 2fr;      
  align-items: center;                  /* vertically center the text vs. cards */
  gap: clamp(1.25rem, 3vw, 2.5rem);
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2rem);
  height: 320px;
}

/* left side */
.hero__text h2 {
  font-size: clamp(1.8rem, 3.2vw + 0.5rem, 3rem);
  font-weight: 800;
  margin: 0;
}

/* right side: three grey boxes */
.hero__cards {
  display: flex;
  align-items: flex-end;                /* bottoms line up like the reference */
  gap: clamp(0.75rem, 2vw, 1.25rem);
  height: clamp(180px, 28vw, 320px);    /* overall card height */
}

/* base box */
.card {
  background: #6f6f71;                  /* grey */
  height: 100%;
  border-radius: 2px;
}

/* widths roughly matching the visual proportions */
.card--wide   { width: 46%; }
.card--narrow { width: 22%; }
.card--wide2  { width: 32%; }

/* responsive stack for narrow screens */
@media (max-width: 800px) {
  .hero__inner {
    grid-template-columns: 1fr;
  }
  .hero__cards {
    height: clamp(140px, 40vw, 220px);
  }
}
}

@media screen and (min-width: 540px) {
  .categoryContainer{
    grid-column: col-start 2/span 8;
  }
  .grid-containerTwo {
    gap: 20px;
    padding: 20px;
    padding-left: 20%;
    padding-right: 20%;
  }
  .tearSection {
      margin-top: -175px; 
      margin-bottom: -1082px;
    }
    .heartSpacing {
      margin-top: 20px;
    }
    .marginSpacingTop {
      position: relative;
      top: -30px;
    }
}

@media screen and (min-width: 768px) {
  .grid-containerTwo {
    gap: 35px;
    padding: 20px;
    padding-left: 20%;
    padding-right: 20%;
  }

  .image1 {     
      height: 200px;
    }
    .image2 { 
      height: 200px;
    }
    .image3 { 
      height: 250px;
    }
    .tearSection {
      margin-bottom: -1210px;
    }
    .tear {
      height: 1260px;
    }
    .heartSpacing {
      margin-top: 40px;
    }
    .memoriesMargin {
      margin-top: 55px;
    }
    .marginSpacingTop {
      position: relative;
      top: -10px;
    }
}

@media screen and (min-width: 1100px) {
    .categoryContainer {
	    grid-column: col-start 2/span 12;
	    margin-bottom: -25px;
        margin: auto;
        margin-top: 20px;
	}
    .fullContainer {
        grid-column: col-start 1/span 14;
    }
    .desktop {
      display: block;
    }
    .mobile {
      display: none;
    }
    .h2Heading {
      font-size: 2em;
    }
    .tearSection {
      margin-top: -180px; 
      margin-bottom: -367px;
    }
    .tear {
      margin-left: 0%;
      width: 100%;
      position: relative;
      height: 775px;
    }
    .marginSpacingTop {
      margin-top: -175px;
      position: unset;
      top: unset;
    }
    .hero__inner {
      align-items: end;
      grid-template-columns: 1fr 3fr;  
      max-width: unset;
      padding-inline: unset;
    }
    .hero {
      text-align: right;
      padding-bottom: 0px;
      margin-top: 20px;
    }
    .card--wide   { width: 41%; }
    .card--narrow { width: 28%; }
    .card--wide2  { width: 41%; }
}
@media screen and (min-width: 1400px) {
    .categoryContainer{
        display: flex;
    }
    .square {
        width: 375px;
        height: 315px;
        margin-left: 15px;
        margin-right: 15px;
        padding: 35px 10px;
    }
    .govBoxMargin{
        margin-left: 20px;
        margin-right: 20px;
    }
    .hero__text h2 {
        margin-left: 25px;
    }
    .h2Heading {
      font-size: 2.5em;
    }
    .tearSection {
      margin-top: -500px; 
      margin-bottom: -50px;
    }
    .tear {
      height: 775px;
    }
    .marginSpacingTop {
      margin-top: -500px;
    }
    .hero {
      margin-top: -210px;
    }

}

@media screen and (min-width: 1800px) {
    .categoryContainer{
        grid-column: col-start 3/span 10;
    }
    .hero__text h2 {
        margin-left: unset;
    }
}