/* campus-login pages (design: docs/work/login-pages/design.md). Layout and font files only; every colour, size step
   and radius comes from tokens.css and components.css, which are copied unedited from the K-Eduplex design package. */
@font-face{font-family:Poppins;font-weight:500;font-style:normal;font-display:swap;src:url("fonts/Poppins-Medium.woff2") format("woff2")}
@font-face{font-family:Poppins;font-weight:600;font-style:normal;font-display:swap;src:url("fonts/Poppins-SemiBold.woff2") format("woff2")}
@font-face{font-family:"Noto Sans";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/NotoSans-Regular.woff2") format("woff2")}
@font-face{font-family:"Noto Sans";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/NotoSans-SemiBold.woff2") format("woff2")}
/* Korean text uses Noto Sans KR when the device has it, else the system's Korean font (the token font stacks end in
   system-ui). The three Noto Sans KR files are 2 MB each and cannot be split by the browser, which is too much for
   one short page on mobile data (design.md, "Fonts"). */

html,body{margin:0}
body{min-height:100vh}
.lp-header{padding:0 var(--space-4);gap:var(--space-2)}
.lp-header .kx-header__service{padding-left:var(--space-2)}
.lp-main{max-width:560px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-7)}
.lp-card{display:grid;gap:var(--space-3);justify-items:start}
.lp-title{font:500 24px/32px var(--font-heading);color:var(--ink);margin:0}
.lp-text{font:400 16px/26px var(--font-body);color:var(--text);margin:0}
.lp-subtitle{font:600 18px/26px var(--font-heading);color:var(--ink);margin:0}
.lp-section{display:grid;gap:var(--space-2);width:100%}
.lp-more{margin-top:var(--space-3)}
.lp-action{margin-top:var(--space-3);min-height:44px}
.lp-help{font:400 14px/22px var(--font-body);color:var(--text-muted);margin:var(--space-5) var(--space-5) 0}
.lp-link{color:inherit;text-underline-offset:3px}
.lp-link:focus-visible{outline:2px solid var(--action-strong);outline-offset:2px;border-radius:var(--radius-sm)}
.lp-nowrap{white-space:nowrap}
/* Korean breaks between words, not inside them. */
:lang(ko) .lp-title,:lang(ko) .lp-subtitle,:lang(ko) .lp-text,:lang(ko) .lp-help{word-break:keep-all}
@media (min-width:640px){
  .lp-header{padding:0 var(--space-6);gap:var(--space-5)}
  .lp-header .kx-header__service{padding-left:var(--space-5)}
  .lp-main{padding:var(--space-8) var(--space-7)}
  .lp-card{padding:var(--space-6)}
  .lp-help{margin:var(--space-5) var(--space-6) 0}
  /* The JIU lockup's small lettering needs the larger of the allowed sizes (32-40 px). */
  .lp-header .kx-header__logo{height:40px}
}
