/* ...existing code... */
/* Site-wide styles shared with the other page */
:root{
  --brand-dark:#1C1847;
  --brand-light:#edeee3;
  --muted:#DDD;
}

html,body{
  height:100%;
  margin:0;
  padding:0;
  background:var(--brand-light);
  color:var(--brand-dark);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-family: 'Single Day', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Headings font */
h1,h2{
  font-family: 'Darumadrop One', 'Single Day', sans-serif;
  color:var(--brand-dark);
  margin:0 0 .5rem 0;
}

/* Navbar */
#navbar ul{
  list-style:none;
  display:flex;
  gap:12px;
  justify-content:center;
  padding:10px;
  margin:0;
  background:var(--brand-dark);
  flex-wrap:wrap;
}

#navbar a{
  color:var(--brand-light);
  text-decoration:none;
  padding:6px 8px;
  border-radius:6px;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}

#navbar a:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 18px rgba(28,24,71,0.14);
  background: rgba(235,235,223,0.06);
}

/* Main container fallback  */
main{
  max-width:1100px;
  margin:24px auto;
  padding:0 20px;
}

/* Section separator line */
.line{
  border:none;
  border-top:2px solid var(--muted);
  margin:28px 0;
}

/* Grids for semester blocks */
#grid1, #grid2, #grid3, #grid0{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap:12px;
  align-items:start;
}

/* Class links */
a#classes{
  display:block;
  color:var(--brand-dark);
  background: rgba(28,24,71,0.04);
  padding:10px 12px;
  border-radius:8px;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}

a#classes:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 18px rgba(28,24,71,0.12);
  background: rgba(28,24,71,0.06);
}

/* Utility: make inline-styled headings*/
@media (max-width:600px){
  h1{
    font-size:1.6rem;
  }
  #navbar ul{
    padding:8px;
    gap:8px;
  }
}
