/* hellojames.io shared top bar, menu, sign-in box, folded sections and the
   minimum text sizes. Loaded by every page, after the page's own styles. */
.sn,.sn *,.sn-sub,.sn-sub *,.sn-panel,.sn-panel *,.sbox,.sbox *{box-sizing:border-box}
header.sn{position:sticky;top:0;z-index:80;background:rgba(6,8,15,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);font-family:'Sora',ui-sans-serif,-apple-system,"Segoe UI",system-ui,sans-serif;color:#e8eaf2;margin:0;padding:0;width:100%}
.sn-in{max-width:1440px;margin:0 auto;padding:0 22px;height:72px;display:flex;align-items:center;gap:22px}
.sn-brand{display:inline-flex;align-items:center;line-height:0;text-decoration:none;flex:none}
.sn-brand img{height:30px;width:auto;display:block}
.sn nav::after,.sn-panel nav::after,.sn nav a::after,.sn-panel nav a::after{display:none!important;content:none!important}
.sn-panel nav{display:block!important;margin:0 auto!important}
.sn-links{display:flex;align-items:center;gap:24px;margin-left:auto}
.sn-links a{color:#d5daea;text-decoration:none;font-size:17px;line-height:1.2;padding:10px 0;white-space:nowrap}
.sn-links a:hover,.sn-links a[aria-current]{color:#fff;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.sn-try{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border-radius:10px;background:linear-gradient(90deg,#7476ff,#89c7fe);color:#080a12!important;font-weight:600;font-size:17px;text-decoration:none;white-space:nowrap}
.sn-try:hover{filter:brightness(1.08)}
.sn-signin{flex:none;display:inline-flex;align-items:center;min-height:46px;padding:10px 16px;border:1.5px solid rgba(255,255,255,.35);border-radius:10px;color:#fff!important;text-decoration:none;font-size:17px;font-weight:500;white-space:nowrap}
.sn-signin:hover{border-color:#fff}
.sn-menu-btn{display:none;flex:none;align-items:center;gap:8px;min-height:46px;min-width:46px;padding:10px 14px;border-radius:10px;border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:17px;font-weight:600;cursor:pointer}
.sn-menu-btn svg{width:22px;height:22px;flex:none}
/* language switch: globe + a word, never only "English ▾" */
.sn .lang,.sn-sub .lang{position:relative;flex:none;margin:0}
.sn .lang-btn,.sn-sub .lang-btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:9px 14px;border-radius:10px;border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.04);color:#fff;font:inherit;font-size:16px;cursor:pointer;white-space:nowrap}
.sn .lang-btn svg,.sn-sub .lang-btn svg{width:20px;height:20px;flex:none}
.sn-lab{font-weight:600}.sn-lab2{font-weight:400;color:#c9cfe0}.sn-now{color:#c9cfe0}
.sn .sn-lab2{display:none}
.sn .lang-menu,.sn-sub .lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;max-height:min(70vh,560px);overflow:auto;background:#0d1019;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:6px;box-shadow:0 24px 60px rgba(0,0,0,.6);z-index:120;display:none;opacity:1;visibility:visible;transform:none}
.sn-sub .lang-menu{right:auto;left:0}
.lang.on .lang-menu,.lang.open .lang-menu{display:block;opacity:1;visibility:visible;transform:none}
.sn .lang-menu button,.sn-sub .lang-menu button{display:block;width:100%;text-align:start;background:none;border:0;color:#e8eaf2;padding:12px 14px;border-radius:9px;font:inherit;font-size:17px;cursor:pointer;min-height:44px}
.sn .lang-menu button:hover,.sn-sub .lang-menu button:hover,.lang-menu button[aria-current]{background:rgba(255,255,255,.09)}
[dir=rtl] .sn .lang-menu{right:auto;left:0}[dir=rtl] .sn-sub .lang-menu{left:auto;right:0}
[dir=rtl] .sn-links{margin-left:0;margin-right:auto}
/* second row on a phone: language + Try free; scrolls away */
.sn-sub{display:none;background:#0a0d16;border-bottom:1px solid rgba(255,255,255,.08);font-family:'Sora',ui-sans-serif,-apple-system,"Segoe UI",system-ui,sans-serif;color:#e8eaf2;position:relative;z-index:79}
.sn-sub-in{max-width:1240px;margin:0 auto;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap}
.sn-sub .sn-now{display:none}
.sn-sub-in{justify-content:flex-start}
.sn-sub .lang{flex:0 1 auto;min-width:0;margin-inline-end:auto!important}
.sn-sub .lang-btn{display:flex;min-width:0;max-width:100%;overflow:hidden}
.sn-sub .lang-btn > *{flex:none}
.sn-sub .lang-btn .sn-lab2{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sn-sub .sn-try{flex:none;margin-inline-start:10px}
@media(max-width:1199px){
  .sn-links{display:none}
  .sn-menu-btn{display:inline-flex}
  .sn-in{height:64px;padding:0 14px;gap:10px}
  .sn-signin{margin-left:auto}
  [dir=rtl] .sn-signin{margin-left:0;margin-right:auto}
  .sn-sub{display:block}
  .sn-brand img{height:26px}
}
@media(max-width:380px){.sn-signin,.sn-menu-btn{padding:10px 11px}.sn-in{gap:8px}.sn-brand img{height:22px}.sn-sub .sn-lab2{display:none}}
/* the full-screen menu */
.sn-panel{position:fixed;inset:0;z-index:200;background:#06080f;overflow:auto;font-family:'Sora',ui-sans-serif,-apple-system,"Segoe UI",system-ui,sans-serif;color:#fff}
.sn-panel[hidden]{display:none!important}
html.sn-open,html.sn-open body{overflow:hidden}
.sn-panel-top{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.1)}
.sn-panel-top .sn-x{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 16px;border-radius:10px;border:1.5px solid rgba(255,255,255,.4);background:none;color:#fff;font:inherit;font-size:18px;font-weight:600;cursor:pointer}
.sn-panel nav{padding:10px 18px 40px;max-width:640px;margin:0 auto}
.sn-panel nav a{display:flex;align-items:center;min-height:62px;padding:12px 6px;font-size:23px;line-height:1.3;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1)}
.sn-panel nav a:hover{color:#89c7fe}
.sn-panel nav a.sn-p-try{justify-content:center;margin:14px 0 8px;border:0;border-radius:12px;background:linear-gradient(90deg,#7476ff,#89c7fe);color:#080a12;font-weight:600}
.sn-panel nav a.sn-p-acc{font-weight:600}
/* small notices */
.sn-note{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:14px 18px;background:#123222;color:#e9fff1;font-size:18px;border-bottom:1px solid rgba(255,255,255,.12);font-family:'Sora',ui-sans-serif,system-ui,sans-serif}
.sn-note button{min-height:44px;padding:8px 18px;border-radius:9px;border:1.5px solid rgba(255,255,255,.5);background:none;color:inherit;font:inherit;cursor:pointer}
.sn-help{font-size:17px;line-height:1.6;color:#d5daea;margin:18px 0 0}
.sn-help a{color:#a9d6ff;text-decoration:underline;text-underline-offset:3px;word-break:break-word}
/* sign-in box */
.sbox{max-width:460px;font-size:18px;line-height:1.6;color:#e8eaf2}
.sbox .sb-why{font-size:19px;font-weight:600;margin:0 0 18px;color:#fff}
.sbox label{display:block;font-size:17px;font-weight:600;margin:0 0 8px}
.sbox input{width:100%;min-height:54px;padding:14px 15px;font:inherit;font-size:18px;color:#fff;border:1.5px solid rgba(255,255,255,.35);border-radius:12px;background:#0d1019}
.sbox input:focus{outline:3px solid #89c7fe;outline-offset:1px;border-color:#89c7fe}
.sbox button{font:inherit;font-size:18px;font-weight:600;min-height:52px;border-radius:12px;cursor:pointer;padding:12px 18px}
.sbox .sb-go{width:100%;margin-top:14px;border:0;color:#080a12;background:linear-gradient(90deg,#7476ff,#89c7fe)}
.sbox button:disabled{opacity:.6;cursor:default}
.sbox .sb-forgot{margin:14px 0 0;font-size:17px;color:#e8eaf2}
.sbox .sb-note{margin:18px 0 0;font-size:17px;color:#d5daea}
.sbox .sb-msg{margin:0 0 18px;padding:16px 18px;border-radius:12px;background:#121a2b;border:1px solid rgba(137,199,254,.35);font-size:17px}
.sbox .sb-msg.bad{background:#2a1416;border-color:#e58a8a;color:#ffe9e9}
.sbox .sb-msg b{display:block;font-size:19px;margin-bottom:4px;color:#fff}
.sbox .sb-to{margin:10px 0 0}.sbox .sb-to b{display:inline;font-size:17px;word-break:break-all}
.sbox .sb-didnt{margin-top:6px;padding:18px;border-radius:12px;border:1.5px dashed rgba(255,255,255,.3)}
.sbox .sb-didnt h2{font-size:21px;margin:0 0 8px;color:#fff;letter-spacing:0}
.sbox .sb-didnt ul{margin:0 0 14px;padding-left:22px}.sbox .sb-didnt li{margin:0 0 6px;font-size:17px}
[dir=rtl] .sbox .sb-didnt ul{padding-left:0;padding-right:22px}
.sbox .sb-row{display:flex;gap:10px;flex-wrap:wrap}
.sbox .sb-again{border:0;color:#080a12;background:#e8eaf2;flex:1 1 180px}
.sbox .sb-other{border:1.5px solid rgba(255,255,255,.45);background:none;color:#fff;flex:1 1 180px}
.sbox .sb-info{margin:10px 0 0;font-size:17px;color:#bff0cf}
/* folded sections (phone only) */
.fold-btn{display:none}
@media(max-width:700px){
  [data-fold].folded:not(.open){max-height:420px;overflow:hidden;position:relative;padding-bottom:0!important}
  [data-fold].folded:not(.open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:150px;background:linear-gradient(rgba(6,8,15,0),#06080f 78%);pointer-events:none}
  [data-fold] .fold-btn{display:flex;align-items:center;justify-content:center;gap:4px;position:absolute;left:18px;right:18px;bottom:18px;z-index:3;min-height:52px;border-radius:12px;border:1.5px solid rgba(255,255,255,.45);background:#11141f;color:#fff;font:inherit;font-size:18px;font-weight:600;cursor:pointer}
  [data-fold].open{padding-bottom:96px!important;position:relative}
}
/* sticky top bar: "hidden" on html/body would make it scroll away; "clip" cuts the same overflow without that */
html,body{overflow-x:clip!important}
/* page styles written for a page's own form must not reach the top bar */
.sn button,.sn-sub button,.sn-panel button{width:auto;margin:0;transform:none;box-shadow:none;letter-spacing:normal;text-transform:none}
.sn .lang-menu button,.sn-sub .lang-menu button{width:100%}
.sn a,.sn-sub a,.sn-panel a{text-shadow:none}
.sn-panel nav a.sn-p-try{background:linear-gradient(90deg,#7476ff,#89c7fe)!important;color:#080a12!important}
.sbox .sb-to b{word-break:normal;overflow-wrap:anywhere}
/* computer: nothing in the bar or the sign-in box under 18px */
@media(min-width:701px){.sn-links a,.sn-try,.sn-signin,.sn .lang-btn,.sn-menu-btn{font-size:18px}
  .sbox label,.sbox .sb-forgot,.sbox .sb-note,.sbox .sb-msg,.sbox .sb-didnt li,.sbox .sb-info,.sbox .sb-to b,.sn-help{font-size:18px}}
.sn .lang-btn,.sn-sub .lang-btn{font-size:17px}
@media(min-width:701px){.sn .lang-btn{font-size:18px}}
/* pages that centre their body (place-items:center) must not shrink the bars */
header.sn,.sn-sub,.sn-note{justify-self:stretch;width:100%;align-self:start}
.sn-panel nav .sn-p-lang{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;margin:0;padding:12px 6px;font:inherit;font-size:23px;color:#fff;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.1);cursor:pointer;text-align:start}
.sn-panel nav .sn-p-lang svg{width:24px;height:24px;flex:none}
/* the same compact bar on a wide screen when the words do not fit (set by site.js) */
html.sn-narrow .sn-links{display:none}
html.sn-narrow .sn-menu-btn{display:inline-flex}
html.sn-narrow .sn-signin{margin-left:auto}
html.sn-narrow[dir=rtl] .sn-signin{margin-left:0;margin-right:auto}
html.sn-narrow .sn-sub{display:block}
html.sn-tight .sn .sn-now{display:none}
html.sn-tight .sn-in{gap:14px}
html.sn-tight .sn-links{gap:16px}
html.sn-tight .sn-try,html.sn-tight .sn-signin{padding-left:14px;padding-right:14px}
