I'm not sure about your html but change the 'p' selector to '.main__text'.
try this:
.main__text {
color: red;
font-size: 2rem;
margin: 1rem 0 2rem 0;
}
@media only screen and (min-width: 600px) {
.main__text {
font-size: 1rem;
}
}
An easier way to understand media queries would be trying this:
.box {
display: block;
background: red;
height: 100px;
width: 100px;
}
@media only screen and (min-width: 600px) {
.box {
width: 200px;
}
}
<section>
<div class="box"></div>
</section>
Also keep in mind that 'min-width' and 'max-width' act oppositely... 'min-width' applies those styles when the screen size becomes larger than the specified unit while 'max-width' applies the style when the screen size smaller than the specified unit.