@import url("fonts.css");

:root{
  --red:#c32222;
  --white:#f2f2ee;
  --black:#030303;
  --panel:rgba(5,5,5,.78);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#000;color:var(--white);font-family:"Anton",Impact,"Arial Narrow",Arial,sans-serif;}
body{
  background:
    radial-gradient(circle at 18% 22%, rgba(132,0,0,.22), transparent 28%),
    radial-gradient(circle at 72% 48%, rgba(255,255,255,.06), transparent 25%),
    #020202;
}
.pageShell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:0;
}
.imageStage{
  position:relative;
  width:min(100vw, 1672px);
  margin:auto;
  line-height:0;
  background:#000;
}
.imageStage.portrait{width:min(100vw, 1122px);}
.imageStage.profile{width:min(100vw, 1401px);}
.imageStage.profile2{width:min(100vw, 1085px);}
.imageStage img{
  display:block;
  width:100%;
  height:auto;
  user-select:none;
  -webkit-user-drag:none;
}
.hotspot{
  position:absolute;
  display:block;
  z-index:5;
  line-height:1;
  color:transparent;
  outline:0 solid transparent;
  transition:.13s ease;
}
.hotspot:hover,.hotspot:focus-visible{
  outline:2px solid rgba(220,40,40,.86);
  background:rgba(220,40,40,.10);
  box-shadow:0 0 22px rgba(220,40,40,.24);
}
.hotspot span{
  position:absolute;
  left:8px;
  top:8px;
  padding:5px 7px;
  background:rgba(0,0,0,.72);
  color:#fff;
  border-left:3px solid var(--red);
  font:800 11px/1 Arial,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:0;
  transition:.13s ease;
  white-space:nowrap;
}
.hotspot:hover span,.hotspot:focus-visible span{opacity:1;}
.navButton{
  position:absolute;
  z-index:8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5em;
  min-width:112px;
  padding:11px 14px;
  color:#f5f5f0;
  background:rgba(0,0,0,.72);
  border:2px solid rgba(255,255,255,.8);
  box-shadow:5px 5px 0 rgba(0,0,0,.55);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:18px;
  line-height:1;
  text-decoration:none;
  clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%);
  transition:.14s ease;
}
.navButton:hover{transform:translate(-2px,-2px);border-color:var(--red);background:#111;}
.navButton.backMain{top:14px;left:14px;font-size:14px;min-width:auto;}
.navButton.next{right:18px;top:50%;transform:translateY(-50%);}
.navButton.next:hover{transform:translate(-2px,calc(-50% - 2px));}
.navButton.prev{left:18px;top:50%;transform:translateY(-50%);}
.navButton.prev:hover{transform:translate(-2px,calc(-50% - 2px));}
@media(max-width:800px){
  .navButton{font-size:13px;min-width:auto;padding:8px 10px}
  .navButton.backMain{font-size:11px}
  .hotspot span{display:none}
}
.navDock{
  position:relative;
  line-height:normal;
  display:flex;
  gap:10px;
  padding:14px 14px 16px;
  background:#000;
}
.navDock.alignEnd{justify-content:flex-end;}
.navDock.alignStart{justify-content:flex-start;}
/* Docked buttons sit in normal flow below the artwork instead of
   centered on top of it, so they can't cover dossier text — see
   .navButton.next/.prev below, which assume vertical centering. */
.navDock .navButton{position:static;top:auto;left:auto;right:auto;transform:none;}
.navDock .navButton:hover{transform:translateY(-2px);}
