/* Reading layouts and content cards share one left edge and spacing scale. */
.public-content-body .resource-shell,
.public-content-body .policy-shell {
  display: block;
  margin: 28px 0 0;
}
.public-content-body .resource-content,
.public-content-body .policy-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.public-content-body .resource-content > section,
.public-content-body .policy-content > section {
  margin: 0;
  padding: 0;
  scroll-margin-top: 110px;
}
.public-content-body .resource-content > section + section,
.public-content-body .policy-content > section + section {
  margin-top: 36px;
}
.resource-content > section > h2,
.policy-content > section > h2 {
  max-width: 760px;
  margin: 0 0 16px;
  color: #17354a;
  font: 600 25px/1.35 Arial, Helvetica, sans-serif;
  letter-spacing: -.4px;
}
.resource-content > section > p,
.resource-content > section > ul,
.resource-content > section > ol,
.policy-content > section > p,
.policy-content > section > ul,
.policy-summary {
  max-width: 760px;
  margin: 14px 0;
  color: #3b5568;
  font: 400 16px/1.8 Arial, Helvetica, sans-serif;
}
.resource-content > section > ul,
.resource-content > section > ol { padding-left: 22px; }
.resource-content > section > ul > li,
.resource-content > section > ol > li { margin: 8px 0; padding-left: 3px; }
.public-content-body .policy-summary { margin: 0 0 28px !important; }

/* Native disclosure replaces the oversized contents box. */
.content-index {
  margin: 0 0 30px;
  border: 1px solid #dce5ed;
  border-radius: 10px;
  background: #fff;
  color: #19394f;
}
.content-index > summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 60px;
  padding: 17px 52px 17px 22px;
  list-style: none;
  cursor: pointer;
  font: 600 14px/1.5 Arial, Helvetica, sans-serif;
}
.content-index > summary::-webkit-details-marker { display: none; }
.content-index > summary small {
  color: #607587;
  font-size: 12px;
  font-weight: 400;
}
.content-index > summary::after {
  position: absolute;
  right: 22px;
  content: '+';
  color: #526d80;
  font-size: 22px;
  font-weight: 400;
}
.content-index[open] > summary { border-bottom: 1px solid #e4ebf1; }
.content-index[open] > summary::after { content: '−'; }
.content-index > ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 32px;
  margin: 0;
  padding: 18px 24px 20px 42px;
}
.content-index li { color: #657b8a; font-size: 12px; line-height: 1.6; }
.content-index a {
  color: #38586e;
  font: 400 13px/1.6 Arial, Helvetica, sans-serif;
  text-decoration: none;
}
.content-index a:hover { color: #17354a; text-decoration: underline; text-underline-offset: 3px; }
.content-index > summary:focus-visible { outline: 3px solid #b08b4e; outline-offset: 3px; }

/* Whole-card links must not inherit the underlined inline-link treatment. */
.public-content-body .resource-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
  margin: 22px 0 0;
}
.public-content-body .resource-card-grid-wide { grid-template-columns: minmax(0, 1fr); }
.public-content-body .prose a.resource-program-card,
.public-content-body .prose a.resource-tool-card,
.public-content-body .prose .resource-link-grid > a {
  box-sizing: border-box;
  border: 1px solid #dce5ed;
  border-radius: 12px;
  background: #fff;
  color: #17354a;
  text-decoration: none;
  box-shadow: 0 2px 6px #17354a03;
  transition: border-color .18s, box-shadow .18s;
}
.public-content-body .prose a.resource-program-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 238px;
  padding: 24px;
}
.resource-card__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 19px; }
.resource-card__number {
  display: grid;
  place-items: center;
  flex: none;
  width: 34px;
  height: 34px;
  border: 1px solid #e4eaf0;
  border-radius: 8px;
  background: #f7f9fb;
  color: #596f80;
  font: 600 11px Arial, Helvetica, sans-serif;
  font-variant-numeric: tabular-nums;
}
.public-content-body .resource-program-card small {
  color: #607587;
  font: 400 12px/1.6 Arial, Helvetica, sans-serif;
}
.public-content-body .resource-program-card strong {
  display: block;
  margin-bottom: 10px;
  color: #17354a;
  font: 600 20px/1.35 Arial, Helvetica, sans-serif;
  letter-spacing: -.3px;
}
.public-content-body .resource-program-card > span {
  display: block;
  margin-bottom: 22px;
  color: #526c7e;
  font: 400 14px/1.75 Arial, Helvetica, sans-serif;
}
.public-content-body .resource-program-card em {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 15px;
  border-top: 1px solid #e8edf2;
  color: #244b67;
  font: 600 12px/1.5 Arial, Helvetica, sans-serif;
}
.public-content-body .resource-program-card em b { font-size: 19px; font-weight: 400; }
.public-content-body .prose a.resource-program-card:hover,
.public-content-body .prose a.resource-tool-card:hover,
.public-content-body .prose .resource-link-grid > a:hover {
  border-color: #afc3d2;
  background: #fff;
  color: #17354a;
  box-shadow: 0 6px 20px #17354a08;
}
.public-content-body .resource-link-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}
.public-content-body .prose .resource-link-grid > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 78px;
  padding: 20px 22px;
}
.public-content-body .resource-link-grid > a > span {
  color: #24465d;
  font: 500 15px/1.5 Arial, Helvetica, sans-serif;
}
.public-content-body .resource-link-grid > a > b { color: #718899; font-size: 20px; font-weight: 400; }
.public-content-body .prose a.resource-tool-card { padding: 26px; border-left-width: 1px; gap: 18px; }
.public-content-body .resource-tool-card > strong { color: #17354a; font: 600 21px/1.4 Arial, Helvetica, sans-serif; }
.public-content-body .resource-tool-card p { color: #526c7e; font-size: 14px; line-height: 1.8; }
.public-content-body .resource-tool-card em { color: #244b67; font-size: 13px; }
.public-content-body .tool-mini-grid { gap: 12px; margin: 0; }
.public-content-body .tool-mini-grid > div { padding: 16px; border: 1px solid #e2e9ef; border-radius: 8px; background: #f7f9fb; }
.public-content-body .tool-mini-grid b { display: block; margin-bottom: 9px; color: #536c7e; font-size: 10px; letter-spacing: .7px; }
.public-content-body .tool-mini-grid ul { padding-left: 17px; margin: 0; }
.public-content-body .tool-mini-grid li,
.public-content-body .tool-mini-grid p { color: #36566b; font-size: 12px; line-height: 1.75; }
.public-content-body .source-scope-card { padding: 22px; border-radius: 12px; }

/* Consistent, scrollable data tables with clear headers and numeric alignment. */
.public-content-body .resource-table-wrap,
.public-content-body .lesson-table-wrap > .data-table-scroll {
  width: 100%;
  overflow: auto;
  border: 1px solid #d7e2eb;
  border-radius: 10px;
  background: #fff;
  scrollbar-width: thin;
}
.public-content-body .resource-table-wrap table,
.public-content-body .lesson-table-wrap table,
.public-content-body .cms-article-body table {
  width: 100%;
  min-width: 590px;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  color: #355166;
  background: #fff;
  font: 400 14px/1.6 Arial, Helvetica, sans-serif;
  font-variant-numeric: tabular-nums;
}
.public-content-body .resource-table-wrap th,
.public-content-body .resource-table-wrap td,
.public-content-body .lesson-table-wrap th,
.public-content-body .lesson-table-wrap td,
.public-content-body .cms-article-body th,
.public-content-body .cms-article-body td {
  padding: 15px 19px;
  border: 0;
  border-bottom: 1px solid #e1e8ef;
  text-align: left;
  vertical-align: middle;
  line-height: 1.65;
}
.public-content-body .resource-table-wrap thead th,
.public-content-body .lesson-table-wrap thead th,
.public-content-body .cms-article-body thead th {
  background: #edf3f7;
  color: #1c3d55;
  font-size: 12px;
  font-weight: 600;
}
.public-content-body .lesson-table-wrap thead { background: #edf3f7; }
.public-content-body .lesson-table-wrap tbody th { color: #2d4c61; background: inherit; font-weight: 500; }
.public-content-body table tbody tr:nth-child(even) { background: #f8fafc; }
.public-content-body table tbody tr:last-child > * { border-bottom: 0; }
.public-content-body .lesson-table-wrap .is-numeric { text-align: right; white-space: nowrap; }
.public-content-body .lesson-table-wrap { margin: 30px 0; }
.public-content-body .lesson-table-wrap > h2 { font-size: 23px; margin: 0 0 16px; }
.public-content-body .lesson-table-wrap > p { color: #526b7d; font-size: 12px; line-height: 1.8; }
.table-scroll-hint { display: none; }
.data-table-scroll:focus-visible { outline: 3px solid #b08b4e; outline-offset: 3px; }
.public-content-body .cms-article-body table { display: block; max-width: 100%; overflow-x: auto; }

/* FAQ rows and the lesson guide follow the same component rhythm. */
.resource-content details {
  padding: 0 20px;
  border: 1px solid #dce5ed;
  border-radius: 9px;
  background: #fff;
  margin: 10px 0;
}
.resource-content details > summary { padding: 17px 0; color: #24465d; cursor: pointer; font: 500 14px/1.6 Arial, Helvetica, sans-serif; }
.resource-content details > p { max-width: 760px; margin: 0 0 18px; color: #526c7e; font-size: 14px; line-height: 1.8; }
.public-content-body .lesson-guide { padding: 22px !important; }
.public-content-body .lesson-guide nav ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; }

.public-content-body .lesson-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 30px 0;
  padding: 0;
  border: 0;
}
.public-content-body .lesson-nav a,
.public-content-body .lesson-nav a:first-child,
.public-content-body .lesson-nav a:last-child {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 9px;
  min-height: 96px;
  padding: 20px;
  border: 1px solid #dce5ed;
  border-radius: 10px;
  background: #fff;
  color: #17354a;
  font: 600 14px/1.6 Arial, Helvetica, sans-serif;
  text-align: left;
  text-decoration: none;
}
.public-content-body .lesson-nav a small {
  color: #536c7e;
  font: 400 10px/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: .7px;
}
.public-content-body .lesson-nav a:hover { border-color: #afc3d2; background: #fff; color: #17354a; }
.public-content-body .related ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}
.public-content-body .related li { margin: 0; border: 0; padding: 0; }
.public-content-body .related li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 74px;
  padding: 18px 20px;
  border: 1px solid #dce5ed;
  border-radius: 8px;
  background: #fff;
  color: #24465d;
  font: 500 14px/1.6 Arial, Helvetica, sans-serif;
  text-decoration: none;
}
.public-content-body .related li > a:hover { border-color: #afc3d2; }
.public-content-body .related li > a > span { color: #657e90; font-size: 18px; }

@media (max-width: 800px) {
  .public-content-body .resource-link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-content-body .resource-program-card strong { font-size: 19px; }
  .public-content-body .prose a.resource-program-card { padding: 22px; }
  .public-content-body .tool-mini-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .public-content-body .resource-shell,
  .public-content-body .policy-shell { margin-top: 24px; }
  .content-index { margin-bottom: 26px; }
  .content-index > summary { min-height: 58px; padding-left: 18px; font-size: 13px; gap: 12px; }
  .content-index > summary small { font-size: 11px; }
  .content-index > ol { grid-template-columns: 1fr; padding: 16px 20px 20px 35px; }
  .public-content-body .resource-card-grid,
  .public-content-body .resource-link-grid { grid-template-columns: 1fr; gap: 14px; }
  .public-content-body .prose a.resource-program-card { min-height: 224px; padding: 22px; }
  .public-content-body .prose a.resource-tool-card { padding: 22px; }
  .public-content-body .prose .resource-link-grid > a { min-height: 72px; padding: 18px 20px; }
  .resource-content > section > h2,
  .policy-content > section > h2 { font-size: 23px; }
  .resource-content > section > p,
  .policy-content > section > p { font-size: 15px; line-height: 1.85; }
  .public-content-body .resource-content > section + section,
  .public-content-body .policy-content > section + section { margin-top: 30px; }
  .public-content-body .lesson-guide nav ol { grid-template-columns: 1fr; }
  .public-content-body .lesson-nav,
  .public-content-body .related ul { grid-template-columns: 1fr; }
  .public-content-body .lesson-table-wrap th,
  .public-content-body .lesson-table-wrap td { padding: 13px 16px; }
  .public-content-body .lesson-table-wrap > .table-scroll-hint { display: block; margin: 0 0 12px; font-size: 11px; }
}

/* Premium usability: preserve native lesson navigation at every breakpoint. */
body .lesson-guide:before{content:none}
body .lesson-guide .lesson-toc{min-width:0;grid-column:1/-1;border:0}
body .lesson-guide .lesson-toc nav{display:block}
.lesson-toc summary{cursor:pointer;font-size:16px;font-weight:700;min-height:44px;line-height:1.5;padding:10px 0;color:#15354c}
.lesson-toc summary span{display:block;font-size:13px;font-weight:400;color:#526775}
.lesson-toc nav a{display:block;padding:9px 4px;line-height:1.55;min-height:40px}
.lesson-block{scroll-margin-top:100px}
body .academy-lead-form label,body .academy-lead-form legend,body .academy-lead-form .academy-lead-form__consent{font-size:14px!important;line-height:1.65}
body .academy-lead-form input:not([type=checkbox]):not([type=hidden]){font-size:16px}
body .academy-lead-form__status{font-size:13px!important}
.lesson-toc summary:focus-visible,.lesson-toc a:focus-visible{outline:3px solid #aa813c;outline-offset:3px;border-radius:4px}
@media(min-width:1024px) and (max-width:1399px){
 .site-header .main-nav{display:flex!important;position:static;gap:22px;padding:0;background:transparent}
 .site-header .main-nav .nav-secondary{display:none}
 .site-header .menu-toggle{display:none}
 .site-header .header-cta-group{display:none}
 .site-header .main-nav a{font-size:14px;min-height:44px;display:flex;align-items:center;color:#f0f4f7}
}
@media(max-width:780px){.lesson-guide .lesson-toc nav ol{display:block}.lesson-guide .lesson-toc li{font-size:14px}.lesson-toc summary{padding-block:8px}}
