/* CyberNova learning sessions, based on the supplied talk and ESDP brochure. */
.lrn-section,.lrn-page { background:#080c1d; color:#eff7ff; font-family:var(--font-body); }
.lrn-section { padding:76px 0; }
.lrn-section>.container,.lrn-page>.container { max-width:1280px; padding-inline:clamp(20px,4vw,56px); }
.lrn-section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:32px; }
.lrn-kicker { font:600 11px/1.6 var(--font-mono); letter-spacing:.14em; color:#9daec3; margin:0 0 18px; }
.lrn-section h2 { font:700 clamp(1.6rem,3.4vw,3rem)/1.3 var(--font-display); letter-spacing:-.04em; color:#eff7ff; margin:0; }
.lrn-section h2 span { color:#00e5ff; }
.lrn-section-heading>p { color:#a4b4c9; font-size:15px; line-height:1.7; margin:0; }
.lrn-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.lrn-card { display:grid; grid-template-columns:34% minmax(0,1fr); border:1px solid #00e5ff30; text-decoration:none; color:inherit; background:#0e1529; min-width:0; border-radius:12px; overflow:hidden; transition:transform .2s,box-shadow .2s; }
.lrn-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px #00e5ff12; }
.lrn-card:focus-visible,.lrn-button:focus-visible,.lrn-page a:focus-visible { outline:3px solid #00e5ff; outline-offset:5px; }
.lrn-blue { background:#101b35; color:#6feaff; }
.lrn-orange { background:#1a1232; color:#c596ff; }
.lrn-card-art { padding:22px 16px; display:flex; flex-direction:column; justify-content:space-between; gap:30px; position:relative; overflow:hidden; }
.lrn-card-art>span { font:500 9px/1.6 var(--font-mono); letter-spacing:.1em; }
.lrn-card-art>strong { font:600 clamp(1.4rem,3vw,2.8rem)/.95 var(--font-body); letter-spacing:-.05em; }
.lrn-card-art>i { font:normal 36px/1 var(--font-body); align-self:flex-end; }
.lrn-card-body { padding:24px; min-width:0; }
.lrn-card-body h3 { color:#eff7ff; font:600 23px/1.25 var(--font-body); letter-spacing:-.025em; margin:0 0 14px; }
.lrn-card-body p { color:#a4b4c9; font:400 14px/1.7 var(--font-body); margin:0 0 18px; }
.lrn-card-body .lrn-kicker { font-size:10px; margin-bottom:12px; }
.lrn-card-meta { display:grid; gap:6px; font:500 11px/1.6 var(--font-mono); border-top:1px solid #eff7ff1f; padding-top:16px; color:#a8c3d9; }
.lrn-card-link { display:flex; justify-content:space-between; align-items:center; margin-top:22px; font:600 13px/1.5 var(--font-body); }
.lrn-page { padding-bottom:40px; }
.lrn-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; padding:36px 0; color:#9cb3cb; font:500 10px/1.7 var(--font-mono); letter-spacing:.07em; }
.lrn-breadcrumb a { color:inherit; text-decoration:none; }
.lrn-page-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:center; gap:clamp(30px,6vw,90px); padding:40px 0 70px; }
.lrn-page-copy { min-width:0; }
.lrn-page h1 { color:#eff7ff; font:700 clamp(2.6rem,5.4vw,5.5rem)/1.12 var(--font-display); letter-spacing:-.055em; margin:24px 0; }
.lrn-page h1 em { font-family:var(--font-display); font-weight:700; font-style:normal; color:#00e5ff; }
.lrn-workshop h1 em { color:#bb8cff; }
.lrn-deck { font:500 clamp(1.2rem,2vw,1.6rem)/1.4 var(--font-body); color:#d1e1f2; margin:25px 0 18px; }
.lrn-description { font:400 16px/1.9 var(--font-body); color:#a4b4c9; max-width:60ch; }
.lrn-button { display:inline-flex; align-items:center; gap:40px; background:linear-gradient(110deg,#00d8ed,#6973ff); color:#061324; text-decoration:none; font:500 14px/1.5 var(--font-body); padding:16px 22px; border-radius:6px; margin-top:24px; min-height:48px; }
.lrn-cover { border-radius:8px; aspect-ratio:4/5; padding:30px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; box-shadow:0 20px 40px #eff7ff12; transform:none; }
.lrn-cover::before { content:''; position:absolute; width:130%; aspect-ratio:1; border:1px solid currentColor; border-radius:50%; opacity:.12; left:20%; top:10%; }
.lrn-cover>span { font:500 10px/1.8 var(--font-mono); letter-spacing:.12em; z-index:1; }
.lrn-cover-type { font:500 clamp(3.5rem,10vw,10rem)/.85 var(--font-body); letter-spacing:-.065em; z-index:1; }
.lrn-cover-type em { font-family:var(--font-display); font-weight:700; font-style:normal; }
.lrn-cover-footer { display:flex; align-items:end; gap:20px; justify-content:space-between; font:500 9px/1.7 var(--font-mono); letter-spacing:.08em; z-index:1; }
.lrn-overview { padding:38px 0; border-block:1px solid #eff7ff30; scroll-margin-top:100px; }
.lrn-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.lrn-facts div { min-width:0; }
.lrn-facts span { display:block; font:500 10px/1.7 var(--font-mono); letter-spacing:.12em; margin-bottom:14px; color:#a4b4c9; }
.lrn-facts strong { font:600 21px/1.4 var(--font-body); }
.lrn-facts p { color:#a4b4c9; font:400 14px/1.7 var(--font-body); margin:8px 0 0; }
.lrn-topics { padding:70px 0; }
.lrn-topics h2 { font:500 clamp(2rem,4vw,3.5rem)/1.15 var(--font-body); letter-spacing:-.035em; margin:0 0 36px; color:#eff7ff; }
.lrn-topic { display:flex; align-items:center; gap:28px; padding:25px 0; border-bottom:1px solid #eff7ff24; }
.lrn-topic>span { color:#9cb3cb; font:500 12px/1.5 var(--font-mono); }
.lrn-topic h3 { color:#d1e1f2; font:500 21px/1.5 var(--font-body); margin:0; }
.lrn-topic>b { margin-left:auto; font-size:24px; font-weight:400; }
.lrn-page-end { display:flex; flex-wrap:wrap; gap:24px; justify-content:space-between; padding:25px 0; border-top:1px solid #eff7ff24; }
.lrn-page-end a { color:#d1e1f2; font:500 14px/1.7 var(--font-body); min-height:44px; display:flex; align-items:center; }
@media(max-width:900px) { .lrn-card-grid { grid-template-columns:1fr; }.lrn-page-hero { grid-template-columns:1fr; padding-top:15px; }.lrn-cover { max-width:440px; width:100%; margin:auto; transform:none; }.lrn-cover-type { font-size:clamp(5rem,22vw,9rem); }.lrn-section-heading { display:block; }.lrn-section-heading>p { margin-top:20px; }.lrn-facts { grid-template-columns:1fr; gap:24px; }.lrn-facts div+div { border-top:1px solid #eff7ff20; padding-top:24px; } }
@media(max-width:480px) { .lrn-card { grid-template-columns:1fr; }.lrn-card-art { min-height:180px; display:grid; grid-template-columns:1fr auto; gap:24px; }.lrn-card-art>span { grid-column:1/-1; }.lrn-card-art>strong { font-size:40px; }.lrn-card-body { padding:22px; }.lrn-page h1 { font-size:clamp(2rem,9vw,3.3rem); }.lrn-cover { padding:24px; }.lrn-breadcrumb { padding:24px 0; }.lrn-topic { gap:18px; }.lrn-topic h3 { font-size:18px; }.lrn-section { padding:52px 0; } }
@media(prefers-reduced-motion:reduce) { .lrn-card { transition:none; }.lrn-card:hover { transform:none; } }

.lrn-section { position:relative; background:radial-gradient(ellipse at 12% 0,#472b802e,transparent 65%),#080c1d; border-block:1px solid #747dff26; }
.lrn-page { background:radial-gradient(ellipse at 85% 12%,#4834a32e,transparent 45%),#080c1d; }
.lrn-section h2,.lrn-page h1 { text-transform:uppercase; letter-spacing:-.025em; }
.lrn-page h1 em { text-shadow:0 0 30px #00e5ff33; }
.lrn-workshop h1 { font-size:clamp(2.2rem,4.5vw,4.4rem); line-height:1.15; }
.lrn-page h1 em,.lrn-section h2 span { color:#00e5ff; }
.lrn-workshop h1 em { color:#ba8cff; }
.lrn-card { border-color:#7c8bca35; box-shadow:inset 0 1px #ffffff08; }
.lrn-card:hover { border-color:#00e5ff88; box-shadow:0 12px 36px #40258430; }
.lrn-card-art { background-image:linear-gradient(#889af00b 1px,transparent 1px),linear-gradient(90deg,#889af00b 1px,transparent 1px); background-size:22px 22px; }
.lrn-card-art>strong { font-family:var(--font-display); font-size:clamp(1.3rem,2.6vw,2.4rem); letter-spacing:-.04em; text-shadow:0 0 20px #00e5ff25; }
.lrn-card-meta { border-color:#6279ac33; }
.lrn-card-link { color:#6feaff; }
.lrn-cover { aspect-ratio:1; padding:24px; border:1px solid #00e5ff45; background:radial-gradient(ellipse at 50% 55%,#34326a4d,transparent 75%),#0c1529; color:#75eaff; box-shadow:inset 0 0 50px #33297818,0 20px 70px #0005; }
.lrn-cover.lrn-orange { border-color:#b181ff55; color:#bc91ff; background:radial-gradient(ellipse at 50% 55%,#56306b50,transparent 75%),#121329; }
.lrn-cover::before { inset:12px; width:auto; aspect-ratio:auto; border:1px solid #9ba5e018; border-radius:3px; opacity:1; pointer-events:none; }
.lrn-cover>span { display:flex; justify-content:space-between; gap:12px; }
.lrn-signal { display:block; width:100%; height:auto; aspect-ratio:1.35; position:relative; z-index:1; overflow:visible; }
.lrn-signal svg { width:100%; height:100%; display:block; }
.lrn-cover-footer { color:#a4bed8; font-size:10px; }
.lrn-cover-footer b { color:inherit; font-weight:500; }
.lrn-signal-pulse { transform-box:fill-box; transform-origin:center; animation:learning-signal 5s ease-in-out infinite; }
.lrn-facts strong { color:#f0f6ff; }
.lrn-topics h2 { color:#f0f6ff; }
.lrn-topic>b,.lrn-topic>span { color:#75eaff; }
.lrn-overview,.lrn-topic,.lrn-page-end { border-color:#748bc733; }
.lrn-facts div+div { border-color:#748bc733; }
@keyframes learning-signal { 0%,100%{opacity:.35} 50%{opacity:.85} }
@media(max-width:480px) { .lrn-cover { padding:20px; }.lrn-cover>span { font-size:9px; }.lrn-workshop h1 { font-size:clamp(1.9rem,8vw,3rem); }.lrn-card-art>strong { font-size:32px; } }
@media(prefers-reduced-motion:reduce) { .lrn-signal-pulse { animation:none; } }
