@media (min-width: 2000px){
  :root{ --headerH: 80px; }
}

@media (min-width: 1800px){

}
@media (min-width: 2200px){

}

/* responsive */
@media (max-width: 900px){
  .about-grid{ row-gap: 28px ; }
  .about-portrait{ grid-column: 1 / -1; }
    .about-profile-text {
        grid-column: 1 / -1;
        margin-top: 16px;
        gap: 16px;
    }
  .about-columns .about-col:first-child,
  .about-columns .about-col:last-child{ grid-column: 1 / -1; }
}


@media all and (max-width: 812px) and (orientation:portrait){
  :root{
    --gap: 12px;
    --headerH: 56px;
  }

  .header-inner{ padding: 0 var(--gap); }
  .header-left{ gap: 14px; padding-top: 12px; }
  .header-left a{ font-size: 14px; }

    .header-mid {
        width: 75%;
        padding-top: 16px;
        /* display: none; */
        left: 11%;
        transform: unset;
    }

  .header-mid .org-title{ font-size: 16px; }
  .header-mid .org-desc{ font-size: 14px; line-height: 1.2;}

    .header-right a {
        width: 30px;
        height: auto;
    }

  .notice{ width: 320px; }

  /* Home grid: 모바일은 1열로 안전하게 */
  .home-row.row-2,
  .home-row.row-3{ grid-template-columns: 1fr; }
  .home-card .meta{ height: 150px; }

  /* Archive grid: 1열 */
  .archive-bar{
    flex-direction:column;
    align-items:flex-start;
    gap: 10px;
  }
  .archive-intro{ width:100%; margin-left:0; max-width:none; }

    .archive-grid {
        grid-template-columns: repeat(1, 1fr);
    }

  .archive-grid > .archive-item {
    grid-column: span 4;
  }

  .archive-grid > .archive-item:nth-child(n) {
    grid-column: auto;
  }

  /* Work split: 세로 스택 */
  .work-split{
    grid-template-columns: 1fr;
  }
    .work-split .left, .work-split .right {
        height: auto;
        overflow: visible;
        width: 100%;
        overflow: hidden;
    }
  .work-strip{
    height: calc(var(--vh) * 100);
  }

.about-grid {
    width: 100%;
}
  /* work-strip 전체는 세로 스택 */
  .work-strip{
    height: auto;              /* 기존 100vh는 모바일에선 불편할 수 있어서 해제 */
    display: flex;
    flex-direction: column;
    gap: 0px;
  }

.work-strip .thumbs .slide {
    aspect-ratio: unset;
    cursor: pointer;
    outline: 0;
}

.blocks {
    background: #fff;
    color: #000000;
    /* padding-top: 64px; */
    padding: 12px;
    width: 100%;
}

  /* 메인(큰 이미지 띠): 세로 스크롤 */
  .work-strip .main{
    height: calc(var(--vh) * 50);   /* 취향: 60~75 사이 */
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }

  /* 썸네일: 가로 스와이프 */
  .work-strip .thumbs{
    height: auto;
    overflow-x: auto;
    overflow-y: hidden;

    display: flex;
    flex-wrap: nowrap;
    gap: 0px;

    padding: 0 var(--gap) 4px;  /* 좌우 여백 */
    -webkit-overflow-scrolling: touch;

    scroll-snap-type: x mandatory;
  }

  .work-strip .thumbs .slide{
    flex: 0 0 auto;
    width: 28vw;               /* 썸네일 폭 */
    max-width: 160px;
    scroll-snap-align: start;
  }

    .work-strip .thumbs img {
        display: block;
        width: 100%;
        height: 100%;
    }

.site-footer {
    height: 500px;
}

  .site-header{
    height: auto;        /* ✅ 강제 높이 해제 */
    min-height: 120px;   /* ✅ 최소만 보장 */
  }

  /* header */
  .header-left { display: none; }
  .menu-toggle { display: grid; }

    .menu-toggle {
        width: auto;
        height: auto;
        place-items: center;
        border: 0;
        background: transparent;
        padding: 0 4px 4px 0;
        color: #fff;
        z-index: 99999999;
        top: 14px;
        position: absolute;
    }

  .menu-toggle .icon-close { display: none; }
  .menu-toggle.is-open .icon-burger { display: none; }
    .menu-toggle.is-open .icon-close {
        display: flex;
        width: 21px;
        /* width: auto; */
        /* height: auto; */
        align-items: flex-start;
        top: -1px;
        position: relative;
    }

  /* mobile menu */
    .mobile-menu{
        display: block;
        height: 100vh;
      position: fixed;
      inset: 0;
      z-index: 2147483000;
      background: rgb(180 180 180 / 51%);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      visibility: hidden;
      pointer-events: none;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 180ms ease, transform 180ms ease;
    }

    .mobile-menu__list a {
        color: #ffffff;
        transition: color 0.2s;
        font-size: 16px;
        line-height: 1;
    }

    .mobile-menu__list a.is-disabled {
        opacity: 0.3;
    }

nav.mobile-menu__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 16px;
}

.mobile-menu.is-open{
        display: block;
        height: 100vh;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 160ms ease;
          z-index: 99999;
}

    .mobile-menu__inner {
        padding: 16px 54px;
    }

  /* 스크롤락: 최소한으로 */
  body.menu-open {
    overflow: hidden;
  }

svg.icon.icon-burger {
    width: 20px;
    height: auto;
}

.header-right {
    margin-left: auto;
    margin-top: 16px;
    display: flex;
    align-items: flex-start;
        z-index: 99999999;
}

.site-header.is-hidden{
  transform: translateY(-100%);
}

  /* 메뉴 열렸을 때: 헤더는 버튼만 남기고 나머지 숨김 */
  body.menu-open .site-header{
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* 헤더 안에 있는 텍스트/로고/좌측 메뉴 싹 숨김 */
  body.menu-open .site-header .header-left,
  body.menu-open .site-header .header-mid,
  body.menu-open .site-header .header-right{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  /* 버튼은 계속 보여야 하니까 살려둠 */
  body.menu-open .site-header .menu-toggle{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--headerH); /* 기본 */
  transition:
    height 260ms ease,
    transform 220ms ease,
    background-color 180ms ease,
    backdrop-filter 180ms ease;
  will-change: height, transform;
/*  backdrop-filter: blur(10px);
  background: rgb(180 180 180 / 51%);*/
}

body.menu-open .site-header {
  height: 100vh;
}

.header-mid {
  transition: opacity 180ms ease;
}

body.menu-open .header-mid {
  opacity: 0;
  pointer-events: none;
}



body.menu-open .mobile-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.footer-email {
    display: none;
}

.about-body {
    padding: 12px var(--gap) 176px;
}


}
