:root{--rje-red:#a10b10;--rje-red2:#d31419;--rje-navy:#062d72;--rje-navy2:#0a4ca5;--rje-ink:#0c2448;--rje-cream:rgba(255,252,247,.90)}
html.rje-gateway-lock,body.rje-gateway-lock{overflow:hidden!important}
.rje-gateway{position:fixed;inset:0;z-index:2147483000;display:none;overflow:auto;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17243a;background:#f8f4ed}
.rje-gateway.is-open{display:block}
.rje-gateway__backdrop{position:fixed;inset:0;background-image:linear-gradient(rgba(255,252,247,.15),rgba(255,252,247,.18)),var(--rje-gateway-bg);background-size:cover;background-position:center;background-repeat:no-repeat}
.rje-gateway__shell{position:relative;z-index:1;width:min(1060px,calc(100% - 32px));margin:0 auto;padding:6vh 0 28px;min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.rje-gateway__card{position:relative;background:var(--rje-cream);border:1px solid rgba(255,255,255,.72);box-shadow:0 12px 38px rgba(31,31,31,.13);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border-radius:22px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.rje-gateway__card:before{content:"";position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,.62) 46%,transparent 64%);transform:translateX(-120%);transition:transform .65s ease}
.rje-gateway__card:hover:before,.rje-gateway__card:focus-within:before{transform:translateX(120%)}
.rje-gateway__intro{width:min(700px,100%);margin:0 auto 18px;padding:26px 30px;text-align:center}
.rje-gateway__intro:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(80,35,35,.15)}
.rje-gateway__sakura{font-size:21px;color:#ef6c78;margin-bottom:4px}
.rje-gateway__intro h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,3vw,38px);line-height:1.15;color:var(--rje-ink)}
.rje-gateway__intro h2 span{color:#b1181d}
.rje-gateway__intro h2:after{content:"";display:block;width:62px;height:3px;margin:12px auto 13px;border-radius:99px;background:linear-gradient(90deg,var(--rje-red),#e71c25)}
.rje-gateway__lead{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:19px;margin:0 0 5px}
.rje-gateway__hint{margin:0;color:#485365;font-size:15px}
.rje-gateway__choices{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.rje-gateway__destination{padding:24px 26px 26px;text-align:center;min-height:500px;display:flex;flex-direction:column;align-items:center}
.rje-gateway__destination--general:hover,.rje-gateway__destination--general:focus-within{transform:translateY(-6px);border-color:rgba(190,22,28,.42);box-shadow:0 20px 52px rgba(145,17,23,.20),0 0 24px rgba(199,24,31,.10)}
.rje-gateway__destination--nihongo:hover,.rje-gateway__destination--nihongo:focus-within{transform:translateY(-6px);border-color:rgba(10,76,165,.42);box-shadow:0 20px 52px rgba(6,45,114,.21),0 0 24px rgba(10,76,165,.12)}
.rje-gateway__brandmark{height:92px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.rje-gateway__brandmark img{max-height:86px;max-width:210px;width:auto;height:auto;object-fit:contain}
.rje-gateway__brandmark--general img{max-height:92px;max-width:230px}
.rje-gateway__brandmark--nihongo img{max-height:108px;max-width:240px}
.rje-gateway__brandmark--general span{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;font:800 27px/1 Georgia,serif;color:#12315a;background:radial-gradient(circle at 52% 50%,#fff 52%,transparent 53%),conic-gradient(from 10deg,#d7141a,#9d0c11,#d7141a);box-shadow:0 6px 18px rgba(0,0,0,.1)}
.rje-gateway__destination h3{margin:3px 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(24px,2vw,31px);line-height:1.15;color:var(--rje-ink)}
.rje-gateway__destination--nihongo h3{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:800}
.rje-gateway__destination--nihongo h3::first-letter{color:inherit}
.rje-gateway__subtitle{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:18px;margin:0 0 19px;display:flex;align-items:center;gap:12px;width:100%;justify-content:center}
.rje-gateway__subtitle:before,.rje-gateway__subtitle:after{content:"";width:45px;height:1px;background:currentColor;opacity:.45}
.rje-gateway__destination--general .rje-gateway__subtitle{color:var(--rje-red)}
.rje-gateway__destination--nihongo .rje-gateway__subtitle{color:var(--rje-navy)}
.rje-gateway__feature-row{display:flex;gap:11px;justify-content:center;align-items:flex-start;flex-wrap:wrap;margin:2px 0 20px;width:100%}
.rje-gateway__feature-row span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:57px;font-size:28px;font-weight:700;line-height:1}
.rje-gateway__feature-row small{font-size:11px;font-weight:600;margin-top:8px;white-space:nowrap}
.rje-gateway__destination--general .rje-gateway__feature-row span{color:#9e0c11}
.rje-gateway__destination--nihongo .rje-gateway__feature-row span{color:#063f92}
.rje-gateway__bn{font-family:"Noto Sans Bengali","Hind Siliguri",system-ui,sans-serif;font-size:15px;line-height:1.65;color:#202a36;margin:0 auto 22px;max-width:430px}
.rje-gateway__button{margin-top:auto;width:min(330px,100%);display:flex;align-items:center;justify-content:center;gap:16px;padding:15px 19px;border-radius:10px;color:#fff!important;text-decoration:none!important;font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:18px;box-shadow:0 8px 18px rgba(0,0,0,.18);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.rje-gateway__button span{font-size:30px;line-height:.7;transition:transform .25s ease}
.rje-gateway__button:hover{transform:translateY(-2px);filter:brightness(1.07)}
.rje-gateway__button:hover span{transform:translateX(4px)}
.rje-gateway__button--general{background:linear-gradient(135deg,#991015,#cf151b);box-shadow:0 8px 22px rgba(166,15,21,.28)}
.rje-gateway__button--nihongo{background:linear-gradient(135deg,#062d72,#0a4ca5);box-shadow:0 8px 22px rgba(6,45,114,.30)}
.rje-gateway__footer{display:flex;justify-content:center;align-items:center;gap:26px;flex-wrap:wrap;padding:18px 10px 0;color:#263544;font-size:14px}
.rje-gateway__remember{display:flex;align-items:center;gap:8px;cursor:pointer}
.rje-gateway__remember input{width:20px;height:20px;accent-color:#173f78}
.rje-gateway__switch{opacity:.88}
@media (max-width:820px){
  .rje-gateway__shell{width:min(620px,calc(100% - 20px));padding:64px 0 20px;justify-content:flex-start}
  .rje-gateway__choices{grid-template-columns:1fr;gap:14px}
  .rje-gateway__intro{padding:21px 18px;margin-bottom:14px}
  .rje-gateway__destination{min-height:0;padding:21px 18px 22px}
  .rje-gateway__brandmark{height:74px}.rje-gateway__brandmark img{max-height:70px}
  .rje-gateway__brandmark--general img{max-height:72px;max-width:190px}.rje-gateway__brandmark--nihongo img{max-height:88px;max-width:200px}
  .rje-gateway__feature-row{gap:8px}.rje-gateway__feature-row span{min-width:48px;font-size:24px}.rje-gateway__feature-row small{font-size:10px}
  .rje-gateway__bn{font-size:14px;margin-bottom:18px}
  .rje-gateway__footer{gap:12px;padding-top:14px}
}
@media (max-width:460px){
  .rje-gateway__shell{width:calc(100% - 14px);padding-top:54px}
    .rje-gateway__intro h2{font-size:24px}.rje-gateway__lead{font-size:16px}.rje-gateway__hint{font-size:13px}
  .rje-gateway__destination h3{font-size:23px}.rje-gateway__subtitle{font-size:16px;margin-bottom:14px}
  .rje-gateway__feature-row{max-width:330px}.rje-gateway__button{font-size:17px;padding:14px 16px}
  .rje-gateway__footer{font-size:12px;flex-direction:column;gap:8px}
}
@media (prefers-reduced-motion:reduce){.rje-gateway__card,.rje-gateway__card:before,.rje-gateway__button,.rje-gateway__button span,}

/* Desktop-only spacing refinement: keep logo artwork clear of card titles. */
@media (min-width:821px){
  .rje-gateway__brandmark--general,
  .rje-gateway__brandmark--nihongo{
    height:118px;
    margin-bottom:10px;
  }
  .rje-gateway__destination h3{
    margin-top:6px;
  }
}


/* v1.0.4: hard-disable any legacy close/X control from cached or older gateway markup. */
#rje-entrance-gateway .rje-gateway__close,
#rje-entrance-gateway [data-rje-close],
#rje-entrance-gateway button[aria-label*="Close"],
#rje-entrance-gateway button[aria-label*="close"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
