
html.age-gate-open,
html.age-gate-open body{
  overflow:hidden!important;
}

.age-gate-v105{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  z-index:999999;
  display:block;
  background:#000;
  overflow:hidden;
  isolation:isolate;
}

/* Full-screen backdrop derived from the approved gate artwork.
   This fills widescreen monitors while the main artwork remains undistorted. */
.age-gate-v105::before{
  content:"";
  position:absolute;
  inset:-2%;
  z-index:0;
  background-image:var(--gate-art);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  filter:blur(12px) brightness(.28) saturate(1.18);
  transform:scale(1.04);
}

/* The actual approved rendering occupies the full viewport height and remains proportional. */
.age-gate-art-v105{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;

  width:min(100vw, calc(100vh * 1.090909));
  aspect-ratio:1200 / 1100;

  transform:translate(-50%, -50%);
  margin:0;

  background:transparent;
}

.age-gate-art-v105 > img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  display:block;
  object-fit:fill;
  user-select:none;
  -webkit-user-drag:none;

  pointer-events:none;
}
.gate-hotspot{
  position:absolute;
  z-index:3;
  display:block;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  color:transparent;
  font-size:0;
  appearance:none;
  -webkit-appearance:none;
}

/* Link positions mapped directly to the supplied 1200x1100 rendering. */
.gate-terms{
  left:35.5%;
  top:50.6%;
  width:15.8%;
  height:3.8%;
}
.gate-research{
  left:51.0%;
  top:50.6%;
  width:20.4%;
  height:3.8%;
}
.gate-enter{
  left:18.8%;
  top:61.2%;
  width:33.6%;
  height:9.8%;
}
.gate-exit{
  left:53.1%;
  top:61.2%;
  width:31.2%;
  height:9.8%;
}

.gate-hotspot:focus-visible{
  outline:3px solid #f1b72f;
  outline-offset:2px;
  background:rgba(224,167,43,.08);
}

.age-denied-v105{
  width:min(620px,calc(100vw - 40px));
  box-sizing:border-box;
  padding:48px 34px;
  text-align:center;
  border:1px solid #a8791c;
  background:#070707;
  color:#c6bda9;
  font-family:Arial,Helvetica,sans-serif;
  box-shadow:0 30px 90px #000;
}
.age-denied-v105 div{
  color:#9a762c;
  font-size:10px;
  font-weight:900;
  letter-spacing:.3em;
}
.age-denied-v105 strong{
  display:block;
  margin:10px 0 16px;
  color:#dda72c;
  font-size:38px;
  font-family:Impact,"Arial Black",sans-serif;
  font-style:italic;
}
.age-denied-v105 p{
  margin:0;
  font-size:14px;
  line-height:1.6;
}




/* V106 — functional hotspot hardening */
.gate-enter,
.gate-exit{
  pointer-events:auto!important;
  touch-action:manipulation;
}
.gate-enter:hover,
.gate-exit:hover{
  background:rgba(255,188,45,.055)!important;
  box-shadow:inset 0 0 0 2px rgba(231,171,43,.16);
}
.gate-enter:active,
.gate-exit:active{
  background:rgba(255,188,45,.10)!important;
}


/* V108 DRAFT — force complete storefront isolation while age gate is open. */
html.age-gate-open,
html.age-gate-open body{
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
html.age-gate-open body > *:not(.age-gate-v105){
  visibility:hidden!important;
}
html.age-gate-open body > .age-gate-v105{
  visibility:visible!important;
}


/* =========================================================
   V109 DRAFT — FULL VIEWPORT AGE-GATE BACKGROUND
   Central approved gate remains unchanged.
   ========================================================= */
.age-gate-v105{
  background:#020202!important;
  overflow:hidden!important;
}

/* Full-bleed decorative backdrop behind the unchanged gate artwork. */
.age-gate-v105::before{
  content:""!important;
  position:fixed!important;
  inset:-40px!important;
  z-index:0!important;
  display:block!important;
  background-image:var(--gate-art)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  filter:blur(18px) brightness(.30) saturate(1.35)!important;
  transform:scale(1.08)!important;
  opacity:1!important;
  pointer-events:none!important;
}

/* Dark veil keeps the background subordinate to the approved gate panel. */
.age-gate-v105::after{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  background:
    radial-gradient(ellipse at center,
      rgba(0,0,0,.10) 0%,
      rgba(0,0,0,.25) 52%,
      rgba(0,0,0,.50) 100%)!important;
  pointer-events:none!important;
}

/* Keep the exact approved gate image above the full-bleed background. */
.age-gate-art-v105{
  z-index:2!important;
}
.gate-hotspot{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.gate-enter,
.gate-exit{
  pointer-events:auto !important;
}