/* StegHub Secure Authentication: self-contained page, independent of Elementor. */
.sga{--sga-navy:#101f3e;--sga-ink:#14274f;--sga-blue:#2369e9;--sga-mint:#6cdab4;--sga-muted:#657894;--sga-line:#dbe5f5;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--sga-ink);width:100%;max-width:none;overflow:clip;background:#f4f7fc;font-size:16px;line-height:1.55}
.sga,.sga *,.sga *::before,.sga *::after{box-sizing:border-box}
.sga a{color:#1b60df;text-decoration:none}.sga a:hover{text-decoration:underline}.sga button,.sga input{font-family:inherit}
.sga .sga-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);width:100%;min-height:calc(100vh - 150px);margin:0 auto;max-width:1920px}
.sga .sga-story{position:relative;background:radial-gradient(65% 45% at 108% 100%,rgba(54,114,181,.20),transparent 90%),linear-gradient(145deg,#142a54 0%,#0e1d3c 55%,#0c1933 100%);color:#fff;padding:clamp(46px,6vw,108px) clamp(28px,5vw,90px);display:flex;min-width:0;isolation:isolate}
.sga .sga-story::before{content:"";position:absolute;width:min(70vw,720px);height:min(70vw,720px);border:1px solid rgba(151,182,225,.09);border-radius:50%;bottom:-48%;right:-22%;pointer-events:none}
.sga .sga-story::after{content:"";position:absolute;width:min(60vw,580px);height:min(60vw,580px);border:1px solid rgba(151,182,225,.08);border-radius:50%;bottom:-52%;right:-10%;pointer-events:none}
.sga .sga-story-inner{position:relative;z-index:1;width:100%;max-width:680px;display:flex;flex-direction:column;justify-content:center;min-height:560px;margin:auto}
.sga .sga-kicker{width:max-content;max-width:100%;border:1px solid rgba(199,224,255,.24);background:rgba(255,255,255,.045);color:#dce9ff;border-radius:999px;padding:12px 18px;text-transform:uppercase;font-size:12px;letter-spacing:.13em;font-weight:760;margin-bottom:35px}
.sga .sga-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#47d8ad;margin-right:12px;vertical-align:middle}
.sga .sga-story-copy h1{font-size:clamp(40px,4.1vw,70px);line-height:1.1;letter-spacing:-.055em;font-weight:830;margin:0 0 25px;color:#fff;max-width:680px}
.sga .sga-story-copy h1 em{font-style:normal;color:var(--sga-mint)}
.sga .sga-story-copy p{font-size:clamp(16px,1.1vw,19px);color:#bfcee7;line-height:1.75;margin:0;max-width:625px}
.sga .sga-highlights{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.sga .sga-highlights span{border:1px solid rgba(186,208,241,.22);background:rgba(255,255,255,.045);border-radius:13px;padding:10px 14px;color:#e6efff;font-size:13px;font-weight:660}
.sga .sga-highlights b{color:#70e2b8;margin-right:8px}
.sga .sga-story-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:80px;font-size:12px;color:#9db2d2;letter-spacing:.03em}
.sga .sga-workspace{min-width:0;background:linear-gradient(135deg,#f8faff,#edf3fc);padding:clamp(46px,6vw,100px) clamp(24px,4vw,76px);display:flex;align-items:center;justify-content:center}
.sga .sga-workspace-inner{width:100%;max-width:535px;margin:auto;min-width:0}
.sga .sga-eyebrow{color:#1d67e6;letter-spacing:.14em;text-transform:uppercase;font-weight:760;font-size:12px;display:flex;gap:12px;align-items:center;margin-bottom:18px}
.sga .sga-eyebrow::before{content:"";width:24px;height:2px;background:#26c591;flex:0 0 auto}
.sga .sga-heading h2{font-size:clamp(32px,3vw,47px);line-height:1.16;letter-spacing:-.055em;color:#142753;font-weight:820;margin:0 0 12px}
.sga .sga-heading h2:focus{outline:none}
.sga .sga-heading p{font-size:15px;color:var(--sga-muted);margin:0 0 28px;line-height:1.6}
.sga .sga-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:5px;border-radius:16px;background:#e7edf8;margin-bottom:24px}
.sga .sga-tab{display:flex;align-items:center;justify-content:center;min-height:44px;text-align:center;font-size:14px;border-radius:12px;color:#57708f!important;font-weight:720}
.sga .sga-tab:hover{color:#1d5ddd!important;text-decoration:none}
.sga[data-sga-view=login] .sga-tab[data-sga-switch=login],.sga[data-sga-view=register] .sga-tab[data-sga-switch=register]{background:#fff;box-shadow:0 5px 13px rgba(29,56,96,.09);color:#155fe4!important}
.sga .sga-card{background:#fff;border:1px solid #dfe7f4;border-radius:23px;padding:28px;box-shadow:0 17px 45px rgba(33,58,104,.06);min-width:0;max-width:100%}
.sga .sga-view,.sga .sga-story-copy,.sga .sga-heading,.sga [data-sga-footer]{display:none!important}
.sga[data-sga-view=login] .sga-view[data-sga-panel=login],.sga[data-sga-view=register] .sga-view[data-sga-panel=register],.sga[data-sga-view=recover] .sga-view[data-sga-panel=recover],.sga[data-sga-view=reset] .sga-view[data-sga-panel=reset]{display:block!important}
.sga[data-sga-view=login] [data-sga-story=login],.sga[data-sga-view=register] [data-sga-story=register],.sga[data-sga-view=recover] [data-sga-story=recover],.sga[data-sga-view=reset] [data-sga-story=reset]{display:block!important}
.sga[data-sga-view=login] [data-sga-heading=login],.sga[data-sga-view=register] [data-sga-heading=register],.sga[data-sga-view=recover] [data-sga-heading=recover],.sga[data-sga-view=reset] [data-sga-heading=reset]{display:block!important}
.sga[data-sga-view=login] [data-sga-footer=login],.sga[data-sga-view=register] [data-sga-footer=register],.sga[data-sga-view=recover] [data-sga-footer=recover],.sga[data-sga-view=reset] [data-sga-footer=reset]{display:inline!important}
.sga[data-sga-view=recover] .sga-tabs,.sga[data-sga-view=reset] .sga-tabs{display:none!important}
.sga .sga-footer-links{text-align:center;margin:24px 0;color:#788aa6;font-size:13px;line-height:1.7}
.sga .sga-footer-links a{margin:0 4px;font-weight:700}
.sga .sga-safety{border-top:1px solid #dfe8f4;margin-top:25px;padding-top:18px;display:flex;gap:12px;color:#697e9b;font-size:13px;align-items:start}
.sga .sga-safety p{margin:0;line-height:1.7}
.sga .sga-shield{font-size:24px;color:#0f9274;line-height:1}
.sga .sga-mini-links{display:flex;gap:14px;justify-content:center;font-size:12px;color:#9bacbf;padding-top:25px}
.sga .sga-mini-links a{color:#6c83a3}
.sga .sga-notice{border:1px solid #ead19c;border-radius:11px;background:#fff8e9;color:#785318;font-size:13px;padding:13px 15px;margin:0 0 18px}
.sga .sga-form{display:flex;flex-direction:column;gap:17px}
.sga .sga-form label{display:block;color:#253756;font-size:13px;line-height:1.45;font-weight:700;margin:0}
.sga .sga-form input:not([type=checkbox]):not([type=radio]){display:block;width:100%;margin-top:7px;border-radius:11px;border:1px solid #d0dded;background:#f9fbff;min-height:46px;color:#1a3057;font-size:15px;padding:11px 13px;outline:none;box-shadow:none}
.sga .sga-form input::placeholder{color:#8796ae;opacity:1}
.sga .sga-form input:focus:not([type=radio]){border-color:#347bed;box-shadow:0 0 0 3px rgba(35,105,233,.1)}
.sga .sga-form .sga-two{display:grid;grid-template-columns:1fr 1fr;gap:13px;min-width:0}
.sga .sga-password{position:relative;display:block}
.sga .sga-password input{padding-right:67px!important}
.sga .sga-eye{position:absolute;right:8px;top:50%;transform:translateY(-43%);border:0;background:transparent;color:#2165d2;font-size:12px;font-weight:700;min-height:34px;cursor:pointer;padding:2px 7px}
.sga .sga-hint{color:#697d9b;font-size:12px;margin:-8px 0 0;line-height:1.65}
.sga .sga-accept{display:flex!important;gap:11px;font-weight:540!important;font-size:13px!important;line-height:1.55!important;align-items:start}
.sga .sga-accept input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:#216de7}
.sga .sga-btn{display:flex;gap:10px;align-items:center;justify-content:center;background:linear-gradient(95deg,#175cdb,#3982f5);color:#fff!important;border:0;border-radius:11px;min-height:49px;padding:11px 15px;text-align:center;font-size:15px;font-weight:740;cursor:pointer;box-shadow:0 8px 18px rgba(35,101,219,.16);text-decoration:none!important;width:100%;margin-top:4px}
.sga .sga-btn:hover{filter:brightness(1.05);color:#fff!important}
.sga .sga-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
/* Uncanny remains the authoritative credential and WP 2FA handler. Only its appearance is customised. */
.sga .sga-uncanny .uo_loginForm,.sga .sga-uncanny .uo-modern-ui,.sga .sga-uncanny #ult-login,.sga .sga-uncanny .ult-box,.sga .sga-uncanny .ult-form__content,.sga .sga-uncanny .ult-form__container{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.sga .sga-uncanny #ult-login{--modern-primary:#2369e9!important;--modern-primary-dark:#1b56bd!important;--modern-surface:#fff!important;--modern-border:#d0dded!important;--modern-text-primary:#14274f!important}
.sga .sga-uncanny .ult-box,.sga .sga-uncanny .ult-form__content{padding:0!important}
.sga .sga-uncanny .ult-form__title,.sga .sga-uncanny .ult-form__description{display:none!important}
.sga .sga-uncanny label{font-size:13px!important;font-weight:700!important;color:#253756!important;line-height:1.5!important}
.sga .sga-uncanny input[type=text],.sga .sga-uncanny input[type=password],.sga .sga-uncanny input[type=email],.sga .sga-uncanny input[type=number]{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;background:#f9fbff!important;border:1px solid #d0dded!important;color:#162b50!important;border-radius:11px!important;padding:12px 14px!important;min-height:47px!important;font-size:15px!important;box-shadow:none!important}
.sga .sga-uncanny input:focus{border-color:#327cf0!important;outline:2px solid rgba(35,105,233,.11)!important}
.sga .sga-uncanny input[type=checkbox]{accent-color:#286eeb}
.sga .sga-uncanny button[type=submit],.sga .sga-uncanny input[type=submit],.sga .sga-uncanny .ult-form__submit-button{display:block!important;width:100%!important;min-height:49px!important;padding:12px 15px!important;border-radius:11px!important;border:0!important;background:linear-gradient(95deg,#175cdb,#3982f5)!important;color:#fff!important;font-size:14px!important;font-weight:780!important;cursor:pointer!important;box-shadow:none!important;text-transform:none!important}
.sga .sga-uncanny .ult-form__footer a,.sga .sga-uncanny a{color:#2468dd}
.sga .sga-uncanny .ult-form__footer,.sga .sga-uncanny .ult-form__links{font-size:13px!important}
.sga .sga-uncanny .ult-form__divider{border-color:#e3eaf5!important}
.sga button:focus-visible,.sga a:focus-visible{outline:3px solid #7bafff;outline-offset:3px}
@media(max-width:1050px){.sga .sga-story{padding:45px 30px}.sga .sga-workspace{padding:45px 27px}.sga .sga-story-copy h1{font-size:clamp(36px,4.6vw,52px)}.sga .sga-highlights span{font-size:12px}}
@media(max-width:780px){.sga .sga-layout{display:block;min-height:0}.sga .sga-story{padding:38px 22px 40px}.sga .sga-story-inner{min-height:0}.sga .sga-kicker{font-size:10px;letter-spacing:.10em;padding:8px 12px;margin-bottom:20px}.sga .sga-story-copy h1{font-size:clamp(33px,8vw,49px);line-height:1.12;margin-bottom:17px}.sga .sga-story-copy p{font-size:14px;line-height:1.6}.sga .sga-highlights{margin-top:24px;gap:7px}.sga .sga-highlights span{padding:7px 9px;font-size:11px}.sga .sga-story-bottom{display:none}.sga .sga-workspace{padding:43px 18px 54px}.sga .sga-workspace-inner{max-width:560px}.sga .sga-heading h2{font-size:35px}.sga .sga-card{border-radius:19px;padding:22px}.sga .sga-eyebrow{font-size:11px}}
@media(max-width:490px){.sga .sga-story{padding:33px 17px 35px}.sga .sga-workspace{padding:34px 13px 43px}.sga .sga-card{padding:18px 15px}.sga .sga-form .sga-two{grid-template-columns:1fr}.sga .sga-kicker{max-width:100%;font-size:9px}.sga .sga-highlights span{font-size:10px}.sga .sga-heading h2{font-size:33px}.sga .sga-tabs .sga-tab{font-size:13px}.sga .sga-safety{font-size:12px}}
@media(prefers-reduced-motion:reduce){.sga *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Full-width isolated authentication template, whether viewing shortcode PREVIEW or LIVE login. */
#sga-main.sga-main{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;float:none!important;clear:both!important;overflow-x:clip}
#sga-main.sga-main .sga{margin:0!important;padding:0!important}
.sga .sga-story{overflow:hidden}
.sga .sga-story-copy h1{overflow-wrap:break-word;word-break:normal;hyphens:none}
.sga .sga-preview-hint{background:#eef4ff;color:#294c81;border:1px solid #d0e1ff;border-radius:11px;padding:12px 14px;margin:0 0 22px;font-size:13px;line-height:1.5}
.sga .sga-btn:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}
@media(min-width:781px){.sga .sga-layout{grid-template-columns:minmax(0,52%) minmax(0,48%)}.sga .sga-story-copy h1{font-size:clamp(39px,4vw,66px)}}

/* REIGN's header already opens #content.site-content; remove theme sizing on native auth only. */
body.sga-native-auth #content.site-content{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;float:none!important;display:block!important;}


/* RC3: accessible, legible login and restrained full-width presentation. */
#sga-main.sga-main{
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(100vw,1280px)!important;
  max-width:none!important;
  margin:0!important;
}
.sga .sga-layout{max-width:1280px;min-height:clamp(670px,calc(100vh - 160px),920px)}
.sga .sga-workspace-inner{max-width:580px}
.sga .sga-heading p{font-size:16px}
.sga .sga-tab{font-size:15px}
.sga .sga-form label,.sga .sga-uncanny label{font-size:14px!important}
.sga .sga-form input:not([type=checkbox]):not([type=radio]),
.sga .sga-uncanny input[type=text],.sga .sga-uncanny input[type=password],
.sga .sga-uncanny input[type=email],.sga .sga-uncanny input[type=number]{font-size:16px!important;min-height:50px!important}
.sga .sga-form input::placeholder,.sga .sga-uncanny input::placeholder{color:#62758f!important;opacity:1!important}
.sga .sga-btn,.sga .sga-uncanny button[type=submit],.sga .sga-uncanny input[type=submit]{font-size:16px!important;min-height:50px!important}
.sga .sga-eye{min-width:44px;min-height:44px;font-size:13px;right:4px}
.sga .sga-uncanny .ult-form-footer__forgot-password{display:none!important}
.sga .sga-uncanny .ult-form__footer:empty{display:none!important}
.sga .sga-footer-links{font-size:14px}
.sga .sga-form input:focus-visible,.sga .sga-uncanny input:focus-visible,
.sga .sga-form a:focus-visible,.sga .sga-tab:focus-visible{outline:3px solid #6b9ef4!important;outline-offset:2px!important}
.sga .sga-hint{font-size:13px}
.sga .sga-accept{font-size:14px!important}
.sga .sga-security-note{font-size:13px;line-height:1.5;margin:4px 0 0;color:#536b8d}
@media(max-width:780px){
  .sga .sga-layout{min-height:0}
  .sga .sga-story{padding:28px 20px 26px}
  .sga .sga-kicker{margin-bottom:14px}
  .sga .sga-story-copy h1{font-size:clamp(29px,7vw,39px);margin-bottom:12px}
  .sga .sga-story-copy p{font-size:14px;line-height:1.5}
  .sga .sga-highlights{display:none!important}
  .sga .sga-workspace{padding:30px 18px 42px}
  .sga .sga-eyebrow{margin-bottom:9px}
  .sga .sga-heading h2{font-size:clamp(29px,6vw,37px);margin-bottom:8px}
  .sga .sga-heading p{font-size:14px;margin-bottom:17px}
  .sga .sga-tabs{margin-bottom:16px}
  .sga .sga-footer-links{margin:18px 0}
  .sga .sga-card{padding:21px}
}
@media(max-width:490px){
  .sga .sga-story{padding:23px 16px 23px}
  .sga .sga-kicker{font-size:10px;padding:8px 11px;margin-bottom:10px}
  .sga .sga-story-copy h1{font-size:clamp(28px,7.6vw,35px);letter-spacing:-.04em;margin-bottom:8px}
  .sga .sga-story-copy p{font-size:13px}
  .sga .sga-workspace{padding:25px 14px 36px}
  .sga .sga-card{padding:19px 17px}
  .sga .sga-heading h2{font-size:32px}
}

/* RC4: social provider options (provider callbacks remain owned by WP Social). */
.sga .sga-social-auth{margin:18px auto 0;max-width:560px;color:#263858}
.sga .sga-social-divider{display:flex;align-items:center;gap:12px;text-align:center;color:#687d9a;font-size:13px;margin:15px 0}
.sga .sga-social-divider:before,.sga .sga-social-divider:after{content:"";height:1px;background:#d7e2f1;flex:1}
.sga .sga-social-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sga .sga-social-item{min-width:0}
.sga .sga-social-disabled{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;width:100%;font-size:14px;font-weight:690;line-height:1.35;color:#56708f;background:#f8fbff;border:1px solid #d4e0ef;border-radius:11px;cursor:not-allowed;opacity:.78;padding:10px 12px}
.sga .sga-social-icon{display:flex;align-items:center;flex-shrink:0;width:19px;height:19px}
.sga .sga-social-icon svg{width:100%;height:100%;display:block}
.sga .sga-social-note{font-size:12px;color:#74859d;text-align:center;line-height:1.5;margin:12px 0 0}
.sga .sga-social-provider,.sga .sga-social-provider a,.sga .sga-social-provider button{width:100%!important;max-width:none!important;min-height:48px!important;border-radius:11px!important}
.sga .sga-social-item a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;text-decoration:none!important}
.sga .sga-social-unavailable{display:flex;align-items:center;justify-content:center;min-height:48px;color:#7d5261}
@media(max-width:490px){.sga .sga-social-buttons{grid-template-columns:1fr}.sga .sga-social-disabled{min-height:48px}}


/* RC5: polished, deliberately lightweight animation layer.
   Motion is decorative only; it never controls form visibility or authentication.
   Animations use opacity / transform, not layout-affecting geometry. */
@keyframes sga-entrance-up {
  0% { opacity: 0; transform: translate3d(0, 16px, 0); }
  100% { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes sga-entrance-soft {
  0% { opacity: 0; transform: translate3d(0, 10px, 0); }
  100% { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes sga-drift-one {
  from { transform: translate3d(-13px, 8px, 0) scale(1); }
  to { transform: translate3d(25px, -22px, 0) scale(1.07); }
}
@keyframes sga-drift-two {
  from { transform: translate3d(18px, -15px, 0) scale(1.04); }
  to { transform: translate3d(-18px, 19px, 0) scale(.98); }
}
@keyframes sga-pulse-dot {
  0%, 100% { box-shadow: 0 0 0 0 rgba(71,216,173,.22); }
  50% { box-shadow: 0 0 0 7px rgba(71,216,173,0); }
}
@keyframes sga-mint-light {
  0%,100% { text-shadow: 0 0 0 rgba(108,218,180,0); }
  50% { text-shadow: 0 0 17px rgba(108,218,180,.13); }
}
@media (prefers-reduced-motion: no-preference) {
  /* Quiet background motion, confined to the branding panel. */
  .sga .sga-story::before { animation: sga-drift-one 20s ease-in-out infinite alternate; }
  .sga .sga-story::after  { animation: sga-drift-two 26s ease-in-out infinite alternate; }
  .sga .sga-dot { animation: sga-pulse-dot 3.5s ease-in-out infinite; }
  .sga .sga-story-copy h1 em { animation: sga-mint-light 9s ease-in-out infinite; }

  /* Calm entrance; switching a view restarts its animation without extra JS. */
  .sga .sga-kicker { animation: sga-entrance-soft .55s ease-out both; }
  .sga .sga-story-copy { animation: sga-entrance-up .6s cubic-bezier(.2,.75,.2,1) both; }
  .sga .sga-highlights { animation: sga-entrance-soft .7s ease-out .12s both; }
  .sga .sga-story-bottom { animation: sga-entrance-soft .65s ease-out .22s both; }
  .sga .sga-eyebrow { animation: sga-entrance-soft .55s ease-out .06s both; }
  .sga .sga-heading { animation: sga-entrance-up .58s cubic-bezier(.2,.75,.2,1) .08s both; }
  .sga .sga-tabs { animation: sga-entrance-soft .58s ease-out .12s both; }
  .sga .sga-view { animation: sga-entrance-up .54s cubic-bezier(.2,.75,.2,1) .1s both; }
  .sga .sga-footer-links { animation: sga-entrance-soft .55s ease-out .2s both; }

  /* Useful interaction feedback: focus, tabs, links and enabled buttons only. */
  .sga .sga-tab { transition: background-color .22s ease, color .22s ease, box-shadow .22s ease; }
  .sga .sga-highlights span { transition: transform .24s ease, border-color .24s ease, background-color .24s ease; }
  .sga .sga-highlights span:hover { transform: translate3d(0,-2px,0); background:rgba(255,255,255,.07); border-color:rgba(186,208,241,.38); }
  .sga .sga-btn:not(:disabled) { transition: transform .22s ease, filter .22s ease, box-shadow .22s ease; }
  .sga .sga-btn:not(:disabled):hover { transform: translate3d(0,-2px,0); box-shadow:0 13px 24px rgba(35,101,219,.2); }
  .sga .sga-btn:not(:disabled):active { transform: translate3d(0,0,0) scale(.99); }
  .sga .sga-uncanny button[type=submit], .sga .sga-uncanny input[type=submit] { transition: transform .22s ease, filter .22s ease, box-shadow .22s ease !important; }
  .sga .sga-uncanny button[type=submit]:not(:disabled):hover,
  .sga .sga-uncanny input[type=submit]:not(:disabled):hover { transform:translate3d(0,-2px,0)!important; box-shadow:0 12px 24px rgba(35,101,219,.18)!important; filter:brightness(1.03)!important; }
  .sga .sga-uncanny button[type=submit]:not(:disabled):active,
  .sga .sga-uncanny input[type=submit]:not(:disabled):active { transform:translate3d(0,0,0) scale(.99)!important; }
  .sga .sga-social-item a { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
  .sga .sga-social-item a:hover { transform: translate3d(0,-2px,0); box-shadow:0 9px 18px rgba(24,62,109,.08); }
  .sga .sga-social-item a:active { transform:translate3d(0,0,0); }
  .sga .sga-form input:not([type=checkbox]):not([type=radio]),
  .sga .sga-uncanny input[type=text],.sga .sga-uncanny input[type=password],
  .sga .sga-uncanny input[type=email],.sga .sga-uncanny input[type=number] {
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease !important;
  }
  .sga .sga-safety .sga-shield { transition: color .2s ease; }
}
/* Respect system accessibility preferences, including pseudo-element ambient motion. */
@media (prefers-reduced-motion: reduce) {
  .sga, .sga *, .sga *::before, .sga *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* RC6: desktop-only boxed authentication viewport. Theme header is reused.
   The existing footer is unchanged site-wide; on the dedicated sign-in view,
   it is visually suppressed to avoid forcing an additional page scroll. */
@media (min-width: 781px) and (min-height: 540px) {
  html.sga-viewport-lock, html.sga-viewport-lock body.sga-native-auth {
    height: 100% !important;
    overflow: hidden !important;
    overscroll-behavior: none;
  }
  html.sga-viewport-lock body.sga-native-auth #sga-main.sga-main {
    height: var(--sga-viewport-height, calc(100dvh - 160px)) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  html.sga-viewport-lock #sga-main .sga,
  html.sga-viewport-lock #sga-main .sga-layout {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
  }
  html.sga-viewport-lock #sga-main .sga-story,
  html.sga-viewport-lock #sga-main .sga-workspace {
    height: 100% !important;
    min-height: 0 !important;
  }
  html.sga-viewport-lock #sga-main .sga-story {
    padding-top: clamp(20px, 3vh, 44px) !important;
    padding-bottom: clamp(20px, 3vh, 44px) !important;
  }
  html.sga-viewport-lock #sga-main .sga-story-inner {min-height: 0 !important;}
  html.sga-viewport-lock #sga-main .sga-story-bottom {margin-top: clamp(12px, 3vh, 35px) !important;}
  html.sga-viewport-lock #sga-main .sga-highlights {margin-top: clamp(12px, 3vh, 26px) !important;}
  html.sga-viewport-lock #sga-main .sga-workspace {
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    padding-top: 26px !important;
    padding-bottom: 26px !important;
  }
  html.sga-viewport-lock #sga-main .sga-workspace-inner {
    margin: auto !important;
    flex: 0 0 auto;
    width: 100%;
  }
}
/* Uncanny's decorative modern-form accent was appearing as a detached blue bar. */
.sga .sga-uncanny #ult-login,
.sga .sga-uncanny #ult-login .ult-box,
.sga .sga-uncanny #ult-login .ult-form__content,
.sga .sga-uncanny #ult-login .ult-form__container,
.sga .sga-uncanny #ult-login #ult-login-form {
  border-top: 0 !important;
  background-image: none !important;
}
.sga .sga-uncanny #ult-login .ult-box::before,
.sga .sga-uncanny #ult-login .ult-form__content::before,
.sga .sga-uncanny #ult-login .ult-form__container::before,
.sga .sga-uncanny #ult-login #ult-login-form::before,
.sga .sga-uncanny #ult-login p.login-username::before {display: none !important;content: none !important;}
.sga .sga-form input:not([type=checkbox]):not([type=radio]) {min-width:0!important;}
.sga .sga-form .sga-two > label {min-width:0;}
@media (max-width: 780px), (max-height: 539px) {
  /* Allow natural scrolling on mobile and when an onscreen keyboard is open. */
  .sga .sga-layout {height:auto!important;min-height:0!important;}
}
/* RC6: mobile boxed mode as well when enough viewport is available.
   On short screens and open virtual keyboards, JS releases the scroll lock. */
@media (max-width: 780px) and (min-height: 620px) {
  html.sga-viewport-lock, html.sga-viewport-lock body.sga-native-auth {
    height:100%!important; overflow:hidden!important;
  }
  html.sga-viewport-lock body.sga-native-auth #sga-main.sga-main {
    height:var(--sga-viewport-height,calc(100dvh - 150px))!important;
    min-height:0!important;overflow:hidden!important;
  }
  html.sga-viewport-lock #sga-main .sga,
  html.sga-viewport-lock #sga-main .sga-layout {height:100%!important;min-height:0!important;max-height:100%!important;}
  html.sga-viewport-lock #sga-main .sga-layout {display:flex!important;flex-direction:column!important;}
  html.sga-viewport-lock #sga-main .sga-story {flex:0 0 auto!important;min-height:0!important;max-height:150px!important;padding:18px 20px!important;overflow:hidden!important;}
  html.sga-viewport-lock #sga-main .sga-story-inner {min-height:0!important;margin:auto!important;}
  html.sga-viewport-lock #sga-main .sga-story-copy h1 {font-size:clamp(25px,6.5vw,34px)!important;line-height:1.1!important;margin:0!important;}
  html.sga-viewport-lock #sga-main .sga-story-copy p,
  html.sga-viewport-lock #sga-main .sga-kicker,
  html.sga-viewport-lock #sga-main .sga-highlights,
  html.sga-viewport-lock #sga-main .sga-story-bottom {display:none!important;}
  html.sga-viewport-lock #sga-main .sga-workspace {
    flex:1 1 auto!important;min-height:0!important;display:block!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    overscroll-behavior-y:contain;
    padding:18px 14px 26px!important;
  }
  html.sga-viewport-lock #sga-main .sga-workspace-inner {margin:0 auto!important;max-width:580px!important;}
}

/* RC7: fixed headings, internally scrolling form, and existing site footer access.
   Never hide REIGN's real footer; it is reached through "Site footer" without
   allowing the authentication surface to scroll on ordinary desktop sizes. */
.sga .sga-fixed-head{flex:0 0 auto;min-width:0;position:relative;z-index:2;background:transparent}
.sga .sga-content-scroll{min-width:0;scrollbar-width:thin;scrollbar-color:#d3deee transparent}
.sga .sga-content-scroll:focus{outline:none}
.sga .sga-content-scroll:focus-visible{outline:2px solid #327cf0;outline-offset:-2px;border-radius:12px}
.sga .sga-footer-toggle{border:0;background:transparent;color:#2468dd;font-size:inherit;padding:0;cursor:pointer;font-weight:650;text-decoration:underline;text-underline-offset:2px}
.sga[data-sga-challenge="1"] .sga-tabs{display:none!important}
.sga .sga-uncanny .sga-social-auth{margin-top:16px;border-top:1px solid #e3eaf5;padding-top:10px;max-width:none}
.sga .sga-uncanny .sga-social-divider{margin:6px 0 12px}
.sga .sga-uncanny .sga-social-disabled{background:#fff;border-color:#d9e3ef}
.sga .sga-uncanny .ult-form__footer{display:none!important}
/* Ensure 2FA alternatives do not get styled like a second primary submit. */
.sga .sga-uncanny button:not([type=submit]),.sga .sga-uncanny a:not(.sga-social-provider){max-width:100%}
@media (min-width:781px) and (min-height:540px){
  html.sga-viewport-lock #sga-main .sga-workspace{overflow:hidden!important;align-items:stretch!important;justify-content:center!important}
  html.sga-viewport-lock #sga-main .sga-workspace-inner{height:100%!important;max-height:100%!important;display:flex!important;flex-direction:column!important;min-height:0!important;margin:0 auto!important;padding:0!important}
  html.sga-viewport-lock #sga-main .sga-content-scroll{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain!important;flex:1 1 auto!important;min-height:0!important;padding:0 5px 18px 0!important}
}
@media (max-width:780px) and (min-height:620px){
  html.sga-viewport-lock #sga-main .sga-workspace{overflow:hidden!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important}
  html.sga-viewport-lock #sga-main .sga-workspace-inner{display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important;max-height:100%!important;flex:1 1 auto!important}
  html.sga-viewport-lock #sga-main .sga-content-scroll{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain!important;flex:1 1 auto!important;min-height:0!important;padding-right:4px!important;padding-bottom:20px!important}
}
/* On short windows or with the on-screen keyboard, natural document scrolling
   remains available so no field or action becomes inaccessible. */
@media (max-height:539px){.sga .sga-content-scroll{overflow:visible}}
@media (prefers-reduced-motion:reduce){.sga .sga-content-scroll{scroll-behavior:auto!important}}

.sga .sga-utility-bar{flex:0 0 auto;min-height:26px;background:transparent;padding:5px 0 0;border-top:1px solid #e1e8f5;margin-top:6px}
.sga .sga-utility-bar .sga-mini-links{padding:0;gap:10px;flex-wrap:wrap;align-items:center}
@media(max-width:490px){.sga .sga-utility-bar .sga-mini-links{font-size:11px;gap:8px}}

/* RC11: compact, accessible scholarship path choices. Never let generic text-input rules style radios. */
.sga .sga-path-switch {display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;min-inline-size:0;width:100%;border:1px solid #dce7f5;border-radius:13px;background:#f7faff;padding:11px;margin:0 0 17px}
.sga .sga-path-switch legend {font-weight:730;color:#1b3157;padding:0 5px;font-size:13px;margin:0 0 3px;line-height:1.45}
.sga .sga-form .sga-path-switch label {display:flex!important;align-items:center;gap:11px;width:100%;min-width:0;min-height:44px;margin:0!important;padding:10px 12px;border:1px solid #dbe5f4;border-radius:10px;background:#fff;color:#284469;font-size:13px;line-height:1.45;font-weight:690;cursor:pointer;white-space:normal;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
.sga .sga-form .sga-path-switch label:hover {border-color:#9ebcf6;background:#fafdff}
.sga .sga-form .sga-path-switch label:has(input:checked) {border-color:#5690f6;background:#eff5ff;box-shadow:inset 0 0 0 1px rgba(35,105,233,.09)}
.sga .sga-form .sga-path-switch label:has(input:focus-visible) {outline:2px solid #2369e9;outline-offset:2px}
.sga .sga-form .sga-path-switch input[type=radio] {appearance:auto!important;-webkit-appearance:radio!important;display:block!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;box-sizing:border-box!important;border:0!important;border-radius:50%!important;margin:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;accent-color:#2369e9!important;vertical-align:middle;cursor:pointer}
@media(prefers-reduced-motion:reduce){.sga .sga-form .sga-path-switch label{transition:none}}
.sga .sga-scholarship-fields {padding:17px;margin:0 0 18px;border:1px solid #c8dbf9;border-radius:13px;background:#eef5ff;display:grid;gap:13px;min-width:0}
.sga .sga-scholarship-fields[hidden] {display:none!important}
.sga .sga-scholarship-fields label {font-weight:700;font-size:13px;color:#1d3764;display:grid;gap:6px;min-width:0}
.sga .sga-scholarship-fields select,.sga .sga-scholarship-fields input {width:100%;min-width:0;box-sizing:border-box;border:1px solid #cedcf1;border-radius:9px;background:white;color:#20355b;padding:13px 12px;font-size:14px;max-width:100%}
.sga .sga-scholarship-help {font-size:13px;line-height:1.55;color:#345777;margin:0}
.sga .sga-scholarship-fields .sga-hint {margin:0}
@media(max-width:640px){.sga .sga-path-switch{gap:8px;padding:10px}.sga .sga-form .sga-path-switch label{min-height:44px;padding:10px 11px}}
