html.nfh-preloading,
html.nfh-preloading body{overflow:hidden!important}
html.nfh-preloading{background:#000!important}
html.nfh-preloading body>:not(.nfh-preloader){visibility:hidden!important}
.nfh-preloader{
  position:fixed;inset:0;z-index:30000;
  display:flex;align-items:center;justify-content:center;
  background:#000;opacity:1;visibility:visible;pointer-events:auto;
  transition:opacity 240ms ease,visibility 240ms ease;
}
.nfh-preloader.is-complete{opacity:0;visibility:hidden;pointer-events:none}
.nfh-preloader__inner{display:flex;flex-direction:column;align-items:center;gap:18px}
.nfh-preloader__star{display:block;width:66px;height:66px;animation:nfh-shared-loader-spin 1.35s linear infinite}
.nfh-preloader__percent{min-width:70px;margin:0;color:#ddff60;font:700 15px/1 Montserrat,Arial,sans-serif;text-align:center}
@keyframes nfh-shared-loader-spin{to{transform:rotate(360deg)}}

.mobile-home.section-page{display:none!important}

@media (max-width:767px){
  body[data-section="home"]{background:#fdfdfd}
  body[data-section="home"] #compact-menu,
  body[data-section="home"] #sticky-artwork-submenu,
  body[data-section="home"] #sticky-artifact-submenu,
  body[data-section="home"] #sticky-events-submenu,
  body[data-section="home"] #sticky-artifacts-cart,
  body[data-section="home"] .home-viewport,
  body[data-section="home"] #nfh-gallery-cursor{display:none!important}

  .mobile-home.section-page.is-active{
    position:relative;
    display:block!important;
    width:100%;
    height:921px;
    overflow:hidden;
    background:#fdfdfd;
  }
  .mobile-home__canvas{
    position:absolute;
    left:0;
    top:0;
    width:393px;
    height:921px;
    overflow:hidden;
    background:#000;
    transform-origin:0 0;
  }
  .mobile-home__white-top,
  .mobile-home__white-footer,
  .mobile-home__gutter{position:absolute;background:#fdfdfd;pointer-events:none}
  .mobile-home__white-top{z-index:40;left:0;top:0;width:393px;height:87px}
  .mobile-home__white-footer{z-index:40;left:0;top:669px;width:393px;height:252px}
  .mobile-home__gutter{z-index:35;top:87px;width:38px;height:582px}
  .mobile-home__gutter--left{left:0}
  .mobile-home__gutter--right{right:0}

  .mobile-home__menu{position:absolute;z-index:60;inset:0 0 auto 0;height:87px}
  .mobile-home__menu a{position:absolute;top:49px;height:22px;display:block}
  .mobile-home__menu a img{display:block;width:100%;height:100%}
  .mobile-home__menu-artworks{left:38px;width:81px}
  .mobile-home__menu-artifacts{left:136px;width:80px}
  .mobile-home__menu-events{left:232px;width:57px}
  .mobile-home__menu-about{left:306px;width:49px}
  .mobile-home__menu-star{position:absolute;top:29px;width:25px;height:25px}
  .mobile-home__menu-star--1{left:114px}
  .mobile-home__menu-star--2{left:210px}
  .mobile-home__menu-star--3{left:285px}

  .mobile-home__art{position:absolute;z-index:10;display:block;margin:0;padding:0;border:0}
  .mobile-home__art img{display:block;width:100%;height:100%;object-fit:cover}
  .mobile-home__tshirt-wrap{
    position:absolute;z-index:11;left:-59px;top:-25px;width:262.7px;height:285.67px;
    display:flex;align-items:center;justify-content:center;pointer-events:none;
  }
  .mobile-home__tshirt{position:relative;width:231.22px;height:189.18px;transform:rotate(112.27deg);pointer-events:auto}
  .mobile-home__balancing{left:213px;top:85px;width:254px;height:176px}
  .mobile-home__fire-horse{left:64px;top:285px;width:54px;height:54px}
  .mobile-home__ring{left:102px;top:178px;width:107px;height:107px}
  .mobile-home__ribs{left:286px;top:299px;width:137px;height:109px}
  .mobile-home__creature-wrap{
    position:absolute;z-index:12;left:-70px;top:354px;width:223.287px;height:238.924px;
    display:flex;align-items:center;justify-content:center;pointer-events:none;
  }
  .mobile-home__creature{position:relative;width:125px;height:205px;transform:rotate(37.06deg);pointer-events:auto}
  .mobile-home__reflective{left:65px;top:432px;width:277px;height:331px;z-index:14}

  .mobile-home__gallery{
    position:absolute;z-index:50;left:141px;top:112px;width:103px;height:22px;
  }
  .mobile-home__logo{
    position:absolute;z-index:55;left:143px;top:328px;width:107px;height:150px;display:block;
  }
  .mobile-home__logo img{display:block;width:107px;height:150px}

  .mobile-home__footer{position:absolute;z-index:60;left:0;top:669px;width:393px;height:252px;color:#000}
  .mobile-home__legal{
    position:absolute;left:38px;top:18px;width:317px;margin:0;
    font:400 10px/14px Montserrat,Arial,sans-serif;text-align:center;
  }
  .mobile-home__email{
    position:absolute;left:38px;top:96px;width:317px;
    color:#000;font:400 10px/14px Montserrat,Arial,sans-serif;text-align:center;text-decoration:underline;
  }
  .mobile-home__social{position:absolute;left:38px;top:121px;width:317px;display:flex;gap:22px}
  .mobile-home__social a,.mobile-home__social img{display:block;width:46px;height:46px}

}

/* Form feedback (shared by every page): error toast, invalid fields, honeypot. */
.nfh-form-toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 25000;
  width: max-content;
  max-width: calc(100vw - 32px);
  margin: 0;
  padding: 14px 20px;
  background: #ddff60;
  color: #000;
  font: 700 14px/1.4 'Montserrat', Arial, sans-serif;
  text-align: center;
  box-shadow: 0 8px 30px rgba(0, 0, 0, .45);
  transform: translate(-50%, 16px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms;
}
.nfh-form-toast.is-visible {
  transform: translate(-50%, 0);
  opacity: 1;
  visibility: visible;
}
[aria-invalid="true"] {
  outline: 2px solid #ff6b19 !important;
  outline-offset: 2px;
}
.nfh-hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Closed closeups are skipped by rendering, so their large lazy images are not
   fetched until a visitor opens one. The discrete transition keeps the content
   visible while a closeup fades out (browsers without it just switch). */
html .artwork-closeup:not(.is-open) {
  content-visibility: hidden;
}
html .artwork-closeup {
  transition: opacity 220ms ease, visibility 220ms ease, content-visibility 220ms allow-discrete;
}

/* The contact address (hi@notfromhere.agency) is longer than the original
   hi@notfromhere.art: widen the header boxes to the left so the right edge
   stays where the design puts it, and keep the address on one line. */
html .compact-email,
html .home-email {
  left: 1426px;
  width: 330px;
  white-space: nowrap;
}
html .email,
html .artifacts-email {
  left: 1441px;
  width: 330px;
  white-space: nowrap;
}
