:root{
  --page-bg:#050505;
  --yellow:#fff000;
  --pink:#ff2df3;
  --blue:#35aef5;
  --red:#ff1e1e;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--page-bg);color:#fff;font-family:Arial,Helvetica,sans-serif}
body.home-layered-page{overflow:hidden;}
img{max-width:100%;height:auto}

/* Layered home - fixed proportional poster */
.home-layered-page{
  background-color:#760000;
  background-image:url('assets/home/leopard-red.png');
  background-repeat:repeat;
  background-size:512px 512px;
  background-position:center;
  min-height:100svh;
  width:100%;
  overflow:hidden;
  display:flex;
  justify-content:center;
  align-items:center;
}
.home-stage{
  position:relative;
  aspect-ratio:1510/2048;
  height:min(100svh, calc(100vw * 2048 / 1510));
  width:calc(min(100svh, calc(100vw * 2048 / 1510)) * 1510 / 2048);
  max-width:100vw;
  max-height:100svh;
  margin:0 auto;
  background:#000 url('assets/home/home_bg.jpg') center/cover no-repeat;
  overflow:hidden;
  isolation:isolate;
  flex:0 0 auto;
}
.home-stage img{
  position:absolute;
  display:block;
  max-width:none;
  height:auto;
  user-select:none;
  -webkit-user-drag:none;
}
.home-topbar{
  left:0;
  top:0;
  width:100%;
  height:auto;
  z-index:30;
}
.home-bottombar{
  left:0;
  bottom:0;
  width:100%;
  height:auto;
  z-index:70;
}
.home-main{
  position:absolute;
  inset:0;
  overflow:visible;
  margin:0;
  padding:0;
  pointer-events:none;
  z-index:auto;
}
.home-left{
  position:absolute;
  inset:0;
  z-index:65;
  pointer-events:none;
}
.home-featuring{
  left:3.6%;
  top:24.3%;
  width:28.7%;
  z-index:66;
}
.home-menu-parts{
  position:absolute;
  left:2.4%;
  top:35.7%;
  width:40.0%;
  z-index:67;
  pointer-events:auto;
}
.home-menu-parts img{
  position:relative;
  display:block;
  height:auto;
  max-width:none;
}
.home-menu-item{
  display:block;
  line-height:0;
  margin:0 0 4.2% 0;
  -webkit-tap-highlight-color:rgba(255,255,0,.25);
}
.home-menu-item img{width:100%;}
.home-news{width:35%;}
.home-about{width:39%;}
.home-gallery{width:50%;}
.home-sketches{width:60%;}
.home-links{width:36%;}
.home-contact{width:50%;}
.home-bonus{width:93%; margin-bottom:1.3%;}
.home-many-more{width:45%; margin-left:35%; transform:translateY(20px);}
.home-menu-item:focus-visible{
  outline:3px solid var(--yellow);
  outline-offset:3px;
}
.home-texts{
  left:3.4%;
  top:67.8%;
  width:41.8%;
  z-index:66;
}
.home-devil{
  left:36.0%;
  top:16.2%;
  width:57.2%;
  max-height:none;
  object-fit:contain;
  object-position:right top;
  filter:drop-shadow(0 12px 16px rgba(0,0,0,.42));
  z-index:100;
  pointer-events:none;
}
@supports not (height:100svh){
  .home-layered-page{min-height:100vh;}
  .home-stage{height:min(100vh, calc(100vw * 2048 / 1510));width:calc(min(100vh, calc(100vw * 2048 / 1510)) * 1510 / 2048);max-height:100vh;}
}
/* Shared pages */
.site-page{min-height:100svh;background:#070707;color:#fff;overflow-x:hidden}.menu{position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:clamp(10px,2.4vw,22px);padding:12px clamp(12px,3vw,28px);background:rgba(5,5,5,.96);border-bottom:2px solid rgba(255,45,243,.35);overflow-x:auto;scrollbar-width:none}.menu::-webkit-scrollbar{display:none}.menu a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;line-height:0;flex:0 0 auto}.menu img{height:clamp(26px,3.4vw,46px);width:auto;max-width:280px;object-fit:contain;opacity:.92;transition:transform .15s,opacity .15s}.menu a:hover img,.menu a:focus-visible img{opacity:1;transform:scale(1.06)}
.page-wrap{width:min(1180px,100%);margin:0 auto;padding:clamp(22px,4vw,48px) clamp(16px,3vw,34px) 60px}.page-card{border:4px solid var(--pink);background:linear-gradient(180deg,#111,#070707);box-shadow:0 0 0 4px #000,0 0 36px rgba(255,45,243,.18);padding:clamp(20px,4vw,42px)}.page-title{margin:0 0 12px;color:var(--yellow);font-family:Georgia,"Cooper Black","Arial Black",serif;font-size:clamp(34px,7vw,82px);line-height:.9;text-transform:uppercase;text-shadow:3px 3px 0 #000,5px 5px 0 var(--red);letter-spacing:.015em}.page-subtitle{max-width:760px;margin:0 0 32px;color:#ddd;font-size:clamp(15px,2vw,20px);line-height:1.45}.back-link{display:inline-block;margin-bottom:24px;color:var(--blue);font-weight:900;text-transform:uppercase;text-decoration:none}.back-link:hover{text-decoration:underline}
.gallery-section{margin:0 0 clamp(34px,5vw,56px)}.category-head{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:8px}.category-logo{max-height:clamp(34px,6vw,70px);max-width:min(100%,540px);object-fit:contain}.category-title{margin:0;color:var(--yellow);font-size:clamp(28px,5.5vw,64px);font-family:Georgia,"Cooper Black","Arial Black",serif;text-transform:uppercase;line-height:.9;text-shadow:3px 3px 0 #000,5px 5px 0 var(--red)}.category-desc{margin:0 0 18px;color:#d8d8d8;opacity:.78;font-size:clamp(14px,1.7vw,18px)}.row{display:flex;gap:clamp(10px,1.6vw,18px);overflow-x:auto;padding:4px 0 16px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--pink) #111}.item{flex:0 0 auto;width:clamp(138px,20vw,240px);border:2px solid rgba(255,255,255,.08);background:#000;border-radius:8px;overflow:hidden;text-decoration:none;transition:transform .16s,border-color .16s}.item:hover,.item:focus-visible{transform:translateY(-3px) scale(1.025);border-color:var(--yellow);outline:none}.item img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#000}.empty-note{color:#aaa;font-size:14px;padding:12px 0}.simple-list{display:grid;gap:12px;margin-top:24px}.simple-list a{color:var(--yellow);font-weight:800;text-decoration:none}.simple-list a:hover{text-decoration:underline}
@media(max-width:640px){.page-card{border-width:3px}.menu{position:sticky}.item{width:clamp(128px,42vw,190px)}.page-wrap{padding-bottom:42px}}

/* Sketches page: larger thumbs because it has only one horizontal row */
.sketches-page .row .item{
  width:clamp(260px,42vw,500px);
}

/* Compact top menu for gallery/internal pages */
.site-page .menu{
  position:sticky;
  top:0;
  z-index:1000;
  display:flex;
  align-items:center;
  gap:10px;
  height:36px;
  min-height:36px;
  padding:4px 12px;
  background:rgba(0,0,0,.92);
  border-bottom:1px solid rgba(255,45,243,.35);
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
}

.site-page .menu::-webkit-scrollbar{
  display:none;
}

.site-page .menu a{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:auto;
  min-height:auto;
  height:20px;
  line-height:0;
}

.site-page .menu img{
  display:block;
  height:14px;
  max-height:14px;
  width:auto;
  max-width:none;
  object-fit:contain;
  opacity:.92;
}

.site-page .menu img[src*="bonus"]{
  height:16px;
  max-height:16px;
}

@media(max-width:640px){
  .site-page .menu{
    height:34px;
    min-height:34px;
    padding:4px 9px;
    gap:8px;
  }

  .site-page .menu a{
    height:19px;
  }

  .site-page .menu img{
    height:13px;
    max-height:13px;
  }

  .site-page .menu img[src*="bonus"]{
    height:14px;
    max-height:14px;
  }
}
