/* SJA Learning — the site frame for tool pages (1 Nov 2026): the header, Menu ▾, buttons and the Student-login chooser rules,
   extracted from theme.css by build_bankers_desk.py (rebuild after any theme.css change). Tool pages must not load theme.css itself. */
@font-face{font-family:"SJA Bold";src:url("/fonts/DejaVuSans-Bold.woff2") format("woff2");font-weight:600 900;font-style:normal;font-display:swap}
:root{
  --ink:#0B1F35; --text:#2c3a4b; --mut:#5f6f82; --mut2:#8a97a8;
  --blue:#5540c7; --blue-d:#43309f; --blue-soft:#f0eaff; --blue-line:#d5c8f1;
  --line:#e6eaf0; --line2:#eef1f5; --bg:#fff; --bg2:#faf9ff; --bg3:#f4f2fb;
  --green:#1E8449; --green-soft:#e9f7ee; --amber:#895708; --amber-soft:#fff1d9; --red:#c0392b; --red-soft:#fdecea;
  
  --violet:#6540b6; --violet-soft:#eee8ff; --violet-line:#d5c8f1;
  --teal:#116e5b; --teal-soft:#dff4ef; --teal-line:#b8ded4;
  --amber-line:#efd1a7;
  --rose:#a23555; --rose-soft:#ffe7eb; --rose-line:#f3c3cf;
  --deep:#223b83; --deep2:#6541a2; --deep-grad:linear-gradient(135deg,#223b83,#6541a2);
  --grad:linear-gradient(110deg,#344bcd,#7140c4); --grad-d:linear-gradient(110deg,#2c40b6,#5f34ad);
  --r:16px; --r-lg:22px; --nav-h:66px;
  --shadow:0 1px 2px rgba(11,31,53,.04),0 8px 24px -12px rgba(11,31,53,.12);
  --shadow-lg:0 20px 60px -20px rgba(11,31,53,.22),0 1px 3px rgba(11,31,53,.06);
  --ease:cubic-bezier(.2,.7,.2,1);
}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.wrap-narrow{max-width:780px;margin:0 auto;padding:0 20px}
.kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 24px;font-weight:800;font-size:15.5px;line-height:1;border:1.5px solid transparent;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s;white-space:nowrap;font-family:inherit;text-decoration:none}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 26px -12px rgba(85,64,199,.7)}
.btn-primary:hover{background:var(--blue-d);color:#fff;transform:translateY(-1px);box-shadow:0 14px 30px -12px rgba(85,64,199,.75)}
.btn-secondary{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-secondary:hover{border-color:#c7d0dc;background:var(--bg2);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--blue);padding:10px 4px}
.btn-ghost:hover{text-decoration:underline;text-underline-offset:4px}
.btn-lg{padding:17px 30px;font-size:17px}
.btn-sm{padding:10px 16px;font-size:14px}
.btn[disabled]{opacity:.55;cursor:default;transform:none}
.btn .arr{transition:transform .18s var(--ease)}
.btn:hover .arr{transform:translateX(3px)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.site-nav{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line2)}
.site-nav .wrap{display:flex;align-items:center;gap:22px;height:var(--nav-h)}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;font-size:15.5px;letter-spacing:-.01em;line-height:1.1;white-space:nowrap}
.logo img{width:34px;height:34px;border-radius:9px}
.logo small{display:block;font-size:11px;font-weight:600;color:var(--mut2);letter-spacing:0}
.nav-links{display:flex;gap:6px;margin-left:auto}
.nav-links a{color:var(--text);font-weight:700;font-size:14px;padding:8px 9px;border-radius:9px;white-space:nowrap}
.nav-links a:hover,.nav-links a[aria-current="page"]{background:var(--bg3);color:var(--ink)}
.nav-cta{display:flex;align-items:center;gap:8px}
.nav-cta .btn{padding:11px 18px;font-size:14px}
#burger{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;align-items:center;justify-content:center}
#burger svg{width:20px;height:20px}
#mobMenu{display:none;border-top:1px solid var(--line2);background:#fff;padding:10px 20px 16px;box-shadow:0 20px 40px -20px rgba(11,31,53,.25)}
#mobMenu a{display:block;padding:12px 6px;font-weight:700;color:var(--ink);border-bottom:1px solid var(--line2)}
#mobMenu a:last-child{border:0}
#mobMenu.open{display:block}
@media(max-width:1180px){.nav-links{gap:0}.nav-links a{padding:8px 7px;font-size:13.5px}}
@media(max-width:1040px){.nav-cta .login{display:none}.nav-links a{padding:8px 8px;font-size:13.5px}}
@media(max-width:900px){.nav-links{display:none}#burger{display:inline-flex}.nav-cta .login{display:none}.nav-cta{margin-left:auto}}
@media(max-width:480px){.logo small{display:none}.logo{font-size:14.5px}.nav-cta .btn{padding:10px 14px;font-size:13.5px}}
@media(max-width:360px){.site-nav .wrap{gap:8px;padding:0 12px}.nav-cta{gap:4px}.nav-cta .btn{padding:9px 10px;font-size:12.5px}#burger{width:36px}}
.nav-links{display:none!important}
#burger{display:inline-flex;width:auto;height:42px;gap:8px;padding:0 14px 0 16px;border-radius:999px;font-family:inherit;font-size:14px;font-weight:800;color:var(--ink);line-height:1;transition:background .18s,border-color .18s}
#burger:hover{background:var(--bg3);border-color:#c7d0dc}
#burger svg{display:none}
#burger::before{content:"Menu"}
#burger[aria-expanded="true"]::before{content:"Close"}
#burger::after{content:"";width:7px;height:7px;margin-top:-4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s var(--ease)}
#burger[aria-expanded="true"]::after{margin-top:3px;transform:rotate(-135deg)}
.nav-cta{margin-left:auto}
#mobMenu a[aria-current="page"]{color:var(--blue)}
@media(min-width:901px){.nav-cta .login{display:inline-flex}#mobMenu{position:absolute;top:100%;right:max(20px,calc(50% - 540px));width:280px;margin-top:6px;border:1px solid var(--line);border-radius:16px;padding:8px 12px 10px;box-shadow:var(--shadow-lg)}#mobMenu a{padding:11px 8px;border-radius:9px;border-bottom:1px solid var(--line2)}#mobMenu a:hover{background:var(--bg3)}}
@media(max-width:360px){#burger{width:auto;padding:0 10px 0 12px;font-size:13px}}
.ov{position:fixed;inset:0;background:rgba(11,31,53,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:120;display:flex;align-items:center;justify-content:center;padding:18px}
.ov[hidden]{display:none}
.modal{background:#fff;border-radius:18px;width:min(720px,100%);max-height:88vh;overflow:auto;padding:28px 28px 24px;position:relative;box-shadow:var(--shadow-lg);color:var(--text)}
.modal .x{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;background:var(--bg3);border-radius:50%;font-size:22px;cursor:pointer;color:var(--ink);line-height:1}
.modal h3{font-size:24px;margin-right:44px}
.modal .kicker{margin-bottom:8px}
.modal label{display:block;font-size:12.5px;color:var(--mut);font-weight:800;margin:14px 0 6px;letter-spacing:.02em}
.modal input,.modal select{width:100%;padding:12px 14px;border-radius:11px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-family:inherit;font-size:15px}
.modal input:focus,.modal select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(85,64,199,.18)}
.modal .err{color:var(--red);font-size:13px;min-height:18px;margin-top:8px;font-weight:600}
.modal .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.modal .row .btn{flex:1}
@media(max-width:520px){.modal{padding:22px 18px 18px}.modal h3{font-size:21px}.modal .row .btn{flex-basis:100%}}
:root{--acc:#5540c7;--acc-d:#43309f;--acc-soft:#f0eaff;--acc-line:#d5c8f1}
.btn-primary{background:var(--grad);border-color:#5c44c6;box-shadow:0 10px 26px -14px rgba(85,64,199,.8)}
.btn-primary:hover{background:var(--grad-d);border-color:#4c35b3;box-shadow:0 14px 30px -12px rgba(85,64,199,.6)}
.btn-secondary:hover{border-color:var(--acc-line);background:var(--acc-soft)}
.kicker{color:var(--acc-d)}
/* base rules the header needs (theme.css sets them globally) */
.site-nav a,.site-nav a:hover,#mobMenu a{text-decoration:none}
