/* Layout and visual tokens adapted from Claude's archived v4, 25 September.
   The original is preserved; unavailable business features remain absent. */
:root{--paper:#fbfaf8;--soft:#f5f3f0;--muted:#6a6660;--line:#e7e3de;--card:#fff;--blue-soft:#e6effd;--shadow:0 24px 60px -30px #19191959}
:root[data-theme=dark]{--paper:#18181a;--soft:#1b1b1d;--muted:#a39e97;--line:#2e2e32;--card:#202023;--blue-soft:#1c2a40;--shadow:0 24px 60px -30px #000c}
body{font-size:16px;line-height:1.6}
main{max-width:1120px;padding:0 40px}
.header{max-width:1120px;margin:auto;padding:26px 40px 20px;min-height:92px;border:0}
.brand img{width:148px}.brand span{font-size:14px}.header nav{gap:14px}
.preview{font-size:12px;padding:6px 16px}.readonly{background:var(--soft);color:var(--muted);font-size:12px;padding:7px 20px}
h1,h2,h3{letter-spacing:-.03em}h1{font-size:clamp(28px,4vw,40px);line-height:1.05}h2{font-size:24px}
.eyebrow{font:600 12px/1.4 Poppins,sans-serif;letter-spacing:.1em}
.lead{font-size:16px;line-height:1.6;margin:10px 0 0}
.button{border-radius:999px;min-height:46px;padding:13px 22px;gap:8px;font:700 13px/1.3 Poppins,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.welcome{padding:24px 0 22px;display:block}.welcome .lead{margin-top:10px}
.resume{border-radius:26px;padding:22px 24px;gap:20px;background:#0f0f10}
.resume-thumb{width:112px;aspect-ratio:16/10;background:linear-gradient(135deg,#2a2a2e,#141416);border-radius:14px;display:grid;place-items:center;flex:none}
.resume-thumb span{width:36px;height:36px;background:var(--red);border-radius:50%;display:grid;place-items:center;font-size:13px;color:#fff}
.resume-copy{flex:1;min-width:0}.resume .eyebrow{font-size:12px;opacity:.75;margin-bottom:5px}.resume h2{font-size:19px;line-height:1.3}.resume p{margin:4px 0 0;font-size:14px}
.catalogue{padding:28px 0 38px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:0 18px}
.section-heading{display:contents}.section-heading h2{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.search{grid-column:2;grid-row:1;width:100%;align-self:center}.search input{min-height:42px;border-radius:99px;font-size:13px;padding:9px 15px;background:var(--card)}
.filters{grid-column:1;grid-row:1;align-items:center;gap:8px}.filters button{border:1px solid var(--line);background:var(--card);padding:9px 14px;min-height:42px;font-size:13px}
[data-results]{grid-column:1/-1;margin:8px 0 12px;font-size:12px}
.grid{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.catalogue>.empty,.catalogue>.notice{grid-column:1/-1}
.course-card{border-radius:22px;transition:transform .25s,box-shadow .25s}.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cover{aspect-ratio:2;background:linear-gradient(140deg,#e40d1a,#9e0912);display:flex;align-items:flex-end}
.cover-1{background:linear-gradient(140deg,#2b2b2f,#111113)}.cover-2{background:linear-gradient(140deg,#1d6ee8,#0f3f8c)}
.cover>span:not(.format){font:700 16px/1.2 Poppins,sans-serif;padding:14px 16px;letter-spacing:.01em;max-width:94%}
.cover .xmark{width:125px;right:-25px;top:-10px;bottom:auto;opacity:.2}
.format{top:10px;bottom:auto;left:14px;font-size:8px;padding:3px 6px}
.card-body{padding:14px 16px 16px}.card-body h3{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;min-height:0}
.card-body .course-state{font:600 11px/1.3 Poppins,sans-serif;letter-spacing:.07em;margin:0 0 14px}
[data-state=started] .course-state{color:var(--blue)}[data-state=new] .course-state{color:var(--red)}[data-state=done] .course-state{color:#16804a}
[data-theme=dark] [data-state=done] .course-state{color:#78d69e}
.progress{margin-top:0}.progress progress{height:6px;border-radius:99px}.progress span{font-size:12px;margin-top:12px}.card-cta{margin-top:14px;font-size:12px}
.login-layout{grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;padding:38px 0 72px}
.login-entry h1{text-transform:uppercase;font-size:clamp(28px,4.4vw,46px);max-width:16ch}
.login-entry .lead{margin:22px 0 26px;max-width:44ch;font-size:16px}
.login-entry form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px}
.login-entry label{grid-column:1/-1;font-size:14px;font-weight:700}.login-entry input[type=email]{border:1.5px solid var(--line);border-radius:14px;min-width:0;background:var(--card)}
.login-entry .small{font-size:13px}.login-entry .help-link{display:inline-block;color:var(--muted);font-size:14px;margin-top:6px}
.steps-panel{background:var(--soft);padding:24px;border-radius:24px}.steps-panel .eyebrow{margin-bottom:20px}
.steps{margin:0;max-width:none}.steps li{padding:0 0 18px 50px;font-size:15px}.steps li:last-child{padding-bottom:0}.steps li:before{width:38px;height:38px;background:var(--card);border:1px solid var(--line)}.steps b{margin-bottom:3px}.steps span{font-size:14px}
.course-heading{position:relative;padding:28px 150px 24px 0}.course-heading h1{text-transform:uppercase;font-size:clamp(28px,4.4vw,44px)}.back{margin-bottom:22px}
.course-ring{position:absolute;right:0;bottom:28px;width:118px;height:118px;border-radius:50%;background:conic-gradient(var(--blue) calc(var(--p)*1%),var(--line) 0);display:grid;place-items:center}
.course-ring>div{width:92px;height:92px;border-radius:50%;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}.course-ring b{font:800 26px Poppins,sans-serif}.course-ring span{font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}
.start{background:var(--blue-soft);border-radius:20px;padding:16px 20px}.start h2{font-size:18px}.start .eyebrow{margin-bottom:4px}.start p{font-size:14px;margin-top:5px}
.modules{padding:24px 0 38px}.modules>h2{font-size:20px;margin-bottom:18px}details{border-radius:20px;margin-bottom:12px}summary{padding:16px 20px}summary small{margin-bottom:3px}summary strong{font:700 16px/1.3 Poppins,sans-serif}
.lessons a{padding:12px 20px;min-height:54px;gap:12px}.lessons strong{font-weight:500;font-size:15px}.lesson-dot{width:26px;height:26px}
.lesson-heading{padding:24px 0}.lesson-heading h1{font-size:clamp(22px,3vw,30px)}.lesson-heading .eyebrow{margin-bottom:8px}
.lesson-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px}.lesson-layout aside{border-radius:22px;position:sticky;top:24px}.lesson-layout aside .lessons a{font-size:14px}
.documents{padding:24px 0}.documents h2{font-size:20px}.document{border-radius:16px;background:var(--card)}
footer{max-width:1040px;padding:24px 0 32px}
@media(max-width:1050px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalogue{grid-template-columns:minmax(0,1fr) 250px}.filters button{padding:8px 10px}.header{padding-inline:30px}main{padding-inline:30px}footer{margin-inline:30px}.lesson-layout{grid-template-columns:minmax(0,1fr) 250px}}
@media(max-width:820px){.catalogue{grid-template-columns:1fr;gap:12px}.search{grid-column:1;grid-row:2}.filters{grid-row:1}[data-results]{margin:0}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-layout{grid-template-columns:1fr;gap:28px}.login-entry .lead{max-width:60ch}.lesson-layout{grid-template-columns:1fr}.lesson-layout aside{position:static}.resume-thumb{width:80px}}
@media(max-width:650px){main{padding-inline:20px}.header{padding:20px;gap:12px}.header nav:has(a){width:auto;flex:1;justify-content:flex-end}.header nav>a:first-child{display:none}.brand img{width:124px}.header nav{gap:12px}.header nav>a{font-size:12px}.brand span{display:none}.readonly{font-size:11px}.welcome{padding:24px 0 20px}.welcome h1{font-size:30px}.resume{display:grid;grid-template-columns:58px minmax(0,1fr);padding:20px;gap:16px}.resume-thumb{width:58px;aspect-ratio:1}.resume h2{font-size:17px}.resume .eyebrow{font-size:9px}.resume .button{grid-column:1/-1;margin:0;width:100%}.catalogue{padding:22px 0 30px}.grid{grid-template-columns:1fr;gap:16px}.cover{aspect-ratio:2.4}.cover>span:not(.format){font-size:19px}.cover .xmark{width:160px}.card-body{padding:16px 18px}.filters{gap:6px}.filters button{font-size:12px;padding:8px 10px}.login-layout{padding:24px 0 40px}.login-entry h1{font-size:36px}.login-entry form{grid-template-columns:1fr}.login-entry label{grid-column:1}.steps-panel{padding:22px}.course-heading{padding:24px 0}.course-heading h1{font-size:32px}.course-ring{position:static;margin-top:22px;width:98px;height:98px}.course-ring>div{width:76px;height:76px}.course-ring b{font-size:23px}.course-ring span{font-size:9px}.start{padding:20px}.start .button{margin-top:16px}.modules{padding-top:24px}summary{padding:16px}summary strong{font-size:14px}.lessons a{padding:12px 16px}.lesson-layout{display:grid;grid-template-columns:1fr;padding-bottom:28px}.lesson-layout aside{position:static;width:100%}.lesson-heading{padding:24px 0}footer{margin-inline:20px;padding:24px 0}.preview{font-size:11px}}
@media(prefers-reduced-motion:reduce){.course-card:hover{transform:none}.course-card{transition:none}}

.preview{display:flex;align-items:center;justify-content:center;gap:12px 24px;flex-wrap:wrap}.preview nav{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.preview nav a{text-decoration:underline;text-underline-offset:3px}.login-demo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px}.login-demo label{grid-column:1/-1;font-size:14px;font-weight:700}.login-demo input{min-width:0;background:var(--card)}.login-demo .button:disabled{opacity:.7}
@media(max-width:650px){.preview{gap:6px;padding:9px 15px}.preview>span{width:100%}.preview nav{gap:14px}.login-demo{grid-template-columns:1fr}.login-demo label{grid-column:1}}
