@font-face {
  font-family: 'Space Mono';
  src: url('../fonts/space_mono/SpaceMono-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Space Mono Bold';
  src: url('../fonts/space_mono/SpaceMono-Bold.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Changeling Neo';
  src: url('../fonts/changeling_neo/Changeling-Neo-Bold.otf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* Universal Styles */

html {
  scroll-behavior: smooth;
}

body {
    background: rgb(3, 2, 7);
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
    cursor: default;
}

body::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}

a {
  color: rgb(220, 220, 220);
}

/* Section 1 Styles */

#sail {
    color: rgb(220, 220, 220);
    display: grid;
    grid-template-rows: 1fr auto auto 1fr;
    grid-template-columns: 1fr;
    height: 100vh;
    width: 100vw;
}

.section1-title {
    font-family: 'Changeling Neo';
    font-size: clamp(6rem, 20vw, 16rem);
    font-weight: bold;
    text-align: center;
    margin: 0;
    line-height: 1;
    grid-row: 2;
    grid-column: 1;
    align-self: start;
    justify-self: center;
    margin-bottom: 15vh; /* Reduce space below title */
    position: relative; /* allow positioning reference */
    white-space: nowrap;
}

.section1-desc {
    font-family: 'Space Mono';
    font-size: 1rem;
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 4vh; /* Add space from the bottom */
    max-width: 65vw;
    grid-row: 4;
    grid-column: 1;
    align-self: end; /* Move to bottom of the grid cell */
    justify-self: center;
}

/* Section 2 and 3 Styles */

#research, #people {
    min-height: 100vh;
    width: 100vw;
    justify-content: center;
    align-items: center;
    font-size: 2em;
    color: rgb(220, 220, 220);
    display: grid;
    grid-template-rows: auto auto 1fr;
    grid-template-columns: 1fr;
}


.section-title {
    font-family: 'Space Mono Bold', monospace;
    font-size: clamp(2rem, 5vw, 2.5rem);
    color: rgb(220, 220, 220);
    grid-row: 1;
    grid-column: 1;
    justify-self: start;
    align-self: start;
    margin-top: 10vh;
    margin-left: 5vw;
    font-weight: bold;
}

.section-desc{
    font-family: 'Space Mono';
    font-size: 1rem;
    margin-top: 2rem;
    max-width: 80vw;
    grid-row: 2;
    grid-column: 1;
    align-self: end; /* Move to bottom of the grid cell */
    margin-left: 5vw;
}

.cards-container {
    grid-row: 3;
    grid-column: 1;
    display: flex;
    flex-wrap: wrap;       /* allows cards to wrap onto new lines */
    justify-content: flex-start; /* align cards to the left */
    gap: 1rem;             /* spacing between cards */
    margin-left: 5vw;      /* align with .section-desc */
    margin-top: 2rem;
    padding-right: 5vw;   /* same as margin-left for balance */
    gap: 1rem;  
    align-self: start;     /* ⬅ stick container to top of its grid row */
}

/* Footer Styles */

.site-footer {
    background: rgb(220, 220, 220);
    color: rgb(3, 2, 7);
    text-align: center;
    padding: 1rem 0;
    font-family: 'Space Mono', monospace;
    font-size: 0.75rem;
    margin-top: 10vh;
}

.footer-extra {
    display: block; /* Forces new line by default */
}

/* Optional: Keep it inline on large screens */
@media (min-width: 768px) {
    .footer-extra {
        display: inline;
        margin-left: 0.25rem;
    }
}