/* JBK opener — premium navy + gold reveal. Loaded only on the homepage. */
#jbk-opener{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;text-align:center;height:100dvh;
  background:radial-gradient(900px 620px at 50% 38%, #16314e 0%, #0E1B2E 70%);
  transition:opacity .6s ease,visibility .6s ease;overflow:hidden}
#jbk-opener.jbk-hide{opacity:0;visibility:hidden}

#jbk-opener .jbk-op-rays{position:absolute;left:50%;top:40%;width:150vmax;height:150vmax;transform:translate(-50%,-50%);pointer-events:none;opacity:.16;
  background:repeating-conic-gradient(from 0deg, rgba(200,160,74,.55) 0deg 4deg, transparent 4deg 12deg);
  -webkit-mask:radial-gradient(closest-side,#000 6%,transparent 66%);mask:radial-gradient(closest-side,#000 6%,transparent 66%);
  animation:jbk-rays 36s linear infinite}
@keyframes jbk-rays{to{transform:translate(-50%,-50%) rotate(360deg)}}

#jbk-opener .jbk-op-inner{position:relative;z-index:2;padding:0 24px}

#jbk-opener .jbk-op-mark{font-family:'Fraunces',Georgia,serif;font-weight:600;
  font-size:clamp(2.4rem,11vw,4.2rem);letter-spacing:.04em;color:#C8A04A;
  width:clamp(116px,30vw,154px);height:clamp(116px,30vw,154px);line-height:clamp(116px,30vw,154px);margin:0 auto;
  border:3px solid rgba(200,160,74,.55);border-radius:50%;
  box-shadow:0 0 44px rgba(200,160,74,.35),inset 0 0 30px rgba(200,160,74,.16);
  opacity:0;transform:scale(.6);animation:jbk-mark 1s cubic-bezier(.34,1.56,.64,1) .1s forwards}
@keyframes jbk-mark{0%{opacity:0;transform:scale(.6) rotate(-8deg)}60%{opacity:1;transform:scale(1.08) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}

#jbk-opener .jbk-op-name{font-family:'Fraunces',Georgia,serif;font-weight:600;color:#FBF8F2;
  font-size:clamp(1.5rem,6vw,2.4rem);margin-top:20px;position:relative;display:inline-block;overflow:hidden;
  opacity:0;animation:jbk-fade .7s ease .8s forwards}
#jbk-opener .jbk-op-name::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 36%,rgba(255,255,255,.65) 50%,transparent 64%);
  background-size:240% 100%;animation:jbk-sweep 1.5s ease 1.05s 1}
@keyframes jbk-sweep{0%{background-position:135% 0}100%{background-position:-135% 0}}

#jbk-opener .jbk-op-line{font-family:'Inter',system-ui,sans-serif;font-weight:600;color:#D9E2EE;
  font-size:clamp(1rem,4vw,1.3rem);margin-top:14px;opacity:0;animation:jbk-fade .7s ease 1.25s forwards}
#jbk-opener .jbk-op-line b{color:#C8A04A;font-weight:800}
@keyframes jbk-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

#jbk-opener .jbk-op-skip{position:absolute;bottom:calc(28px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);
  font-family:'Inter',system-ui,sans-serif;font-weight:700;font-size:.9rem;color:#0E1B2E;background:#C8A04A;border:none;border-radius:999px;
  padding:11px 26px;cursor:pointer;min-height:44px;opacity:0;animation:jbk-fade .6s ease 1.6s forwards}
#jbk-opener .jbk-op-skip:hover{filter:brightness(1.08)}
#jbk-opener .jbk-op-skip:focus-visible{outline:3px solid #FBF8F2;outline-offset:3px}
