* { box-sizing: border-box; }
body { margin: 0; background: #f2d9b5; color: #000; font: 18px/1.5 ABeeZee, sans-serif; }
.notice { padding: .5rem 1rem; text-align: center; background: #fff8e9; font-size: .85rem; }
header { max-width: 1100px; margin: auto; padding: 40px; text-align: center; }
.school { display: block; width: 100%; height: auto; }
.logo { width: min(500px, 100%); height: auto; display: block; margin: 1.5rem auto; }
nav { background: #00b200; }
nav details { max-width: 1100px; margin: auto; }
nav summary { display: none; cursor: pointer; padding: .75rem; }
nav ul { margin: 0; padding: 0; list-style: none; }
nav > details > ul { display: flex; flex-wrap: wrap; }
nav li { position: relative; }
nav a, nav span { display: block; padding: 12px 18px; color: #000; text-decoration: none; }
nav > details > ul > li > a, nav > details > ul > li > span { text-transform: uppercase; font-size: 20px; }
nav li:hover > a, nav li:focus-within > a { color: #f2d9b5; }
nav ul ul { display: none; position: absolute; z-index: 2; min-width: 220px; background: #00b200; }
nav ul ul ul { left: 100%; top: 0; }
nav li:hover > ul, nav li:focus-within > ul { display: block; }
nav .unavailable { color: #285828; }
main, footer { max-width: 1100px; margin: auto; padding: 40px; }
h1 { color: #00b200; font-size: 40px; line-height: 1.2; }
a { color: #00a000; }
table { border-collapse: collapse; max-width: 100%; }
td, th { border: 1px solid #999; padding: .4rem; }
footer { font-size: .85rem; }
@media (max-width: 768px) {
  header, main, footer { padding: 24px; }
  h1 { font-size: 30px; }
  nav summary { display: block; }
  nav > details > ul { display: block; }
  nav ul ul, nav ul ul ul { display: block; position: static; padding-left: 1rem; }
  nav a, nav span { padding: 6px 16px; }
}
@media (min-width: 769px) {
  header { display: flex; align-items: center; gap: 40px; }
  header > a { order: -1; flex: 1 1 50%; }
  .logo { margin: 0; }
  .school { width: 50%; }
}
@media (max-width: 768px) {
  nav ul ul, nav ul ul ul { display: none; }
  nav li:hover > ul, nav li:focus-within > ul { display: block; }
}
nav .desktop-menu { max-width: 1100px; margin: auto; }
nav .desktop-menu > ul { display: flex; flex-wrap: wrap; }
nav .desktop-menu > ul > li > a, nav .desktop-menu > ul > li > span { text-transform: uppercase; font-size: 20px; }
nav .mobile-menu { display: none; }
@media (max-width: 768px) {
  nav .desktop-menu { display: none; }
  nav .mobile-menu { display: block; }
  nav summary { text-align: center; }
  nav .mobile-menu > ul { display: block; }
}
.lead-photo { max-width: 768px; margin: 2rem auto; }
.lead-photo img { display: block; max-width: 100%; height: auto; }
@font-face {
  font-family: ABeeZee;
  font-style: normal;
  font-weight: 400;
  src: url('/assets/fonts/esDR31xSG-6AGleN2tWkkA.woff2') format('woff2');
}
@font-face {
  font-family: ABeeZee;
  font-style: normal;
  font-weight: 400;
  src: url('/assets/fonts/esDR31xSG-6AGleN2tukkIcH.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: ABeeZee;
  font-style: italic;
  font-weight: 400;
  src: url('/assets/fonts/esDT31xSG-6AGleN2tCUkp8D.woff2') format('woff2');
}
@font-face {
  font-family: ABeeZee;
  font-style: italic;
  font-weight: 400;
  src: url('/assets/fonts/esDT31xSG-6AGleN2tCUnJ8DKpE.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
.recovered-gallery { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.5rem 0; }
.recovered-gallery img { width: min(100%, 300px); height: auto; object-fit: contain; }
