.fab-pop{
  --fab-bg:#0a0a0a;
  --fab-line:rgba(212,175,55,.18);
  --fab-gold:#d4af37;
  --fab-gold-2:#e7c668;
  --fab-radius:14px;
  --fab-font-display:'Cormorant Garamond','Playfair Display',Georgia,serif;
  --fab-font-body:'Inter','Helvetica Neue',Arial,sans-serif;
}
.fab-pop,.fab-pop *{box-sizing:border-box}
.fab-pop{
  position:fixed;inset:0;z-index:999999999;
  display:none;align-items:center;justify-content:center;
  padding:110px 20px 30px;
  background:rgba(0,0,0,.78);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  opacity:0;transition:opacity .3s ease;
  font-family:var(--fab-font-body);
  overflow-y:auto;
}
.fab-pop.is-open{display:flex;opacity:1}
.fab-pop__box{
  position:relative;width:100%;max-width:880px;max-height:92vh;
  background:var(--fab-bg);border:1px solid var(--fab-line);
  border-radius:var(--fab-radius);overflow:hidden;
  display:grid;grid-template-columns:1.05fr .95fr;
  box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 0 1px rgba(212,175,55,.15);
  transform:translateY(20px) scale(.98);transition:transform .35s ease;
}
.fab-pop.is-open .fab-pop__box{transform:translateY(0) scale(1)}
.fab-pop__close{
  position:absolute;top:14px;right:14px;z-index:5;
  width:38px;height:38px;border-radius:50%;
  background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.18);
  color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;padding:0;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.fab-pop__close:hover{background:var(--fab-gold);border-color:var(--fab-gold);color:#000;transform:rotate(90deg)}
.fab-pop__close svg{width:18px;height:18px}
.fab-pop__content{padding:48px 42px;display:flex;flex-direction:column;justify-content:center}
.fab-pop__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--fab-gold);font-weight:600;margin-bottom:16px;
}
.fab-pop__eyebrow::before{content:"";width:24px;height:1px;background:var(--fab-gold);opacity:.6}
.fab-pop .fab-pop__title{
  font-family:var(--fab-font-display);font-size:38px;line-height:1.1;
  color:#fff;margin:0 0 16px;font-weight:500;letter-spacing:.01em;padding:0;
}
.fab-pop__title em{font-style:italic;color:var(--fab-gold)}
.fab-pop .fab-pop__sub{color:#cfcfcf;font-size:15px;line-height:1.65;margin:0 0 26px;padding:0}
.fab-pop .fab-pop__perks{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:10px}
.fab-pop .fab-pop__perks li{display:flex;align-items:center;gap:10px;color:#dcdcdc;font-size:14px;padding:0;margin:0}
.fab-pop__perks svg{width:18px;height:18px;color:var(--fab-gold);flex-shrink:0}
.fab-pop__cta-row{display:flex;flex-direction:column;gap:10px}
.fab-pop .fab-pop__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 24px;border-radius:999px;
  font-family:var(--fab-font-display);font-size:15px;letter-spacing:.16em;
  text-transform:uppercase;text-decoration:none;cursor:pointer;
  border:1px solid transparent;transition:all .25s ease;
}
.fab-pop .fab-pop__btn--gold{
  background:var(--fab-gold) !important;color:#000 !important;font-weight:600 !important;
  box-shadow:0 10px 24px -10px rgba(212,175,55,.5);
}
.fab-pop .fab-pop__btn--gold:hover{background:#e0bb45 !important;transform:translateY(-2px);color:#000 !important}
.fab-pop .fab-pop__btn--ghost{background:transparent;color:var(--fab-gold);border-color:rgba(212,175,55,.4)}
.fab-pop .fab-pop__btn--ghost:hover{background:rgba(212,175,55,.08);border-color:var(--fab-gold);color:var(--fab-gold)}
.fab-pop__btn svg{width:14px;height:14px}
.fab-pop__media{position:relative;background:#000;overflow:hidden}
.fab-pop__media img{width:100%;height:100%;object-fit:cover;display:block}
.fab-pop__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.55) 100%);
  pointer-events:none;
}
.fab-pop__badge{
  position:absolute;top:20px;left:20px;z-index:2;padding:6px 12px;border-radius:999px;
  background:rgba(0,0,0,.6);border:1px solid rgba(212,175,55,.4);
  color:var(--fab-gold);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
}
.fab-pop__caption{position:absolute;bottom:24px;left:24px;right:24px;z-index:2;color:#fff}
.fab-pop__caption strong{display:block;font-family:var(--fab-font-display);font-weight:500;font-size:24px;line-height:1.15;margin-bottom:4px}
.fab-pop__caption span{display:block;font-size:12px;color:var(--fab-gold-2);letter-spacing:.16em;text-transform:uppercase}
body.fab-pop-locked{overflow:hidden}

@media (max-width:900px){
  .fab-pop__box{max-width:720px}
  .fab-pop__content{padding:36px 30px}
  .fab-pop .fab-pop__title{font-size:30px}
}
@media (max-width:640px){
  .fab-pop{padding:90px 12px 16px}
  .fab-pop__box{grid-template-columns:1.25fr .75fr;max-width:100%;max-height:none}
  .fab-pop__content{padding:24px 18px;justify-content:flex-start}
  .fab-pop__eyebrow{font-size:9px;letter-spacing:.2em;margin-bottom:10px}
  .fab-pop__eyebrow::before{width:14px}
  .fab-pop .fab-pop__title{font-size:22px;margin-bottom:10px;line-height:1.15}
  .fab-pop .fab-pop__sub{font-size:12.5px;line-height:1.55;margin-bottom:16px}
  .fab-pop .fab-pop__perks{gap:7px;margin-bottom:18px}
  .fab-pop .fab-pop__perks li{font-size:11.5px;gap:7px;line-height:1.4}
  .fab-pop__perks svg{width:14px;height:14px}
  .fab-pop__cta-row{gap:8px}
  .fab-pop .fab-pop__btn{font-size:10.5px;padding:10px 14px;letter-spacing:.1em;gap:6px}
  .fab-pop__btn svg{width:11px;height:11px}
  .fab-pop__badge{top:10px;left:10px;font-size:8px;padding:4px 8px;letter-spacing:.14em}
  .fab-pop__caption{bottom:14px;left:14px;right:14px}
  .fab-pop__caption strong{font-size:14px;margin-bottom:2px}
  .fab-pop__caption span{font-size:9px;letter-spacing:.12em}
  .fab-pop__close{top:8px;right:8px;width:30px;height:30px}
  .fab-pop__close svg{width:14px;height:14px}
}
@media (max-width:380px){
  .fab-pop__box{grid-template-columns:1.4fr .6fr}
  .fab-pop .fab-pop__title{font-size:19px}
  .fab-pop__content{padding:20px 14px}
}
