.learning-shell{--learn-gradient:linear-gradient(100deg,#ff9bd6,#c27bff 35%,#6fb1ff 70%,#00e0ff);color:#edf0fa;max-width:1100px;margin:auto;padding:0 20px 64px}
.learning-shell .learn-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid #ffffff12;font-size:.88rem}
.learn-bar nav,.learn-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.learn-bar a{text-decoration:none;color:#bdc9e6}.learn-bar a:hover{color:#fff}
.learning-shell .learn-hero{padding:64px 0 40px;position:relative}.learn-hero:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 40%,#75338824,transparent 60%)}
.learning-shell .eyebrow{color:#a2b9fb;text-transform:uppercase;font-size:.75rem;letter-spacing:.17em;font-weight:700;margin-bottom:14px}
.learning-shell h1{font-size:clamp(2rem,5vw,3.8rem);max-width:850px;line-height:1.12;letter-spacing:-.035em;font-weight:800;margin:0 0 20px}
.learning-shell .learn-gradient{background:var(--learn-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
.learning-shell .lead{color:#bcc5d9;max-width:720px;line-height:1.7;font-size:1.05rem}
.learning-shell h2{font-size:1.5rem;font-weight:700;line-height:1.35}.learning-shell h3{font-size:1.12rem;line-height:1.45;font-weight:700}
.learn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.learn-card,.learn-panel{border:1px solid #ffffff16;background:linear-gradient(145deg,#181528e8,#10131ee8);border-radius:18px;padding:26px}
.learn-card{display:flex;flex-direction:column;gap:15px;position:relative;overflow:hidden;transition:border-color .2s ease,transform .2s ease}.learn-card:hover{border-color:#a291d166;transform:translateY(-3px)}
.learn-card h2{font-size:1.35rem;margin:0}.learn-card p{color:#b9c3d8;line-height:1.65;margin:0}.learn-card h2 a{display:block;text-decoration:none}.learn-card .learn-actions{margin-top:auto;padding-top:10px}
.learn-badge{display:inline-block;align-self:start;padding:5px 10px;border-radius:6px;font-size:.73rem;background:#a190f51a;color:#c7b9ff;border:1px solid #c7b9ff20;letter-spacing:.02em}
.learn-price{font-size:1.15rem;font-weight:700;color:#a9dafe}.learn-meta{color:#acb8d0;font-size:.88rem;line-height:1.8}.learn-meta strong{color:#edf0fa}
.learning-shell .learn-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;background:linear-gradient(100deg,#753388,#2142ab);border:1px solid #a99af138;border-radius:9px;color:#fff;text-decoration:none;font-size:.88rem;font-weight:700;cursor:pointer;line-height:1.5}
.learning-shell .learn-button.secondary{background:#ffffff05;border-color:#ffffff25}.learning-shell a:focus-visible,.learning-shell button:focus-visible{outline:2px solid #85d5ff;outline-offset:4px}
.learn-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:26px;align-items:start}.learn-stack{display:grid;gap:22px}.learn-panel h2{margin-bottom:18px}.learn-panel p,.learn-panel li{line-height:1.8;color:#c0c9dd}
.learn-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 24px}.learn-facts dt{font-size:.76rem;color:#99a7c4;font-weight:500}.learn-facts dd{margin:4px 0 0;font-size:.92rem;overflow-wrap:anywhere}
.learning-shell form p{margin-bottom:18px}.learning-shell label{display:block;font-size:.88rem;color:#cad3e5;margin-bottom:7px}.learning-shell input:not([type=checkbox]):not([type=hidden]),.learning-shell select,.learning-shell textarea{width:100%;padding:11px 12px;background:#0a0d18;border:1px solid #ffffff30;border-radius:8px;color:#f5f7ff;min-width:0}
.learning-shell input[type=checkbox]{margin-right:7px;accent-color:#9077ef}.learning-shell form .helptext{font-size:.78rem;display:block;color:#aebbd2;margin-top:6px}.learning-shell .errorlist{color:#ffb4b4;list-style:none;padding:0;font-size:.88rem}
.learn-notice{background:#94b8ff0d;border:1px solid #94b8ff30;border-left:3px solid #91b3ff;border-radius:8px;padding:16px 20px;margin:18px 0;color:#ced9ed;line-height:1.7}.learn-notice.error{border-color:#ff909040;color:#ffd0d0}.learn-empty{padding:48px 28px;text-align:center;border:1px dashed #ffffff26;border-radius:18px;color:#b4bfd6}
.learn-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:0 0 28px}.learn-filters label{margin:0}.learn-filters select{min-width:180px}.learn-spaced{margin-top:32px}.learn-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid #ffffff15}.learn-row:last-child{border-bottom:0}.learn-row small{display:block;color:#aebad0;margin-top:5px}.learn-row a{text-decoration:none}.learn-locked{opacity:.65}
.learn-video{aspect-ratio:16/9;width:100%;border:0;border-radius:12px;background:#070a10}.learn-body{white-space:normal;line-height:1.85;color:#d3dbec;overflow-wrap:anywhere}.learn-progress{height:7px;background:#ffffff12;border-radius:99px;margin:12px 0;overflow:hidden}.learn-progress span{display:block;height:100%;background:var(--learn-gradient)}
.learn-auth{max-width:580px;margin:60px auto}.learn-auth button{padding:11px 18px;background:linear-gradient(100deg,#753388,#2142ab);border:0;border-radius:8px;color:#fff;font-weight:700}.learn-auth a{color:#b5c9ff}.learn-auth h1{font-size:2.2rem}.learn-auth ul{padding-left:18px}
.learn-payment-instructions{white-space:pre-line}.learn-certificate{max-width:900px;margin:40px auto;padding:70px 45px;border:1px solid #c3b6ff70;outline:8px solid #b4a6fa0b;text-align:center;background:radial-gradient(ellipse at 50% 0,#75338833,transparent 65%),#10121d}.learn-certificate .recipient{font-size:clamp(1.8rem,4vw,3rem);color:#d6c7ff;margin:28px 0}.learn-certificate .verification{font-size:.8rem;overflow-wrap:anywhere;color:#adbad0;margin-top:32px}
/* Distinct landing pages and reusable course/event artwork. */
.learning-shell { max-width: 1280px; padding-bottom: 80px; }
.learning-shell .learn-bar { padding: 18px 0; font-size: .78rem; }
.learn-breadcrumb { color: #95a2be; }
.learn-breadcrumb > span[aria-hidden] { color: #59627c; }
.learning-shell .learn-hero-split { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.85fr); align-items: center; gap: 64px; padding: 58px 0 64px; }
.learn-hero-split:before { inset: 0 -20px; background: radial-gradient(ellipse at 85% 45%,#75338825,transparent 58%); }
.hero-copy,.hero-learning-art,.hero-event-art,.hero-detail-art { position: relative; min-width: 0; }
.learning-shell .learn-hero-split h1 { font-size: clamp(2.4rem,4.4vw,3.8rem); letter-spacing: -.045em; line-height: 1.1; }
.learning-shell .learn-hero-split .lead { font-size: 1rem; line-height: 1.8; max-width: 580px; margin-bottom: 26px; }
.learning-shell .page-intent { display: flex; align-items: center; gap: 9px; color: #c3b5ff; font-size: .7rem; letter-spacing: .14em; }
.intent-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #b994ff; box-shadow: 0 0 16px #b994ff90; flex-shrink: 0; }
.events-hero .intent-dot { background: #77d8ef; box-shadow: 0 0 16px #77d8ef70; }
.learning-shell .events-hero .page-intent { color: #9fdfec; }
.hero-text-link { font-size: .87rem; font-weight: 600; color: #c1cae2; text-decoration: none; padding: 10px 0; }
.hero-text-link:hover { color: #fff; }
.hero-features { display: flex; gap: 8px 18px; flex-wrap: wrap; margin-top: 26px; color: #9aa9c5; font-size: .75rem; }
.hero-features span { display: inline-flex; align-items: center; gap: 7px; }
.hero-features span:before { content: ''; width: 4px; height: 4px; background: #8c82bd; border-radius: 50%; flex-shrink: 0; }
.hero-learning-art { padding: 24px 10px 24px 0; }
.art-orbit { position: absolute; width: 90%; aspect-ratio: 1; border-radius: 50%; border: 1px solid #cbb9ff13; inset: 0; margin: auto; box-shadow: 0 0 80px #75338814; }
.art-orbit:after { content: ''; position: absolute; inset: 24px; border: 1px dashed #91bdff1c; border-radius: 50%; }
.art-course-window { position: relative; background: linear-gradient(145deg,#211a35,#101622); border: 1px solid #c6b3ff38; border-radius: 18px; padding: 18px; box-shadow: 0 24px 64px #0005; transform: rotate(-3deg); }
.art-window-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: #99a4c4; font-size: .54rem; letter-spacing: .12em; padding-bottom: 16px; }
.art-window-dots { color: #a987c9; font-size: .6rem; letter-spacing: .25em; }
.art-video { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-height: 150px; background: radial-gradient(ellipse at 25% 80%,#8e54ae55,transparent 75%),linear-gradient(120deg,#222b54,#132039); border: 1px solid #a4b3ff20; border-radius: 10px; color: #d9ccff; }
.art-video svg { width: 45px; height: 45px; }
.art-video span { font-size: .68rem; color: #c9d5ed; }
.art-lesson-row { display: flex; align-items: center; gap: 12px; padding: 16px 2px 0; font-size: .64rem; color: #d3daec; }
.art-lesson-row > span { width: 25px; height: 25px; border: 1px solid #c9baff30; border-radius: 7px; display: grid; place-items: center; color: #bba5ec; }
.art-lesson-row > div { flex: 1; }.art-lesson-row strong { font-weight: 500; }.art-lesson-row i { display: block; height: 3px; width: 70%; margin-top: 7px; background: #b99ada25; border-radius: 2px; }.art-lesson-row > b { font-size: .8rem; color: #a3d5ee; }
.art-floating-label { position: absolute; right: -8px; bottom: 4px; padding: 12px 18px; background: #24223c; border: 1px solid #bda2ff50; border-radius: 10px; color: #e2d9ff; box-shadow: 0 10px 24px #0004; font-size: .75rem; }.art-floating-label span { margin-left: 12px; color: #85dcf4; }
.catalog-section { border-top: 1px solid #ffffff12; padding-top: 30px; scroll-margin-top: 115px; }
.catalog-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 24px; }.catalog-heading .eyebrow { font-size: .64rem; margin-bottom: 8px; }.catalog-heading h2 { margin: 0; font-size: 1.6rem; letter-spacing: -.02em; }.catalog-count { color: #9daac6; font-size: .8rem; white-space: nowrap; }
.learning-shell .learn-filters { padding: 16px 18px; background: #ffffff03; border: 1px solid #ffffff0d; border-radius: 12px; gap: 18px; margin-bottom: 26px; }.learning-shell .learn-filters label { font-size: .73rem; color: #b0bdd6; }.learning-shell .learn-filters select { min-width: 210px; padding: 9px 12px; margin-top: 5px; }.learning-shell .learn-filters .filter-checkbox { display: flex; align-items: center; padding-bottom: 10px; gap: 6px; font-size: .8rem; }.learn-filters .learn-button { margin-left: auto; }
.learn-card.catalog-card { padding: 0; gap: 0; border-color: #ffffff18; border-radius: 15px; background: #141320; }.catalog-card .learn-card-body { display: flex; flex: 1; flex-direction: column; padding: 23px; gap: 15px; min-width: 0; }.catalog-card h2 { font-size: 1.16rem; line-height: 1.5; }.catalog-card h2 a { color: #eeeaf9; }.catalog-card h2 a:hover { color: #b9caff; }.catalog-card p { font-size: .86rem; line-height: 1.8; }.card-banner-link { display: block; text-decoration: none; flex-shrink: 0; overflow: hidden; }.card-labels { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 10px; }.card-labels .learn-badge { font-size: .63rem; padding: 4px 7px; }.card-certificate { color: #a3c9ca; font-size: .65rem; }.card-instructor { display: flex; align-items: center; gap: 9px; color: #acb6cd; font-size: .75rem; }.instructor-avatar { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; border: 1px solid #b7a8eb35; background: #a38adb12; font-size: .7rem; color: #cfbff4; }.catalog-card .card-bottom { justify-content: space-between; border-top: 1px solid #ffffff12; padding-top: 17px; gap: 10px; }.price-note { display: block; font-size: .64rem; color: #97a7c1; font-weight: 400; }.card-detail-link { color: #c8b4fa; text-decoration: none; font-size: .76rem; font-weight: 600; }.card-detail-link span { margin-left: 5px; }.learn-empty { grid-column: 1/-1; }.learn-empty p { color: #9daac5; font-size: .9rem; margin: 12px 0 20px; }
.course-banner,.event-banner { aspect-ratio: 16/9; min-height: 180px; position: relative; overflow: hidden; isolation: isolate; color: #c5b5f2; background: radial-gradient(ellipse at 25% 110%,#a263b961,transparent 65%),linear-gradient(125deg,#332448,#18234a); }
.course-banner:before,.event-banner:before { content: ''; position: absolute; width: 75%; aspect-ratio: 1; border: 1px solid #d2c1ff14; border-radius: 50%; right: -20%; top: -45%; box-shadow: 0 0 0 30px #d2c1ff05,0 0 0 60px #d2c1ff04; z-index: -1; }
.course-banner img,.event-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.course-banner.has-image:after,.event-banner.has-image:after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,#0809168c,transparent 45%,#080916c9); }
.banner-topline { display: flex; justify-content: space-between; align-items: center; gap: 10px; position: absolute; top: 18px; left: 20px; right: 20px; color: #ded7f4; font-size: .53rem; letter-spacing: .16em; }.banner-topline b { font-weight: 400; color: #ac9fca; }.banner-kind { font-size: .49rem; letter-spacing: .09em; border: 1px solid #d2c0ff3d; border-radius: 4px; padding: 4px 6px; color: #e0d7f5; background: #0d122333; white-space: nowrap; }.banner-art { position: absolute; right: 10px; bottom: 0; width: 48%; opacity: .85; }.banner-art svg { display: block; width: 100%; height: auto; }.banner-topic { position: absolute; left: 20px; bottom: 24px; max-width: 53%; font-size: clamp(1rem,1.6vw,1.45rem); line-height: 1.3; font-weight: 600; color: #eee3ff; letter-spacing: -.02em; }.course-banner.has-image .banner-art { display: none; }
.catalog-card:nth-child(3n+2) .course-banner { background: radial-gradient(ellipse at 20% 110%,#126b9344,transparent 65%),linear-gradient(125deg,#18283e,#1c3444); color: #9fcbd9; }.catalog-card:nth-child(3n) .course-banner { background: radial-gradient(ellipse at 20% 110%,#9c3e7944,transparent 65%),linear-gradient(125deg,#3a213d,#312340); }
.event-banner { background: radial-gradient(ellipse at 80% 110%,#16778944,transparent 70%),linear-gradient(120deg,#172843,#18353e); color: #a1d3dc; }.event-date-tile { position: absolute; top: 31%; left: 23px; width: 70px; padding: 8px; text-align: center; border: 1px solid #b4e0f43d; border-radius: 8px; background: #d4edf208; }.event-date-tile span { display: block; font-size: .52rem; text-transform: uppercase; letter-spacing: .15em; color: #c0dce4; }.event-date-tile strong { display: block; font-size: 2.25rem; line-height: 1.1; margin: 4px 0; color: #e0f3f7; font-weight: 500; }.event-banner-caption { position: absolute; left: 115px; right: 20px; bottom: 24px; display: flex; flex-direction: column; gap: 7px; }.event-banner-caption span { font-size: .9rem; color: #c8e3eb; }.event-banner-caption strong { font-size: .7rem; font-weight: 400; color: #94c1ce; }
.event-spotlight-label { text-transform: uppercase; font-size: .6rem; letter-spacing: .2em; color: #95bac9; margin-bottom: 13px; }.event-spotlight { display: block; text-decoration: none; border: 1px solid #9bd8e92e; border-radius: 14px; overflow: hidden; background: #131d29; box-shadow: 0 20px 55px #0003; }.spotlight-copy { padding: 18px 22px; }.learning-shell .spotlight-copy h2 { font-size: .98rem; line-height: 1.6; color: #e5eef7; margin-bottom: 10px; }.spotlight-copy > span { color: #8bcbdc; font-size: .7rem; }.event-placeholder-art { display: flex; flex-direction: column; gap: 18px; align-items: center; padding: 36px 24px; border: 1px solid #99d6e226; border-radius: 16px; background: radial-gradient(ellipse at 50% 30%,#1f64742e,transparent 75%),#111c28; }.event-placeholder-art svg { width: 130px; color: #96d4de; }.event-placeholder-art strong { color: #c1dce8; font-size: .95rem; }.event-placeholder-art > span:last-child { color: #8aa7bb; font-size: .75rem; }
.catalog-tabs { display: flex; padding: 4px; background: #ffffff05; border: 1px solid #ffffff10; border-radius: 9px; }.catalog-tabs a { text-decoration: none; padding: 9px 13px; font-size: .75rem; color: #99abc3; white-space: nowrap; }.catalog-tabs a[aria-current] { color: #d9eaf3; background: #87cfe014; border-radius: 6px; }
.learning-shell .detail-hero { gap: 54px; }.learning-shell .detail-hero h1 { font-size: clamp(2.1rem,3.8vw,3.25rem); }.detail-hero .hero-features { margin: 0 0 24px; }.hero-detail-art { border: 1px solid #c3b5ee25; border-radius: 14px; overflow: hidden; box-shadow: 0 20px 55px #0003; }.detail-art-caption { background: #161727; padding: 18px 22px; }.detail-art-caption span { display: block; font-size: .55rem; color: #a99acb; letter-spacing: .18em; margin-bottom: 7px; }.detail-art-caption strong { color: #cbd4e9; font-size: .85rem; font-weight: 500; }
#course-options,#event-registration,#course-outline { scroll-margin-top: 120px; }
@media(max-width:1000px){.learn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-columns{grid-template-columns:1fr}}
@media(max-width:575px){.learn-grid{grid-template-columns:1fr}.learning-shell{padding-left:16px;padding-right:16px}.learning-shell .learn-hero{padding:40px 0 26px}.learn-card,.learn-panel{padding:20px}.learn-row{align-items:start;flex-direction:column}.learn-facts{grid-template-columns:1fr}.learn-certificate{padding:40px 20px}.learn-bar{font-size:.8rem}.learn-filters>*{max-width:100%}}
@media(prefers-reduced-motion:reduce){.learn-card{transition:none}.learn-card:hover{transform:none}}
@media(max-width:1050px){
  .learning-shell .learn-hero-split { gap: 30px; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
  .learning-shell .learn-hero-split h1 { font-size: 2.8rem; }
  .hero-features { gap: 8px 12px; }
}
@media(max-width:800px){
  .learning-shell .learn-hero-split { grid-template-columns: 1fr; gap: 30px; padding: 38px 0 42px; }
  .hero-learning-art,.hero-event-art { display: none; }
  .learning-shell .learn-hero-split h1,.learning-shell .detail-hero h1 { font-size: clamp(2.1rem,6.5vw,3rem); }
  .hero-detail-art { max-width: 500px; width: 100%; }
  .learning-shell .learn-hero-split .lead { max-width: 100%; }
}
@media(max-width:575px){
  .learn-hero-split:before { inset: 0 -16px; }
  .learning-shell .learn-bar { gap: 10px; font-size: .7rem; }
  .catalog-heading { align-items: flex-start; flex-wrap: wrap; }
  .catalog-heading h2 { font-size: 1.4rem; }
  .learning-shell .learn-filters { align-items: stretch; padding: 15px; gap: 14px; }
  .learning-shell .learn-filters label { width: 100%; }
  .learning-shell .learn-filters select { min-width: 0; }
  .learn-filters .learn-button { margin-left: 0; }
  .catalog-card .learn-card-body { padding: 20px; }
  .banner-topic { font-size: 1.3rem; }
  .hero-features { font-size: .7rem; }
}
@media print{body{background:#fff!important;color:#15152a!important}body>.navbar,body>footer,#cookie-consent,#site-popup,.learn-bar,.no-print{display:none!important}.learning-shell{padding:0;max-width:none}.learn-certificate{background:#fff;color:#15152a;outline:0;border:2px solid #753388;margin:0;padding:45px 25px;break-inside:avoid}.learn-certificate .recipient{color:#753388}.learn-certificate p,.learn-certificate .verification{color:#333}.learn-certificate h1{color:#2142ab!important;background:none!important;-webkit-text-fill-color:#2142ab!important}.learning-shell .learn-hero{display:none}}
