.mobile-site {
  display: none;
}

.green-interview-caption-desktop {
  position: absolute;
  left: 190px;
  top: 1682px;
  width: 290px;
  color: navy;
  font: bold 20px/1.2 "Times New Roman", Times, serif;
  text-align: center;
}

.green-interviews-desktop {
  position: absolute;
  left: 500px;
  top: 1234px;
  z-index: 79;
  display: grid;
  width: 300px;
  gap: 18px;
}

.green-interviews-desktop a {
  color: navy;
  font: 18px/1.2 "Times New Roman", Times, serif;
  text-align: center;
}

.green-interviews-desktop strong {
  display: block;
  padding-top: 5px;
}

.green-video-frame {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #000;
}

.green-video-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

@media (max-width: 1365px) {
  html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
  }

  body {
    margin: 0 !important;
    min-width: 0 !important;
    background: #f5f2eb !important;
    color: #17222a !important;
    font-family: "Times New Roman", Times, serif !important;
  }

  .legacy-desktop {
    display: none !important;
  }

  .mobile-site {
    display: block !important;
    min-height: 100vh;
    font-size: 18px;
    line-height: 1.55;
  }

  .mobile-site * {
    box-sizing: border-box;
  }

  .mobile-site a {
    color: #075f87;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .mobile-header {
    background: #090909;
    border-bottom: 4px solid #31b9c8;
  }

  .mobile-brand {
    display: block;
    width: 100%;
    height: auto;
  }

  .mobile-menu {
    background: #0d4261;
    color: white;
  }

  .home-nav-row {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    background: #0d4261;
  }

  .home-nav-row .mobile-menu {
    flex: 1;
  }

  .home-teachers-link {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 48px;
    padding: 11px 18px;
    background: #0d4261;
    color: white !important;
    font-size: 19px;
    font-weight: bold;
    font-family: inherit;
    text-decoration: none !important;
  }

  .home-nav-row .mobile-menu summary {
    display: flex;
    align-items: center;
    gap: 7px;
    list-style: none;
  }

  .home-nav-row .mobile-menu summary::-webkit-details-marker {
    display: none;
  }

  .home-nav-row .mobile-menu summary::before,
  .home-teachers-link::before {
    content: "\25BC";
    color: white;
    font-size: 12px;
    line-height: 1;
    flex: 0 0 12px;
  }

  .home-nav-row .mobile-menu[open] summary::before {
    content: "\25B2";
  }

  .mobile-menu summary,
  .teacher-menu summary {
    min-height: 48px;
    padding: 11px 18px;
    cursor: pointer;
    font-size: 19px;
    font-weight: bold;
    list-style-position: inside;
  }

  .mobile-menu nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: rgba(255, 255, 255, 0.18);
  }

  .mobile-menu nav a {
    min-height: 48px;
    padding: 11px 14px;
    background: #125276;
    color: white;
    text-align: center;
    text-decoration: none;
  }

  .mobile-main {
    width: min(100%, 720px);
    margin: 0 auto;
    padding: 22px 17px 36px;
  }

  .mobile-site h1,
  .mobile-site h2,
  .mobile-site h3,
  .mobile-site p {
    font-family: "Times New Roman", Times, serif !important;
  }

  .mobile-site h1 {
    margin: 0 0 18px;
    color: #0b4f70;
    font-size: clamp(30px, 8vw, 42px);
    line-height: 1.08;
    text-align: center;
  }

  .mobile-site h2 {
    margin: 30px 0 12px;
    color: #0b4f70;
    font-size: 27px;
    line-height: 1.15;
  }

  .mobile-site h3 {
    margin: 18px 0 7px;
    color: #0b4f70;
    font-size: 21px;
  }

  .mobile-site p {
    margin: 0 0 18px !important;
    color: #17222a !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  .lead {
    font-size: 21px !important;
    text-align: center;
  }

  .hero-photo,
  .content-photo,
  .gallery-photo,
  .flyer-photo,
  .map-photo {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto 20px;
    border-radius: 8px;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.18);
  }

  .portrait-photo {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 430px;
    margin: 0 auto 22px;
    border-radius: 8px;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.18);
  }

  .studio-card {
    margin: 27px 0 20px;
  }

  .studio-photo,
  .video-thumbnail {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.18);
  }

  .studio-card figcaption {
    margin-top: 8px;
    color: #42535d;
    font-size: 16px;
    font-style: italic;
    text-align: center;
  }

  .video-links {
    margin: 30px 0;
  }

  .green-video-links {
    width: min(100%, 420px);
    margin: 24px auto 30px;
  }

  .video-card {
    display: block;
    margin: 0 0 24px;
    color: #0b4f70;
    font-size: 19px;
    font-weight: bold;
    text-align: center;
    text-decoration: none !important;
  }

  .video-card span {
    display: block;
    padding-top: 8px;
  }

  .photo-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 22px 0;
  }

  .callout,
  .contact-card,
  .link-card,
  .event-card {
    margin: 22px 0;
    padding: 20px;
    border: 1px solid #c8d6dc;
    border-radius: 10px;
    background: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  }

  .callout.green {
    border-left: 7px solid #46933c;
  }

  .callout.musicthon {
    border-left: 7px solid #31b9c8;
    text-align: center;
  }

  .button-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 11px;
    margin: 20px 0;
  }

  .mobile-site .button {
    display: block;
    min-height: 48px;
    padding: 11px 16px;
    border-radius: 7px;
    background: #0d628d;
    color: white;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
  }

  .teacher-menu {
    margin: 26px 0;
    border: 1px solid #a9c0cb;
    border-radius: 8px;
    background: white;
    overflow: hidden;
  }

  .teacher-menu summary {
    background: #dcebf0;
    color: #0b4f70;
  }

  .teacher-groups {
    padding: 6px 18px 18px;
  }

  .teacher-groups ul {
    margin: 5px 0 15px !important;
    padding-left: 23px !important;
  }

  .teacher-groups li {
    margin: 8px 0;
    font-size: 18px;
  }

  .quote {
    padding-left: 18px;
    border-left: 4px solid #31b9c8;
    font-style: italic;
  }

  .mobile-footer {
    padding: 25px 18px 32px;
    background: #0d4261;
    color: white;
    text-align: center;
  }

  .mobile-footer p {
    margin: 0 0 9px !important;
    color: white !important;
    font-size: 17px !important;
  }

  .mobile-footer a {
    color: #9fe8ef;
  }
}
