@layer prism-tokens, prism-base, prism-components, prism-offer, prism-responsive, prism-premium;

@layer prism-tokens {
  .marketing-page {
    --lp-bg: #f8f7fc;
    --lp-surface: #ffffff;
    --lp-surface-soft: #efecff;
    --lp-ink: #17182b;
    --lp-muted: #686b7f;
    --lp-line: #dedfea;
    --lp-primary: #6d4aff;
    --lp-primary-deep: #4c2bd3;
    --lp-secondary: #43dca8;
    --lp-secondary-ink: #123e31;
    --lp-dark: #111529;
    --lp-on-dark: #f8f8ff;
    --lp-radius: 26px;
    --lp-shadow: 0 28px 80px rgba(34, 30, 68, 0.14);
    --lp-shadow-soft: 0 14px 40px rgba(34, 30, 68, 0.075);
    /* Shared premium scale (defined in app.css `:root`). */
    --lp-section: var(--section-space);
    --lp-section-sm: var(--section-space-sm);
    --lp-h1: var(--text-display-xl);
    --lp-h2: var(--text-display-lg);
    --lp-h3: var(--text-display-md);
    --lp-lead: var(--text-lead);
    --lp-ease: var(--ease-out-expo);
  }

  .prism-theme-assurance {
    --lp-bg: #f7f5ef;
    --lp-surface: #fffefb;
    --lp-surface-soft: #e9eff1;
    --lp-ink: #182a3b;
    --lp-muted: #66717b;
    --lp-line: #d9deda;
    --lp-primary: #245777;
    --lp-primary-deep: #173c56;
    --lp-secondary: #d7aa4f;
    --lp-secondary-ink: #3f3011;
    --lp-dark: #162b3b;
    --lp-on-dark: #fbfaf5;
    --lp-radius: 20px;
    --lp-shadow: 0 28px 75px rgba(30, 55, 69, 0.13);
  }

  .prism-theme-momentum {
    --lp-bg: #f4fbf8;
    --lp-surface: #ffffff;
    --lp-surface-soft: #dff4ed;
    --lp-ink: #182724;
    --lp-muted: #61716d;
    --lp-line: #d4e3de;
    --lp-primary: #08766e;
    --lp-primary-deep: #07544f;
    --lp-secondary: #ffb747;
    --lp-secondary-ink: #4c3104;
    --lp-dark: #102c2a;
    --lp-on-dark: #f5fffc;
    --lp-radius: 18px;
    --lp-shadow: 0 28px 75px rgba(16, 59, 54, 0.14);
  }

  .prism-theme-prestige {
    --lp-bg: #080f1e;
    --lp-surface: #101a2c;
    --lp-surface-soft: #17243b;
    --lp-ink: #f3f6fd;
    --lp-muted: #9eabc0;
    --lp-line: #263752;
    --lp-primary: #6f7dff;
    --lp-primary-deep: #5666e9;
    --lp-secondary: #73dcff;
    --lp-secondary-ink: #062d3b;
    --lp-dark: #060b16;
    --lp-on-dark: #f7f9ff;
    --lp-radius: 16px;
    --lp-shadow: 0 32px 90px rgba(0, 0, 0, 0.34);
    --lp-shadow-soft: 0 16px 45px rgba(0, 0, 0, 0.24);
  }
}

@layer prism-resource {
  .resource-hub {
    color: var(--lp-ink);
    background: var(--lp-bg);
  }

  .resource-hub h1,
  .resource-hub h2,
  .resource-hub h3,
  .landing-resources h2,
  .landing-resources h3 { font-family: var(--font-display); }

  .resource-hub-hero {
    position: relative;
    overflow: hidden;
    padding: var(--lp-section-sm) 0;
    border-bottom: 1px solid var(--lp-line);
    background:
      linear-gradient(rgba(109,74,255,.055) 1px, transparent 1px),
      linear-gradient(90deg, rgba(109,74,255,.055) 1px, transparent 1px),
      var(--lp-bg);
    background-size: 42px 42px;
  }

  .resource-hub-hero::after {
    content: "";
    position: absolute;
    width: 460px;
    height: 150px;
    right: -75px;
    bottom: -85px;
    border: 4px solid var(--lp-secondary);
    border-radius: 50%;
    transform: rotate(-11deg);
  }

  .resource-hub-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    align-items: end;
    gap: 86px;
  }

  .resource-hub-hero h1 {
    max-width: 810px;
    margin: 24px 0 21px;
    font-size: clamp(53px, 6vw, 78px);
    line-height: .97;
    letter-spacing: -.065em;
    text-wrap: balance;
  }

  .resource-hub-lead {
    max-width: 720px;
    margin: 0;
    color: var(--lp-muted);
    font-size: 18px;
    line-height: 1.72;
  }

  .resource-access-note {
    position: relative;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    overflow: hidden;
    padding: 31px;
    border-radius: 23px 23px 8px 23px;
    color: #fff;
    background: var(--lp-dark);
    box-shadow: var(--lp-shadow);
  }

  .resource-access-note::before {
    content: "";
    position: absolute;
    width: 280px;
    height: 90px;
    right: -55px;
    top: 42px;
    border: 3px solid var(--lp-secondary);
    border-radius: 50%;
    opacity: .75;
    transform: rotate(-14deg);
  }

  .resource-access-note > span {
    position: absolute;
    left: 28px;
    top: 19px;
    color: rgba(255,255,255,.12);
    font: italic 92px/1 Georgia, serif;
  }

  .resource-access-note strong,
  .resource-access-note p { position: relative; }
  .resource-access-note strong { font: 740 27px/1.08 var(--font-display); }
  .resource-access-note p { margin: 11px 0 0; color: #b9c2d6; font-size: 14px; line-height: 1.65; }

  .resource-filter-section { padding: var(--lp-section-sm) 0 40px; }
  .resource-filter-heading { max-width: 760px; margin-bottom: 28px; }
  .resource-filter-heading h2 { margin: 12px 0 0; font-size: clamp(34px, 4vw, 48px); letter-spacing: -.045em; }

  .resource-filter-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px 38px;
    padding: 28px;
    border: 1px solid var(--lp-line);
    border-radius: 24px;
    background: var(--lp-surface);
    box-shadow: var(--lp-shadow-soft);
  }

  .resource-search-field { grid-column: 1 / -1; }
  .resource-search-field > label,
  .resource-chip-group legend,
  .resource-year-filter label {
    display: block;
    margin-bottom: 9px;
    color: var(--lp-muted);
    font: 650 11px/1.35 var(--font-utility);
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .resource-search-field > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
  .resource-search-field input,
  .resource-year-filter select {
    width: 100%;
    min-height: 56px;
    padding: 0 16px;
    border: 1px solid #cfd1df;
    border-radius: 14px;
    color: var(--lp-ink);
    background: #fbfafe;
    font: 600 14px var(--font-body);
    transition: border-color var(--dur-fast) var(--lp-ease), outline-color var(--dur-fast) var(--lp-ease);
  }
  .resource-search-field input { padding-left: 22px; border-radius: 999px; }
  .resource-search-field input:focus,
  .resource-year-filter select:focus { border-color: var(--lp-primary); outline: 3px solid color-mix(in srgb, var(--lp-primary) 18%, transparent); }

  .resource-chip-group { min-width: 0; margin: 0; padding: 0; border: 0; }
  .resource-chip-group > div { display: flex; flex-wrap: wrap; gap: 7px; }
  .resource-chip-group input { position: absolute; width: 1px; height: 1px; opacity: 0; }
  .resource-chip-group label {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    border: 1px solid var(--lp-line);
    border-radius: 999px;
    color: var(--lp-muted);
    background: #fbfafe;
    cursor: pointer;
    font-size: 12px;
    font-weight: 750;
    transition: border-color var(--dur-fast) var(--lp-ease), color var(--dur-fast) var(--lp-ease), background var(--dur-fast) var(--lp-ease);
  }
  .resource-chip-group label:hover { border-color: color-mix(in srgb, var(--lp-primary) 45%, var(--lp-line)); color: var(--lp-ink); }
  .resource-chip-group input:checked + label { border-color: var(--lp-primary); color: #fff; background: var(--lp-primary); }
  .resource-chip-group input:focus-visible + label { outline: 3px solid var(--lp-secondary); outline-offset: 2px; }
  .resource-year-filter { min-width: 165px; align-self: end; }
  .resource-year-filter select { min-height: 44px; }
  .resource-filter-reset { min-height: 44px; display: inline-flex; align-items: center; align-self: end; color: var(--lp-primary); font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

  .resource-results-section { padding: 50px 0 var(--lp-section); }
  .resource-results-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 34px;
  }
  .resource-results-heading h2 { margin: 10px 0 0; font-size: clamp(38px, 4vw, 52px); letter-spacing: -.05em; }
  .resource-results-heading > p { margin: 0 0 7px; color: var(--lp-muted); font: 650 11px var(--font-utility); }

  .resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .resource-card {
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--lp-line);
    border-radius: 22px;
    background: var(--lp-surface);
    box-shadow: 0 15px 45px rgba(31, 26, 66, .065);
    transition: transform var(--dur-fast) var(--lp-ease), box-shadow var(--dur-fast) var(--lp-ease), border-color var(--dur-fast) var(--lp-ease);
  }
  .resource-card:hover { border-color: color-mix(in srgb, var(--lp-primary) 32%, var(--lp-line)); box-shadow: 0 25px 60px rgba(31, 26, 66, .12); transform: translateY(-3px); }

  .resource-card-index {
    position: relative;
    min-height: 170px;
    display: grid;
    align-content: space-between;
    overflow: hidden;
    padding: 21px;
    color: #fff;
    background:
      linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
      linear-gradient(145deg, var(--lp-primary), #211742);
    background-size: 28px 28px, 28px 28px, auto;
  }
  .resource-card:nth-child(3n + 2) .resource-card-index { background-color: #103e35; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(145deg, #16765d, #102b2b); }
  .resource-card-index::after { content: ""; position: absolute; width: 250px; height: 76px; right: -45px; bottom: 15px; border: 3px solid var(--lp-secondary); border-radius: 50%; transform: rotate(-13deg); }
  .resource-card-index span,
  .resource-card-index small { position: relative; z-index: 1; font: 650 11px/1.3 var(--font-utility); letter-spacing: .08em; text-transform: uppercase; }
  .resource-card-index strong { position: relative; z-index: 1; align-self: center; justify-self: center; font: italic 58px/1 Georgia, serif; }
  .resource-card-index small { justify-self: end; color: #d6d9e5; }

  .resource-card-content { flex: 1; display: flex; flex-direction: column; padding: 23px; }
  .resource-card-labels { display: flex; flex-wrap: wrap; gap: 6px; }
  .resource-card-labels span {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 0 8px;
    border-radius: 7px 7px 2px 7px;
    color: var(--lp-primary-deep);
    background: var(--lp-surface-soft);
    font: 650 11px/1 var(--font-utility);
  }
  .resource-card-labels span:nth-child(2) { color: var(--lp-secondary-ink); background: color-mix(in srgb, var(--lp-secondary) 25%, #fff); }
  .resource-card h3 { margin: 17px 0 9px; font-size: 25px; line-height: 1.08; letter-spacing: -.035em; }
  .resource-card-content > p { color: var(--lp-muted); font-size: 13px; line-height: 1.65; }
  .resource-topic-list { display: flex; flex-wrap: wrap; gap: 5px; margin: 12px 0 0; padding: 0; list-style: none; }
  .resource-topic-list li { padding: 5px 7px; border: 1px solid var(--lp-line); border-radius: 6px; color: var(--lp-muted); font-size: 11px; }
  .resource-metadata { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0; padding: 17px 0; border-top: 1px solid var(--lp-line); border-bottom: 1px solid var(--lp-line); }
  .resource-metadata div { min-width: 0; }
  .resource-metadata dt { color: var(--lp-muted); font: 650 11px/1.3 var(--font-utility); text-transform: uppercase; }
  .resource-metadata dd { margin: 4px 0 0; overflow-wrap: anywhere; color: var(--lp-ink); font-size: 12px; font-weight: 700; }
  .resource-source { margin: auto 0 0; padding-top: 3px; }
  .resource-source span { display: block; margin-bottom: 3px; color: var(--lp-ink); font: 650 11px/1.3 var(--font-utility); text-transform: uppercase; }
  .resource-updated { margin: 8px 0 0; font-size: 11px !important; }
  .resource-card-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 15px; margin-top: 20px; }
  .resource-card-actions .prism-button { min-height: 48px; flex: 1 0 100%; padding-inline: 16px; }
  .resource-card-actions > a:not(.prism-button) { min-height: 44px; display: inline-flex; align-items: center; color: var(--lp-primary); font-size: 12px; font-weight: 800; }

  .resource-context-cta {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: .8fr 1.3fr auto;
    align-items: center;
    gap: 25px;
    padding: 28px 31px;
    border-radius: 18px 18px 6px 18px;
    color: #fff;
    background: var(--lp-dark);
  }
  .resource-context-cta > span { color: var(--lp-secondary); font: 650 11px/1.4 var(--font-utility); text-transform: uppercase; }
  .resource-context-cta h3 { margin: 0; color: #fff; font-size: 24px; }
  .resource-context-cta a { min-height: 44px; display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: 13px; font-weight: 800; }

  .resource-empty-state { padding: 60px 30px; border: 1px dashed #bcbfd0; border-radius: 18px; text-align: center; background: #fff; }
  .resource-empty-state strong { font: 740 25px var(--font-display); }
  .resource-empty-state p { color: var(--lp-muted); }
  .resource-empty-state a { min-height: 44px; display: inline-flex; align-items: center; color: var(--lp-primary); font-weight: 800; }

  .resource-guides {
    padding: var(--lp-section) 0;
    border-top: 1px solid var(--lp-line);
    background: #fff;
  }
  .resource-guides-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    align-items: end;
    gap: 70px;
    margin-bottom: 44px;
  }
  .resource-guides-heading h2 {
    max-width: 760px;
    margin: 13px 0 0;
    font-size: clamp(39px, 4.5vw, 59px);
    line-height: 1.02;
    letter-spacing: -.055em;
  }
  .resource-guides-heading > p {
    margin: 0 0 4px;
    color: var(--lp-muted);
    font-size: 14px;
    line-height: 1.75;
  }
  .resource-guide-index { border-top: 1px solid var(--lp-line); }
  .resource-guide-index article {
    min-width: 0;
    display: grid;
    grid-template-columns: 52px 190px minmax(260px, .9fr) minmax(260px, 1fr) 170px;
    gap: 18px;
    align-items: center;
    padding: 25px 0;
    border-bottom: 1px solid var(--lp-line);
  }
  .resource-guide-number {
    color: var(--lp-primary);
    font: 800 11px/1 var(--font-utility);
  }
  .resource-guide-labels { display: grid; gap: 5px; }
  .resource-guide-labels span:first-child { color: var(--lp-primary-deep); font: 800 10px/1.35 var(--font-utility); text-transform: uppercase; }
  .resource-guide-labels span:last-child { color: var(--lp-muted); font-size: 11px; font-weight: 700; }
  .resource-guide-index h3 { margin: 0; font-size: 21px; line-height: 1.18; letter-spacing: -.025em; }
  .resource-guide-index h3 a { color: var(--lp-ink); text-decoration-thickness: 1px; text-underline-offset: 5px; }
  .resource-guide-index h3 a:hover { color: var(--lp-primary-deep); }
  .resource-guide-index article > p { margin: 0; color: var(--lp-muted); font-size: 12px; line-height: 1.65; }
  .resource-guide-action {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    color: var(--lp-primary-deep);
    font-size: 11px;
    font-weight: 850;
    text-align: right;
    text-underline-offset: 4px;
  }

  .resource-workflow { padding: var(--lp-section) 0; color: #fff; background: var(--lp-dark); }
  .resource-workflow-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: start; gap: 100px; }
  .resource-workflow .prism-kicker { color: var(--lp-secondary); }
  .resource-workflow h2 { margin: 16px 0 0; color: #fff; font-size: clamp(40px, 4.5vw, 57px); line-height: 1.02; letter-spacing: -.055em; }
  .resource-workflow ol { display: grid; margin: 0; padding: 0; list-style: none; counter-reset: workflow; }
  .resource-workflow li { position: relative; min-height: 115px; display: grid; align-content: center; padding: 20px 15px 20px 70px; border-bottom: 1px solid #2a354f; counter-increment: workflow; }
  .resource-workflow li:first-child { border-top: 1px solid #2a354f; }
  .resource-workflow li::before { content: "0" counter(workflow); position: absolute; left: 10px; top: 31px; color: var(--lp-secondary); font: 650 11px var(--font-utility); }
  .resource-workflow li strong { font: 730 20px var(--font-display); }
  .resource-workflow li span { margin-top: 5px; color: #aeb8cc; font-size: 13px; line-height: 1.6; }

  .resource-final-cta { padding: var(--lp-section-sm) 0 var(--lp-section); }
  .resource-final-cta .prism-container { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 45px 50px; border: 1px solid var(--lp-line); border-radius: 24px 24px 8px 24px; background: #fff; box-shadow: var(--lp-shadow-soft); }
  .resource-final-cta h2 { max-width: 760px; margin: 13px 0 8px; font-size: clamp(35px, 4vw, 49px); letter-spacing: -.045em; }
  .resource-final-cta p { max-width: 700px; margin: 0; color: var(--lp-muted); font-size: 13px; }
  .resource-final-cta .prism-button { flex: 0 0 auto; }

  .resource-library-intro { padding-block: 56px 40px; }
  .resource-library-intro h1 {
    max-width: 850px;
    margin: 18px 0;
    font-size: clamp(32px, 4.2vw, 52px);
    line-height: 1.12;
    letter-spacing: -.03em;
    text-wrap: balance;
  }
  .resource-library-intro > p { max-width: 65ch; color: var(--lp-muted); line-height: 1.65; }
  .resource-library-nav { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
  .resource-library-groups { display: grid; gap: 48px; padding-bottom: 64px; }
  .resource-library-groups > section { scroll-margin-top: 110px; }
  .resource-library-groups h2 { margin: 0 0 20px; font-size: clamp(26px, 3vw, 34px); letter-spacing: -.025em; line-height: 1.2; }
  .resource-library .resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .resource-library .resource-card { border-radius: 16px; box-shadow: none; }
  .resource-library .resource-card:hover { transform: none; box-shadow: none; }
  .resource-video-preview { position: relative; display: block; flex: 0 0 auto; aspect-ratio: 16 / 9; overflow: hidden; background: var(--lp-dark); }
  .resource-video-preview img,
  .resource-video-preview video { display: block; width: 100%; height: 100%; object-fit: cover; }
  .resource-video-play { position: absolute; right: 16px; bottom: 16px; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: var(--lp-primary-deep); background: #fff; }
  .resource-video-preview:hover .resource-video-play,
  .resource-video-preview:focus-visible .resource-video-play { color: #fff; background: var(--lp-primary-deep); }
  .resource-video-preview:focus-visible { outline: 3px solid var(--lp-primary); outline-offset: -4px; }
  .resource-library .resource-card h3 { margin: 0 0 12px; font-size: 23px; line-height: 1.2; }
  .resource-library .resource-card-content > p { margin: 0 0 20px; font-size: 15px; }
  .resource-library .resource-card-actions { margin-top: auto; }
  .resource-library .resource-card-actions .prism-button { flex: 0 1 auto; }
  .resource-library .resource-card-actions > a:not(.prism-button) { font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
  .resource-course-lessons {
    --course-accent: var(--lp-primary);
    --course-accent-deep: var(--lp-primary-deep);
    --course-accent-soft: var(--lp-surface-soft);
  }
  .resource-course-lessons-heading { margin-bottom: 24px; }
  .resource-course-lessons-heading h2 { margin-bottom: 12px; }
  .resource-course-lessons-heading p { max-width: 65ch; margin: 0; color: var(--lp-muted); line-height: 1.65; }

  .exam-archive { padding-top: 40px; border-top: 1px solid var(--lp-line); }
  .exam-archive-header { display: flex; align-items: start; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
  .exam-archive-header h2 { margin-bottom: 12px; }
  .exam-archive-header p { max-width: 62ch; margin: 0; color: var(--lp-muted); line-height: 1.65; }
  .exam-archive-source { display: inline-flex; align-items: center; flex-shrink: 0; gap: 8px; min-height: 44px; color: var(--lp-primary-deep); font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
  .exam-archive-years { border-top: 1px solid var(--lp-line); }
  .exam-archive-year { margin: 0; border-bottom: 1px solid var(--lp-line); scroll-margin-top: 110px; }
  .exam-archive-year > summary { display: flex; align-items: center; gap: 24px; padding: 22px 24px; cursor: pointer; list-style: none; }
  .exam-archive-year > summary::-webkit-details-marker { display: none; }
  .exam-archive-year > summary:hover { background: var(--lp-surface-soft); }
  .exam-archive-year[open] > summary { color: var(--lp-primary-deep); background: var(--lp-surface-soft); }
  .exam-archive-year-number { font: 750 clamp(26px, 3vw, 32px)/1.1 var(--font-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
  .exam-archive-count { color: var(--lp-muted); font-size: 14px; }
  .exam-archive-toggle { position: relative; width: 20px; height: 20px; margin-left: auto; flex-shrink: 0; }
  .exam-archive-toggle::before,
  .exam-archive-toggle::after { content: ""; position: absolute; inset: 9px 3px; background: currentColor; }
  .exam-archive-toggle::after { transform: rotate(90deg); }
  .exam-archive-year[open] .exam-archive-toggle::after { transform: rotate(0); }
  .exam-archive-papers { margin: 0; padding: 0 24px; list-style: none; background: var(--lp-surface); }
  .exam-archive-paper { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 20px 0; }
  .exam-archive-paper + .exam-archive-paper { border-top: 1px solid var(--lp-line); }
  .exam-archive-paper-name { display: grid; gap: 5px; min-width: 0; }
  .exam-archive-paper-name strong { font-size: 17px; line-height: 1.4; }
  .exam-archive-paper-name > span { color: var(--lp-muted); font-size: 14px; line-height: 1.5; }
  .exam-archive-actions { display: flex; align-items: center; flex-shrink: 0; flex-wrap: wrap; gap: 8px 20px; }
  .exam-archive-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; color: var(--lp-primary-deep); font-size: 14px; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
  .exam-archive-actions .exam-archive-paper-link { padding: 10px 16px; border: 1px solid var(--lp-line); border-radius: 10px; text-decoration: none; }
  .exam-archive-actions a:hover { color: var(--lp-ink); }
  .exam-archive-paper-link:hover { background: var(--lp-surface-soft); }
  .exam-archive a:focus-visible,
  .exam-archive summary:focus-visible { outline: 3px solid var(--lp-primary); outline-offset: 4px; }
  .exam-archive-note { margin: 20px 0 0; color: var(--lp-muted); font-size: 13px; line-height: 1.6; }

  @media (max-width: 760px) {
    .resource-library-intro { padding-block: 36px 32px; }
    .resource-library .resource-grid { grid-template-columns: 1fr; }
    .resource-library-groups { gap: 36px; }
    .resource-library-nav .prism-button { white-space: normal; text-align: center; }
    .exam-archive { padding-top: 32px; }
    .exam-archive-header { flex-direction: column; gap: 12px; margin-bottom: 20px; }
    .exam-archive-year > summary { padding: 20px 16px; gap: 16px; }
    .exam-archive-papers { padding-inline: 16px; }
    .exam-archive-paper { align-items: start; flex-direction: column; gap: 12px; }
    .exam-archive-actions { width: 100%; gap: 8px 16px; }
  }

  .landing-resources { border-top: 1px solid var(--lp-line); background: color-mix(in srgb, var(--lp-bg) 78%, #fff); }
  .landing-resources .resource-card-index { min-height: 145px; }
  .landing-resources .resource-card h3 { font-size: 23px; }
  .landing-resources-footer { display: flex; justify-content: center; margin-top: 30px; }

  @media (max-width: 1050px) {
    .resource-hub-hero-grid { gap: 45px; }
    .resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .resource-context-cta { grid-template-columns: 1fr 1.4fr; }
    .resource-context-cta a { grid-column: 1 / -1; }
    .resource-workflow-grid { gap: 55px; }
    .resource-guide-index article { grid-template-columns: 45px 150px minmax(230px, 1fr) 150px; }
    .resource-guide-index article > p { display: none; }
  }

  @media (max-width: 760px) {
    .resource-hub-hero { padding: 70px 0 65px; }
    .resource-hub-hero-grid { grid-template-columns: 1fr; gap: 36px; }
    .resource-hub-hero h1 { font-size: clamp(42px, 12vw, 58px); }
    .resource-hub-lead { font-size: 17px; }
    .resource-access-note { min-height: 215px; }
    .resource-filter-form { grid-template-columns: 1fr; padding: 21px; }
    .resource-search-field > div { grid-template-columns: 1fr; }
    .resource-search-field .prism-button { width: 100%; }
    .resource-year-filter { width: 100%; }
    .resource-results-heading { align-items: start; flex-direction: column; gap: 8px; }
    .resource-grid { grid-template-columns: 1fr; }
    .resource-card-index { min-height: 155px; }
    .resource-context-cta { grid-template-columns: 1fr; padding: 26px 23px; }
    .resource-context-cta a { grid-column: auto; }
    .resource-guides-heading { grid-template-columns: 1fr; gap: 18px; }
    .resource-guide-index article { grid-template-columns: 38px minmax(0, 1fr); gap: 10px 15px; }
    .resource-guide-labels { align-self: end; }
    .resource-guide-index h3,
    .resource-guide-index article > p,
    .resource-guide-action { grid-column: 2; }
    .resource-guide-index article > p { display: block; }
    .resource-guide-action { justify-content: flex-start; text-align: left; }
    .resource-workflow { padding: 78px 0; }
    .resource-workflow-grid { grid-template-columns: 1fr; gap: 38px; }
    .resource-final-cta .prism-container { align-items: stretch; flex-direction: column; padding: 34px 25px; }
    .resource-final-cta .prism-button { width: 100%; }
  }

  @media (max-width: 420px) {
    .resource-filter-section { padding-top: 58px; }
    .resource-filter-form { margin-inline: -6px; }
    .resource-chip-group > div { display: grid; grid-template-columns: 1fr 1fr; }
    .resource-chip-group label { justify-content: center; text-align: center; }
    .resource-card-content { padding: 20px; }
    .resource-card h3 { font-size: 23px; }
    .resource-metadata { grid-template-columns: 1fr; }
    .resource-results-section { padding-bottom: 78px; }
    .landing-resources .resource-grid { margin-inline: -2px; }
  }
}

@layer prism-premium {
  .marketing-page { font-family: var(--font-body); }
  .offer-card-e8 .offer-card-actions > a:last-child { color: var(--lp-secondary-ink); }

  .prism-page h1,
  .prism-page h2,
  .prism-page h3,
  .closing-panel h2 { font-family: var(--font-display); }

  .prism-kicker,
  .audience-prompt,
  .premium-course-topline,
  .product-window-bar,
  .practice-title span,
  .report-heading span,
  .exam-now span,
  .analysis-heading span { font-family: var(--font-utility); }

  .prism-hero h1,
  .prism-section-heading h2,
  .faq-layout h2,
  .teacher-copy h2 { text-wrap: balance; }

  .prism-hero-lead,
  .prism-section-heading > p { text-wrap: pretty; }

  @media (prefers-reduced-motion: no-preference) {
    .prism-hero-copy > *,
    .prism-visual { animation: prism-arrive 650ms var(--lp-ease) both; }
    .prism-hero-copy > :nth-child(2) { animation-delay: 55ms; }
    .prism-hero-copy > :nth-child(3) { animation-delay: 110ms; }
    .prism-hero-copy > :nth-child(4) { animation-delay: 165ms; }
    .prism-hero-copy > :nth-child(5) { animation-delay: 220ms; }
    .prism-visual { animation-delay: 115ms; }
  }

  @keyframes prism-arrive {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@layer prism-base {
  .marketing-page {
    color: var(--lp-ink);
    background: var(--lp-bg);
  }

  .marketing-page > main { overflow: clip; }

  .prism-container {
    width: min(calc(100% - 44px), 1220px);
    margin-inline: auto;
  }

  .prism-page { color: var(--lp-ink); background: var(--lp-bg); }

  .prism-page h1,
  .prism-page h2,
  .prism-page h3 { color: var(--lp-ink); }

  /* Unified header/footer chrome lives in base.html + app.css. */

  .prism-button {
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 26px;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 820;
    letter-spacing: -.01em;
    transition: transform var(--dur-fast) var(--lp-ease), box-shadow var(--dur-fast) var(--lp-ease), background var(--dur-fast) var(--lp-ease);
  }

  .prism-button:hover { transform: translateY(-2px); }
  .prism-button:active { transform: translateY(0); }
  .prism-button-small { min-height: 44px; padding-inline: 18px; font-size: 12px; }
  .prism-button-primary { color: #fff; background: var(--lp-primary); box-shadow: 0 12px 28px color-mix(in srgb, var(--lp-primary) 28%, transparent); }
  .prism-theme-momentum .prism-button-primary { color: #fff; }
  .prism-button-primary:hover { background: var(--lp-primary-deep); }
  .prism-button-secondary { color: var(--lp-ink); background: color-mix(in srgb, var(--lp-surface) 82%, transparent); box-shadow: inset 0 0 0 1px var(--lp-line); }
  .prism-button-light { color: var(--lp-primary-deep); background: #fff; box-shadow: 0 14px 35px rgba(0,0,0,.15); }

  .prism-play {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--lp-primary);
    background: var(--lp-surface-soft);
    font-size: 9px;
  }

  .prism-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--lp-primary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .prism-kicker i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lp-secondary);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--lp-secondary) 18%, transparent);
  }
}

@layer prism-components {
  .audience-bar {
    position: relative;
    z-index: 20;
    border-bottom: 1px solid var(--lp-line);
    color: var(--lp-muted);
    background: color-mix(in srgb, var(--lp-surface) 88%, transparent);
  }

  .audience-bar-inner { min-height: 58px; display: flex; align-items: center; gap: 22px; }
  .audience-prompt { flex: 0 0 auto; font-size: 11px; font-weight: 760; text-transform: uppercase; letter-spacing: .09em; }
  .audience-options { min-width: 0; display: inline-flex; align-items: center; gap: 3px; padding: 3px; border: 1px solid var(--lp-line); border-radius: 999px; background: var(--lp-bg); }
  .audience-options a { min-height: 38px; display: inline-flex; align-items: center; gap: 7px; padding: 0 15px; border-radius: 999px; font-size: 12px; font-weight: 750; white-space: nowrap; }
  .audience-options a:hover { color: var(--lp-ink); }
  .audience-options a[aria-current="page"] { color: #fff; background: var(--lp-primary); box-shadow: 0 6px 16px color-mix(in srgb, var(--lp-primary) 30%, transparent); }
  .prism-theme-prestige .audience-options a[aria-current="page"] { color: #fff; }

  .prism-hero { position: relative; padding: clamp(3.5rem, 2rem + 5vw, 6rem) 0 var(--lp-section); }
  .prism-hero::before { content: ""; position: absolute; width: 560px; height: 560px; left: -340px; top: -280px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--lp-primary) 12%, transparent), transparent 70%); }
  .prism-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(470px, .98fr); align-items: center; gap: clamp(40px, 5vw, 76px); }
  .prism-hero-copy { position: relative; z-index: 4; min-width: 0; }
  .prism-hero h1 { max-width: 720px; margin: 22px 0 24px; font-size: var(--lp-h1); font-weight: 840; line-height: .98; letter-spacing: -.055em; }
  .prism-hero h1 em { position: relative; display: block; margin-top: 6px; color: var(--lp-primary); font-style: normal; }
  .prism-hero h1 em::after {
    content: "";
    position: absolute;
    left: -2%;
    right: -2%;
    bottom: -.17em;
    height: .22em;
    background: var(--lp-secondary);
    mask: url("data:image/svg+xml,%3Csvg width='300' height='14' viewBox='0 0 300 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 10C70 3 180 1 296 7' stroke='black' stroke-width='6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg width='300' height='14' viewBox='0 0 300 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 10C70 3 180 1 296 7' stroke='black' stroke-width='6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
    transform: rotate(-.6deg);
  }
  .prism-hero-lead { max-width: 34em; margin-bottom: 32px; color: var(--lp-muted); font-size: var(--lp-lead); line-height: 1.65; }
  .prism-hero-intro p { margin: 0; }
  .prism-hero-intro p + p { margin-top: 14px; }
  .prism-hero-intro strong { color: var(--lp-ink); }
  .prism-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
  .prism-proof { display: flex; align-items: center; gap: 9px; margin: 30px 0 0; color: var(--lp-muted); font-size: 12px; font-weight: 650; }
  .prism-proof span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: var(--lp-secondary-ink); background: var(--lp-secondary); font-size: 11px; font-weight: 900; }

  .prism-theme-assurance .prism-hero h1 { letter-spacing: -.048em; }
  .prism-theme-prestige .prism-hero { background: radial-gradient(circle at 75% 30%, rgba(83, 100, 233, .16), transparent 34%); }
  .prism-theme-prestige .prism-hero h1 em { color: #91a6ff; }

  /* Signature: real solution sheet from the workshop, photo slot behind it. */
  .prism-visual { position: relative; min-height: 560px; display: grid; align-items: center; }

  .visual-photo-slot {
    position: absolute;
    right: 2%;
    top: 50%;
    z-index: 1;
    width: min(52%, 330px);
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border: 1px solid var(--lp-line);
    border-radius: 26px;
    background: linear-gradient(160deg, var(--lp-surface-soft), color-mix(in srgb, var(--lp-primary) 24%, var(--lp-surface)));
    box-shadow: var(--lp-shadow-soft);
    transform: translateY(-56%) rotate(2deg);
  }
  .visual-photo-slot img { width: 100%; height: 100%; object-fit: cover; }
  .instructor-photo-picture { width: 100%; height: 100%; display: block; }
  .home-hero-portrait { width: 100%; max-width: 520px; justify-self: center; aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); background: var(--lp-surface-soft); box-shadow: var(--lp-shadow-soft); }
  .home-portrait-source { display: block; width: 100%; height: 100%; }
  .home-hero-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 56% center; }
  .home-portrait-placeholder { height: 100%; display: grid; place-items: center; color: var(--lp-primary); font: 800 clamp(110px, 18vw, 220px)/1 var(--font-display); }
  #offer-catalog-title em { color: var(--lp-primary); font-style: normal; }
  .home-resource-routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .home-resource-routes a { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 26px; border: 1px solid var(--lp-line); border-radius: 18px; background: var(--lp-surface); font: 750 20px/1.3 var(--font-display); }
  .home-resource-routes a > span:last-child { color: var(--lp-primary); }
  .home-resource-routes a:hover { color: var(--lp-primary-deep); border-color: var(--lp-primary); background: var(--lp-surface-soft); }
  .home-resource-routes a:focus-visible { outline: 3px solid var(--lp-primary); outline-offset: 4px; }
  .home-social { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 42px; padding-top: 24px; border-top: 1px solid var(--lp-line); }
  .home-social a { min-width: 0; min-height: 44px; display: flex; flex-direction: column; align-items: start; gap: 6px; }
  .home-social-name { color: var(--lp-primary-deep); font-size: 14px; font-weight: 800; }
  .home-social-count { color: var(--lp-muted); font-size: 12px; line-height: 1.5; }
  .home-social-count strong { color: var(--lp-ink); font-size: 16px; white-space: nowrap; }
  .home-social small { color: var(--lp-muted); font-size: 10px; }
  .home-social a:hover .home-social-name { text-decoration: underline; text-underline-offset: 4px; }
  .home-social a:focus-visible { outline: 3px solid var(--lp-primary); outline-offset: 4px; border-radius: 3px; }
  .visual-photo-fallback {
    position: relative;
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background-image:
      linear-gradient(color-mix(in srgb, var(--lp-primary) 7%, transparent) 1px, transparent 1px),
      linear-gradient(90deg, color-mix(in srgb, var(--lp-primary) 7%, transparent) 1px, transparent 1px);
    background-size: 26px 26px;
  }
  .fallback-graph { width: 62%; color: var(--lp-secondary); }
  .fallback-graph svg { width: 100%; height: auto; stroke: currentColor; }
  .fallback-caption { position: absolute; left: 16px; bottom: 13px; color: var(--lp-muted); font: italic 13px/1.3 Georgia, serif; }

  .solution-sheet {
    --sheet-ink: #22243a;
    --sheet-muted: #5f6376;
    --sheet-line: #e3e4ee;
    position: relative;
    z-index: 2;
    width: min(92%, 460px);
    padding: 22px 24px 24px;
    border: 1px solid var(--sheet-line);
    border-radius: 20px 20px 8px 20px;
    color: var(--sheet-ink);
    background:
      repeating-linear-gradient(#fff 0 33px, color-mix(in srgb, var(--lp-primary) 9%, #fff) 33px 34px);
    box-shadow: var(--lp-shadow);
    transform: rotate(-1.1deg);
    font-family: Georgia, "Bitstream Charter", serif;
  }
  .sheet-topline { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; padding-bottom: 11px; border-bottom: 1px solid var(--sheet-line); color: var(--sheet-muted); font: 650 10px/1.3 var(--font-utility); letter-spacing: .1em; text-transform: uppercase; }
  .sheet-topline b { color: var(--lp-primary); font-weight: 650; }
  .sheet-title { margin: 0 0 15px; font: italic 700 17px/1.35 Georgia, serif; }
  .sheet-steps { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; counter-reset: sheet-step; }
  .sheet-steps > li { position: relative; padding-left: 27px; font-size: 16.5px; line-height: 1.4; }
  .sheet-steps > li::before { counter-increment: sheet-step; content: counter(sheet-step); position: absolute; left: 0; top: 2px; width: 17px; height: 17px; display: grid; place-items: center; border: 1px solid var(--sheet-line); border-radius: 50%; color: var(--sheet-muted); background: #fff; font: 650 9px/1 var(--font-utility); }
  .step-line { position: relative; display: inline-block; font-style: italic; }
  .step-note { display: block; margin-top: 2px; color: var(--lp-primary); font: 650 10.5px/1.4 var(--font-utility); letter-spacing: .04em; font-style: normal; }
  .step-marked::before { border-color: var(--lp-primary); color: #fff; background: var(--lp-primary); }
  .step-underline { position: absolute; left: 27px; bottom: -7px; width: min(220px, 78%); height: 10px; color: var(--lp-secondary); pointer-events: none; }
  .step-underline path { stroke: currentColor; stroke-dasharray: 230; stroke-dashoffset: 0; }
  .step-result .step-line { font-weight: 700; }
  .step-result i { color: var(--lp-secondary-ink); font-style: normal; }
  .step-check { display: block; margin-top: 3px; color: var(--lp-secondary-ink); font: 650 10.5px/1.4 var(--font-utility); letter-spacing: .03em; }

  .sheet-plan > li { padding-left: 0; }
  .sheet-plan > li::before { content: none; }
  .sheet-plan .step-line { display: flex; align-items: baseline; gap: 9px; font-family: var(--font-body); font-size: 14.5px; font-style: normal; font-weight: 700; }
  .sheet-plan .step-line i { flex: 0 0 auto; width: 20px; height: 20px; display: inline-grid; place-items: center; border: 1px solid var(--sheet-line); border-radius: 7px; color: var(--sheet-muted); background: #fff; font: 700 10px/1 var(--font-utility); font-style: normal; transform: translateY(3px); }
  .sheet-plan .step-done .step-line i { border-color: var(--lp-secondary); color: var(--lp-secondary-ink); background: color-mix(in srgb, var(--lp-secondary) 30%, #fff); }
  .sheet-plan .step-marked .step-line i { border-color: var(--lp-primary); color: #fff; background: var(--lp-primary); }
  .sheet-side { display: block; margin: 2px 0 0 29px; color: var(--sheet-muted); font: 650 10.5px/1.4 var(--font-utility); letter-spacing: .03em; }

  .visual-float { position: absolute; z-index: 4; width: 168px; padding: 15px 17px; border: 4px solid color-mix(in srgb, var(--lp-surface) 88%, #fff); border-radius: 16px; color: var(--lp-ink); background: var(--lp-surface); box-shadow: var(--lp-shadow-soft); }
  .visual-float strong, .visual-float span { display: block; }
  .visual-float strong { color: var(--lp-primary); font: 800 22px/1.15 var(--font-display); letter-spacing: -.03em; }
  .visual-float span { margin-top: 4px; color: var(--lp-muted); font-size: 10px; line-height: 1.4; }
  .float-stat { right: 0; bottom: 4%; transform: rotate(2.5deg); }

  @media (prefers-reduced-motion: no-preference) {
    .step-underline path { stroke-dashoffset: 230; animation: sheet-draw 900ms var(--lp-ease) 750ms forwards; }
  }
  @keyframes sheet-draw { to { stroke-dashoffset: 0; } }

  .prism-sections { display: flex; flex-direction: column; }
  .prism-section { padding: var(--lp-section) 0; }
  .prism-section-heading { display: grid; grid-template-columns: 1.13fr .87fr; align-items: end; gap: 70px; margin-bottom: clamp(2.5rem, 2rem + 2.5vw, 4rem); }
  .prism-section-heading h2, .faq-layout h2 { max-width: 780px; margin: 13px 0 0; font-size: var(--lp-h2); letter-spacing: -.05em; }
  .prism-section-heading > p { max-width: 490px; margin: 0 0 5px; color: var(--lp-muted); font-size: 16px; }
  .compact-heading { grid-template-columns: 1fr; }

  .prism-metrics { padding: 10px 0 var(--lp-section-sm); }
  .metrics-grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); background: var(--lp-surface); box-shadow: var(--lp-shadow-soft); }
  .metric-card { min-height: 190px; padding: clamp(26px, 3vw, 36px); }
  .metric-card:not(:last-child) { border-right: 1px solid var(--lp-line); }
  .metric-card strong, .metric-card span { display: block; }
  .metric-card strong { color: var(--lp-primary); font-size: clamp(2rem, 1.6rem + 1.6vw, 2.75rem); line-height: 1; letter-spacing: -.045em; }
  .metric-card span { margin-top: 6px; color: var(--lp-ink); font-size: 13px; font-weight: 800; }
  .metric-card p { margin: 13px 0 0; color: var(--lp-muted); font-size: 12px; line-height: 1.55; }

  .prism-benefits { border-top: 1px solid var(--lp-line); background: var(--lp-surface); }
  .benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .benefit-card { position: relative; overflow: hidden; min-height: 350px; padding: 30px; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); background: var(--lp-bg); transition: transform 180ms ease, box-shadow 180ms ease; }
  .benefit-card:hover { transform: translateY(-4px); box-shadow: var(--lp-shadow-soft); }
  .benefit-card::after { content: ""; position: absolute; width: 160px; height: 160px; right: -80px; bottom: -90px; border: 24px solid color-mix(in srgb, var(--lp-primary) 8%, transparent); border-radius: 50%; }
  .benefit-icon { width: 60px; height: 60px; display: grid; place-items: center; margin-bottom: 50px; border-radius: 18px; color: var(--lp-primary); background: var(--lp-surface-soft); font-size: 28px; font-weight: 700; transform: rotate(-2deg); }
  .benefit-card:nth-child(2) .benefit-icon { color: var(--lp-secondary-ink); background: color-mix(in srgb, var(--lp-secondary) 35%, var(--lp-surface)); transform: rotate(2deg); }
  .benefit-card > span { color: var(--lp-primary); font-size: 9px; font-weight: 900; letter-spacing: .15em; }
  .benefit-card h3 { margin: 12px 0; font-size: 23px; }
  .benefit-card p { position: relative; z-index: 1; margin: 0; color: var(--lp-muted); font-size: 14px; }
  .prism-theme-assurance .benefit-card { min-height: 330px; background: #fffefb; }
  .prism-theme-momentum .benefit-card { border-radius: 16px; }

  .prism-course { background: var(--lp-bg); }
  .free-start-path {
    --lp-secondary: #43dca8;
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 4vw, 52px);
    border: 1px solid var(--lp-line);
    border-radius: calc(var(--lp-radius) + 5px);
    background: var(--lp-surface);
    box-shadow: var(--lp-shadow);
  }
  .free-start-path::after {
    content: "03";
    position: absolute;
    right: -18px;
    top: -54px;
    color: color-mix(in srgb, var(--lp-primary) 6%, transparent);
    font: 850 180px/1 var(--font-utility);
    letter-spacing: -.1em;
    pointer-events: none;
  }
  .free-start-path-intro {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
    align-items: end;
    gap: clamp(28px, 5vw, 72px);
  }
  .free-start-path-intro h3 {
    max-width: 760px;
    margin: 20px 0 13px;
    font-size: clamp(35px, 4vw, 52px);
    line-height: 1.02;
    letter-spacing: -.05em;
    text-wrap: balance;
  }
  .free-start-path-intro > div > p {
    max-width: 770px;
    margin: 0;
    color: var(--lp-muted);
    font-size: 15px;
    line-height: 1.7;
  }
  .free-start-path .premium-course-topline span { font-size: 10px; }
  .free-start-disclosure {
    position: relative;
    display: grid;
    align-content: end;
    min-height: 190px;
    overflow: hidden;
    padding: 25px;
    border: 1px solid color-mix(in srgb, var(--lp-primary) 25%, var(--lp-line));
    border-radius: calc(var(--lp-radius) - 5px) calc(var(--lp-radius) - 5px) 7px calc(var(--lp-radius) - 5px);
    background: var(--lp-surface-soft);
  }
  .free-start-disclosure > span {
    position: absolute;
    right: -6px;
    top: -9px;
    color: var(--lp-primary);
    font: 900 68px/1 var(--font-utility);
    letter-spacing: -.08em;
  }
  .free-start-disclosure strong,
  .free-start-disclosure p { position: relative; z-index: 1; }
  .free-start-disclosure strong { color: var(--lp-ink); font: 760 19px/1.2 var(--font-display); }
  .free-start-disclosure p { margin: 8px 0 0; color: var(--lp-muted); font-size: 12px; line-height: 1.55; }

  .free-start-track {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: clamp(44px, 6vw, 72px) 0 0;
    padding: 0;
    list-style: none;
  }
  .free-start-track::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 16.667%;
    right: 16.667%;
    top: 28px;
    height: 3px;
    border-radius: 99px;
    background: var(--lp-secondary);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--lp-secondary) 12%, transparent);
  }
  .free-start-track li {
    position: relative;
    z-index: 1;
    min-width: 0;
    display: grid;
    justify-items: center;
    padding: 0 clamp(14px, 2.5vw, 36px);
    text-align: center;
  }
  .free-start-number {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 3px solid var(--lp-secondary);
    border-radius: 50%;
    color: var(--lp-ink);
    background: var(--lp-surface);
    box-shadow: 0 0 0 7px var(--lp-surface), 0 12px 28px color-mix(in srgb, var(--lp-secondary) 22%, transparent);
    font: 900 12px/1 var(--font-utility);
    letter-spacing: .04em;
  }
  .free-start-track li > div { max-width: 310px; margin-top: 22px; }
  .free-start-track small,
  .free-start-track strong { display: block; }
  .free-start-track small { color: var(--lp-primary); font: 850 10px/1.3 var(--font-utility); letter-spacing: .14em; }
  .free-start-track strong { margin-top: 8px; color: var(--lp-ink); font: 750 21px/1.15 var(--font-display); }
  .free-start-track p { margin: 9px 0 0; color: var(--lp-muted); font-size: 12px; line-height: 1.6; }

  .free-start-path-footer {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-top: clamp(42px, 6vw, 68px);
    padding-top: 28px;
    border-top: 1px solid var(--lp-line);
  }
  .free-start-path-footer p { max-width: 650px; margin: 0; color: var(--lp-muted); font-size: 12px; line-height: 1.6; }
  .free-start-path-footer p strong { color: var(--lp-ink); }
  .free-start-path-footer .prism-button { flex: 0 0 auto; }

  @media (max-width: 900px) {
    .free-start-path-intro { grid-template-columns: 1fr; }
    .free-start-disclosure { min-height: 150px; }
  }

  @media (max-width: 680px) {
    .free-start-path { padding: 27px 21px; }
    .free-start-path::after { font-size: 120px; }
    .free-start-path-intro h3 { font-size: 36px; }
    .free-start-path-intro .premium-course-topline { flex-wrap: wrap; }
    .free-start-track { grid-template-columns: 1fr; gap: 30px; margin-top: 42px; }
    .free-start-track::before { left: 28px; right: auto; top: 28px; bottom: 28px; width: 3px; height: auto; }
    .free-start-track li { grid-template-columns: 58px 1fr; justify-items: start; gap: 19px; padding: 0; text-align: left; }
    .free-start-track li > div { max-width: none; margin-top: 2px; }
    .free-start-path-footer { align-items: stretch; flex-direction: column; gap: 20px; }
    .free-start-path-footer .prism-button { width: 100%; }
  }

  .premium-course-card { display: grid; grid-template-columns: .82fr 1.18fr; overflow: hidden; border: 1px solid var(--lp-line); border-radius: calc(var(--lp-radius) + 5px); background: var(--lp-surface); box-shadow: var(--lp-shadow); }
  .premium-course-art { position: relative; min-height: 520px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 38px; color: #fff; background: linear-gradient(145deg, var(--lp-primary), var(--lp-dark) 82%); }
  .premium-course-art::after { content: ""; position: absolute; width: 540px; height: 220px; left: -70px; top: 38%; border: 4px solid var(--lp-secondary); border-radius: 50%; transform: rotate(-16deg); opacity: .7; }
  .premium-graph { position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgba(255,255,255,.4) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.4) 1px, transparent 1px); background-size: 35px 35px; mask-image: linear-gradient(135deg, #000, transparent 78%); }
  .premium-course-subject, .premium-course-art > strong, .premium-course-art > small { position: relative; z-index: 2; }
  .premium-course-subject { font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
  .premium-course-art > strong { align-self: center; font-family: Georgia, serif; font-size: 92px; font-style: italic; }
  .premium-course-art > small { align-self: end; font-size: 13px; font-weight: 750; }
  .premium-course-content { display: flex; flex-direction: column; justify-content: center; padding: 52px; }
  .premium-course-topline { display: flex; gap: 9px; }
  .premium-course-topline span { padding: 6px 10px; border-radius: 99px; color: var(--lp-primary-deep); background: var(--lp-surface-soft); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
  .premium-course-content h3 { margin: 20px 0 13px; font-size: clamp(34px, 3.5vw, 47px); }
  .premium-course-content > p { color: var(--lp-muted); font-size: 15px; }
  .premium-course-content dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 24px 0 30px; padding: 20px 0; border-top: 1px solid var(--lp-line); border-bottom: 1px solid var(--lp-line); }
  .premium-course-content dl div:not(:last-child) { border-right: 1px solid var(--lp-line); }
  .premium-course-content dt, .premium-course-content dd { margin: 0; text-align: center; }
  .premium-course-content dt { color: var(--lp-muted); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
  .premium-course-content dd { margin-top: 3px; color: var(--lp-ink); font-size: 20px; font-weight: 850; }
  .premium-course-actions { display: flex; align-items: center; gap: 20px; }
  .premium-course-actions > a:last-child { min-height: 44px; display: inline-flex; align-items: center; color: var(--lp-primary); font-size: 12px; font-weight: 800; }

  .prism-teacher { padding-block: 26px; background: var(--lp-bg); }
  .teacher-panel {
    position: relative;
    overflow: hidden;
    min-height: 510px;
    display: grid;
    grid-template-columns: .72fr 1.18fr .42fr;
    align-items: stretch;
    gap: 0;
    border: 1px solid color-mix(in srgb, var(--lp-primary) 28%, #26304e);
    border-radius: calc(var(--lp-radius) + 8px);
    color: #f7f7ff;
    background: linear-gradient(135deg, #111326 0%, #1b1734 56%, #24154a 100%);
    box-shadow: var(--lp-shadow);
  }
  .teacher-panel::after { content: ""; position: absolute; width: 480px; height: 480px; right: -260px; top: -290px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.02); }
  .teacher-visual { position: relative; overflow: hidden; min-height: 100%; display: grid; place-items: center; border-right: 1px solid rgba(255,255,255,.1); background: radial-gradient(circle at 45% 43%, color-mix(in srgb, var(--lp-primary) 56%, transparent), transparent 42%), linear-gradient(155deg, rgba(255,255,255,.04), transparent); }
  .teacher-visual::before { content: ""; position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(#000, transparent 92%); }
  .teacher-monogram { position: relative; z-index: 2; width: 190px; height: 190px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.18); border-radius: 46% 54% 51% 49%; color: #fff; background: color-mix(in srgb, var(--lp-primary) 60%, #13162b); box-shadow: inset 0 0 0 15px rgba(255,255,255,.04), 0 30px 70px rgba(0,0,0,.3); font-family: Georgia, serif; font-size: 105px; font-style: italic; transform: rotate(-4deg); }
  .teacher-photo { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; object-fit: cover; }
  .teacher-photo-about { object-position: 56% center; }
  .teacher-equation { position: absolute; z-index: 3; left: 22px; bottom: 25px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; color: rgba(255,255,255,.82); background: rgba(7,8,22,.55); backdrop-filter: blur(8px); font-family: Georgia, serif; font-size: 13px; }
  .teacher-line { position: absolute; z-index: 1; width: 260px; height: 110px; border: 2px solid var(--lp-secondary); border-radius: 50%; opacity: .55; }
  .teacher-line-a { transform: rotate(30deg); }
  .teacher-line-b { transform: rotate(-28deg); }
  .teacher-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: 58px 52px; }
  .teacher-copy .prism-kicker { color: color-mix(in srgb, var(--lp-secondary) 75%, #fff); }
  .teacher-copy h2 { max-width: 680px; margin: 14px 0 18px; color: #fff; font-size: clamp(35px, 3.7vw, 53px); letter-spacing: -.05em; }
  .teacher-copy h3 { margin: 10px 0 16px; color: #fff; font-size: 18px; line-height: 1.4; }
  .teacher-strengths { display: grid; gap: 18px; max-width: 650px; margin: 0; padding: 0; list-style: none; }
  .teacher-strengths li { color: rgba(255,255,255,.76); font-size: 15px; line-height: 1.75; text-wrap: pretty; }
  .teacher-strengths strong { color: #fff; font-weight: 750; }
  .teacher-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 27px; }
  .teacher-actions a { min-height: 44px; display: inline-flex; align-items: center; gap: 7px; padding-block: 10px; color: #fff; font-size: 11px; font-weight: 800; }
  .teacher-actions a:hover { color: var(--lp-secondary); }
  .teacher-review { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: end; padding: 34px 27px; border-left: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.035); }
  .teacher-review > span { color: rgba(255,255,255,.48); font-size: 8px; font-weight: 900; letter-spacing: .14em; }
  .teacher-review strong { margin-top: 9px; color: #fff; font-size: 54px; line-height: 1; letter-spacing: -.07em; }
  .teacher-review strong small { color: rgba(255,255,255,.45); font-size: 17px; }
  .teacher-review-score { display: grid; gap: 10px; }
  .teacher-review-stars { color: var(--lp-secondary); font-size: 20px; line-height: 1; letter-spacing: .1em; white-space: nowrap; }
  .teacher-review p { margin: 12px 0 0; color: rgba(255,255,255,.62); font-size: 10px; line-height: 1.5; }

  .prism-stories { border-top: 1px solid var(--lp-line); border-bottom: 1px solid var(--lp-line); background: color-mix(in srgb, var(--lp-surface-soft) 45%, var(--lp-bg)); }
  .story-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .story-card { position: relative; min-height: 300px; display: flex; flex-direction: column; justify-content: space-between; padding: 32px; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); background: var(--lp-surface); }
  .sample-label { align-self: flex-start; padding: 5px 9px; border-radius: 99px; color: var(--lp-primary-deep); background: var(--lp-surface-soft); font-size: 8px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
  .story-card .story-summary { margin: 28px 0; color: var(--lp-ink); font-size: 20px; font-weight: 650; line-height: 1.55; letter-spacing: -.02em; }
  .story-card footer { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-top: 17px; border-top: 1px solid var(--lp-line); }
  .story-card footer strong, .story-card footer span { display: block; }
  .story-card footer strong { font-size: 11px; }
  .story-card footer span { margin-top: 2px; color: var(--lp-muted); font-size: 9px; }
  .story-card footer small { color: var(--lp-primary); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
  .story-proof { display: grid; justify-items: end; gap: 7px; text-align: right; }
  .story-source { min-height: 44px; display: inline-flex; align-items: center; color: var(--lp-muted); font-size: 9px; font-weight: 760; }
  .story-source:hover { color: var(--lp-primary); }

  .prism-faq { background: var(--lp-surface); }
  .faq-layout { display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: 90px; }
  .faq-layout > header { position: sticky; top: 30px; }
  .faq-layout > header p { max-width: 390px; margin-top: 20px; color: var(--lp-muted); font-size: 14px; }
  .faq-list { display: grid; border-top: 1px solid var(--lp-line); }
  .faq-list details { border-bottom: 1px solid var(--lp-line); }
  .faq-list summary { min-height: 86px; display: grid; grid-template-columns: 36px 1fr 35px; align-items: center; gap: 14px; cursor: pointer; list-style: none; }
  .faq-list summary::-webkit-details-marker { display: none; }
  .faq-list summary > span { color: var(--lp-primary); font-size: 9px; font-weight: 900; }
  .faq-list summary strong { font-size: 15px; }
  .faq-list summary i { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--lp-line); border-radius: 10px; color: var(--lp-primary); font-style: normal; transition: transform 160ms ease; }
  .faq-list details[open] summary i { transform: rotate(45deg); }
  .faq-list details > p { margin: -5px 50px 27px; color: var(--lp-muted); font-size: 14px; line-height: 1.7; }

  .prism-closing { padding-top: 20px; background: var(--lp-surface); }
  .closing-panel { position: relative; overflow: hidden; min-height: 310px; display: flex; align-items: center; justify-content: space-between; gap: 45px; padding: 55px 62px; border-radius: calc(var(--lp-radius) + 5px); color: #fff; background: linear-gradient(130deg, var(--lp-primary-deep), var(--lp-primary)); }
  .closing-panel::after { content: "∑"; position: absolute; right: 26%; bottom: -115px; color: rgba(255,255,255,.09); font-family: Georgia, serif; font-size: 270px; transform: rotate(-13deg); }
  .closing-panel > * { position: relative; z-index: 1; }
  .closing-panel .prism-kicker { color: color-mix(in srgb, var(--lp-secondary) 75%, #fff); }
  .closing-panel h2 { max-width: 750px; margin: 12px 0 13px; color: #fff; font-size: clamp(36px, 4vw, 54px); }
  .closing-panel p { max-width: 690px; margin: 0; color: rgba(255,255,255,.75); }
  .closing-panel .prism-button { flex: 0 0 auto; }

  .prism-theme-prestige .audience-bar,
  .prism-theme-prestige .prism-benefits,
  .prism-theme-prestige .prism-faq,
  .prism-theme-prestige .prism-closing { background: var(--lp-bg); }
  .prism-theme-prestige .benefit-card,
  .prism-theme-prestige .story-card,
  .prism-theme-prestige .premium-course-card,
  .prism-theme-prestige .metrics-grid { background: var(--lp-surface); }
  .prism-theme-prestige .premium-course-art { background: linear-gradient(145deg, #4354bd, #07101f 80%); }
  .prism-theme-prestige .closing-panel { background: linear-gradient(130deg, #14275c, #5264e7); }
  .prism-theme-prestige .prism-button-secondary { color: var(--lp-ink); background: #111c30; }
  .prism-theme-prestige .sample-label,
  .prism-theme-prestige .premium-course-topline span { color: #d6ddff; }

  .prism-theme-assurance .benefit-icon { border-radius: 50%; }
  .prism-theme-assurance .closing-panel { background: linear-gradient(130deg, #1a3b53, #285f7e); }
  .prism-theme-momentum .closing-panel { background: linear-gradient(130deg, #07534e, #0b7e75); }
  .prism-theme-momentum .product-window { transform: none; }
}

/* Reguły bez warstwy celowo wygrywają z bazowym `a { color: inherit; }`. */
.marketing-page a.prism-button-primary { color: #fff; }
.marketing-page a.prism-button-secondary { color: var(--lp-ink); }
.marketing-page a.prism-button-light { color: var(--lp-primary-deep); }
.marketing-page .teacher-actions a { color: #fff; }
.marketing-page .teacher-actions a:hover { color: var(--lp-secondary); }
.marketing-page a.story-source { color: var(--lp-muted); }
.marketing-page a.story-source:hover { color: var(--lp-primary); }

@layer prism-responsive {
  @media (max-width: 1080px) {
    .prism-hero-grid { grid-template-columns: 1fr .9fr; gap: 30px; }
    .prism-visual { min-height: 520px; }
    .solution-sheet { width: min(100%, 440px); }
    .float-stat { right: 0; }
    .faq-layout { gap: 55px; }
  }

  @media (max-width: 900px) {
    .audience-bar-inner { align-items: stretch; flex-direction: column; gap: 4px; padding-block: 10px; }
    .audience-prompt { padding-inline: 4px; }
    .audience-options { overflow-x: auto; padding: 2px 0 5px; scrollbar-width: none; }
    .audience-options::-webkit-scrollbar { display: none; }
    .prism-hero { padding: clamp(2.75rem, 2rem + 4vw, 4.5rem) 0 var(--lp-section-sm); }
    .prism-hero-grid { grid-template-columns: 1fr; }
    .home-hero-portrait { max-width: 440px; }
    .home-resource-routes { grid-template-columns: 1fr; gap: 12px; }
    .home-resource-routes a { min-height: 84px; padding: 22px; }
    .prism-hero-copy { max-width: 750px; }
    .prism-visual { min-height: 0; gap: 20px; padding-top: 10px; }
    .visual-photo-slot { position: relative; right: auto; top: auto; width: min(64%, 300px); margin-inline: auto; transform: rotate(1.6deg); }
    .solution-sheet { width: min(100%, 480px); margin-inline: auto; transform: rotate(-.8deg); }
    .float-stat { right: 5%; bottom: -12px; }
    .prism-section { padding: 78px 0; }
    .prism-section-heading { grid-template-columns: 1fr; gap: 20px; }
    .benefit-grid { grid-template-columns: 1fr; }
    .benefit-card { min-height: 280px; }
    .benefit-icon { margin-bottom: 30px; }
    .premium-course-card { grid-template-columns: 1fr; }
    .premium-course-art { min-height: 380px; }
    .premium-course-content { padding: 42px; }
    .teacher-panel { grid-template-columns: .72fr 1.28fr; }
    .teacher-review { grid-column: 1 / -1; min-height: 150px; display: grid; grid-template-columns: auto auto 1fr; align-items: end; gap: 15px; border-top: 1px solid rgba(255,255,255,.1); border-left: 0; }
    .teacher-review p { max-width: 190px; }
    .faq-layout { grid-template-columns: 1fr; }
    .faq-layout > header { position: static; }
    .closing-panel { align-items: stretch; flex-direction: column; }
    .closing-panel .prism-button { align-self: flex-start; }
  }

  @media (max-width: 680px) {
    .prism-container { width: min(calc(100% - 28px), 1220px); }
    .prism-hero h1 { font-size: clamp(2.375rem, 10vw, 3.125rem); }
    .prism-hero-lead { font-size: 1.0625rem; }
    .prism-hero-actions { align-items: stretch; flex-direction: column; }
    .prism-hero-actions .prism-button { width: 100%; white-space: normal; text-align: center; }
    .audience-options { grid-template-columns: repeat(2, minmax(0, 1fr)); display: grid; overflow: visible; border-radius: 18px; }
    .audience-options a { justify-content: center; padding: 7px 9px; text-align: center; white-space: normal; line-height: 1.25; border-radius: 14px; }
    .prism-proof { align-items: start; }
    .prism-proof span { flex: 0 0 auto; }
    .visual-photo-slot { width: min(78%, 280px); }
    .solution-sheet { padding: 19px 18px 20px; }
    .visual-float { display: none; }
    .metrics-grid { grid-template-columns: 1fr; }
    .metric-card { min-height: 140px; }
    .metric-card:not(:last-child) { border-right: 0; border-bottom: 1px solid var(--lp-line); }
    .prism-section-heading h2, .faq-layout h2 { font-size: 38px; }
    .premium-course-art { min-height: 300px; padding: 25px; }
    .premium-course-art > strong { font-size: 70px; }
    .premium-course-content { padding: 27px 21px; }
    .premium-course-content dl { grid-template-columns: 1fr 1fr 1fr; }
    .premium-course-content dd { font-size: 16px; }
    .premium-course-actions { align-items: stretch; flex-direction: column; }
    .premium-course-actions .prism-button { width: 100%; }
    .premium-course-actions > a:last-child { text-align: center; }
    .teacher-panel { grid-template-columns: 1fr; }
    .teacher-visual { min-height: 330px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
    .teacher-copy { padding: 38px 24px; }
    .teacher-copy h2 { font-size: 37px; }
    .teacher-actions { align-items: flex-start; flex-direction: column; }
    .teacher-review { min-height: 0; grid-template-columns: 1fr; align-items: start; padding: 28px 24px; }
    .teacher-review strong { font-size: 45px; }
    .story-grid { grid-template-columns: 1fr; }
    .story-card { min-height: 280px; padding: 25px; }
    .story-card .story-summary { font-size: 18px; }
    .story-card footer { align-items: start; flex-direction: column; }
    .story-proof { justify-items: start; text-align: left; }
    .faq-list summary { grid-template-columns: 25px 1fr 32px; }
    .faq-list details > p { margin-left: 39px; margin-right: 10px; }
    .closing-panel { min-height: 0; padding: 36px 25px; }
    .closing-panel h2 { font-size: 37px; }
    .closing-panel .prism-button { width: 100%; }
  }

  @media (max-width: 390px) {
    .prism-hero h1 { font-size: clamp(2.375rem, 10.5vw, 2.625rem); }
    .sheet-steps > li { font-size: 15.5px; }
  }

  @media (max-width: 420px) {
    .teacher-copy h2 { font-size: 34px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .marketing-page *,
    .marketing-page *::before,
    .marketing-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  }
}
