.experience-course {
  --accent: #0b7f72;
  --accent-soft: #0b6a60;
  --warm: #a65317;
  --success: #0f7a4e;
  --error: #b92f37;
}
.experience-course .brand-mark { color: #fff; }
.experience-hero { grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr); }
.experience-hero h1 { max-width: 820px; }
.experience-hero h1 span { color: #737b82; }
.experience-hero .hero-art { aspect-ratio: 16 / 13; background: #edf2f4; }
.experience-hero .hero-art img { object-fit: cover; }
.experience-course .primary-button { color: #fff; }
.experience-course code { padding: 2px 6px; border: 1px solid #c9ddd9; border-radius: 5px; background: #eff8f6; color: #0b6a60; font-size: .88em; }
.experience-module:nth-of-type(even) { background: #fbfbfd; }
.experience-module .case-panel { border-color: #cfdfdc; background: #f2f8f7; }
.scenario-disclaimer { margin-top: 22px; padding-top: 18px; border-top: 1px solid #d0dfdc; color: #616b6a !important; font-size: 12px !important; }

.evidence-ladder, .segment-grid, .barrier-grid, .feedback-grid, .metric-grid, .transformation-grid, .support-tiers {
  margin: 30px 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.evidence-ladder article, .segment-grid article, .barrier-grid article, .feedback-grid article, .metric-grid article, .transformation-grid article, .support-tiers article {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
}
.evidence-ladder span, .transformation-grid span, .support-tiers span { color: var(--accent); font-size: 11px; font-weight: 800; }
.evidence-ladder h4, .segment-grid h4, .barrier-grid h4, .feedback-grid h4, .metric-grid h4, .transformation-grid h4, .support-tiers h4 { margin: 20px 0 7px; font-size: 15px; }
.evidence-ladder p, .segment-grid p, .barrier-grid p, .feedback-grid p, .metric-grid p, .transformation-grid p, .support-tiers p { margin: 0; color: var(--muted); font-size: 12px; }
.segment-grid, .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.barrier-grid, .transformation-grid, .support-tiers { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.feedback-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.journey-flow, .progression-path {
  margin: 30px 0;
  display: flex;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  padding-bottom: 8px;
}
.journey-flow span, .progression-path article { min-width: max-content; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: #3e4746; font-size: 12px; }
.journey-flow b, .progression-path > b { color: var(--accent); font-weight: 500; }
.progression-path article { min-width: 145px; }
.progression-path h4 { margin: 0 0 5px; font-size: 14px; }
.progression-path p { margin: 0; color: var(--muted); font-size: 11px; }
.activation-contract, .access-check, .score-example, .hypothesis {
  margin: 30px 0;
  padding: 22px;
  border: 1px solid #cbdedb;
  border-radius: 12px;
  background: #f1f8f7;
}
.activation-contract > p:first-child, .score-example > p:first-child { color: var(--accent-soft); }
.activation-contract p:last-child, .access-check p:last-child, .score-example p:last-child, .hypothesis p:last-child { margin-bottom: 0; }
.alignment-table {
  margin: 28px 0;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.alignment-table [role="row"] { min-width: 620px; display: grid; grid-template-columns: repeat(3, 1fr); }
.alignment-table [role="row"] > * { padding: 12px 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.alignment-table [role="row"] > *:last-child { border-right: 0; }
.alignment-table [role="row"]:last-child > * { border-bottom: 0; }
.alignment-table strong { background: var(--surface-2); color: var(--text) !important; }

.resource-library {
  padding: 108px 0;
  border-top: 1px solid var(--line);
  background: #fbfbfd;
}
.resource-shell { width: min(var(--content), calc(100% - 44px)); margin: 0 auto; }
.resource-library h2 { max-width: 820px; margin: 0; font-size: clamp(46px, 6vw, 78px); line-height: .98; letter-spacing: -.06em; }
.resources-lead { max-width: 760px; margin: 24px 0 0; color: var(--muted); font-size: 18px; }
.resource-video-grid { margin-top: 50px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.resource-video { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.video-frame { aspect-ratio: 16 / 9; background: #040708; }
.video-frame iframe { width: 100%; height: 100%; display: block; border: 0; }
.resource-copy { padding: 22px; }
.resource-copy h3 { margin: 0; font-size: 22px; line-height: 1.15; letter-spacing: -.035em; }
.resource-author { margin: 9px 0 0; color: var(--subtle); font-size: 12px; }
.resource-copy dl { margin: 22px 0 0; border-top: 1px solid var(--line); }
.resource-copy dl div { padding: 13px 0; border-bottom: 1px solid var(--line); }
.resource-copy dt { color: var(--accent-soft); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.resource-copy dd { margin: 5px 0 0; color: var(--muted); font-size: 13px; }

.book-library { margin-top: 106px; padding-top: 70px; border-top: 1px solid var(--line); }
.book-library > div:first-child { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 44px; }
.book-library > p { max-width: 820px; margin: 24px 0 0; color: var(--muted); font-size: 17px; }
.shelf-title { margin: 48px 0 16px; font-size: 23px; letter-spacing: -.035em; }
.book-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.book-card { padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.book-card > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.book-card span { color: var(--accent); font-size: 11px; font-weight: 800; }
.book-card small { color: var(--subtle); font-size: 9px; text-transform: uppercase; }
.book-card h3 { margin: 24px 0 12px; font-size: 18px; line-height: 1.25; }
.book-card p { margin: 9px 0; color: var(--muted); font-size: 13px; }
.book-card strong { color: #1d1d1f; }
.book-card a { margin-top: 14px; display: inline-flex; min-height: 38px; align-items: center; color: var(--accent-soft); font-size: 12px; font-weight: 750; text-decoration: none; }
.book-card a:hover { text-decoration: underline; }

.experience-course .source-list p + p { margin-top: 8px; }
.experience-course .source-list strong { color: #1d1d1f; }
.experience-course .source-list small { max-width: 58%; text-align: right; }
.experience-course .limit-note { border-left-color: var(--accent); }

@media (max-width: 980px) {
  .experience-hero { grid-template-columns: 1fr; }
  .resource-video-grid, .book-grid { grid-template-columns: 1fr; }
  .evidence-ladder { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .experience-hero .hero-art { aspect-ratio: 16 / 8.5; order: -1; }
}
@media (max-width: 720px) {
  .resource-shell { width: min(100% - 28px, var(--content)); }
  .resource-library { padding: 72px 0; }
  .resource-library h2 { font-size: 44px; }
  .resources-lead { font-size: 16px; }
  .resource-video-grid { margin-top: 34px; }
  .resource-copy { padding: 18px; }
  .resource-copy h3 { font-size: 19px; }
  .book-library { margin-top: 70px; padding-top: 52px; }
  .book-library > div:first-child { grid-template-columns: 1fr; gap: 18px; }
  .book-card { padding: 18px; }
  .evidence-ladder, .segment-grid, .barrier-grid, .feedback-grid, .metric-grid, .transformation-grid, .support-tiers { grid-template-columns: 1fr; }
  .journey-flow { scroll-snap-type: x proximity; }
  .journey-flow span { scroll-snap-align: start; }
  .progression-path { align-items: stretch; flex-direction: column; }
  .progression-path > b { align-self: center; transform: rotate(90deg); }
  .progression-path article { min-width: 0; }
}
@media print {
  .resource-video-grid iframe { display: none; }
  .resource-library { width: 100%; padding: 10mm 0; background: #fff !important; }
  .resource-shell { width: 100%; }
  .resource-video-grid, .book-grid { grid-template-columns: 1fr 1fr; }
  .resource-video, .book-card { break-inside: avoid; }
  .resource-copy p, .resource-copy dd, .book-card p { color: #222; }
}
