/* /learn only. A catalog of real alternatives, not a numbered learning path. */
.lc-catalog { --lc-paper:#f0f1f3; --lc-white:#fff; --lc-ink:#101216; --lc-blue:#2347d8; --lc-muted:#586277; --lc-line:#d2d6df; color:var(--lc-ink); font-family:Onest,Arial,sans-serif; }
.lc-catalog * { box-sizing:border-box; }
.lc-catalog :is(h1,h2,h3,p,figure) { margin:0; }
.lc-catalog :is(a,summary):focus-visible { outline:3px solid var(--lc-blue); outline-offset:5px; }
.lc-catalog [id] { scroll-margin-top:calc(var(--header-height,80px) + 24px); }
.lc-catalog em { color:var(--lc-blue); font-style:normal; }
.lc-label { font-size:11px; line-height:1.6; font-weight:500; letter-spacing:.05em; text-transform:uppercase; color:var(--lc-muted); }
.lc-link { display:inline-flex; gap:12px; align-items:baseline; min-height:44px; max-width:100%; padding-block:10px; font-size:14px; line-height:1.6; color:var(--lc-blue); text-underline-offset:5px; text-decoration-thickness:1px; }
.lc-link > span { flex-shrink:0; }
.lc-hero { padding-block:28px 64px; }
.lc-breadcrumbs { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:center; font-size:12px; line-height:1.6; color:var(--lc-muted); margin-bottom:32px; }
.lc-breadcrumbs a { min-height:36px; display:inline-flex; align-items:center; }
.lc-hero-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:center; }
.lc-hero-copy { grid-column:1/8; min-width:0; }
.lc-hero-copy > .lc-label { margin-bottom:20px; }
.lc-hero h1 { font-size:clamp(44px,4.7vw,66px); line-height:1.08; letter-spacing:-.052em; font-weight:500; text-wrap:initial; }
.lc-lead { max-width:56ch; font-size:17px; line-height:1.7; margin-top:24px!important; }
.lc-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; margin-top:26px; }
.lc-intro-note { max-width:62ch; font-size:12px; line-height:1.8; color:var(--lc-muted); margin-top:16px!important; }
.lc-intro-result { max-width:62ch; margin-top:18px!important; padding-left:16px; border-left:2px solid var(--lc-blue); font-size:14px; line-height:1.75; }
.lc-intro-result strong { font-weight:500; }
.lc-intro-result a { color:var(--lc-blue); text-underline-offset:4px; }
.lc-hero-art { grid-column:9/-1; min-width:0; }
.lc-hero-art img { width:100%; height:auto; aspect-ratio:640/427; object-fit:contain; border-radius:8px; }
.lc-hero-art figcaption { padding-left:16px; margin-top:20px; border-left:2px solid var(--lc-blue); color:var(--lc-muted); font-size:13px; line-height:1.7; }
.lc-main-formats { padding-block:64px; background:var(--lc-white); border-block:1px solid var(--lc-line); }
.lc-section-heading { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:end; margin-bottom:36px; }
.lc-section-heading > div { grid-column:1/7; min-width:0; }
.lc-section-heading .lc-label { margin-bottom:18px; }
.lc-section-heading h2,.lc-before h2 { font-size:clamp(32px,3.2vw,44px); font-weight:500; line-height:1.18; letter-spacing:-.04em; }
.lc-section-heading > p { grid-column:8/-1; max-width:57ch; min-width:0; font-size:15px; line-height:1.8; color:var(--lc-muted); }
.lc-format { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; padding-block:28px; border-top:1px solid var(--lc-line); }
.lc-format:last-child { border-bottom:1px solid var(--lc-line); }
.lc-format-name { grid-column:1/4; min-width:0; }
.lc-format-work { grid-column:4/9; min-width:0; }
.lc-format-terms { grid-column:9/-1; min-width:0; }
.lc-format .lc-label { margin-bottom:12px; }
.lc-format-name h3 { font-size:27px; line-height:1.3; letter-spacing:-.035em; font-weight:500; }
.lc-situation { max-width:48ch; font-size:17px; line-height:1.6; }
.lc-work { font-size:14px; line-height:1.8; color:var(--lc-muted); margin-top:14px!important; max-width:56ch; }
.lc-duration { font-size:13px; line-height:1.7; }
.lc-price { font-size:30px; line-height:1.35; letter-spacing:-.04em; font-weight:500; font-variant-numeric:tabular-nums; margin-top:8px!important; }
.lc-note { font-size:12px; line-height:1.8; color:var(--lc-muted); }
.lc-format-terms .lc-note { max-width:46ch; margin-top:10px; }
.lc-format-terms .lc-link { margin-top:8px; }
.lc-course-credit { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; padding-top:28px; align-items:start; }
.lc-course-credit h3 { grid-column:1/4; font-size:17px; line-height:1.6; font-weight:500; }
.lc-course-credit > p { grid-column:4/9; font-size:13px; line-height:1.8; color:var(--lc-muted); }
.lc-course-credit > a { grid-column:9/-1; padding-top:0; }
.lc-additional { padding-block:60px; }
.lc-small-heading { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:end; margin-bottom:28px; }
.lc-small-heading h2 { grid-column:1/7; font-size:30px; line-height:1.25; font-weight:500; letter-spacing:-.035em; }
.lc-small-heading > p { grid-column:8/-1; font-size:14px; line-height:1.8; color:var(--lc-muted); }
.lc-additional-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.lc-additional-format { padding-block:24px 6px; border-top:1px solid var(--lc-line); min-width:0; }
.lc-additional-format .lc-label { margin-bottom:12px; }
.lc-additional-format h3 { font-size:25px; line-height:1.3; font-weight:500; letter-spacing:-.03em; }
.lc-additional-description { max-width:68ch; font-size:14px; line-height:1.8; color:var(--lc-muted); margin-top:14px!important; }
.lc-additional-price { font-size:24px; line-height:1.45; letter-spacing:-.025em; font-weight:500; margin-top:18px!important; font-variant-numeric:tabular-nums; }
.lc-additional-format > .lc-note { margin-top:4px; }
.lc-additional-format > .lc-link { margin-top:8px; }
.lc-before { padding-block:60px; background:var(--lc-white); border-block:1px solid var(--lc-line); }
.lc-before-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; }
.lc-before-grid > div:first-child { grid-column:1/6; min-width:0; }
.lc-before .lc-label { margin-bottom:18px; }
.lc-conditions { grid-column:7/-1; min-width:0; }
.lc-conditions p { font-size:14px; line-height:1.85; color:var(--lc-muted); }
.lc-conditions strong { font-weight:500; color:var(--lc-ink); }
.lc-conditions p + p { margin-top:18px; }
.lc-conditions > .lc-link { margin-top:12px; }
.lc-preview { padding-block:48px; }
.lc-preview-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:center; }
.lc-preview-grid > div { grid-column:1/8; min-width:0; }
.lc-preview .lc-label { margin-bottom:14px; }
.lc-preview h2 { font-size:28px; line-height:1.3; font-weight:500; letter-spacing:-.035em; }
.lc-preview p:not(.lc-label) { max-width:70ch; font-size:14px; line-height:1.8; color:var(--lc-muted); margin-top:14px; }
.lc-preview-links { grid-column:9/-1; display:flex; flex-direction:column; align-items:flex-start; min-width:0; }

@media(max-width:1199px) {
  .lc-hero h1 { font-size:clamp(42px,4.6vw,56px); }
  .lc-hero-art { grid-column:8/-1; }
  .lc-format-name h3 { font-size:24px; }
}
@media(max-width:959px) {
  .lc-format { grid-template-columns:minmax(0,1fr); gap:20px; }
  .lc-format-name,.lc-format-work,.lc-format-terms { grid-column:1; }
  .lc-format-name h3 { font-size:28px; }
  .lc-format .lc-label { margin-bottom:8px; }
  .lc-format-name .lc-label { color:var(--lc-blue); }
  .lc-situation,.lc-work,.lc-format-terms .lc-note { max-width:74ch; }
  .lc-format-terms { padding-left:16px; border-left:2px solid var(--lc-line); }
  .lc-course-credit { grid-template-columns:minmax(0,1fr); gap:10px; }
  .lc-course-credit > * { grid-column:1; }
  .lc-course-credit > p { max-width:80ch; }
}
@media(max-width:767px) {
  .lc-hero { padding-block:18px 40px; }
  .lc-breadcrumbs { margin-bottom:24px; font-size:11px; }
  .lc-hero-grid,.lc-section-heading,.lc-small-heading,.lc-before-grid,.lc-preview-grid { grid-template-columns:minmax(0,1fr); column-gap:0; row-gap:24px; }
  .lc-hero-copy,.lc-hero-art,.lc-section-heading > div,.lc-section-heading > p,.lc-small-heading > *,.lc-before-grid > div,.lc-preview-grid > div,.lc-preview-links { grid-column:1; }
  .lc-hero h1 { font-size:clamp(36px,8.5vw,48px); line-height:1.1; }
  .lc-hero-copy > .lc-label { font-size:10px; margin-bottom:18px; }
  .lc-lead { font-size:16px; margin-top:20px!important; }
  .lc-actions { margin-top:22px; gap:8px 18px; }
  .lc-intro-note { margin-top:12px!important; }
  .lc-hero-art { margin-top:4px!important; max-width:520px; }
  .lc-hero-art figcaption { margin-top:14px; font-size:12px; }
  .lc-main-formats,.lc-additional,.lc-before { padding-block:40px; }
  .lc-section-heading { margin-bottom:26px; }
  .lc-section-heading h2,.lc-before h2 { font-size:32px; }
  .lc-section-heading > p { font-size:14px; }
  .lc-format { padding-block:24px; }
  .lc-format-name h3 { font-size:26px; }
  .lc-situation { font-size:16px; }
  .lc-work { margin-top:10px!important; }
  .lc-price { font-size:28px; }
  .lc-course-credit { padding-top:24px; }
  .lc-small-heading { margin-bottom:24px; }
  .lc-small-heading h2 { font-size:27px; }
  .lc-additional-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  .lc-additional-description { margin-top:12px!important; }
  .lc-preview { padding-block:36px; }
  .lc-preview h2 { font-size:26px; }
}
@media(max-width:359px) {
  .lc-hero h1 { font-size:34px; }
  .lc-section-heading h2,.lc-before h2 { font-size:29px; }
  .lc-format-name h3 { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) {
  .lc-catalog * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
@media(forced-colors:active) {
  .lc-hero-art figcaption,.lc-format,.lc-additional-format,.lc-format-terms { border-color:CanvasText; }
}
