/* SEISHINKU — fluid breakpoints, masonry→slider, 2×2 menu */
html {
  -webkit-text-size-adjust: 100%;
}

img,
video,
svg {
  max-width: 100%;
}

.si-main,
.si-nav,
.si-foot,
.si-hero__stage {
  min-width: 0;
}

@media (max-width: 1199px) {
  .si-nav__primary a {
    letter-spacing: 0.28em;
  }

  .si-hero__swiper {
    height: min(70vh, 36rem);
    min-height: 22rem;
  }

  .si-collect__inner,
  .si-collect:nth-of-type(even) .si-collect__inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 1023px) {
  .si-nav__primary {
    display: none;
  }

  .si-menu {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .si-gender,
  .si-gender--rev {
    grid-template-columns: 1fr;
  }

  .si-gender--rev .si-gender__pane {
    order: 0;
  }

  .si-matter__row,
  .si-craft__inner,
  .si-ask,
  .si-atelier__grid,
  .si-guide__item,
  .si-foot__inner {
    grid-template-columns: 1fr;
  }

  .si-feat__grid,
  .si-curate__grid {
    grid-template-columns: 1fr 1fr;
  }

  .si-journal__item a {
    grid-template-columns: 9rem 1fr;
  }

  .si-mason {
    display: none;
  }

  .si-gslide {
    display: block;
    padding-inline: var(--si-space);
  }

  .si-gslide .swiper-slide {
    width: 78%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: var(--si-surface);
  }

  .si-collect:nth-of-type(even) figure {
    order: 0;
  }
}

@media (max-width: 639px) {
  :root {
    --si-space: 1rem;
  }

  .si-hero__copy h1 {
    font-size: 2.05rem;
  }

  .si-hero__stage {
    flex-direction: row;
    height: 58vh;
    gap: 0.28rem;
    padding-inline: 0.75rem;
  }

  .si-hero__cell,
  .si-hero__cell.is-main,
  .si-hero__cell.is-open {
    flex: 1;
  }

  .si-hero__cell.is-main {
    flex: 1.55;
  }

  .si-curate__grid,
  .si-feat__grid {
    grid-template-columns: 1fr;
  }

  .si-journal__item a {
    grid-template-columns: 1fr;
  }

  .si-collect__inner,
  .si-collect:nth-of-type(even) .si-collect__inner {
    grid-template-columns: 1fr;
  }

  .si-nav__cta {
    width: 2.5rem;
    height: 2.5rem;
  }

  .si-gridmenu a {
    min-height: 42vw;
  }

  .si-gender__pane,
  .si-matter__fig,
  .si-craft__fig,
  .si-atelier__fig,
  .si-collect figure {
    min-height: 18rem;
  }
}

@media (min-width: 1920px) {
  :root {
    --si-wrap: min(100% - 5rem, 108rem);
  }

  .si-hero__stage {
    height: min(84vh, 58rem);
  }
}

@media (min-width: 2560px) {
  :root {
    --si-wrap: min(100% - 7rem, 124rem);
  }
}

html.aos-failed [data-aos],
html:not(.js) [data-aos] {
  opacity: 1 !important;
  transform: none !important;
}
