.kbl-learning{--kbl-red:#b9232e;--kbl-ink:#171717;--kbl-paper:#faf8f4;color:var(--kbl-ink);font-size:17px;line-height:1.65;margin:24px 0}.kbl-learning *{box-sizing:border-box}.kbl-toolbar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1px solid #ddd;padding:16px 0;margin-bottom:26px}.kbl-learning a{color:#9e1722;text-underline-offset:3px}.kbl-learning h2{font-size:clamp(24px,3vw,34px);line-height:1.2;margin:12px 0 22px}.kbl-learning h3{font-size:23px;line-height:1.3}.kbl-auth,.kbl-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.kbl-card{background:var(--kbl-paper);border:1px solid #dedbd5;border-radius:14px;padding:28px;margin-bottom:24px;min-width:0}.kbl-learning label{display:block;font-weight:600}.kbl-learning input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]){width:100%;min-height:46px;padding:10px;border:1px solid #999;border-radius:5px;font:inherit;background:#fff;color:#171717}.kbl-learning input[type=checkbox],.kbl-learning input[type=radio]{width:18px;height:18px;accent-color:var(--kbl-red);flex-shrink:0}.kbl-learning .kbl-consent{font-size:14px;font-weight:400;display:flex;gap:10px;align-items:flex-start}.kbl-learning button,.kbl-learning input[type=submit],.kbl-learning a.kbl-button{display:inline-block;background:var(--kbl-red);color:white!important;border:0;border-radius:6px;padding:13px 22px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;line-height:1.4}.kbl-learning :focus-visible{outline:3px solid #1d63b8;outline-offset:4px}.kbl-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;left:-9999px}.kbl-tag{font-size:12px;font-weight:800;letter-spacing:1.5px;color:#9e1722}.kbl-notice{padding:18px;border-left:4px solid var(--kbl-red);background:#fff3ef}.kbl-progress{margin:24px 0}.kbl-progress label{font-size:15px}.kbl-progress progress{display:block;width:100%;height:16px;margin-top:10px;accent-color:var(--kbl-red)}.kbl-classroom{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2.2fr);gap:32px;margin-top:32px}.kbl-curriculum{background:var(--kbl-paper);border-radius:12px;padding:22px;align-self:start}.kbl-curriculum h2{font-size:23px}.kbl-curriculum ol{padding-left:22px;margin:0}.kbl-curriculum li{margin:0;padding:12px 0;border-bottom:1px solid #dedbd5;line-height:1.45;font-size:15px}.kbl-curriculum a[aria-current]{font-weight:800}.kbl-done{display:block;color:#226636;font-size:12px;font-weight:700}.kbl-lesson{min-width:0;padding:8px 0}.kbl-lesson h3{margin-top:28px}.kbl-small{font-size:14px;color:#555}.kbl-video iframe{width:100%;aspect-ratio:16/9;height:auto}.kbl-action{margin:22px 0}.kbl-quiz fieldset{border:1px solid #ccc;border-radius:8px;padding:18px;margin:22px 0;min-width:0}.kbl-quiz legend{font-weight:700;padding:0 8px;max-width:100%}.kbl-quiz label{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:12px 0}.kbl-award{border:2px solid var(--kbl-red);background:#fff8f3;padding:28px;border-radius:12px;margin:32px 0}.kbl-award .kbl-button{margin-top:12px}@media(max-width:760px){.kbl-auth,.kbl-course-grid,.kbl-classroom{grid-template-columns:1fr}.kbl-card{padding:22px}.kbl-toolbar{font-size:14px}.kbl-learning{font-size:16px}.kbl-curriculum{max-height:350px;overflow:auto}}
body.kbl-learning-view .entry-content{max-width:none}body.kbl-learning-view .page-shell{padding-top:45px}body.kbl-learning-view .page-shell h1{font-size:clamp(2.5rem,5vw,4.5rem)}

body.kbl-learning-view:has(.kbl-portal){background:#fff}
.kbl-portal{padding-block:60px 80px}
.kbl-portal-intro{max-width:860px;margin-bottom:36px}
.kbl-portal-intro h1{font:700 clamp(2.8rem,6vw,5.4rem)/1.04 Georgia,serif;letter-spacing:-.045em;margin:24px 0}
.kbl-portal-intro h1 em{color:#b9232e;font-weight:400}
.kbl-portal-lead{font-size:1.2rem;max-width:690px;color:#494949}
.kbl-portal-benefits{font-size:.88rem;color:#68645d}
.kbl-portal-jump{display:flex;gap:24px;flex-wrap:wrap;margin-top:26px}
.kbl-portal-jump a{font-weight:700;color:#9e1722;text-underline-offset:5px}
.kbl-portal .kbl-auth .kbl-card{background:#fff;border-top:4px solid #b9232e;box-shadow:0 10px 35px #17171708;padding:32px}
.kbl-portal .kbl-auth h2{margin-top:14px}
.kbl-portal #kbl-signin,.kbl-portal #kbl-register{scroll-margin-top:25px}
.kbl-portal .login-submit input{width:100%}
.kbl-portal .kbl-toolbar{margin-top:0}
@media(max-width:760px){.kbl-portal{padding-block:32px 48px}.kbl-portal .kbl-auth .kbl-card{padding:24px}.kbl-portal-lead{font-size:1.05rem}}
