.age-gate{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.age-gate.is-open{display:flex}

.age-gate__backdrop{
  position:absolute;
  inset:0;
  background:radial-gradient(800px 600px at 50% 40%, rgba(43,29,20,.97), rgba(10,10,10,.99));
  backdrop-filter:blur(8px);
}

.age-gate__panel{
  position:relative;
  max-width:920px;
  width:100%;
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:32px;
  align-items:center;
  padding:48px;
  background:linear-gradient(180deg, rgba(43,29,20,.95), rgba(18,18,18,.98));
  border:1px solid rgba(200,122,46,.4);
  border-radius:26px;
  box-shadow:0 40px 120px rgba(0,0,0,.85);
  animation:ageIn .4s ease;
}
@keyframes ageIn{
  from{opacity:0;transform:translateY(24px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.age-gate__garry img{
  width:100%;
  max-height:400px;
  object-fit:contain;
  filter:drop-shadow(0 20px 50px rgba(0,0,0,.7));
}

.age-gate__content .label{color:var(--saffron)}

.age-gate__content h2{
  font-family:var(--font-heading, 'Cormorant Garamond', serif);
  font-weight:600;
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.1;
  margin:14px 0 16px;
  color:var(--cream);
}

.age-gate__content .muted{
  font-size:15px;
  color:var(--muted);
  line-height:1.5;
  max-width:420px;
}

.age-gate__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:28px 0 20px;
}

.age-gate__fine{
  font-size:11px;
  color:var(--muted);
  opacity:.7;
  line-height:1.5;
  margin:0;
  max-width:420px;
}

.age-gate .btn{
  display:inline-block;
  padding:12px 22px;
  border-radius:999px;
  font-size:14px;
  letter-spacing:.05em;
  cursor:pointer;
  border:1px solid transparent;
  transition:.25s;
}
.age-gate .btn--amber{background:var(--amber);color:#1a1005;font-weight:600}
.age-gate .btn--amber:hover{background:var(--saffron)}
.age-gate .btn--ghost{border-color:rgba(200,122,46,.5);color:var(--cream);background:transparent}
.age-gate .btn--ghost:hover{background:rgba(200,122,46,.12)}

@media (max-width:760px){
  .age-gate__panel{grid-template-columns:1fr;padding:28px;gap:20px}
  .age-gate__garry{order:-1}
  .age-gate__garry img{max-height:240px}
}