@media (min-width: 861px) {
    .footer-col a.tel-link:hover {
      border-bottom-color: transparent;
      color: rgba(255,255,255,0.7);
    }
  }

@media (max-width: 860px) {
    .wrap { padding: 0 var(--sp-25); }
    .about { grid-template-columns: 1fr; gap: var(--sp-50); }
    .about-text { padding-left: 0; }
    .about::before { display: none; }
    .projects-grid { grid-template-columns: 1fr; }
    .hero-row { grid-template-columns: 1fr; gap: var(--sp-50); }
    .hero-title-col, .hero-meta-col { padding: 0; text-align: left; }
    .hero-title { font-size: 30px; }
    .hero-gutter { display: none; }
    .footer-grid { grid-template-columns: 1fr; gap: var(--sp-50); }
    .footer-col-right { text-align: left; align-items: flex-start; }
    .footer-bottom { grid-template-columns: 1fr; gap: var(--sp-25); text-align: center; }
    .footer-bottom-legal { justify-content: center !important; }
    .footer-bottom-credit { text-align: center; }
    nav ul { display: none; }
    .scroll-cue { padding: 8px; gap: 0; right: var(--sp-25); }
    .scroll-cue .label { display: none; }
    .scroll-cue .icon { width: 20px; height: 20px; }
    .scroll-cue .icon svg { width: 20px; height: 20px; }
  }

@media (max-width: 860px) {
    .quote-slide { padding: var(--sp-50) var(--sp-25); }
    .quote-slide p { font-size: 22px; }
    .quote-mark { font-size: 80px; left: var(--sp-25); }
  }

@media (max-width: 860px) {
    .page-banner { padding-top: 160px; }
    .page-title { font-size: 42px; }
    .bio-grid { grid-template-columns: 1fr; gap: var(--sp-50); }
    .edu-item { flex-direction: column; gap: 6px; }
    .edu-title { text-align: left; white-space: normal; }
    .pull-quote { font-size: 24px; }
  }

.slide2-composition {
    position: relative;
    height: 680px;
    max-width: 1900px;
    margin: 0 auto;
    padding: 50px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: var(--sp-50);
    overflow: hidden;
  }

.frame-horizontal {
    position: relative;
    flex: 0 0 844px;
    width: 844px;
    height: 501px;
    overflow: hidden;
    z-index: 2;
  }

.frame-vertical {
    position: relative;
    flex: 0 0 599px;
    width: 599px;
    height: 501px;
    overflow: hidden;
    z-index: 2;
  }

.slide3-composition {
    position: relative;
    height: 680px;
    padding: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
    overflow: hidden;
  }

.slide3-left {
    display: flex;
    flex-direction: column;
    gap: 50px;
    flex-shrink: 0;
  }

.slide3-left img {
    width: 476px;
    height: 260px;
    object-fit: contain;
    background: #FFFFFF;
    display: block;
  }

.slide3-right {
    width: 894px;
    height: 570px;
    flex-shrink: 0;
    overflow: hidden;
  }

.slide3-right img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #FFFFFF;
    display: block;
  }

.project-cover-img {
    width: 100%;
    height: 680px;
    overflow: hidden;
    position: relative;
    min-width: 0;
  }

@media (max-width: 860px) {
    .project-hero-row { grid-template-columns: 1fr; }
    .project-panel-gutter { display: none; }
    .project-slide-num {
      font-size: 80px;
      width: 65px;
      right: auto;
      left: -10px;
      margin-right: 0;
      z-index: 0;
    }
    .project-slide-desc { text-align: left; max-width: 100%; padding-right: 0; }
    .project-slide { padding: 20px 0; }
    .spec-row { margin-bottom: var(--sp-50); }
    .slide2-composition {
      height: auto;
      flex-direction: column;
      gap: var(--sp-50);
      padding: 50px;
    }
    .slide2-desc {
      padding-top: 0;
      padding-right: 0;
    }
    .slide2-images-row {
      flex-direction: column;
      align-items: center;
      gap: var(--sp-50);
    }
    .frame-horizontal, .frame-vertical {
      width: 100%;
      flex: none;
      height: auto;
    }
    .frame-horizontal img, .frame-vertical img {
      height: auto !important;
      object-fit: contain;
    }
    .slide4-left, .slide4-right {
      width: 100% !important;
      height: auto !important;
    }
    .slide4-left img, .slide4-right img {
      height: auto !important;
      object-fit: contain;
    }
    .lib-slide3-img, .lib-slide3-text {
      width: 100% !important;
      height: auto !important;
    }
    .lib-slide3-img { max-height: 60vw; }
    .lib-slide3-text { margin-top: var(--sp-50); }
    .slide3-composition {
      width: 100%;
      height: auto;
      flex-direction: column;
      align-items: stretch;
      padding: var(--sp-50) var(--sp-25);
    }
    .slide3-left { width: 100%; }
    .slide3-left img { width: 100%; height: auto; }
    .slide3-right { width: 100%; height: auto; margin-top: var(--sp-50); }
    .slide3-right img { height: auto; }
    .project-nav svg { width: 14px; height: 14px; }
    .project-wrap { padding: 0 var(--sp-25); }
  }