/* LEGKO Lesson UI / R5. Only the lesson body; site header/footer untouched. */
.academy--unit{
 --u-text:#1b2c43;--u-secondary:#586b83;--u-blue:#2b61c9;--u-border:#dfe7f1;--u-panel:#f8fafd;
 --u-radius:16px;max-width:1200px;color:var(--u-text);
}
.academy--unit .academy-crumbs{padding:22px 0 0;gap:11px;color:#8997a8;font-size:13px}
.academy--unit .academy-crumbs a{color:#596a7d}
.academy--unit .academy-crumbs a:hover{color:var(--u-blue)}
.academy--unit .unit-crumb-separator{color:#b6c2ce}
.academy--unit .unit-hero{display:grid;grid-template-columns:minmax(0,1fr) 294px;gap:clamp(28px,4vw,64px);align-items:center;padding:46px 0 68px}
.academy--unit .unit-hero .academy-kicker{display:flex;align-items:center;gap:10px;margin:0 0 17px!important;color:#446db2!important;font-size:12px!important;letter-spacing:.02em;font-weight:650;text-transform:none}
.academy--unit .unit-meta-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:#9bb0cb}
.academy--unit .unit-hero h1{font-size:clamp(37px,4.25vw,55px);line-height:1.11;letter-spacing:-.048em;font-weight:690;margin:0 0 20px;max-width:795px}
.academy--unit .unit-hero .academy-lead{max-width:750px;font-size:17px;line-height:1.72;font-weight:400;color:var(--u-secondary)!important}
.academy--unit .unit-hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.academy--unit .unit-hero__actions .academy-button{border-radius:10px;min-height:46px;gap:10px;padding:12px 18px;font-size:13px;font-weight:620;box-shadow:none}
.academy--unit .unit-hero__actions .academy-button span{font-size:16px}
.academy--unit .unit-hero__meta{align-self:center;position:relative;min-height:0;overflow:hidden;border:1px solid var(--u-border);border-radius:16px;background:#f8fbff;padding:26px 25px;box-shadow:none}
.academy--unit .unit-hero__meta::before{content:"";display:block;position:static;width:33px;height:3px;background:#6b94dd;border:0;border-radius:4px;box-shadow:none;margin-bottom:19px}
.academy--unit .unit-hero__label{display:block;color:#637e9e;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.academy--unit .unit-hero__outcome{position:relative;margin:13px 0 0;color:#314962;font-size:16px;line-height:1.64;font-weight:450;letter-spacing:0}
.academy--unit .unit-layout{grid-template-columns:210px minmax(0,1fr);gap:clamp(28px,4vw,58px);padding-top:22px;border-top:1px solid var(--u-border);scroll-margin-top:24px}
.academy--unit .unit-article{max-width:860px;width:100%;min-width:0}
.academy--unit .unit-toc{top:22px;padding:14px 0}
.academy--unit .unit-toc strong{font-size:11px;font-weight:680;letter-spacing:.07em;margin-bottom:12px;color:#7c8a9d}
.academy--unit .unit-toc a{font-size:13px;color:#64748a;padding:9px 11px;border-left:2px solid transparent;border-radius:0 7px 7px 0;line-height:1.45}
.academy--unit .unit-toc a:hover{border-color:#a8c3ec;background:#f4f8ff;color:var(--u-blue)}
.academy--unit .unit-toc .academy-toc__return{font-weight:600;margin-top:14px;color:#3b64aa}
.academy--unit .unit-section{padding:42px 0 56px;border-bottom:1px solid #e9eef5;scroll-margin-top:30px}
.academy--unit .unit-section:first-child{padding-top:35px}
.academy--unit .unit-section h2{max-width:765px;font-size:clamp(28px,2.8vw,36px);font-weight:670;letter-spacing:-.038em;line-height:1.22;margin:0 0 25px}
.academy--unit .unit-section .academy-section-number{margin:0 0 14px!important;font-size:11px!important;font-weight:680;letter-spacing:.08em;color:#5b86c8!important}
.academy--unit .unit-section>p:not(.academy-section-number){max-width:780px;font-size:16px;line-height:1.84;letter-spacing:.002em;color:#485e75;margin:0 0 21px}
.academy--unit .unit-section>p:not(.academy-section-number):last-child{margin-bottom:0}
.academy--unit .unit-section h3{font-weight:650;letter-spacing:-.018em;line-height:1.3}

/* Role and concept cards: no redundant numbers. */
.academy--unit .unit-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0 21px}
.academy--unit .unit-card{border:1px solid var(--u-border);border-radius:var(--u-radius);padding:25px 25px 24px;background:#fff;min-height:0;box-shadow:none;transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease}
.academy--unit .unit-card h3{font-size:18px;font-weight:650;color:#243c55;margin:0 0 11px;letter-spacing:-.025em}
.academy--unit .unit-card p{font-size:14.5px;line-height:1.73;color:#566a80;margin:0}
@media(hover:hover){.academy--unit .unit-card:hover{border-color:#b8cee9;box-shadow:0 12px 25px rgba(32,68,119,.055);transform:translateY(-2px)}}

/* Timeline: aligned circles, a single clean line, and contextual scroll progress. */
.academy--unit .unit-flow{position:relative;max-width:780px;margin:31px 0 18px;display:grid;gap:14px;--flow-progress:0px}
.academy--unit .unit-flow::before,.academy--unit .unit-flow::after{content:"";position:absolute;pointer-events:none;top:35px;left:21px;width:2px;border-radius:4px}
.academy--unit .unit-flow::before{bottom:35px;background:#dbe5f1}
.academy--unit .unit-flow::after{height:var(--flow-progress);max-height:calc(100% - 70px);background:#75a2ed;transition:height .65s cubic-bezier(.2,.7,.3,1)}
.academy--unit .unit-flow__item{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;column-gap:16px;min-height:0;margin:0;padding:0}
.academy--unit .unit-flow__marker{width:22px;height:22px;margin:24px 0 0 11px;position:relative;z-index:1;border-radius:50%;border:2px solid #a9bcd2;background:#fff;box-shadow:0 0 0 5px #fff;transition:border-color .3s,background .3s,box-shadow .3s}
.academy--unit .unit-flow__marker::after{content:"";display:block;position:absolute;inset:6px;border-radius:50%;background:#b5c5d8;transition:background .3s}
.academy--unit .unit-flow__content{position:relative;top:0;min-height:92px;min-width:0;margin:0;padding:20px 24px 21px;background:#fff;border:1px solid var(--u-border);border-radius:14px;box-shadow:none;transition:background .32s ease,border-color .32s ease,box-shadow .32s ease,transform .32s ease}
.academy--unit .unit-flow__content strong{font-size:17px;font-weight:650;line-height:1.4;color:#253c55}
.academy--unit .unit-flow__content p{margin:7px 0 0!important;font-size:14.5px!important;line-height:1.66!important;color:#5e7185!important}
.academy--unit .unit-flow__item.is-current .unit-flow__marker{background:#2f6fd7;border-color:#2f6fd7;box-shadow:0 0 0 6px #eaf2ff}
.academy--unit .unit-flow__item.is-current .unit-flow__marker::after{background:#fff}
.academy--unit .unit-flow__item.is-current .unit-flow__content{border-color:#abc9f4;background:#f7faff;box-shadow:0 8px 28px rgba(40,94,165,.06)}
.academy--unit .unit-flow__item.is-complete .unit-flow__marker{border-color:#5e98d9;background:#5e98d9}
.academy--unit .unit-flow__item.is-complete .unit-flow__marker::after{background:#fff}

/* Tables, notes and original scripts. */
.academy--unit .unit-table-wrap{margin:29px 0 12px;border:1px solid var(--u-border);border-radius:14px;overflow-x:auto;box-shadow:none}
.academy--unit .unit-table{width:100%;min-width:630px;border-collapse:collapse;text-align:left;background:#fff}
.academy--unit .unit-table th,.academy--unit .unit-table td{padding:17px 19px;vertical-align:top;font-size:14px;line-height:1.65;border-bottom:1px solid #e9eef5;color:#53677e}
.academy--unit .unit-table thead th{font-size:12px;letter-spacing:.015em;text-transform:none;font-weight:650;color:#556e8d;background:#f6f8fb}
.academy--unit .unit-table tbody th{font-weight:620;color:#29435e;width:25%}
.academy--unit .unit-table tr:last-child>th,.academy--unit .unit-table tr:last-child>td{border-bottom:0}
.academy--unit .unit-block-note{font-size:12px!important;line-height:1.55;color:#8292a4!important;margin:9px 0 22px!important}
.academy--unit .unit-callout{margin:26px 0 22px;padding:20px 23px;border-radius:12px;border:1px solid #dce7f4;border-left:3px solid #9ebdea;background:#f8faff}
.academy--unit .unit-callout--neutral{background:#f9fafc;border-color:#e4e8ef;border-left-color:#cad4e1}
.academy--unit .unit-callout strong{font-size:14px;font-weight:650;color:#344f6b}
.academy--unit .unit-callout p{font-size:14px;line-height:1.74;color:#5b7187;margin:8px 0 0}
.academy--unit .unit-script{margin:26px 0 18px;border-radius:14px;overflow:hidden;border:1px solid var(--u-border);background:#f9fbfd;box-shadow:none}
.academy--unit .unit-script__head{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:16px 21px;background:#f5f8fc;border-bottom:1px solid var(--u-border)}
.academy--unit .unit-script__head strong{font-size:14px;font-weight:630;color:#304b67;line-height:1.35}
.academy--unit .unit-script__head button{flex:none;background:#fff;color:#2759aa;border:1px solid #d3dfef;border-radius:9px;min-height:36px;padding:8px 13px;font-family:inherit;font-size:12px;font-weight:650;cursor:pointer}
.academy--unit .unit-script__head button:hover{background:#edf4ff}
.academy--unit .unit-script pre{font:inherit;font-size:14px;line-height:1.86;white-space:pre-wrap;overflow-wrap:anywhere;color:#3e576e;padding:22px;margin:0}
.academy--unit .unit-script>p{margin:0;padding:13px 21px;border-top:1px solid #e7edf4;background:#fff;color:#7b8fa2;font-size:12px;line-height:1.55}

/* Worked example: real typography instead of broken decorative arrow and raw text blob. */
.academy--unit .unit-practice-section{border-bottom:0;padding-bottom:25px}
.academy--unit .unit-practice-example{border:1px solid var(--u-border);border-radius:15px;background:#fff;margin:30px 0 23px;overflow:hidden}
.academy--unit .unit-practice-example__head{display:block;padding:24px 26px 20px;background:#f7f9fc;border-bottom:1px solid #e4eaf3}
.academy--unit .unit-practice-example__label{display:block;font-size:12px;font-weight:700;letter-spacing:.075em;color:#4b77b9;text-transform:uppercase;margin-bottom:8px}
.academy--unit .unit-practice-example__head h3{font-size:20px;line-height:1.38;font-weight:640;letter-spacing:-.027em;margin:0;color:#2d465f}
.academy--unit .unit-practice-example__details{display:grid;grid-template-columns:1fr;margin:0;padding:8px 26px}
.academy--unit .unit-practice-example__detail{display:grid;grid-template-columns:minmax(120px,30%) minmax(0,1fr);gap:18px;align-items:start;padding:13px 0;border-bottom:1px solid #edf0f5}
.academy--unit .unit-practice-example__detail:last-child{border-bottom:0}
.academy--unit .unit-practice-example__detail dt{font-size:13px;font-weight:620;color:#3d5b78;line-height:1.65}
.academy--unit .unit-practice-example__detail dd{margin:0;font-size:14px;line-height:1.68;color:#536980}
.academy--unit .unit-practice-example__detail--note{grid-template-columns:1fr}
.academy--unit .unit-practice-example__foot{padding:13px 26px!important;margin:0!important;background:#fbfcfe;border-top:1px solid #e9eef5;color:#8391a2!important;font-size:12px!important;line-height:1.5!important}

/* Practice: checkboxes are the only markers; no extra numbers. */
.academy--unit .unit-practice-steps{border:1px solid var(--u-border);background:#fff;border-radius:15px;overflow:hidden;margin:29px 0 24px}
.academy--unit .unit-practice-steps__head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px 20px;background:#fafcff}
.academy--unit .unit-practice-steps__head div{display:grid;gap:6px}
.academy--unit .unit-practice-steps__head div>span{font-size:11px;letter-spacing:.07em;color:#587bb3;font-weight:680}
.academy--unit .unit-practice-steps__head div>strong{font-size:19px;line-height:1.25;color:#2d445f;font-weight:650;letter-spacing:-.02em}
.academy--unit .unit-practice-steps__head>span{flex:none;font-size:13px;font-weight:580;color:#5e7693}
.academy--unit .unit-practice-steps__track{height:3px;background:#eaf0f8}
.academy--unit .unit-practice-steps__track>span{display:block;height:100%;background:#3a75d4;width:0;transition:width .38s ease}
.academy--unit .unit-practice-step{display:flex;align-items:flex-start;gap:17px;border-bottom:1px solid #edf0f5;padding:21px 26px;cursor:pointer;background:#fff;transition:background .2s}
.academy--unit .unit-practice-step:hover{background:#f9fbff}
.academy--unit .unit-practice-step input{appearance:none;-webkit-appearance:none;display:grid;place-items:center;flex:none;width:24px;height:24px;margin:1px 0 0;border:1.5px solid #9badc4;border-radius:7px;background:#fff;cursor:pointer;transition:border-color .16s,background .16s}
.academy--unit .unit-practice-step input::before{content:"";width:11px;height:6px;border:solid white;border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg) scale(0);transition:transform .18s}
.academy--unit .unit-practice-step input:checked{background:#3975d1;border-color:#3975d1}
.academy--unit .unit-practice-step input:checked::before{transform:translateY(-1px) rotate(-45deg) scale(1)}
.academy--unit .unit-practice-step:has(input:checked){background:#f7fbff}
.academy--unit .unit-practice-step__body{display:grid;gap:6px;min-width:0}
.academy--unit .unit-practice-step__body strong{font-size:16px;font-weight:640;line-height:1.4;color:#2b445e}
.academy--unit .unit-practice-step__body>span{font-size:14px;line-height:1.7;color:#5d7086}
.academy--unit .unit-practice-steps__status{padding:15px 26px;font-size:12px;line-height:1.55;color:#72859a;background:#fafbfe}
.academy--unit .unit-practice-template{margin-top:24px}
.academy--unit .unit-practice-template .unit-script__head{background:#f5f8fd}
.academy--unit .unit-practice-template pre{line-height:1.9}
.academy--unit .unit-next{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:40px 0 8px}
.academy--unit .unit-next a{min-width:0;border:1px solid var(--u-border);border-radius:13px;background:#fff;padding:21px 22px;transition:background .22s,border-color .22s}
.academy--unit .unit-next a:hover{border-color:#b6cbe5;background:#fafcff}
.academy--unit .unit-next a span{display:block;font-size:12px;color:#6f8ab1;font-weight:620;margin-bottom:9px}
.academy--unit .unit-next a strong{display:block;font-size:15px;line-height:1.4;font-weight:650;letter-spacing:-.01em;color:#2e4762}
.academy--unit .unit-next__forward{text-align:right}

/* Responsive content only. */
@media(max-width:1000px){
 .academy--unit .unit-hero{grid-template-columns:minmax(0,1fr) 252px;gap:28px}
 .academy--unit .unit-layout{grid-template-columns:185px minmax(0,1fr);gap:28px}
}
@media(max-width:800px){
 .academy--unit .unit-hero{grid-template-columns:1fr;gap:24px;padding:34px 0 45px}
 .academy--unit .unit-hero__meta{width:100%;max-width:620px;padding:22px 24px}
 .academy--unit .unit-layout{display:block;padding-top:12px}
 .academy--unit .unit-toc{position:static;display:flex;flex-flow:row wrap;align-items:center;gap:8px;padding:15px 0 30px}
 .academy--unit .unit-toc strong{width:100%;margin:0 0 4px}
 .academy--unit .unit-toc a{border:1px solid #e2e9f1;border-radius:999px;padding:7px 12px;font-size:12px}
 .academy--unit .unit-toc .academy-toc__return{margin:0}
}
@media(max-width:600px){
 .academy--unit .academy-crumbs{font-size:12px;padding-top:13px}
 .academy--unit .unit-hero{padding:28px 0 35px}
 .academy--unit .unit-hero h1{font-size:clamp(34px,9vw,45px)}
 .academy--unit .unit-hero .academy-lead{font-size:15.5px;line-height:1.72}
 .academy--unit .unit-hero__actions{margin-top:22px}
 .academy--unit .unit-hero__actions .academy-button{flex:1 1 auto}
 .academy--unit .unit-hero__outcome{font-size:15px}
 .academy--unit .unit-section{padding:30px 0 43px}
 .academy--unit .unit-section h2{font-size:clamp(26px,7vw,32px)}
 .academy--unit .unit-section>p:not(.academy-section-number){font-size:15.5px;line-height:1.8}
 .academy--unit .unit-cards{grid-template-columns:1fr;gap:10px}
 .academy--unit .unit-card{padding:20px 21px}
 .academy--unit .unit-card h3{font-size:17px}
 .academy--unit .unit-card p{font-size:14.5px}
 .academy--unit .unit-flow{gap:11px}
 .academy--unit .unit-flow__item{grid-template-columns:32px minmax(0,1fr);column-gap:9px}
 .academy--unit .unit-flow::before,.academy--unit .unit-flow::after{left:15px}
 .academy--unit .unit-flow__marker{margin-left:5px}
 .academy--unit .unit-flow__content{padding:17px 18px;min-height:0}
 .academy--unit .unit-flow__content strong{font-size:16px}
 .academy--unit .unit-flow__content p{font-size:14px!important}
 .academy--unit .unit-script__head{padding:14px 16px}
 .academy--unit .unit-script pre{font-size:13.5px;padding:16px}
 .academy--unit .unit-practice-example__head{padding:21px 18px 17px}
 .academy--unit .unit-practice-example__head h3{font-size:18px}
 .academy--unit .unit-practice-example__details{padding:5px 18px}
 .academy--unit .unit-practice-example__detail{grid-template-columns:1fr;gap:2px;padding:12px 0}
 .academy--unit .unit-practice-example__foot{padding:12px 18px!important}
 .academy--unit .unit-practice-steps__head{padding:19px 18px}
 .academy--unit .unit-practice-steps__head div>strong{font-size:17px}
 .academy--unit .unit-practice-step{gap:13px;padding:18px}
 .academy--unit .unit-practice-step__body strong{font-size:15px}
 .academy--unit .unit-practice-step__body>span{font-size:13.5px}
 .academy--unit .unit-practice-steps__status{padding:14px 18px}
 .academy--unit .unit-next{grid-template-columns:1fr;gap:10px}
 .academy--unit .unit-next__forward{text-align:left}
}
@media(prefers-reduced-motion:reduce){
 .academy--unit .unit-flow::after,.academy--unit .unit-flow__content,.academy--unit .unit-flow__marker,.academy--unit .unit-flow__marker::after,
 .academy--unit .unit-card,.academy--unit .unit-practice-step,.academy--unit .unit-practice-step input,
 .academy--unit .unit-practice-steps__track>span,.academy--unit .unit-next a{transition:none!important;animation:none!important}
}
