/* ══════════════════════════════════════════════════════════════════════
   21+ AND RESEARCH-USE GATE
   ══════════════════════════════════════════════════════════════════════
   This lives outside main.css on purpose. The homepage plugin renders its
   own complete <head> and deregisters the ea-main stylesheet on the front
   page, but the gate markup is printed by the theme on EVERY page. With the
   rules in main.css the gate was in the homepage DOM completely unstyled —
   no overlay, no fixed positioning — and so invisible.

   Design tokens are redeclared locally so the gate never depends on
   main.css having loaded.
   ══════════════════════════════════════════════════════════════════════ */

.ea-agegate,
.ea-agegate *{box-sizing:border-box}
.ea-agegate{
  --bg:#070B10;--bg2:#0A131A;--bg3:#0D171F;--panel:#101A23;
  --ink:#EDF3F4;--ink2:#C3D0D4;--muted:#8A9BA1;--muted2:#5E7078;
  --line:rgba(237,243,244,.09);--line2:rgba(18,178,166,.22);--line3:rgba(237,243,244,.16);
  --teal:#12B2A6;--teal-l:#3ED0C4;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --disp:'Sora','Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --r:14px;--rs:10px;--rx:8px;--rp:999px;
}

/* ── 21+ AND RESEARCH-USE GATE ── */
.ea-agegate{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;font-family:var(--sans);opacity:1;transition:opacity .32s}
.ea-agegate.done{opacity:0;pointer-events:none}
.ea-agegate-bg{position:absolute;inset:0;background:rgba(3,6,9,.94);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1)}
.ea-agegate-card{position:relative;z-index:1;max-width:480px;width:100%;background:linear-gradient(160deg,#0E1D26,#080E14);border:1px solid var(--line2);border-radius:16px;padding:44px 40px 34px;text-align:center;box-shadow:0 40px 100px rgba(0,0,0,.7),0 0 0 1px rgba(18,178,166,.1)}
.ea-agegate-card::before,.ea-agegate-card::after{content:'';position:absolute;width:22px;height:22px;border:1px solid var(--teal);opacity:.65;pointer-events:none}
.ea-agegate-card::before{top:16px;left:16px;border-right:0;border-bottom:0}
.ea-agegate-card::after{bottom:16px;right:16px;border-left:0;border-top:0}
.ea-agegate-logo{margin-bottom:24px}
.ea-agegate-eyebrow{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:14px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:var(--rp);padding:6px 14px;background:rgba(18,178,166,.06)}
.ea-agegate-eyebrow::before{content:'';width:5px;height:5px;background:currentColor;transform:rotate(45deg)}
.ea-agegate-h{font-family:var(--disp);font-size:32px;font-weight:200;letter-spacing:-.03em;color:var(--ink);margin:0 0 14px;line-height:1.1}
.ea-agegate-p{font-size:14px;color:var(--muted);line-height:1.7;font-weight:300;margin:0 auto 24px;max-width:400px}
.ea-agegate-check{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:16px 18px;border:1px solid var(--line);border-radius:var(--rx);background:rgba(237,243,244,.02);cursor:pointer;transition:border-color .25s,background .25s;margin-bottom:10px}
.ea-agegate-check:last-of-type{margin-bottom:22px}
.ea-agegate-check:hover{border-color:var(--line2)}
.ea-agegate-check input{position:absolute;opacity:0;width:0;height:0}
.ea-agegate-box{width:22px;height:22px;border:1.5px solid var(--line3);border-radius:5px;display:flex;align-items:center;justify-content:center;color:transparent;flex-shrink:0;transition:all .2s;margin-top:1px}
.ea-agegate-check input:checked ~ .ea-agegate-box{background:var(--teal);border-color:var(--teal);color:#04171B}
.ea-agegate-check-t{font-size:13.5px;color:var(--ink2);line-height:1.55;font-weight:400}
.ea-agegate-check-t b{color:var(--ink);font-weight:600}
.ea-agegate-btn{width:100%;padding:16px 26px;border:1px solid var(--teal);border-radius:var(--rp);background:var(--teal);color:#04171B;font-family:var(--sans);font-size:13.5px;font-weight:600;letter-spacing:.06em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:background .25s,box-shadow .3s,transform .3s cubic-bezier(.16,1,.3,1),opacity .25s}
.ea-agegate-btn:hover:not(:disabled){background:var(--teal-l);border-color:var(--teal-l);transform:translateY(-2px);box-shadow:0 14px 34px rgba(18,178,166,.30)}
.ea-agegate-btn:disabled{background:rgba(237,243,244,.06);color:var(--muted2);border-color:var(--line3);cursor:not-allowed;opacity:.55}
.ea-agegate-btn .arw{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.ea-agegate-btn:hover:not(:disabled) .arw{transform:translateX(4px)}
.ea-agegate-foot{margin-top:18px;font-size:11.5px;line-height:1.6;font-weight:300;color:var(--muted2)}
.ea-agegate-foot a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line3);transition:color .2s,border-color .2s}
.ea-agegate-foot a:hover{color:var(--teal-l);border-color:var(--teal-l)}

@media(max-width:520px){
  .ea-agegate-card{padding:34px 26px 26px}
  .ea-agegate-h{font-size:26px}
  .ea-agegate-p{font-size:13px}
  .ea-agegate-check{padding:13px 14px}
  .ea-agegate-check-t{font-size:12.5px}
}
