body {background: var(--surface, #f8f8f7); display: flex; flex-direction: column; min-height: 100dvh;}
.page-body {max-width: 1200px; margin: 0 auto; padding: clamp(2rem, 5vw, 3.5rem) clamp(1rem, 3vw, 2rem) 0; flex: 1;}


  .page-hero { background: var(--navy, #1e3a8a); padding: clamp(2.5rem,6vw,4rem) 0; width: 100%; }
  @media(max-width:860px){ .page-hero { padding: 2rem 0; } }
  .page-hero-inner { max-width: 1200px; margin: 0 auto; padding: 0 clamp(1rem,3vw,2rem); position: relative;}
  .hero-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; color: rgba(255,255,255,.5); margin-bottom: 12px; }
  .hero-title { font-family: var(--font-display, Georgia, serif); font-size: clamp(1.8rem,4vw,2.8rem); font-weight: 400; color: #fff; line-height: 1.15; margin-bottom: 14px; max-width: 860px; }
  .hero-lead { font-size: 1.05rem; color: rgba(255,255,255,.72); line-height: 1.75; max-width: 720px; }

/* ---- Common body formatting ------------------------------------------- */

h2 { font-family: var(--font-display, Georgia, serif); font-size: clamp(1.25rem, 2.5vw, 1.6rem); font-weight: 400; color: var(--navy, #1e3a8a); margin: 1.5rem 0 .9rem; line-height: 1.2; border-bottom: 2px solid var(--navy, #1e3a8a); padding-bottom: 8px; }
h3 { font-size: 1rem; font-weight: 700; color: var(--text, #0f172a); margin: 1.75rem 0 .5rem; }
p { font-size: .975rem; color: var(--text-secondary, #475569); line-height: 1.85; margin-bottom: 1rem; }
p strong { color: var(--text, #0f172a); font-weight: 600; }

.btn-primary { display: inline-block; font-size: 13px; font-weight: 700; background: var(--navy); color: #fff; padding: 10px 24px; text-decoration: none; transition: background 0.15s; white-space: nowrap; }
.btn-primary:hover { background: #131e35; }
.breadcrumb { font-size: 12px; color: #aaa; margin-bottom: 2rem; display: flex; gap: 6px; align-items: center; }
.breadcrumb a { color: #aaa; } .breadcrumb a:hover { color: var(--blue); }

/* ---- Top of page jump menu ------------------------------------------- */

.jump-menu { background:var(--white); border:1px solid var(--border); padding:18px 24px; margin-bottom:3rem; display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.jump-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--text-secondary); margin-right:8px; white-space:nowrap; }
.jump-link { font-size:13px; font-weight:600; color:var(--blue); text-decoration:none; padding:5px 12px; border:1px solid var(--border); background:var(--surface); white-space:nowrap; }
.jump-link:hover { background:var(--navy); color:#fff; border-color:var(--navy); }

/* ---- Static sidebar menu ------------------------------------------- */

  .sidebar { position:sticky; top:80px; }
  .sidebar-card { background:var(--white); border:1px solid var(--border); padding:18px; margin-bottom:1rem; }
  .sidebar-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; color:var(--blue); margin-bottom:10px; }
  .sidebar-links { display:flex; flex-direction:column; gap:5px; }
  .sidebar-link { font-size:13px; font-weight:600; color:var(--text); text-decoration:none; padding:8px 10px; border:1px solid var(--border); background:var(--surface); }
  .sidebar-link:hover { background:var(--navy) !important; color:#fff !important; border-color:var(--navy); }
  .sidebar-link span { display:block; font-size:11px; font-weight:400; color:var(--text-secondary); margin-top:2px; }
  .sidebar-link:hover span { color:rgba(255,255,255,.7) !important; }

/* ---- Related diagnostics strip ------------------------------------------- */
.related-tools-strip {
  clear: both;
  margin: 2.25rem 0 2.75rem;
  padding: 1.25rem 1.25rem 1.1rem;
  background: #f9fafb;
  border: 1px solid #e2e8f0;
  border-left: 4px solid var(--navy, #1e3a8a);
}
.related-tools-kicker {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--blue, #2563eb);
  margin-bottom: 8px;
}
.related-tools-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text, #0f172a);
  margin-bottom: 4px;
}
.related-tools-intro {
  font-size: .88rem;
  color: var(--text-secondary, #475569);
  line-height: 1.65;
  margin: 0 0 1rem;
}
.related-tools-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.related-tool-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: #fff;
  border: 1px solid #e5e7eb;
  padding: 14px 15px;
  text-decoration: none;
  min-height: 140px;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
.related-tool-card:hover {
  border-color: rgba(0,0,0,.18);
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  transform: translateY(-1px);
}
.related-tool-type {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--blue, #2563eb);
}
.related-tool-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--text, #0f172a);
  line-height: 1.35;
}
.related-tool-desc {
  font-size: 12px;
  color: var(--text-secondary, #475569);
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.related-tool-link {
  font-size: 11px;
  font-weight: 700;
  color: var(--blue, #2563eb);
  margin-top: auto;
}  
  
/* ---- Related content strips --------------------------------------------- */
.ell-related-wrap{clear:both;margin:3rem 0 2rem;display:flex;flex-direction:column;gap:1.5rem;}
.ell-related-section{border-top:1px solid var(--border,#e2e8f0);padding-top:1.25rem;}
.ell-related-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.85rem;}
.ell-related-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--blue,#2563eb);margin-bottom:4px;}
.ell-related-title{font-family:var(--font-display,Georgia,serif);font-size:1.25rem;font-weight:400;color:var(--navy,#1e3a8a);margin:0;border:none;padding:0;}
.ell-related-row{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
.ell-related-card{flex:0 0 min(320px,82vw);scroll-snap-align:start;background:var(--white,#fff);border:1px solid var(--border,#e2e8f0);padding:16px 18px;text-decoration:none;display:flex;flex-direction:column;gap:6px;min-height:148px;transition:border-color .15s,box-shadow .15s;}
.ell-related-card:hover{border-color:rgba(0,0,0,.18);box-shadow:0 2px 8px rgba(0,0,0,.06);}
.ell-related-card-kicker{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--blue,#2563eb);}
.ell-related-card-title{font-size:13px;font-weight:700;color:var(--text,#0f172a);line-height:1.4;}
.ell-related-card-desc{font-size:12px;color:var(--text-secondary,#475569);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.ell-related-card-link{font-size:11px;font-weight:700;color:var(--blue,#2563eb);margin-top:auto;}

.ell-related-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:14px;
}
@media(max-width:900px){
 .ell-related-grid{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x proximity;
 }
 .ell-related-card{flex:0 0 82vw;}
}
.ell-related-more{
 margin-top:12px;
 font-size:13px;
 font-weight:700;
 color:var(--blue,#2563eb);
}
.ell-related-section + .ell-related-section{
 margin-top:24px;
}

@media (max-width: 860px) {
  .related-tools-grid { grid-template-columns: 1fr; }
  .related-tool-card { min-height: auto; }
}

@media(max-width:640px){.ell-related-wrap{margin-top:2rem}.ell-related-card{flex-basis:86vw}}
/* ============================================================================
   RESEARCH PAGES — restore the off-white body background
   header_public.php's own inline <style> block sets body{background:var(--white)}
   and runs AFTER style.css in the document, so it wins ties on plain `body`.
   Every other page on the site works around this with its own local
   body{background:var(--surface)} override placed after the header include.
   These 8 research pages lost that override when their local <style> blocks
   were removed. Rather than reintroduce a local block (defeats the point of
   moving this into style.css) or touch the shared header (risks every page
   on the site), this uses a higher-specificity selector scoped to exactly
   the research-page wrapper classes, so nothing else is affected.
   ========================================================================== */
body:has(.research-content-wrap), body:has(.research-index-body) { background: var(--surface); }
body:has(.eduorg-content-grid), body:has(.eduorg-page-body) { background: var(--surface); display: flex; flex-direction: column; min-height: 100dvh; }

/* ============================================================================
   EDUCATION + ORGANIZATIONS — universal shell
   The only rules genuinely shared by BOTH folders (confirmed identical or
   reconciled from trivial spacing drift). Page-type-specific systems for
   each folder's own content live further below under .edu-* / .org-*.
   ========================================================================== */
.eduorg-page-body { max-width: 1200px; margin: 0 auto; padding: clamp(2rem,5vw,4rem) clamp(1rem,3vw,2rem); flex: 1; }
.eduorg-page-body-flat { max-width: none; padding: 0; }
.eduorg-content-grid { display: grid; grid-template-columns: 1fr 300px; gap: 3rem; align-items: start; }
@media(max-width:900px){ .eduorg-content-grid { grid-template-columns: 1fr; } }
.eduorg-sidebar { position: sticky; top: 80px; }
.eduorg-sidebar-card { background: var(--white); border: 1px solid var(--border); padding: 18px; margin-bottom: 1rem; }
.eduorg-sidebar-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; color: var(--blue); margin-bottom: 10px; }
.eduorg-sidebar-links { display: flex; flex-direction: column; gap: 5px; }
.eduorg-sidebar-link { font-size: 13px; font-weight: 600; color: var(--text); text-decoration: none; padding: 8px 10px; border: 1px solid var(--border); background: var(--surface); }
.eduorg-sidebar-link:hover { background: var(--navy) !important; color: #fff !important; border-color: var(--navy); }
.eduorg-sidebar-link span { display: block; font-size: 11px; font-weight: 400; color: var(--text-secondary); margin-top: 2px; }
.eduorg-sidebar-link:hover span { color: rgba(255,255,255,.7) !important; }
.btn-w { display: inline-block; font-size: 13px; font-weight: 700; background: #fff; color: var(--navy); padding: 11px 24px; text-decoration: none; }

/* ============================================================================
   EDUCATION — shared system across the 5 content pages (capstone,
   coaching-programs, executive-education, leadership-courses, syllabi) plus
   education/index.php, which carries a couple of intentional size bumps as
   the folder's landing page (kept as .lg / .anchor modifiers, not a
   duplicate system, since everything else about it matches exactly).
   ========================================================================== */
.edu-section { margin-bottom: 3rem; }
.edu-section.anchor { scroll-margin-top: 80px; }
.edu-section-title {  font-family: var(--font-display); font-size: clamp(1.3rem,2.5vw,1.75rem); font-weight: 400; color: var(--navy); margin-bottom: 0.75rem; line-height: 1.2; }
.edu-section-title.lg { font-size: clamp(1.4rem,3vw,2rem); margin-bottom: 0.5rem; }
.edu-callout { background: var(--white); border: 1px solid var(--border); border-left: 4px solid var(--navy); padding: 18px 22px; margin: 1.5rem 0; }
.edu-callout p { margin: 0; }
.edu-section-divider { height: 1px; background: var(--border); margin: 2.5rem 0; }
.edu-content-wrap { max-width: 1200px; margin: 0 auto; padding: clamp(2rem,5vw,3.5rem) clamp(1rem,3vw,2rem) clamp(2rem,4vw,3rem); }
.edu-cta-strip { background: var(--white); border: 1px solid var(--border); border-left: 4px solid var(--blue); padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; margin-top: 3rem; }
.edu-cta-strip-text { font-size: 14px; font-weight: 600; color: var(--navy); }
.edu-cta-strip-sub { font-size: 13px; font-weight: 400; color: var(--text-secondary); margin-top: 3px; }
.edu-use-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 1.5rem 0; }
@media(max-width:600px){ .edu-use-grid { grid-template-columns: 1fr; } }
.edu-use-card { background: var(--white); border: 1px solid var(--border); border-left: 4px solid var(--blue); padding: 18px 20px; }
.edu-use-card-title { font-size: 13px; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
.edu-use-card-body { font-size: 12.5px; color: var(--text-secondary); line-height: 1.65; }
.edu-tool-list { display: flex; flex-direction: column; gap: 8px; margin: 1rem 0; }
.edu-tool-item { display: flex; align-items: baseline; gap: 10px; font-size: 13px; color: var(--text-secondary); }
.edu-tool-item::before { content: ""; display: inline-block; width: 6px; height: 6px; background: var(--blue); flex-shrink: 0; margin-top: 6px; }
.edu-tool-name { font-weight: 600; color: var(--text); }

/* ============================================================================
   ORGANIZATIONS — shared system across the 4 audience pages (employees,
   hr-teams, managers, senior-leadership). The blue/navy accent split on
   .org-scenario-card and .org-step-num is intentional per-page theming
   (employees/hr-teams = blue, managers/senior-leadership = navy), not drift,
   so it's kept as an explicit modifier rather than forced to one color.
   ========================================================================== */
.org-scenario { margin-bottom: 3.5rem; scroll-margin-top: 80px; }
.org-scenario-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--blue); margin-bottom: 8px; }
.org-scenario-title {  font-family: var(--font-display); font-size: clamp(1.4rem,3vw,1.9rem); font-weight: 400; color: var(--navy); margin-bottom: 1.2rem; line-height: 1.2; border-bottom: none; padding-bottom: 0; }
.org-scenario-card { background: var(--white); border: 1px solid var(--border); padding: 24px 28px; margin-bottom: 1.5rem; }
.org-scenario-card.blue { border-top: 3px solid var(--blue); }
.org-scenario-card.navy { border-top: 3px solid var(--navy); }
.org-scenario-card-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--blue); margin-bottom: 8px; }
.org-scenario-card-sub { font-family: var(--font-display); font-size: 1.1rem; font-weight: 400; color: var(--navy); margin-bottom: 12px; }
.org-scenario-tools { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border); font-size: 12px; color: var(--blue); font-weight: 600; }
.org-pull-quote { background: var(--surface); border-left: 3px solid var(--blue); padding: 14px 20px; margin: 1.25rem 0; }
.org-pull-quote p { font-size: .93rem; color: var(--text); font-style: italic; margin: 0; }
.org-insight-box { background: var(--white); border: 1px solid var(--border); border-left: 4px solid var(--navy); padding: 18px 22px; margin: 1.25rem 0; }
.org-insight-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--navy); margin-bottom: 8px; }
.org-step-list { border: 1px solid var(--border); margin: 1.25rem 0; }
.org-step { display: grid; grid-template-columns: 44px 1fr; border-bottom: 1px solid var(--border); }
.org-step:last-child { border-bottom: none; }
.org-step-num { color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; }
.org-step-num.blue { background: var(--blue); }
.org-step-num.navy { background: var(--navy); }
.org-step-body { padding: 14px 18px; background: var(--white); }
.org-step-title { font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 3px; }
.org-step-desc { font-size: 12px; color: var(--text-secondary); line-height: 1.65; }
.org-divider { border: none; border-top: 1px solid var(--border); margin: 3rem 0; }
.org-cta-strip { background: var(--navy); padding: clamp(2rem,4vw,3rem) clamp(1rem,3vw,2rem); }
.org-cta-strip-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 300px; gap: 2rem; align-items: start; }
@media(max-width:700px){ .org-cta-strip-inner { grid-template-columns: 1fr; } }
.org-cta-main h2 {  font-family: var(--font-display); font-size: clamp(1.3rem,2.5vw,1.7rem); font-weight: 400; color: #fff; margin-bottom: 8px; border-bottom: none; padding-bottom: 0; }
.org-cta-main p { font-size: 13px; color: rgba(255,255,255,.7); line-height: 1.65; margin-bottom: 16px; }
.org-cta-licensing { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); padding: 20px 22px; }
.org-cta-lic-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: rgba(255,255,255,.5); margin-bottom: 8px; }
.org-cta-licensing p { font-size: 13px; color: rgba(255,255,255,.75); line-height: 1.65; margin-bottom: 14px; }

/* ============================================================================
   EDUCATION + ORGANIZATIONS — shared pricing-page template
   edu-pricing.php and org-pricing.php were built as one template; 37 of 38
   selectors were already byte-identical. The one real difference (.p-eyebrow)
   was a bug, not a design choice: org-pricing.php had near-white text on a
   light background, illegible in practice, reconciled here to the readable
   blue version both pages should have had.
   ========================================================================== */
.eduorg-pricing-w { max-width: 1200px; margin: 0 auto; width: 100%; padding: 2rem clamp(1rem,3vw,2rem) 0; }
.eduorg-pricing-hero { padding-bottom: 1.5rem; border-bottom: 1px solid var(--border); margin-bottom: 2.5rem; }
.eduorg-pricing-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--blue); margin-bottom: 8px; }
.eduorg-pricing-h1 { font-family: var(--font-display); font-size: clamp(1.8rem,4vw,2.4rem); font-weight: 400; color: var(--navy); margin-bottom: .85rem; }
.eduorg-pricing-lead { font-size: 15px; color: var(--text-secondary); line-height: 1.75; max-width: 680px; margin: 0; }
.eduorg-pricing-section { margin: 2.5rem 0; }
.eduorg-pricing-sh { font-size: 1.1rem; font-weight: 700; color: var(--navy); margin-bottom: .4rem; }
.eduorg-pricing-sd { font-size: 14px; color: var(--text-secondary); line-height: 1.7; margin-bottom: 1.2rem; max-width: 680px; }
.eduorg-pricing-pkg-row { display: flex; gap: .75rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.eduorg-pricing-pkg-card { flex: 1; min-width: 180px; border: 2px solid var(--border); padding: 14px 16px; }
.eduorg-pricing-pkg-card-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 4px; }
.eduorg-pricing-pkg-card-title { font-size: 15px; font-weight: 800; color: var(--navy); margin-bottom: 4px; }
.eduorg-pricing-pkg-card-desc { font-size: 12px; color: var(--text-secondary); line-height: 1.6; }
.eduorg-pricing-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.eduorg-pricing-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: .75rem; min-width: 580px; }
.eduorg-pricing-table th { text-align: left; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #888; padding: 10px 14px; border-bottom: 2px solid var(--border); background: var(--surface); white-space: nowrap; }
.eduorg-pricing-table td { padding: 11px 14px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.eduorg-pricing-table tr:last-child td { border-bottom: none; }
.eduorg-pricing-table tr:hover td { background: #fafafa; }
.eduorg-pricing-tier { font-weight: 600; color: var(--text); }
.eduorg-pricing-note { font-size: 12px; color: #888; margin-top: .5rem; }
.eduorg-pricing-feat-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--border); margin: 1rem 0; }
@media(max-width:600px){ .eduorg-pricing-feat-grid { grid-template-columns: 1fr; } }
.eduorg-pricing-feat-item { background: var(--white); padding: 16px 18px; display: flex; gap: 12px; align-items: flex-start; }
.eduorg-pricing-feat-ck { width: 20px; height: 20px; border-radius: 50%; background: #f0fdf4; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.eduorg-pricing-feat-ck svg { width: 11px; height: 11px; }
.eduorg-pricing-feat-h { font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 3px; }
.eduorg-pricing-feat-d { font-size: 12px; color: var(--text-secondary); line-height: 1.6; }
.eduorg-pricing-terms-list { font-size: 14px; color: var(--text-secondary); line-height: 1.9; padding-left: 1.25rem; margin: 0; }
.eduorg-pricing-cta-strip { background: var(--navy); color: #fff; padding: 2.5rem; margin-top: 2rem; }
.eduorg-pricing-cta-strip h2 {  font-family: var(--font-display); font-size: 1.3rem; font-weight: 400; margin-bottom: .75rem; color: #fff; border-bottom: none; padding-bottom: 0; }
.eduorg-pricing-cta-strip p { font-size: 14px; color: rgba(255,255,255,.8); line-height: 1.75; margin-bottom: 1.25rem; max-width: 600px; }
.eduorg-pricing-cta-links { display: flex; gap: 12px; flex-wrap: wrap; }
.eduorg-pricing-cta-p { background: #fff; color: var(--navy); font-size: 13px; font-weight: 700; padding: 10px 24px; text-decoration: none; display: inline-block; }
.eduorg-pricing-cta-s { background: transparent; color: #fff; font-size: 13px; font-weight: 700; padding: 10px 24px; text-decoration: none; display: inline-block; border: 1px solid rgba(255,255,255,.35); }
.eduorg-pricing-scroll-hint { display: none; font-size: 11px; color: #aaa; margin-bottom: 6px; }
@media(max-width:640px){ .eduorg-pricing-scroll-hint { display: block; } }
@media print {
  .no-print { display: none!important; } .eduorg-pricing-cta-strip { display: none!important; }
  footer, nav, .site-nav, .site-footer { display: none!important; }
  .eduorg-pricing-table-wrap { overflow: visible!important; } .eduorg-pricing-table { min-width: 0!important; font-size: 11px!important; table-layout: fixed; width: 100%!important; }
  .eduorg-pricing-table th, .eduorg-pricing-table td { padding: 5px 7px!important; white-space: normal!important; word-break: break-word; }
  .eduorg-pricing-scroll-hint { display: none!important; }
}

/* ============================================================================
   EDUCATION + ORGANIZATIONS — shared licensing-request-form template
   education/licensing.php and organizations/org-licensing.php: 61 of 64
   selectors were already identical (one, education's FAQ header, was
   expressed as inline styles instead of a class -- same values, now
   consolidated the same way as everywhere else on the site).
   NOTE: .tier-card and its sub-rules are deliberately left unprefixed and
   untouched in both files' markup -- the page's own JavaScript queries
   `.tier-card` directly by class name (tier selection on the request form),
   so renaming it would require touching business-critical form logic for no
   real benefit. It's promoted here as shared CSS under its existing name.
   ========================================================================== */
.eduorg-licensing-page-hero { background: var(--navy); padding: clamp(2.5rem,6vw,4rem) clamp(1rem,3vw,2rem); }
.eduorg-licensing-page-hero-inner { max-width: 1200px; margin: 0 auto; padding: 0 clamp(1rem,3vw,2rem); }
.eduorg-licensing-page-hero-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; color: rgba(255,255,255,.5); margin-bottom: 12px; }
.eduorg-licensing-page-hero-title { font-family: var(--font-display); font-size: clamp(2rem,5vw,3rem); font-weight: 400; color: #fff; line-height: 1.2; margin-bottom: 16px; max-width: 680px; }
.eduorg-licensing-page-hero-sub { font-size: clamp(1rem,2vw,1.1rem); color: rgba(255,255,255,.7); max-width: 680px; line-height: 1.7; }
.eduorg-licensing-value-strip { background: var(--white); border-bottom: 1px solid var(--border); }
.eduorg-licensing-value-strip-inner { max-width: 1200px; margin: 0 auto; padding: clamp(2rem,4vw,3rem) clamp(1rem,3vw,2rem); display: grid; grid-template-columns: repeat(4,1fr); gap: 2rem; }
@media(max-width:960px){ .eduorg-licensing-value-strip-inner { grid-template-columns: repeat(2,1fr); gap: 1.5rem; } }
@media(max-width:520px){ .eduorg-licensing-value-strip-inner { grid-template-columns: 1fr; gap: 1.5rem; } }
.eduorg-licensing-value-item { display: flex; flex-direction: column; gap: 8px; }
.eduorg-licensing-value-icon { font-size: 24px; margin-bottom: 4px; }
.eduorg-licensing-value-title { font-size: 14px; font-weight: 700; color: var(--text); }
.eduorg-licensing-value-desc { font-size: 13px; color: var(--text-secondary); line-height: 1.65; }
.eduorg-licensing-section-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; color: var(--blue); margin-bottom: 8px; }
.eduorg-licensing-section-title {  font-family: var(--font-display); font-size: clamp(1.5rem,3vw,2rem); font-weight: 400; color: var(--text); margin-bottom: 6px; line-height: 1.25; }
.eduorg-licensing-form-section { background: var(--white); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.eduorg-licensing-form-section-inner { max-width: 1200px; margin: 0 auto; padding: clamp(2rem,5vw,4rem) clamp(1rem,3vw,2rem); }
.eduorg-licensing-form-title {  font-family: var(--font-display); font-size: clamp(1.4rem,3vw,1.8rem); font-weight: 400; color: var(--text); margin-bottom: 6px; }
.eduorg-licensing-form-intro { font-size: 14px; color: var(--text-secondary); margin-bottom: 2rem; line-height: 1.65; }
.eduorg-licensing-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media(max-width:560px){ .eduorg-licensing-form-row { grid-template-columns: 1fr; } }
.eduorg-licensing-form-field { display: flex; flex-direction: column; gap: 5px; }
.eduorg-licensing-form-field label { font-size: 12px; font-weight: 600; color: #444; letter-spacing: .02em; }
.eduorg-licensing-form-field input, .eduorg-licensing-form-field select, .eduorg-licensing-form-field textarea { border: 1px solid rgba(0,0,0,.15); padding: 0 12px; font-size: 14px; outline: none; transition: border-color .15s; font-family: inherit; background: #fafafa; color: var(--text); }
.eduorg-licensing-form-field input, .eduorg-licensing-form-field select { height: 42px; }
.eduorg-licensing-form-field textarea { padding: 10px 12px; resize: vertical; min-height: 100px; }
.eduorg-licensing-form-field input:focus, .eduorg-licensing-form-field select:focus, .eduorg-licensing-form-field textarea:focus { border-color: var(--blue); background: #fff; }
.eduorg-licensing-form-field input::placeholder, .eduorg-licensing-form-field textarea::placeholder { color: #bbb; }
.eduorg-licensing-form-hint { font-size: 11px; color: #aaa; margin-top: 3px; }
.eduorg-licensing-form-section-label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #888; margin-bottom: 10px; margin-top: 24px; padding-bottom: 6px; border-bottom: 1px solid var(--border); }
.eduorg-licensing-deliv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 16px; }
@media(max-width:560px){ .eduorg-licensing-deliv-grid { grid-template-columns: 1fr; } }
.eduorg-licensing-tier-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-bottom: 16px; }
@media(max-width:560px){ .eduorg-licensing-tier-grid { grid-template-columns: 1fr; } }
/* .tier-card intentionally kept bare -- see note above */
.tier-card { border: 2px solid var(--border); padding: 14px 16px; cursor: pointer; transition: all .15s; background: #fafafa; position: relative; }
.tier-card:hover { border-color: var(--blue); background: var(--blue-soft); }
.tier-card.selected { border-color: var(--blue); background: var(--blue-soft); }
.tier-card input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; }
.eduorg-licensing-tier-card-name { font-size: 14px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
.eduorg-licensing-tier-card-price { font-size: 12px; color: var(--blue); font-weight: 600; }
.eduorg-licensing-tier-card-desc { font-size: 11px; color: #888; margin-top: 4px; line-height: 1.5; }
.eduorg-licensing-tool-picks { display: none; }
.eduorg-licensing-tool-picks.visible { display: block; }
.eduorg-licensing-tool-picks-note { font-size: 12px; color: #777; margin-bottom: 10px; padding: 8px 12px; background: #f0f4ff; border-left: 3px solid var(--blue); }
.eduorg-licensing-tool-checks { display: grid; grid-template-columns: repeat(2,1fr); gap: 6px; }
@media(max-width:480px){ .eduorg-licensing-tool-checks { grid-template-columns: 1fr; } }
.eduorg-licensing-tool-check-item { display: flex; align-items: flex-start; gap: 8px; padding: 8px 10px; border: 1px solid var(--border); background: #fafafa; cursor: pointer; transition: background .1s; }
.eduorg-licensing-tool-check-item:hover { background: var(--blue-soft); }
.eduorg-licensing-tool-check-item.disabled { opacity: .4; cursor: not-allowed; }
.eduorg-licensing-tool-check-item input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--blue); flex-shrink: 0; cursor: pointer; margin-top: 1px; }
.eduorg-licensing-tool-check-label { font-size: 12px; font-weight: 500; color: var(--text); line-height: 1.3; cursor: pointer; }
.eduorg-licensing-tool-count-display { font-size: 13px; font-weight: 700; color: var(--blue); margin-bottom: 8px; }
.eduorg-licensing-pip-addon { margin: 0 0 4px; padding: 14px 16px; border: 1px solid var(--border); background: #fafafa; }
.eduorg-licensing-pip-addon label { display: flex; align-items: flex-start; gap: 9px; cursor: pointer; }
.eduorg-licensing-pip-addon input { width: 16px; height: 16px; margin-top: 2px; accent-color: var(--blue); }
.eduorg-licensing-pip-addon-title { font-size: 13px; font-weight: 700; color: var(--text); }
.eduorg-licensing-pip-addon-desc { display: block; font-size: 11px; font-weight: 400; color: #777; line-height: 1.55; margin-top: 3px; }
.eduorg-licensing-form-error { font-size: 13px; color: #b42318; background: #fff5f5; border: 1px solid rgba(180,35,24,.2); padding: 10px 14px; margin-bottom: 14px; display: none; }
.eduorg-licensing-form-success { background: #f0fdf4; border: 1px solid rgba(22,101,52,.2); padding: 20px 24px; display: none; }
.eduorg-licensing-form-success strong { display: block; font-size: 15px; font-weight: 700; color: #166534; margin-bottom: 6px; }
.eduorg-licensing-form-success p { font-size: 13px; color: #166534; line-height: 1.65; }
.btn-submit { width: 100%; height: 46px; background: var(--navy); color: #fff; border: none; font-size: 14px; font-weight: 700; cursor: pointer; font-family: inherit; transition: background .15s; margin-top: 8px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.btn-submit:hover { background: #131e35; }
.btn-submit:disabled { opacity: .6; cursor: not-allowed; }
.eduorg-licensing-faq-section-wrap { background: var(--surface); border-top: 1px solid var(--border); }
.eduorg-licensing-faq-section { max-width: 1200px; margin: 0 auto; padding: clamp(2rem,4vw,3rem) clamp(1rem,3vw,2rem); }
.eduorg-licensing-faq-item { border-bottom: 1px solid var(--border); padding: 18px 0; }
.eduorg-licensing-faq-q { font-size: 14px; font-weight: 700; color: var(--text); margin-bottom: 8px; }
.eduorg-licensing-faq-a { font-size: 13px; color: var(--text-secondary); line-height: 1.7; }

/* ============================================================================
   EDUCATION — remaining page-specific components (no more local <style>
   blocks anywhere in education/ after this). .edu-example-* consolidates
   what capstone.php called .project-block and executive-education.php
   called .scenario -- same card, same purpose, two different names.
   ========================================================================== */
.edu-example-block { background: var(--white); border: 1px solid var(--border); padding: 24px 28px; margin: 1.25rem 0; }
.edu-example-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--blue); margin-bottom: 8px; }
.edu-example-title { font-size: 14px; font-weight: 700; color: var(--navy); margin-bottom: 10px; }
.edu-example-body { font-size: 13px; color: var(--text-secondary); line-height: 1.7; }
.edu-integration-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 1.5rem 0; }
@media (max-width: 600px) { .edu-integration-grid { grid-template-columns: 1fr; } }
.edu-integration-card { background: var(--white); border: 1px solid var(--border); padding: 20px; }
.edu-integration-week { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--blue); margin-bottom: 6px; }
.edu-integration-title { font-size: 13px; font-weight: 700; color: var(--navy); margin-bottom: 8px; }
.edu-integration-body { font-size: 12.5px; color: var(--text-secondary); line-height: 1.65; }
.edu-syllabus-block { background: var(--white); border: 1px solid var(--border); margin: 1.5rem 0; }
.edu-syllabus-header { background: var(--navy); color: #fff; padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; }
.edu-syllabus-title { font-size: 13px; font-weight: 700; }
.edu-syllabus-tag { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; background: rgba(255,255,255,0.15); padding: 3px 10px; }
.edu-syllabus-body { padding: 20px 24px; font-size: 13px; color: #333; line-height: 1.75; }
.edu-syllabus-body h4 { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #888; margin: 14px 0 6px; }
.edu-syllabus-body p { font-size: 13px; color: #444; margin-bottom: 8px; }
.edu-syllabus-body ul { margin: 0 0 10px 20px; }
.edu-syllabus-body li { font-size: 13px; color: #444; line-height: 1.65; margin-bottom: 4px; }
.edu-syllabus-body .week-row { display: flex; gap: 16px; border-bottom: 1px solid #f0f0ef; padding: 6px 0; }
.edu-syllabus-body .week-label { font-weight: 700; color: var(--navy); min-width: 60px; flex-shrink: 0; font-size: 12px; }
.edu-syllabus-body .week-content { font-size: 12px; color: #444; }
.edu-index-hero-nav { display: flex; flex-direction: column; gap: 6px; }
.edu-index-hero-nav a { display: block; padding: 12px 16px; background: rgba(255,255,255,0.07); color: rgba(255,255,255,0.85); font-size: 13px; font-weight: 600; text-decoration: none; border-left: 3px solid transparent; transition: all 0.15s; }
.edu-index-hero-nav a:hover { background: rgba(255,255,255,0.12); border-left-color: var(--blue); color: #fff; }
.edu-index-hero-nav a span { display: block; font-size: 11px; font-weight: 400; color: rgba(255,255,255,0.45); margin-top: 2px; }
.edu-index-section-sub { font-size: 13px; color: var(--text-secondary); margin-bottom: 1.5rem; }

/* ============================================================================
   ORGANIZATIONS — remaining page-specific components. .org-lic-box
   consolidates what senior-leadership.php and organizations/index.php each
   independently built as identical sidebar/CTA licensing callouts.
   ========================================================================== */
.org-data-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--border); border: 1px solid var(--border); margin: 1.25rem 0; }
@media(max-width:600px){ .org-data-grid { grid-template-columns: 1fr; } }
.org-data-cell { background: var(--white); padding: 16px 18px; }
.org-data-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--blue); margin-bottom: 5px; }
.org-data-value { font-size: 1.4rem; font-weight: 800; color: var(--navy); line-height: 1; margin-bottom: 3px; }
.org-data-desc { font-size: 12px; color: var(--text-secondary); line-height: 1.5; }
.org-lic-box { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); padding: 20px 22px; }
.org-lic-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: rgba(255,255,255,.5); margin-bottom: 8px; }
.org-lic-box p { font-size: 13px; color: rgba(255,255,255,.8); line-height: 1.65; margin-bottom: 14px; }
.org-index-stat-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); margin-bottom: 3rem; }
@media(max-width:700px){ .org-index-stat-grid { grid-template-columns: 1fr 1fr; } }
.org-index-stat { background: var(--white); padding: 22px 18px; text-align: center; }
.org-index-stat-num { font-family: var(--font-display); font-size: 2rem; font-weight: 700; color: var(--navy); line-height: 1; margin-bottom: 4px; }
.org-index-stat-desc { font-size: 12px; color: var(--text-secondary); line-height: 1.5; }
.org-index-guide-section { margin-bottom: 3rem; }
.org-index-section-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--blue); margin-bottom: 8px; }
.org-index-section-title {  font-family: var(--font-display); font-size: clamp(1.3rem,2.5vw,1.8rem); font-weight: 400; color: var(--navy); margin-bottom: 1rem; }
.org-index-guide-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
@media(max-width:760px){ .org-index-guide-grid { grid-template-columns: 1fr; } .org-index-guide-card--coming-soon { display: none; } }
.org-index-guide-card { background: var(--white); border: 1px solid var(--border); border-top: 3px solid var(--navy); padding: 22px 24px; text-decoration: none; display: block; }
.org-index-guide-card:hover { border-top-color: var(--blue); }
.org-index-guide-card--coming-soon { opacity: .55; cursor: default; border-top-color: #888; }
.org-index-guide-card--coming-soon:hover { border-top-color: #888; }
.org-index-guide-eyebrow { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--blue); margin-bottom: 7px; }
.org-index-guide-title { font-size: .95rem; font-weight: 700; color: var(--text); margin-bottom: 6px; line-height: 1.3; }
.org-index-guide-desc { font-size: .82rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 10px; }
.org-index-guide-read { font-size: 12px; font-weight: 700; color: var(--blue); }
.org-index-dodont-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-bottom: 3rem; }
@media(max-width:700px){ .org-index-dodont-grid { grid-template-columns: 1fr; } }
.org-index-dodont-col { background: var(--white); border: 1px solid var(--border); padding: 22px 26px; }
.org-index-dodont-col.do { border-top: 3px solid #166534; }
.org-index-dodont-col.dont { border-top: 3px solid #b42318; }
.org-index-dodont-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; margin-bottom: 14px; }
.org-index-dodont-col.do .org-index-dodont-label { color: #166534; }
.org-index-dodont-col.dont .org-index-dodont-label { color: #b42318; }
.org-index-dodont-list { display: flex; flex-direction: column; gap: 9px; }
.org-index-dodont-item { display: flex; gap: 9px; font-size: .875rem; color: var(--text-secondary); line-height: 1.7; }
.org-index-dodont-icon { flex-shrink: 0; font-weight: 900; margin-top: 1px; }
.org-index-dodont-col.do .org-index-dodont-icon { color: #166534; }
.org-index-dodont-col.dont .org-index-dodont-icon { color: #b42318; }
.org-index-value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; margin-bottom: 3rem; }
@media(max-width:760px){ .org-index-value-grid { grid-template-columns: 1fr; } }
.org-index-value-card { background: var(--white); border: 1px solid var(--border); padding: 22px; }
.org-index-value-title { font-size: .9rem; font-weight: 700; color: var(--text); margin-bottom: 5px; }
.org-index-value-desc { font-size: .85rem; color: var(--text-secondary); line-height: 1.7; }
.org-index-divider { border: none; border-top: 1px solid var(--border); margin: 2.5rem 0; }
.org-index-cta { background: var(--navy); padding: clamp(2.5rem,5vw,4rem) 0; }
.org-index-cta-inner { max-width: 1200px; margin: 0 auto; padding: 0 clamp(1rem,3vw,2rem); display: grid; grid-template-columns: 1fr 300px; gap: 2rem; align-items: start; }
@media(max-width:700px){ .org-index-cta-inner { grid-template-columns: 1fr; } }
.org-index-cta-main h2 {  font-family: var(--font-display); font-size: clamp(1.5rem,3vw,2rem); font-weight: 400; color: #fff; margin-bottom: 12px; border-bottom: none; padding-bottom: 0; }
.org-index-cta-main p { font-size: .975rem; color: rgba(255,255,255,.72); line-height: 1.8; margin-bottom: 18px; }

/* ============================================================================
   RELATED-CONTENT RECOMMENDATION CARDS  (ported from articles.css — unchanged)
   End-of-page "you might also want" strip used on articles, tool results, etc.
   Do not confuse with .research-nav-* below — visually and purposefully
   different, despite both being "a card with a title and a link."
   ========================================================================== */
.ell-related-wrap{clear:both;margin:3rem 0 2rem;display:flex;flex-direction:column;gap:1.5rem;}
.ell-related-section{border-top:1px solid var(--border,#e2e8f0);padding-top:1.25rem;}
.ell-related-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.85rem;}
.ell-related-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--blue,#2563eb);margin-bottom:4px;}
.ell-related-title{font-family:var(--font-display,Georgia,serif);font-size:1.25rem;font-weight:400;color:var(--navy,#1e3a8a);margin:0;border:none;padding:0;}
.ell-related-row{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
.ell-related-card{flex:0 0 min(320px,82vw);scroll-snap-align:start;background:var(--white,#fff);border:1px solid var(--border,#e2e8f0);padding:16px 18px;text-decoration:none;display:flex;flex-direction:column;gap:6px;min-height:148px;transition:border-color .15s,box-shadow .15s;}
.ell-related-card:hover{border-color:rgba(0,0,0,.18);box-shadow:0 2px 8px rgba(0,0,0,.06);}
.ell-related-card-kicker{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--blue,#2563eb);}
.ell-related-card-title{font-size:13px;font-weight:700;color:var(--text,#0f172a);line-height:1.4;}
.ell-related-card-desc{font-size:12px;color:var(--text-secondary,#475569);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.ell-related-card-link{font-size:11px;font-weight:700;color:var(--blue,#2563eb);margin-top:auto;}
.ell-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
@media(max-width:900px){
  .ell-related-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;}
  .ell-related-card{flex:0 0 82vw;}
}
.ell-related-more{margin-top:12px;font-size:13px;font-weight:700;color:var(--blue,#2563eb);}
.ell-related-section + .ell-related-section{margin-top:24px;}
@media(max-width:640px){.ell-related-wrap{margin-top:2rem}.ell-related-card{flex-basis:86vw}}

/* ============================================================================
   RESEARCH SECTION IN-PAGE NAV CARDS  (new — distinct from .ell-related-* above)
   "More in the Research section" cross-links on research/index.php. This is
   in-section navigation between methodology pages, not a content
   recommendation strip, so it deliberately does not share the .ell-related-*
   system even though the card shape looks similar.
   ========================================================================== */
.research-nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
@media(max-width:700px){.research-nav-grid{grid-template-columns:1fr;}}
.research-nav-card{background:var(--white);border:1px solid var(--border);padding:16px 18px;text-decoration:none;display:block;}
.research-nav-card-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px;}
.research-nav-card-desc{font-size:12px;color:var(--text-secondary);line-height:1.6;}
.research-nav-card-link{font-size:12px;font-weight:700;color:var(--blue);margin-top:8px;}
.research-nav-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--blue);margin-bottom:12px;}
.research-nav-wrap{margin-top:3rem;margin-bottom:3rem;}

/* ============================================================================
   RESEARCH / METHODOLOGY PAGES — shared shell
   Used identically across all 7 research/*.php deep-dive pages (everything
   except research/index.php, which has its own bespoke shell below — the two
   are visually different by design, not by accident, so they get separate
   classes rather than being forced to share one).
   ========================================================================== */
.research-page-pad-flat{max-width:none;padding:0;}
.research-section{margin-bottom:3rem;}
.research-section-title{ font-family:var(--font-display);font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:400;color:var(--navy);margin-bottom:1rem;line-height:1.2; }
.research-callout{background:var(--white);border:1px solid var(--border);border-left:4px solid var(--blue);padding:20px 24px;margin:2rem 0;}
.research-callout p{margin:0;}
.research-footnotes{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border);}
.research-footnotes p{font-size:12px;color:#888;line-height:1.7;margin-bottom:0.5rem;}
.research-cta-strip{background:var(--white);border:1px solid var(--border);padding:2rem;text-align:center;margin-top:3rem;}
.research-cta-strip h2{ font-family:var(--font-display);font-size:1.4rem;font-weight:400;color:var(--navy);margin-bottom:8px; border-bottom: none; padding-bottom: 0; }
.research-cta-strip p{margin-bottom:1.25rem;}
.btn-primary.sm{font-size:12px;padding:8px 16px;}
.research-content-wrap{max-width:1200px;margin:0 auto;padding:clamp(2rem,5vw,3.5rem) clamp(1rem,3vw,2rem) clamp(2rem,4vw,3rem);}
.research-content-grid{display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start;}
@media(max-width:900px){.research-content-grid{grid-template-columns:1fr;}}
.research-fact-row{display:flex;gap:14px;margin-bottom:1.25rem;}
.research-fact-num{width:28px;height:28px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;margin-top:2px;}
.research-fact-body{flex:1;font-size:0.975rem;color:var(--text-secondary);line-height:1.75;}
.research-fact-body strong{color:var(--text);font-weight:700;display:block;margin-bottom:3px;}
.research-sidebar-note{font-size:12px;color:var(--text-secondary);line-height:1.6;margin-bottom:10px;}

/* ---- answer-randomization.php: fixed-vs-randomized comparison ---- */
.research-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);margin:2rem 0;overflow:hidden;}
@media(max-width:560px){.research-two-col{grid-template-columns:1fr;}}
.research-two-col-cell{background:var(--white);padding:18px 20px;}
.research-two-col-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:10px;}
.research-two-col-label.before{color:#b42318;}
.research-two-col-label.after{color:#166534;}
.research-two-col-example{font-size:13px;line-height:1.65;color:var(--text-secondary);font-style:italic;border-left:2px solid var(--border);padding-left:12px;}
.research-two-col-example.after{border-left-color:#166534;}
.research-two-col-note{font-size:11px;color:#888;margin-top:8px;}

/* ---- behavioral-questions.php: good/bad question comparison ---- */
.research-compare-block{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);margin:2rem 0;overflow:hidden;}
@media(max-width:640px){.research-compare-block{grid-template-columns:1fr;}}
.research-compare-col{background:var(--white);padding:20px 22px;}
.research-compare-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.research-compare-label.bad{color:#b42318;}
.research-compare-label.good{color:#166534;}
.research-compare-question{font-size:13px;font-weight:700;color:var(--text);margin-bottom:10px;line-height:1.4;}
.research-compare-options{display:flex;flex-direction:column;gap:6px;}
.research-compare-option{font-size:12px;color:var(--text-secondary);padding:8px 10px;background:var(--surface);border:1px solid var(--border);line-height:1.5;}
.research-compare-option.selected{border-color:var(--blue);background:var(--blue-soft);color:var(--text);}
.research-compare-note{font-size:11px;color:#888;margin-top:10px;line-height:1.6;font-style:italic;}

/* ---- item-banking.php: worked scoring example ---- */
.research-bank-example{border:1px solid var(--border);background:var(--white);margin:2rem 0;overflow:hidden;}
.research-bank-example-header{background:var(--navy);color:#fff;padding:12px 18px;font-size:12px;font-weight:700;}
.research-bank-example-header span{font-weight:400;opacity:0.6;margin-left:8px;}
.research-bank-row{display:grid;grid-template-columns:60px 1fr;border-bottom:1px solid var(--border);}
.research-bank-row:last-child{border-bottom:none;}
.research-bank-score{background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:var(--navy);padding:16px 10px;border-right:1px solid var(--border);}
.research-bank-options{padding:12px 16px;display:flex;flex-direction:column;gap:8px;}
.research-bank-option{font-size:12px;color:var(--text-secondary);line-height:1.55;padding:8px 10px;background:var(--surface);border:1px solid var(--border);}
.research-bank-option.selected{background:rgba(37,99,235,0.06);border-color:rgba(37,99,235,0.25);}
.research-bank-option-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--blue);display:block;margin-bottom:3px;}

/* ---- longitudinal-tracking.php: development timeline ---- */
.research-timeline{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);margin:2rem 0;}
.research-timeline-item{display:grid;grid-template-columns:100px 1fr;background:var(--white);border-bottom:1px solid var(--border);}
.research-timeline-item:last-child{border-bottom:none;}
.research-timeline-marker{background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;text-align:center;padding:16px 10px;line-height:1.3;}
.research-timeline-content{padding:16px 20px;}
.research-timeline-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px;}
.research-timeline-body{font-size:12px;color:var(--text-secondary);line-height:1.6;}

/* ---- perception-vs-reality.php: over/under-rating comparison ---- */
.research-gap-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);margin:2rem 0;}
@media(max-width:600px){.research-gap-grid{grid-template-columns:1fr;}}
.research-gap-col{background:var(--white);padding:20px 22px;}
.research-gap-col-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:10px;}
.research-gap-col-label.over{color:#b42318;}
.research-gap-col-label.under{color:#166534;}
.research-gap-col-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:6px;}
.research-gap-col-body{font-size:13px;color:var(--text-secondary);line-height:1.65;}

/* ---- self-directed.php: tradeoff cards ---- */
.research-tradeoff-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:2rem 0;}
@media(max-width:600px){.research-tradeoff-grid{grid-template-columns:1fr;}}
.research-tradeoff-card{background:var(--white);border:1px solid var(--border);padding:18px 20px;}
.research-tradeoff-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--blue);margin-bottom:8px;}
.research-tradeoff-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px;}
.research-tradeoff-body{font-size:12px;color:var(--text-secondary);line-height:1.6;}

/* ---- the-system.php: feature comparison matrix ---- */
.research-matrix-wrap{overflow-x:auto;margin:2rem 0;width:100%;}
.research-matrix{width:100%;border-collapse:collapse;}
.research-matrix thead th{background:var(--navy);color:#fff;padding:12px 16px;text-align:left;font-size:14px;font-weight:700;}
.research-matrix thead th:first-child{width:24%;}
.research-matrix thead th.col-conv{background:#374151;text-align:center;width:15%;}
.research-matrix thead th.col-ell{background:#1e3a6e;text-align:center;width:15%;color:#93c5fd;}
.research-matrix thead th.col-why{background:#0f2040;width:46%;}
.research-matrix tbody tr:nth-child(even) td{background:var(--surface);}
.research-matrix tbody tr:nth-child(odd) td{background:var(--white);}
.research-matrix td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:top;font-size:14px;color:var(--text-secondary);line-height:1.55;}
.research-matrix td.feature{font-weight:700;color:var(--navy);font-size:14px;}
.research-matrix td.feature span{display:block;font-size:13px;font-weight:400;color:var(--text-secondary);margin-top:3px;}
.research-matrix td.conv{text-align:center;}
.research-matrix td.ell{text-align:center;}
.research-check{color:#166534;font-weight:700;font-size:22px;}
.research-cross{color:#9ca3af;font-size:22px;}
.research-partial{color:#d97706;font-size:14px;font-weight:600;}
.research-matrix td.why{font-size:14px;color:var(--text-secondary);line-height:1.55;}
@media(max-width:700px){
  .research-matrix-wrap{overflow-x:visible;}
  .research-matrix thead{display:none;}
  .research-matrix tbody tr{display:block;background:var(--white);border:1px solid var(--border);margin-bottom:1rem;padding:0;}
  .research-matrix td{display:block;padding:10px 14px;border-bottom:1px solid var(--border);width:100% !important;text-align:left !important;}
  .research-matrix td:last-child{border-bottom:none;}
  .research-matrix td.feature{background:var(--navy);color:#fff;font-size:14px;font-weight:700;border-bottom:2px solid var(--blue);}
  .research-matrix td.feature span{color:rgba(255,255,255,0.65);}
  .research-matrix td.conv::before,
  .research-matrix td.ell::before,
  .research-matrix td.why::before{content:attr(data-label);display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#888;margin-bottom:5px;}
  .research-matrix td.ell::before{color:var(--blue);}
  .research-matrix td.why{background:var(--surface);}
  .research-matrix tbody tr:nth-child(even) td{background:var(--white);}
  .research-matrix tbody tr:nth-child(even) td.feature{background:var(--navy);}
  .research-matrix tbody tr:nth-child(even) td.why{background:var(--surface);}
}

/* ============================================================================
   RESEARCH INDEX PAGE — bespoke shell + unique components
   research/index.php is a longer, more elaborate landing page than the 7
   methodology deep-dives above, and uses visibly different values for its
   section/callout treatment (larger spacing, different callout accent) —
   that's an intentional visual difference, so it gets its own prefix rather
   than reusing .research-section / .research-callout from the shared shell.
   ========================================================================== */
.research-index-page-hero{background:var(--navy);color:#fff;padding:clamp(2.5rem,6vw,4rem) clamp(1rem,3vw,2rem);}
.research-index-page-hero-inner{max-width:1200px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem);}
.research-index-page-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:rgba(255,255,255,0.5);margin-bottom:12px;}
.research-index-page-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);font-weight:400;color:#fff;line-height:1.1;margin-bottom:16px;}
.research-index-page-lead{font-size:1.05rem;color:rgba(255,255,255,0.72);line-height:1.75;max-width:620px;}
.research-index-body{max-width:1200px;margin:0 auto;padding:clamp(2rem,5vw,4rem) clamp(1rem,3vw,2rem);}
.research-index-toc{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--blue);padding:20px 24px;margin-bottom:3rem;}
.research-index-toc-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--blue);margin-bottom:12px;}
.research-index-toc-list{list-style:none;display:flex;flex-direction:column;gap:6px;}
.research-index-toc-list li a{font-size:13px;color:var(--text-secondary);font-weight:500;transition:color 0.15s;}
.research-index-toc-list li a:hover{color:var(--blue);}
.research-index-toc-list li span{font-size:11px;color:#aaa;margin-left:8px;}
.research-index-section{margin-bottom:3.5rem;padding-top:1rem;}
.research-index-section-num{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.14em;color:var(--blue);margin-bottom:6px;}
.research-index-section-title{ font-family:var(--font-display);font-size:clamp(1.4rem,3vw,1.9rem);font-weight:400;color:var(--navy);margin-bottom:1.25rem;line-height:1.2; }
.research-index-section-divider{height:2px;background:linear-gradient(90deg, var(--navy) 0%, transparent 100%);margin-bottom:1.5rem;width:60px;}
.research-index-body p{font-size:0.975rem;color:var(--text-secondary);line-height:1.8;margin-bottom:1.1rem;}
.research-index-body p:last-child{margin-bottom:0;}
.research-index-body p strong{color:var(--text);font-weight:600;}
.research-index-callout{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--navy);padding:16px 20px;margin:1.5rem 0;}
.research-index-callout p{margin:0;font-size:0.9rem;}
.research-index-comparison-block{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);margin:1.5rem 0;overflow:hidden;}
.research-index-comparison-col{background:var(--white);padding:18px 20px;}
.research-index-comparison-col-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:10px;}
.research-index-comparison-col-label.weak{color:#b42318;}
.research-index-comparison-col-label.strong{color:#166534;}
.research-index-comparison-example{font-size:13px;line-height:1.6;color:var(--text-secondary);font-style:italic;border-left:2px solid var(--border);padding-left:12px;}
.research-index-comparison-example.strong{border-left-color:#166534;}
.research-index-comparison-note{font-size:11px;color:#888;margin-top:8px;}
@media(max-width:560px){.research-index-comparison-block{grid-template-columns:1fr;}}
.research-index-principle-list{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0;}
.research-index-principle{display:flex;gap:14px;}
.research-index-principle-num{width:28px;height:28px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;margin-top:2px;}
.research-index-principle-body{flex:1;}
.research-index-principle-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px;}
.research-index-principle-desc{font-size:13px;color:var(--text-secondary);line-height:1.65;}
.research-index-foundation-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px;margin:1.5rem 0;}
@media(max-width:720px){.research-index-foundation-grid{grid-template-columns:repeat(2, 1fr);}}
@media(max-width:480px){.research-index-foundation-grid{grid-template-columns:1fr;}}
.research-index-foundation-card{background:var(--surface);border:1px solid var(--border);padding:16px 18px;}
.research-index-foundation-card-title{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:6px;}
.research-index-foundation-card-body{font-size:12px;color:var(--text-secondary);line-height:1.6;}
.research-index-use-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:1.5rem 0;}
.research-index-use-card{padding:16px 18px;}
.research-index-use-card.green{background:rgba(22,101,52,0.05);border:1px solid rgba(22,101,52,0.15);}
.research-index-use-card.red{background:rgba(180,35,24,0.05);border:1px solid rgba(180,35,24,0.12);}
.research-index-use-card-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:8px;}
.research-index-use-card-label.green{color:#166534;}
.research-index-use-card-label.red{color:#b42318;}
.research-index-use-list{list-style:none;display:flex;flex-direction:column;gap:5px;}
.research-index-use-list li{font-size:13px;color:var(--text-secondary);padding-left:14px;position:relative;line-height:1.5;}
.research-index-use-list li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;}
.research-index-use-card.green .research-index-use-list li::before{background:#166534;}
.research-index-use-card.red .research-index-use-list li::before{background:#b42318;}
@media(max-width:560px){.research-index-use-grid{grid-template-columns:1fr;}}
.research-index-future-block{background:var(--navy);color:#fff;padding:24px 28px;margin:1.5rem 0;}
.research-index-future-block p{color:rgba(255,255,255,0.78);margin:0;}
.research-index-subsection{margin:2rem 0;}
.research-index-subsection-title{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.research-index-tech-block{background:var(--surface);border:1px solid var(--border);padding:16px 20px;margin:1rem 0;font-family:monospace;font-size:12px;color:var(--text-secondary);line-height:1.7;}
.research-index-tech-block strong{color:var(--navy);font-family:var(--font);font-size:11px;text-transform:uppercase;letter-spacing:0.1em;display:block;margin-bottom:8px;}

/* In-body-text emphasized links (research/the-system.php cross-references) */
.research-inline-link{color:var(--blue);}

/* ============================================================================
   Bare-tag classes -- pages that never loaded style.css before now do
   (header_public.php links it unconditionally). These give the previously-
   unstyled <p>/<h2>/<h3> tags on those pages their own class instead of
   picking up style.css's global h2/h3/p opinions, so nothing changes visually.
   ========================================================================== */
.native-p { font-size: 1rem; color: inherit; line-height: 1.5; margin: 1em 0; }
.native-h2 { font-size: 1.5em; font-weight: 700; color: inherit; margin: 0.83em 0; border-bottom: none; padding-bottom: 0; }
.native-h3 { font-size: 1.17em; font-weight: 700; color: inherit; margin: 1em 0; }

/* ============================================================================
   SITEWIDE HEADER, NAV, AUTH MODAL, DISCLAIMER MODAL, FOOTER, MOBILE NAV
   Extracted from includes/header_public.php, which is included by every
   public page. The body{} rule here is intentionally placed after
   style.css's own earlier body{} rule (line 1) so it keeps winning the same
   cascade tie it always has -- header_public.php's own inline block used to
   win this by loading after style.css in the document; now that its content
   lives in this same file, source-order-within-the-file preserves the exact
   same result. The :has() overrides above (research/education/organizations)
   still take priority regardless, since they're more specific selectors.
   ========================================================================== */

    :root { --navy:#1A2744;--blue:#2563EB;--blue-dark:#1A47C0;--blue-soft:rgba(37,99,235,0.07);--blue-border:rgba(37,99,235,0.18);--text:#101010;--text-secondary:#555;--border:rgba(0,0,0,0.09);--surface:#f8f8f7;--white:#ffffff;--font:"Inter",Arial,sans-serif;--font-display:"DM Serif Display",Georgia,serif; }
    *,*::before,*::after { box-sizing:border-box;margin:0;padding:0; }
    html { scroll-behavior:smooth;scrollbar-gutter:stable; }
    body { font-family:var(--font);font-size:15px;line-height:1.6;color:var(--text);background:var(--white); }
    a { text-decoration:none;color:inherit; }
    button { cursor:pointer;border:none;background:none;font:inherit;color:inherit; }

    /* HEADER */
    .ell-header { background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100; }
    .ell-header-inner { max-width:1200px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem);height:62px;display:flex;align-items:center;justify-content:space-between;gap:1rem; }
    .ell-brand { display:flex;align-items:center;text-decoration:none;color:var(--text);flex-shrink:0; }
    .ell-logo-img { height:32px;width:auto;display:block; }
    .ell-nav { display:flex;align-items:center;gap:2rem; }
    .ell-nav-link { font-size:13px;font-weight:500;color:var(--text-secondary);transition:color 0.15s; }
    .ell-nav-link:hover { color:var(--text); }
    .ell-nav-item { position:relative; }
    .ell-nav-item-btn { font-size:13px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:4px;cursor:pointer;background:none;border:none;font-family:inherit;transition:color 0.15s;padding:20px 0; }
    .ell-nav-item-btn:hover { color:var(--text); }
    .ell-nav-item-btn .chev { font-size:9px;opacity:0.6; }
    .ell-nav-dropdown { position:absolute;top:100%;left:0;min-width:240px;background:var(--white);border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,0.08);padding:6px;display:none;flex-direction:column;z-index:200; }
    .ell-nav-item:hover .ell-nav-dropdown { display:flex; }
    .ell-nav-dropdown a { display:flex;flex-direction:column;padding:10px 12px;font-size:13px;color:var(--text);transition:background 0.15s;border-radius:2px; }
    .ell-nav-dropdown a:hover { background:var(--surface); }
    .ell-nav-dropdown a span { font-size:11px;color:var(--text-secondary);margin-top:2px;line-height:1.4; }
    /* Two-column research dropdown */
    .ell-nav-dropdown-wide { min-width:500px;left:-20px; }
    .ell-nav-item:hover .ell-nav-dropdown-wide { display:grid;grid-template-columns:1fr 1fr; }
    .ell-nav-dropdown-wide a { border-radius:2px; }
    /* full-width separator item spans both columns */
    .ell-nav-dropdown-wide a.nav-sep { grid-column:1/-1;border-top:1px solid var(--border);margin-top:4px;padding-top:10px; }
    .ell-header-right { display:flex;align-items:center;gap:10px;justify-content:flex-end; }
    .ell-btn-login { font-size:13px;font-weight:600;color:var(--text);border:1px solid var(--border);padding:7px 16px;background:var(--white);transition:border-color 0.15s; }
    .ell-btn-login:hover { border-color:var(--navy); }
    .ell-btn-signup { font-size:13px;font-weight:700;color:#fff;background:var(--navy);border:1px solid var(--navy);padding:7px 16px;transition:background 0.15s; }
    .ell-btn-signup:hover { background:#131e35; }
    .ell-hamburger { display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none;flex-shrink:0; }
    .ell-hamburger span { display:block;width:22px;height:2px;background:var(--text);transition:all 0.2s;border-radius:1px; }
    .ell-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .ell-hamburger.open span:nth-child(2) { opacity:0; }
    .ell-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
    .ell-mobile-nav { display:none;flex-direction:column;background:var(--white);border-top:1px solid var(--border);overflow-y:auto;max-height:calc(100dvh - 62px); }
    .ell-mobile-nav.open { display:flex; }
    @media(max-width:860px) { .ell-nav{display:none;}.ell-hamburger{display:flex;}.ell-user-wrap{display:none;}.ell-btn-login{display:none;}.ell-btn-signup{display:none;} }
    .ell-user-wrap { position:relative; }
    .ell-user-btn { display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text);border:1px solid var(--border);padding:6px 14px;background:var(--white);cursor:pointer;font-family:inherit; }
    .ell-avatar { width:26px;height:26px;background:var(--navy);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0; }
    .ell-user-dropdown { position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--white);border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,0.1);z-index:200;display:none;flex-direction:column; }
    .ell-user-dropdown a,.ell-user-dropdown button { display:block;padding:10px 16px;font-size:13px;color:#333;text-decoration:none;background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;width:100%; }
    .ell-user-dropdown a:hover,.ell-user-dropdown button:hover { background:#f5f5f5; }
    .ell-dropdown-divider { height:1px;background:var(--border);margin:4px 0; }
    .ell-logout { color:#b42318 !important; }
    .ell-logout:hover { background:#fff5f5 !important; }

    /* AUTH MODAL */
    .auth-overlay { display:none;position:fixed;inset:0;background:rgba(10,10,20,0.55);z-index:300;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px); }
    .auth-overlay.open { display:flex; }
    .auth-modal { background:var(--white);width:min(100%,420px);border:1px solid var(--border);position:relative;max-height:90vh;overflow-y:auto;animation:slideUp 0.2s ease; }
    @keyframes slideUp { from{transform:translateY(12px);opacity:0} to{transform:translateY(0);opacity:1} }
    .auth-close-btn { position:absolute;top:12px;right:14px;font-size:22px;line-height:1;color:#888;z-index:1;background:none;border:none;cursor:pointer; }
    .auth-tabs { display:flex;border-bottom:1px solid var(--border); }
    .auth-tab { flex:1;padding:14px 10px;font-size:13px;font-weight:600;color:#888;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color 0.15s,border-color 0.15s; }
    .auth-tab.active { color:var(--blue);border-bottom-color:var(--blue); }
    .auth-panel { padding:24px; }
    .auth-panel[hidden] { display:none; }
    .auth-panel-title { font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:4px; }
    .auth-panel-sub { font-size:13px;color:#666;margin-bottom:20px; }
    .auth-form { display:flex;flex-direction:column;gap:14px; }
    .auth-field { display:flex;flex-direction:column;gap:5px; }
    .auth-field label { font-size:12px;font-weight:600;color:#444;display:flex;align-items:center;justify-content:space-between; }
    .auth-field input { height:40px;border:1px solid rgba(0,0,0,0.15);padding:0 12px;font-size:14px;color:var(--text);background:#fafafa;outline:none;transition:border-color 0.15s;width:100%;font-family:inherit; }
    .auth-field input:focus { border-color:var(--blue);background:#fff; }
    .auth-field-row { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
    .auth-input-wrap { position:relative; }
    .auth-input-wrap input { padding-right:38px; }
    .auth-show-pass { position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:14px;opacity:0.5;padding:0; }
    .auth-show-pass:hover { opacity:1; }
    .auth-forgot-btn { font-size:11px;color:var(--blue);background:none;border:none;cursor:pointer;font-weight:500;padding:0;font-family:inherit; }
    .auth-error { font-size:13px;color:#b42318;background:#fff5f5;border:1px solid rgba(180,35,24,0.2);padding:9px 12px; }
    .auth-success { font-size:13px;color:#166534;background:#f0fdf4;border:1px solid rgba(22,101,52,0.2);padding:9px 12px; }
    .auth-submit { height:42px;background:var(--navy);color:#fff;border:none;font-size:14px;font-weight:700;cursor:pointer;transition:background 0.15s;display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;margin-top:4px;width:100%; }
    .auth-submit:hover { background:#131e35; }
    .auth-submit:disabled { opacity:0.6;cursor:not-allowed; }
    .auth-spinner { font-size:10px;letter-spacing:4px;animation:pulse 1s infinite; }
    @keyframes pulse { 0%,100%{opacity:1}50%{opacity:0.3} }
    .auth-terms { font-size:11px;color:#888;line-height:1.5;text-align:center; }
    .auth-terms button { color:var(--blue);background:none;border:none;cursor:pointer;font-size:11px;padding:0;text-decoration:underline;font-family:inherit; }
    .auth-switch { margin-top:16px;text-align:center;font-size:13px;color:#888; }
    .auth-switch button { color:var(--blue);background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;padding:0;font-family:inherit; }

    /* DISCLAIMER */
    .disclaimer-overlay { display:none;position:fixed;inset:0;background:rgba(10,10,20,0.55);z-index:400;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px); }
    .disclaimer-overlay.open { display:flex; }
    .disclaimer-modal { background:var(--white);width:min(100%,560px);border:1px solid var(--border);max-height:85vh;overflow-y:auto;animation:slideUp 0.2s ease; }
    .disclaimer-header { padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border); }
    .disclaimer-title { font-size:1rem;font-weight:700; }
    .disclaimer-body { padding:20px;font-size:13px;color:var(--text-secondary);line-height:1.75;display:flex;flex-direction:column;gap:14px; }
    .disclaimer-body h3 { font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text);margin-bottom:-4px; }
    .disclaimer-footer { padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end; }
    .btn-disclaimer-close { font-size:13px;font-weight:700;background:var(--navy);color:#fff;border:none;padding:9px 24px;cursor:pointer;font-family:inherit; }

    /* FOOTER */
    .site-footer { background:var(--white);border-top:1px solid var(--border); }
    .footer-main { max-width:1200px;margin:0 auto;padding:3rem clamp(1rem,3vw,2rem) 2rem;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem; }
    @media(max-width:860px) { .footer-main{grid-template-columns:1fr 1fr;} }
    @media (max-width: 480px) {
    .footer-main { grid-template-columns: 1fr; gap: 0; }
    .footer-col-title { display: flex; align-items: center; justify-content: space-between; cursor: pointer; padding: 6px 0; border-bottom: 1px solid var(--border); margin-bottom: 0; user-select: none; }
    .footer-col-title::after { content: '\002B'; font-size: 16px; color: var(--text-secondary); font-weight: 300; transition: transform 0.2s; }
    .footer-col.open .footer-col-title::after { content: '\2212'; }
    .footer-col a, .footer-col button { display: none !important; }
    .footer-col.open a, .footer-col.open button { display: block !important; padding-top: 4px; }
    .footer-tagline { font-size: 12px; }
  }
    .footer-brand-col { display:flex;flex-direction:column;gap:10px; }
    .footer-brand { display:flex;align-items:center;gap:10px; }
    .footer-tagline { font-size:13px;color:var(--text-secondary);line-height:1.6;max-width:240px; }
    .footer-col-title { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--text);margin-bottom:10px; }
    .footer-col a,.footer-col button { display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px;background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;padding:0; }
    .footer-col a:hover,.footer-col button:hover { color:var(--blue); }
    .footer-bottom { max-width:1200px;margin:0 auto;padding:1rem clamp(1rem,3vw,2rem) 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);flex-wrap:wrap; }
    .footer-copy { font-size:12px;color:#aaa; }
    .footer-legal { display:flex;gap:16px; }
    .footer-legal button { font-size:12px;color:var(--text-secondary);background:none;border:none;cursor:pointer;font-family:inherit;padding:0; }
    .footer-legal button:hover { color:var(--blue); }

    /* MOBILE NAV */
    .ell-mob-link { display:block;padding:9px clamp(1rem,3vw,2rem);font-size:14px;font-weight:500;color:var(--text);border-bottom:1px solid var(--border);text-decoration:none; }
    .ell-mob-link:hover { background:var(--surface); }
    .ell-mob-section { border-bottom:1px solid var(--border); }
    .ell-mob-header { width:100%;display:flex;align-items:center;justify-content:space-between;padding:9px clamp(1rem,3vw,2rem);font-size:13px;font-weight:700;color:var(--navy);background:var(--surface);border:none;cursor:pointer;font-family:inherit; }
    .ell-mob-header:hover { background:#efefee; }
    .ell-mob-arrow { font-size:9px;color:#aaa;transition:transform 0.2s;display:inline-block; }
    .ell-mob-arrow.open { transform:rotate(90deg); }
    .ell-mob-sub-list { display:none;border-top:1px solid var(--border); }
    .ell-mob-sub-list.open { display:block; }
    .ell-mob-sub-list a { display:block;padding:11px clamp(1rem,3vw,2rem) 11px calc(clamp(1rem,3vw,2rem) + 20px);font-size:13px;color:var(--text-secondary);border-bottom:1px solid var(--border);text-decoration:none;border-left:3px solid transparent; }
    .ell-mob-sub-list a:hover { color:var(--blue);border-left-color:var(--blue);background:var(--white); }
    .ell-mobile-auth-row { display:flex;border-top:2px solid var(--navy); }
    .ell-mobile-auth-signin { flex:1;padding:14px;font-size:13px;font-weight:600;color:var(--text);background:var(--white);border:none;border-right:1px solid var(--border);cursor:pointer;font-family:inherit; }
    .ell-mobile-auth-register { flex:1;padding:14px;font-size:13px;font-weight:700;color:#fff;background:var(--navy);border:none;cursor:pointer;font-family:inherit; }
    .ell-mob-user-section { border-top:2px solid var(--border);display:flex;flex-direction:column; }
    .ell-mob-user-toggle { display:flex;flex-direction:row;align-items:center;gap:10px;padding:14px clamp(1rem,3vw,2rem);font-size:13px;font-weight:700;color:var(--text);background:none;border:none;cursor:pointer;font-family:inherit;width:100%;border-bottom:1px solid var(--border);box-sizing:border-box; }
    .ell-mob-user-toggle:hover { background:var(--surface); }
    .ell-mob-user-menu { display:flex;flex-direction:column;background:var(--surface); }
    .ell-mob-user-menu a,.ell-mob-user-menu button { display:block;padding:12px clamp(1rem,3vw,2rem) 12px calc(clamp(1rem,3vw,2rem) + 14px);font-size:13px;font-weight:500;color:#555;text-decoration:none;background:none;border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;font-family:inherit;width:100%;box-sizing:border-box; }
    .ell-mob-user-menu a:hover,.ell-mob-user-menu button:hover { background:rgba(0,0,0,0.04); }
  .ell-badge-blue { display: inline-block; font-size: 9px; font-weight: 700; background: var(--blue); color: #fff; padding: 1px 5px; border-radius: 999px; vertical-align: middle; }
.ell-hidden { display: none; }
.ell-navy-bold { color: #1A2744; font-weight: 700; }
.ell-avatar-sm { width: 28px; height: 28px; font-size: 11px; display: inline-flex; }
.ell-relative { position: relative; }
.ell-notif-dot { position: absolute; top: -3px; right: -3px; width: 8px; height: 8px; background: #2563EB; border-radius: 50%; border: 2px solid #fff; }
.ell-arrow-sm { font-size: 10px; opacity: 0.5; }
.ell-flex-1-left { flex: 1; text-align: left; }
.ell-divider-top { border-top: 1px solid var(--border); margin-top: 6px; padding-top: 10px; }
.footer-fw-700 { font-weight: 700; }
.footer-optional-label { font-weight: 400; color: #aaa; }
.footer-modal-x { font-size: 22px; line-height: 1; color: #888; background: none; border: none; cursor: pointer; }
.footer-arrow-sm { font-size: 10px; opacity: 0.5; }
.footer-logout-btn { color: #b42318; border: none; background: none; cursor: pointer; font-family: inherit; text-align: left; width: 100%; }
.footer-navy-bold { color: #1A2744; font-weight: 700; }
.footer-divider-navy { border-top: 2px solid var(--navy); }
.supp-dot { position: absolute; top: -2px; right: -2px; width: 8px; height: 8px; background: #2563EB; border-radius: 50%; border: 2px solid #fff; display: block; }

/* ============================================================================
   TOOL-RELATED-CONTENT (includes/tool-related-content.php)
   Loaded on every individual tool assessment page (65 files).
   ========================================================================== */

          .ell-tool-related-wrap {
            max-width: 1180px;
            margin: 0 auto;
            padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 3vw, 2rem);
          }

          .ell-tool-related-section {
            border-top: 1px solid var(--border, #e5e7eb);
            padding-top: clamp(2rem, 4vw, 3rem);
          }

          .ell-tool-related-label {
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .16em;
            color: var(--blue, #2563EB);
            margin-bottom: 8px;
          }

          .ell-tool-related-title {
            font-family: var(--font-display, Georgia, serif);
            font-size: clamp(1.45rem, 3vw, 2.05rem);
            font-weight: 400;
            color: var(--navy, #1A2744);
            line-height: 1.2;
            margin: 0 0 12px;
          }

          .ell-tool-related-intro {
            font-size: 14px;
            color: var(--text-secondary, #5f6368);
            line-height: 1.75;
            max-width: 780px;
            margin: 0 0 1.35rem;
          }

          .ell-tool-related-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 14px;
          }

          @media (max-width: 860px) {
            .ell-tool-related-grid {
              grid-template-columns: 1fr;
            }
          }

          .ell-tool-related-card {
            display: flex;
            flex-direction: column;
            min-height: 100%;
            background: var(--white, #fff);
            border: 1px solid var(--border, #e5e7eb);
            padding: 20px;
            text-decoration: none;
            transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
          }

          .ell-tool-related-card:hover {
            transform: translateY(-2px);
            border-color: rgba(37, 99, 235, .35);
            box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
          }

          .ell-tool-related-kicker {
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .12em;
            color: var(--blue, #2563EB);
            margin-bottom: 8px;
          }

          .ell-tool-related-card-title {
            font-size: 15px;
            font-weight: 850;
            color: var(--text, #101010);
            line-height: 1.35;
            margin-bottom: 8px;
          }

          .ell-tool-related-desc {
            font-size: 13px;
            color: var(--text-secondary, #5f6368);
            line-height: 1.7;
            margin-bottom: 14px;
          }

          .ell-tool-related-meta {
            margin-top: auto;
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            font-size: 11px;
            color: #8a8f98;
            line-height: 1.5;
          }

          .ell-tool-related-link {
            margin-top: 14px;
            font-size: 12px;
            font-weight: 850;
            color: var(--blue, #2563EB);
          }

          .ell-tool-related-footer {
            margin-top: 18px;
          }

          .ell-tool-related-all {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 40px;
            padding: 0 18px;
            background: var(--navy, #1A2744);
            color: #fff;
            text-decoration: none;
            font-size: 13px;
            font-weight: 850;
          }
        
/* ============================================================================
   RESULT-RELATED-CONTENT (includes/result-related-content.php)
   ========================================================================== */

        .ell-result-related-more{
          display:inline-block;
          appearance:none;
          background:transparent;
          border:0;
          padding:0;
          margin-top:12px;
          font:inherit;
          font-size:13px;
          font-weight:700;
          color:var(--blue);
          cursor:pointer;
          text-align:left;
        }
        .ell-result-related-more:hover{text-decoration:underline;}
        .ell-related-modal-backdrop{
          position:fixed;
          inset:0;
          z-index:9999;
          background:rgba(15,23,42,.55);
          padding:clamp(14px,3vw,32px);
          overflow:auto;
        }
        .ell-related-modal{
          max-width:980px;
          margin:4vh auto;
          background:var(--white,#fff);
          border:1px solid var(--border,#e2e8f0);
          box-shadow:0 22px 70px rgba(0,0,0,.28);
          padding:22px;
        }
        .ell-access-modal{max-width:560px;}
        .ell-related-modal-head{
          display:flex;
          justify-content:space-between;
          align-items:flex-start;
          gap:1rem;
          margin-bottom:1rem;
          border-bottom:1px solid var(--border,#e2e8f0);
          padding-bottom:1rem;
        }
        .ell-related-modal-close{
          width:36px;
          height:36px;
          border:1px solid var(--border,#e2e8f0);
          background:var(--surface,#f8fafc);
          color:var(--navy,#1A2744);
          font-size:26px;
          line-height:1;
          cursor:pointer;
        }
        .ell-related-modal-grid{
          display:grid;
          grid-template-columns:repeat(3,minmax(0,1fr));
          gap:12px;
        }
        .ell-access-modal-text{
          font-size:14px;
          color:var(--text-secondary,#475569);
          line-height:1.75;
          margin:0 0 16px;
        }
        .ell-access-modal-tool{
          background:var(--surface,#f8fafc);
          border:1px solid var(--border,#e2e8f0);
          padding:14px 16px;
          margin:14px 0 18px;
        }
        .ell-access-modal-tool-name{
          font-size:14px;
          font-weight:800;
          color:var(--text,#0f172a);
        }
        .ell-access-modal-actions{
          display:flex;
          gap:10px;
          flex-wrap:wrap;
        }
        .ell-access-modal-primary,
        .ell-access-modal-secondary{
          display:inline-flex;
          align-items:center;
          justify-content:center;
          padding:10px 18px;
          font-size:13px;
          font-weight:800;
          text-decoration:none;
          cursor:pointer;
        }
        .ell-access-modal-primary{
          background:var(--navy,#1A2744);
          color:#fff;
          border:1px solid var(--navy,#1A2744);
        }
        .ell-access-modal-secondary{
          background:#fff;
          color:var(--navy,#1A2744);
          border:1px solid var(--border,#e2e8f0);
        }
        @media(max-width:900px){
          .ell-related-modal-grid{grid-template-columns:1fr;}
          .ell-related-modal{margin:0 auto;}
        }
        
/* ============================================================================
   DASHBOARD RECOMMENDATIONS (includes/dashboard-recommendations.php)
   ========================================================================== */

        .ell-dash-recs-wrap{
          max-width:1200px;
          margin:1.75rem auto;
          padding:0 clamp(1rem,3vw,2rem);
          display:grid;
          grid-template-columns:1fr;
          gap:1rem;
          min-width:0;
        }
        .ell-dash-recs-wrap > .ell-dash-rec-section{
          min-width:0;
        }
        .ell-dash-rec-section{
          background:var(--white,#fff);
          border:1px solid var(--border,#e2e8f0);
          padding:18px 20px;
        }
        .ell-dash-rec-label{
          font-size:11px;
          font-weight:700;
          text-transform:uppercase;
          letter-spacing:.12em;
          color:var(--blue,#2563eb);
          margin-bottom:5px;
        }
        .ell-dash-rec-heading{
          font-family:var(--font-display,Georgia,serif);
          font-size:1.25rem;
          font-weight:400;
          color:var(--navy,#1A2744);
          margin:0 0 6px;
          line-height:1.2;
        }
        .ell-dash-rec-intro{
          font-size:13px;
          color:var(--text-secondary,#475569);
          line-height:1.65;
          margin:0 0 1rem;
        }
        .ell-dash-rec-grid{
          display:grid;
          grid-template-columns:repeat(3,minmax(0,1fr));
          gap:12px;
        }
        .ell-dash-rec-card{
          background:var(--surface,#f8fafc);
          border:1px solid var(--border,#e2e8f0);
          padding:14px 16px;
          text-decoration:none;
          min-height:142px;
          display:flex;
          flex-direction:column;
          gap:6px;
          transition:border-color .15s,box-shadow .15s;
        }
        .ell-dash-rec-card:hover{
          border-color:rgba(0,0,0,.18);
          box-shadow:0 2px 8px rgba(0,0,0,.06);
        }
        .ell-dash-rec-kicker{
          font-size:10px;
          font-weight:700;
          text-transform:uppercase;
          letter-spacing:.1em;
          color:var(--blue,#2563eb);
        }
        .ell-dash-rec-title{
          font-size:13px;
          font-weight:800;
          color:var(--text,#0f172a);
          line-height:1.4;
        }
        .ell-dash-rec-desc{
          font-size:12px;
          color:var(--text-secondary,#475569);
          line-height:1.55;
          display:-webkit-box;
          -webkit-line-clamp:3;
          -webkit-box-orient:vertical;
          overflow:hidden;
        }
        .ell-dash-rec-link{
          margin-top:auto;
          font-size:11px;
          font-weight:800;
          color:var(--blue,#2563eb);
        }
        .ell-dash-modal-backdrop{
          position:fixed;
          inset:0;
          z-index:9999;
          background:rgba(15,23,42,.55);
          padding:clamp(14px,3vw,32px);
          overflow:auto;
        }
        .ell-dash-modal{
          max-width:560px;
          margin:8vh auto;
          background:var(--white,#fff);
          border:1px solid var(--border,#e2e8f0);
          box-shadow:0 22px 70px rgba(0,0,0,.28);
          padding:22px;
        }
        .ell-dash-modal-head{
          display:flex;
          justify-content:space-between;
          align-items:flex-start;
          gap:1rem;
          margin-bottom:1rem;
          border-bottom:1px solid var(--border,#e2e8f0);
          padding-bottom:1rem;
        }
        .ell-dash-modal-close{
          width:36px;
          height:36px;
          border:1px solid var(--border,#e2e8f0);
          background:var(--surface,#f8fafc);
          color:var(--navy,#1A2744);
          font-size:26px;
          line-height:1;
          cursor:pointer;
        }
        .ell-dash-modal-text{
          font-size:14px;
          color:var(--text-secondary,#475569);
          line-height:1.75;
          margin:0 0 16px;
        }
        .ell-dash-modal-tool{
          background:var(--surface,#f8fafc);
          border:1px solid var(--border,#e2e8f0);
          padding:14px 16px;
          margin:14px 0 18px;
          font-size:14px;
          font-weight:800;
          color:var(--text,#0f172a);
        }
        .ell-dash-modal-actions{display:flex;gap:10px;flex-wrap:wrap;}
        .ell-dash-modal-primary,
        .ell-dash-modal-secondary{
          display:inline-flex;
          align-items:center;
          justify-content:center;
          padding:10px 18px;
          font-size:13px;
          font-weight:800;
          text-decoration:none;
          cursor:pointer;
        }
        .ell-dash-modal-primary{
          background:var(--navy,#1A2744);
          color:#fff;
          border:1px solid var(--navy,#1A2744);
        }
        .ell-dash-modal-secondary{
          background:#fff;
          color:var(--navy,#1A2744);
          border:1px solid var(--border,#e2e8f0);
        }
        @media(max-width:900px){
          .ell-dash-rec-grid{
            display:flex;
            overflow-x:auto;
            gap:10px;
            padding-bottom:8px;
            scroll-snap-type:x proximity;
            -webkit-overflow-scrolling:touch;
          }

          /* Card width deliberately capped tighter than a single-card
             view (was min(320px,82vw), effectively full-width with no
             peek at all -- confirmed by direct measurement the next
             card was fully off-screen, -28px, not just subtly hidden)
             so the next card visibly peeks in as a scroll affordance.
             Verified with real viewport measurements: positive peek
             (10px-141px) at every common width from 320px to 480px. */
          .ell-dash-rec-card{
            flex:0 0 min(240px,66vw);
            scroll-snap-align:start;
          }
        }
        
/* ============================================================================
   FOOTER TOOLS (includes/footer_tools.php) -- used by all 65 tool pages
   ========================================================================== */
.footer-tools-bar { border-top: 1px solid rgba(0,0,0,0.08); background: var(--white,#fff); margin-top: auto; }
.footer-tools-inner { max-width: 1200px; margin: 0 auto; padding: 18px clamp(1rem,3vw,2rem); display: flex; align-items: center; justify-content: space-between; }
.footer-tools-copy { font-size: 12px; font-weight: 600; color: #bbb; }
.footer-tools-link { font-size: 12px; font-weight: 600; color: #bbb; text-decoration: none; transition: color 0.15s; }
.footer-tools-link:hover { color: #666; }

/* ============================================================================
   ACCESSIBILITY (accessibility.php)
   ========================================================================== */

  body { background: var(--surface); }

  .access-body {
    max-width: 1200px;
    margin: 0 auto;
    padding: 3rem clamp(1rem,3vw,2rem) 5rem;
  }

  .access-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,1.7fr) minmax(280px,.8fr);
    gap: 2rem;
    align-items: start;
    margin-bottom: 3rem;
  }

  @media(max-width:860px){
    .access-intro-grid { grid-template-columns: 1fr; }
  }

  .access-prose h2,
  .access-section-title {
    font-family: var(--font-display);
    font-size: clamp(1.35rem,3vw,1.9rem);
    font-weight: 400;
    color: var(--navy);
    line-height: 1.2;
    margin: 0 0 .75rem;
  }

  .access-prose p,
  .access-section-lead {
    font-size: 15px;
    color: var(--text-secondary);
    line-height: 1.8;
    margin: 0 0 1.1rem;
  }

  .access-section {
    margin: 3rem 0;
  }

  .access-section-eyebrow {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--blue);
    margin-bottom: 8px;
  }

  .access-doc-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-left: 4px solid var(--blue);
    padding: 22px 22px 20px;
  }

  .access-doc-label {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--blue);
    margin-bottom: 7px;
  }

  .access-doc-title {
    font-size: 17px;
    font-weight: 800;
    color: var(--navy);
    line-height: 1.35;
    margin-bottom: 7px;
  }

  .access-doc-desc {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.65;
    margin-bottom: 16px;
  }

  .access-doc-actions {
    display: flex;
    flex-direction: column;
    gap: 9px;
  }

  .access-btn {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    background: var(--navy);
    border: 1px solid var(--navy);
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    transition: background .15s, border-color .15s, color .15s;
  }

  .access-btn:hover,
  .access-btn:focus-visible {
    background: #131e35;
    border-color: #131e35;
    color: #fff;
  }

  .access-btn-secondary {
    background: #fff;
    color: var(--navy);
    border-color: var(--border);
  }

  .access-btn-secondary:hover,
  .access-btn-secondary:focus-visible {
    background: var(--surface);
    border-color: var(--blue);
    color: var(--blue);
  }

  .access-status {
    background: #fff;
    border: 1px solid var(--border);
    padding: 20px 22px;
    margin: 1.4rem 0 0;
  }

  .access-status-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--navy);
    margin-bottom: 7px;
  }

  .access-status p {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.7;
    margin: 0;
  }

  .access-feature-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1px;
    background: var(--border);
    margin-top: 1.4rem;
  }

  @media(max-width:780px){
    .access-feature-grid { grid-template-columns: 1fr; }
  }

  .access-feature {
    background: var(--white);
    padding: 22px 20px;
  }

  .access-feature-num {
    font-size: 10px;
    font-weight: 800;
    color: var(--blue);
    text-transform: uppercase;
    letter-spacing: .12em;
    margin-bottom: 7px;
  }

  .access-feature-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--text);
    margin-bottom: 7px;
    line-height: 1.35;
  }

  .access-feature-desc {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.65;
  }

  .access-improvement-list {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 1px;
    background: var(--border);
    margin-top: 1.4rem;
  }

  @media(max-width:760px){
    .access-improvement-list { grid-template-columns: 1fr; }
  }

  .access-improvement {
    background: var(--white);
    padding: 18px 20px;
  }

  .access-improvement-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--navy);
    margin-bottom: 5px;
  }

  .access-improvement-desc {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.65;
  }

  .access-note {
    background: #f0f6ff;
    border: 1px solid #bfdbfe;
    border-left: 4px solid var(--blue);
    padding: 17px 19px;
    margin-top: 1.5rem;
  }

  .access-note p {
    margin: 0;
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.7;
  }

  .access-cta {
    background: var(--navy);
    margin-top: 3.5rem;
    padding: clamp(2.5rem,5vw,3.5rem) 0;
  }

  .access-cta-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(1rem,3vw,2rem);
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 2rem;
    align-items: center;
  }

  @media(max-width:700px){
    .access-cta-inner {
      grid-template-columns: 1fr;
      gap: 1.25rem;
    }
  }

  .access-cta h2 {
    font-family: var(--font-display);
    font-size: clamp(1.4rem,3vw,2rem);
    font-weight: 400;
    color: #fff;
    margin: 0 0 8px;
  }

  .access-cta p {
    font-size: 13px;
    color: rgba(255,255,255,.7);
    line-height: 1.65;
    margin: 0;
    max-width: 720px;
  }

  .access-cta-link {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: 10px 16px;
    background: #fff;
    color: var(--navy);
    border: 1px solid #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
  }

  .access-cta-link:hover,
  .access-cta-link:focus-visible {
    background: #eff6ff;
    color: var(--blue);
  }

/* ============================================================================
   HOW IT WORKS (how-it-works.php)
   ========================================================================== */

 .switcher-intro { margin-bottom: 1.5rem; }
 .switcher-eyebrow {
 font-size: 11px;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: .14em;
 color: var(--blue);
 margin-bottom: 8px;
 }
 .switcher-title {
 font-family: var(--font-display);
 font-size: clamp(1.4rem,3vw,2rem);
 font-weight: 400;
 color: var(--navy);
 line-height: 1.2;
 margin-bottom: .65rem;
 }
 .switcher-copy { max-width: 780px; margin: 0; }

 .path-switcher { position: relative; }

 .path-tabs {
 display: grid;
 grid-template-columns: repeat(3,1fr);
 gap: 1px;
 background: var(--border);
 border: 1px solid var(--border);
 margin-bottom: 2rem;
 }
 @media(max-width:700px) {
 .path-tabs { grid-template-columns: 1fr; }
 }

 .path-tab {
 appearance: none;
 -webkit-appearance: none;
 font: inherit;
 line-height: normal;
 text-align: left;
 width: 100%;
 border: 0;
 background: var(--white);
 padding: 15px 18px;
 cursor: pointer;
 transition: background .15s, color .15s;
 display: grid;
 grid-template-columns: 42px minmax(0,1fr);
 gap: 12px;
 align-items: center;
 }
 .path-tab:focus-visible {
 outline: 2px solid var(--blue);
 outline-offset: -2px;
 }
 .path-tab-icon {
 width: 38px;
 height: 38px;
 color: var(--blue);
 display: flex;
 align-items: center;
 justify-content: center;
 }
 .path-tab-icon svg {
 width: 38px;
 height: 38px;
 display: block;
 fill: none;
 stroke: currentColor;
 stroke-width: 1.7;
 stroke-linecap: round;
 stroke-linejoin: round;
 }
 .path-tab-copy {
 display: block;
 min-width: 0;
 }
 .path-tab-name {
 display: block;
 font-size: 13px;
 font-weight: 700;
 color: var(--navy);
 }
 .path-tab-desc {
 display: block;
 font-size: 11px;
 line-height: 1.5;
 color: var(--text-secondary);
 margin-top: 3px;
 }

 .path-tab[aria-selected="true"] {
 background: var(--navy);
 }
 .path-tab[aria-selected="true"] .path-tab-name {
 color: #fff;
 }
 .path-tab[aria-selected="true"] .path-tab-icon {
 color: #fff;
 }
 .path-tab[aria-selected="true"] .path-tab-desc {
 color: rgba(255,255,255,.65);
 }

 .path-panel[hidden] { display: none; }

 .panel-head {
 display: grid;
 grid-template-columns: minmax(0,1fr) 300px;
 gap: 2rem;
 align-items: start;
 margin-bottom: 1.5rem;
 }

 @media(max-width:760px) {
 .panel-head { grid-template-columns: 1fr; }
 }

 .panel-eyebrow {
 font-size: 10px;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: .14em;
 color: var(--blue);
 margin-bottom: 7px;
 }
 .panel-title {
 font-family: var(--font-display);
 font-size: clamp(1.3rem,2.5vw,1.85rem);
 font-weight: 400;
 color: var(--navy);
 line-height: 1.2;
 margin-bottom: .7rem;
 }
 .panel-head p { margin: 0; }

 .panel-note {
 background: var(--white);
 border: 1px solid var(--border);
 border-left: 4px solid var(--blue);
 padding: 16px 18px;
 }
 .panel-note-label {
 font-size: 10px;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: .12em;
 color: var(--blue);
 margin-bottom: 6px;
 }
 .panel-note-text {
 font-size: 12.5px;
 color: var(--text-secondary);
 line-height: 1.65;
 }

 /* Native details/summary keeps every step in the page HTML while reducing visual load. */
 .steps {
 display: flex;
 flex-direction: column;
 gap: 8px;
 }
 .step-detail {
 background: var(--white);
 border: 1px solid var(--border);
 }
 .step-detail[open] {
 border-left: 4px solid var(--blue);
 }
 .step-detail summary {
 list-style: none;
 display: grid;
 grid-template-columns: 62px minmax(0,1fr) 24px;
 align-items: center;
 gap: 0;
 min-height: 64px;
 cursor: pointer;
 }
 .step-detail summary::-webkit-details-marker { display: none; }

 .step-number {
 align-self: stretch;
 display: flex;
 align-items: center;
 justify-content: center;
 border-right: 1px solid var(--border);
 background: #fafafa;
 font-family: var(--font-display);
 font-size: 1.2rem;
 color: var(--blue);
 }
 .step-summary-text {
 padding: 15px 18px;
 font-size: .92rem;
 font-weight: 700;
 color: var(--text);
 line-height: 1.45;
 }
 .step-toggle {
 margin-right: 16px;
 width: 18px;
 height: 18px;
 position: relative;
 }
 .step-toggle::before,
 .step-toggle::after {
 content: "";
 position: absolute;
 background: var(--blue);
 left: 50%;
 top: 50%;
 transform: translate(-50%,-50%);
 }
 .step-toggle::before { width: 12px; height: 2px; }
 .step-toggle::after { width: 2px; height: 12px; }
 .step-detail[open] .step-toggle::after { display: none; }

 .step-content {
 margin-left: 62px;
 border-top: 1px solid var(--border);
 padding: 18px 22px 20px;
 }
 @media(max-width:560px) {
 .step-detail summary { grid-template-columns: 46px minmax(0,1fr) 22px; }
 .step-content { margin-left: 46px; padding: 16px 18px 18px; }
 .step-summary-text { padding: 14px; }
 }

 .step-content p {
 font-size: .87rem;
 line-height: 1.75;
 margin-bottom: .8rem;
 }
 .step-content p:last-child { margin-bottom: 0; }

 .step-checklist {
 margin: 10px 0 0;
 padding-left: 18px;
 }
 .step-checklist li {
 font-size: .84rem;
 color: var(--text-secondary);
 line-height: 1.7;
 margin-bottom: 5px;
 }
 .step-tip {
 margin-top: 12px;
 padding: 11px 13px;
 background: var(--surface);
 border-left: 3px solid var(--blue);
 font-size: .8rem;
 color: var(--text-secondary);
 line-height: 1.65;
 }
 .step-tip strong { color: var(--text); }

 .step-links {
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
 margin-top: 12px;
 }
 .step-link {
 display: inline-block;
 font-size: 11px;
 font-weight: 700;
 color: var(--blue);
 border: 1px solid var(--border);
 background: var(--surface);
 padding: 7px 10px;
 text-decoration: none;
 }
 .step-link:hover {
 background: var(--navy);
 color: #fff;
 border-color: var(--navy);
 }

 .route-grid {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 12px;
 margin-top: 1rem;
 }
 @media(max-width:700px) {
 .route-grid { grid-template-columns: 1fr; }
 }
 .route-card {
 border: 1px solid var(--border);
 border-top: 3px solid var(--navy);
 background: var(--surface);
 padding: 16px 18px;
 }
 .route-card.lti { border-top-color: var(--blue); }
 .route-label {
 font-size: 10px;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: .12em;
 color: var(--blue);
 margin-bottom: 6px;
 }
 .route-title {
 font-size: .88rem;
 font-weight: 700;
 color: var(--text);
 margin-bottom: 7px;
 }
 .route-card p {
 font-size: 12.5px;
 line-height: 1.65;
 margin-bottom: 8px;
 }
 .route-list {
 margin: 0;
 padding-left: 18px;
 }
 .route-list li {
 font-size: 12.5px;
 color: var(--text-secondary);
 line-height: 1.6;
 margin-bottom: 5px;
 }

 .dashboard-section {
 margin-top: 3.25rem;
 padding-top: 2.75rem;
 border-top: 1px solid var(--border);
 }
 .section-eyebrow {
 font-size: 11px;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: .14em;
 color: var(--blue);
 margin-bottom: 8px;
 }
 .section-title {
 font-family: var(--font-display);
 font-size: clamp(1.35rem,3vw,1.9rem);
 font-weight: 400;
 color: var(--navy);
 line-height: 1.2;
 margin-bottom: .65rem;
 }
 .feature-grid {
 display: grid;
 grid-template-columns: repeat(3,1fr);
 gap: 1px;
 background: var(--border);
 border: 1px solid var(--border);
 margin-top: 1.5rem;
 }
 @media(max-width:760px) {
 .feature-grid { grid-template-columns: 1fr; }
 }
 .feature-card {
 background: var(--white);
 padding: 20px 22px;
 }
 .feature-title {
 font-size: .88rem;
 font-weight: 700;
 color: var(--text);
 margin-bottom: 5px;
 }
 .feature-desc {
 font-size: .82rem;
 color: var(--text-secondary);
 line-height: 1.7;
 }

 .page-cta {
 background: var(--navy);
 margin-top: 3.5rem;
 padding: clamp(2.5rem,5vw,3.5rem) 0;
 }
 .page-cta-inner {
 max-width: 1200px;
 margin: 0 auto;
 padding: 0 clamp(1rem,3vw,2rem);
 display: grid;
 grid-template-columns: 1fr auto;
 gap: 2rem;
 align-items: center;
 }
 @media(max-width:700px) {
 .page-cta-inner { grid-template-columns: 1fr; }
 }
 .page-cta h2 {
 font-family: var(--font-display);
 font-size: clamp(1.4rem,3vw,2rem);
 font-weight: 400;
 color: #fff;
 margin-bottom: 8px;
 }
 .page-cta p {
 color: rgba(255,255,255,.7);
 margin: 0;
 max-width: 720px;
 }
 .cta-actions {
 display: flex;
 gap: 8px;
 flex-wrap: wrap;
 }
 .btn-w {
 display: inline-block;
 font-size: 13px;
 font-weight: 700;
 background: #fff;
 color: var(--navy);
 padding: 11px 20px;
 text-decoration: none;
 white-space: nowrap;
 }
 .btn-ghost {
 display: inline-block;
 font-size: 13px;
 font-weight: 700;
 border: 1px solid rgba(255,255,255,.25);
 color: #fff;
 padding: 10px 20px;
 text-decoration: none;
 white-space: nowrap;
 }
.hiw-max-w-800 { max-width: 800px; }

/* ============================================================================
   HOMEPAGE (index.php) -- one-off utility classes replacing static inline
   styles. Data-driven chart-bar widths (.hero-bar-fill/.fw-bar-fill etc.)
   are intentionally left as inline style="width:NN%" -- same precedent as
   the articles.css bar-chart migration.
   ========================================================================== */
.home-icon-inline { width: 100%; height: auto; display: block; }
.home-icon-align { vertical-align: -2px; margin-right: 6px; }
.home-relative { position: relative; }
.home-report-pad { padding: 28px 28px 24px; }
.home-pt-24 { padding-top: 2.4rem; }
.home-max-w-540 { max-width: 540px; width: 100%; }
.home-mt-8 { margin-top: 8px; }
.home-mt-15 { margin-top: 1.5rem; }
.home-mt-neg85 { margin-top: -.85rem; }
.home-ml-auto { margin-left: auto; }
.home-mb-4 { margin-bottom: 4px; }
.home-mb-10 { margin-bottom: 10px; }
.home-mb-0 { margin-bottom: 0; }
.home-stat-big { font-size: 2rem; font-weight: 800; color: var(--navy); line-height: 1; }
.home-view-link { font-size: 13px; font-weight: 700; color: var(--blue); text-align: center; text-decoration: none; }
.home-lead-13 { font-size: 13px; color: var(--text-secondary); line-height: 1.7; margin-bottom: 20px; }
.home-fs-13-gray { font-size: 13px; color: #888; }
.home-fs-12-mt2 { font-size: 12px; color: var(--text-secondary); margin-top: 2px; }
.home-fs-12-terms { font-size: 12px; color: #999; padding-top: 16px; border-top: 1px solid var(--border); margin-bottom: 20px; }
.home-fs-12-amber { font-size: 12px; color: #78350f; line-height: 1.5; }
.home-label-blue { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--blue); margin-bottom: 10px; }
.home-label-amber { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #92400e; margin-bottom: 3px; }
.home-report-title { font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; color: var(--text); line-height: 1.2; margin-bottom: 16px; }
.home-inline-block { display: inline-block; }
.home-flex-gap5 { display: flex; gap: 5px; margin-bottom: 6px; }
.home-baseline-row { display: flex; align-items: baseline; gap: 8px; margin-bottom: 4px; }
.home-btn-reset { cursor: pointer; font-family: inherit; border: none; }
.home-blue-bold { color: var(--blue); font-weight: 600; }
.home-white-45 { color: rgba(255,255,255,0.45); }
.home-white { color: #fff; }
.home-amber-bold { color: #b45309; font-weight: 700; }
.home-amber { color: #b45309; }
.home-icon-box { border: 2px solid var(--blue); display: flex; align-items: center; justify-content: center; min-height: 120px; }
.home-warn-box { background: #fffbeb; border: 1px solid #fde68a; padding: 9px 12px; border-left: 3px solid #d97706; }

/* ============================================================================
   HOMEPAGE (index.php)
   ========================================================================== */

/* HERO */
    .hero { padding: clamp(3rem,6vw,5rem) 0; background: var(--white); border-bottom: 1px solid var(--border); }
    .hero-inner { max-width: 1200px; margin: 0 auto; padding: 0 clamp(1rem,3vw,2rem); display: grid; grid-template-columns: 2fr 1fr; gap: 3rem; align-items: flex-start; }
    @media (max-width: 860px) { .hero-inner { grid-template-columns: 1fr; gap: 2.5rem; } }
    .home-hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--blue); margin-bottom: 1.25rem; }
    .home-hero-eyebrow::before { content: ''; width: 20px; height: 2px; background: var(--blue); flex-shrink: 0; }
    .hero h1 { font-family: var(--font-display); font-size: clamp(2.2rem,4.5vw,3.2rem); line-height: 1.08; color: var(--text); margin-bottom: 1.25rem; font-weight: 400; }
    .hero h1 em { font-style: italic; color: var(--navy); }
    .hero-subtitle { font-size: 14px; font-weight: 500; color: var(--text-secondary); margin-bottom: 1rem; line-height: 1.5; }
    .home-hero-lead { font-size: 1.05rem; color: var(--text-secondary); line-height: 1.75; margin-bottom: 2rem; }
    .hero-cta { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 2.5rem; }
    .home-btn-primary { font-size: 14px; font-weight: 700; background: var(--navy); color: #fff; border: none; padding: 12px 24px; transition: background 0.15s; display: inline-block; cursor: pointer; text-decoration: none; }
    .home-btn-primary:hover { background: #131e35; }
    .btn-secondary { font-size: 14px; font-weight: 600; color: var(--navy); border: 1px solid var(--navy); padding: 11px 24px; background: var(--white); transition: background 0.15s; display: inline-block; text-decoration: none; }
    .btn-secondary:hover { background: var(--surface); }
    .hero-trust { display: flex; gap: 2rem; flex-wrap: wrap; }
    .hero-trust-item { display: flex; flex-direction: column; gap: 2px; }
    .hero-trust-num { font-size: 1.5rem; font-weight: 800; color: var(--navy); line-height: 1; }
    .hero-trust-label { font-size: 11px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.08em; }
    .hero-card { background: var(--surface); border: 1px solid var(--border); padding: 24px; margin-top: 2.5rem; }
    .hero-card-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--text-secondary); margin-bottom: 12px; }
    
    .hero-bars { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
    .hero-bar-row { display: flex; align-items: center; gap: 10px; }
    .hero-bar-name { font-size: 12px; color: var(--text-secondary); width: 72px; flex-shrink: 0; }
    .hero-bar-track { flex: 1; min-width: 0; height: 6px; background: rgba(0,0,0,0.08); overflow: hidden; }
    .hero-bar-fill { height: 100%; background: var(--navy); }
    .hero-bar-score { font-size: 12px; font-weight: 700; color: var(--navy); width: 28px; text-align: right; flex-shrink: 0; }
    .hero-card-profile { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; background: var(--blue-soft); color: var(--blue); padding: 4px 10px; }
    

    /* SECTIONS */
    .section { padding: clamp(3rem,6vw,5rem) 0; }
    .section-inner { max-width: 1200px; margin: 0 auto; padding: 0 clamp(1rem,3vw,2rem); }
    .home-section-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--blue); margin-bottom: 10px; }
    .home-section-title { font-family: var(--font-display); font-size: clamp(1.7rem,3vw,2.4rem); font-weight: 400; color: var(--text); margin-bottom: 1rem; line-height: 1.15; }
    .section-lead { font-size: 1rem; color: var(--text-secondary); line-height: 1.7; max-width: 560px; }

    /* WHO */
    .who-section { background: var(--surface); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
    .who-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--border); margin-top: 2.5rem; }
    @media (max-width: 720px) { .who-grid { grid-template-columns: 1fr; } }
    .who-card { background: var(--white); padding: 28px 24px; display: flex; flex-direction: column; gap: 12px; }
    .who-icon { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; }
    .who-title { font-size: 1rem; font-weight: 700; color: var(--text); }
    .who-desc { font-size: 13px; color: var(--text-secondary); line-height: 1.65; flex: 1; }
    .who-tools { font-size: 11px; color: var(--blue); font-weight: 600; line-height: 1.5; }

    /* HOW */
    .how-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; margin-top: 2.5rem; }
    @media (max-width: 720px) { .how-grid { grid-template-columns: 1fr; } }
    .how-step { display: flex; flex-direction: column; gap: 10px; }
    .how-step-num { width: 32px; height: 32px; border: 2px solid var(--navy); color: var(--navy); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; flex-shrink: 0; }
    .how-step-title { font-size: 1rem; font-weight: 700; color: var(--text); }
    .how-step-desc { font-size: 13px; color: var(--text-secondary); line-height: 1.65; }

    /* TOOLS PREVIEW */
    .tools-preview-section { background: var(--surface); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
    .tools-preview-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
    .tools-preview-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
    @media (max-width: 1024px) { .tools-preview-grid { grid-template-columns: repeat(3,1fr); } }
    @media (max-width: 720px) { .tools-preview-grid { grid-template-columns: repeat(2,1fr); } }
    @media (max-width: 480px) { .tools-preview-grid { grid-template-columns: 1fr; } }
    .preview-card { background: var(--white); border: 1px solid var(--border); padding: 14px; display: flex; flex-direction: column; gap: 8px; transition: border-color 0.15s, box-shadow 0.15s; cursor: pointer; }
    .preview-card:hover { border-color: rgba(0,0,0,0.18); box-shadow: 0 2px 10px rgba(0,0,0,0.06); }
    .preview-card-desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 11px; color: #666; line-height: 1.45; margin-bottom: 4px; }
    .pill { font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: #f0f0ef; color: #555; border: 1px solid rgba(0,0,0,0.08); white-space: nowrap; }
    .preview-card h4 { font-size: 13px; font-weight: 700; color: var(--text); line-height: 1.35; }
    .preview-card-meta { font-size: 11px; color: #888; }
    .preview-card-price { font-size: 14px; font-weight: 700; color: var(--text); margin-top: auto; padding-top: 8px; border-top: 1px solid var(--border); }
    .preview-card-price span { font-size: 11px; color: var(--text-secondary); font-weight: 400; }
    .view-all-link { font-size: 13px; font-weight: 700; color: var(--blue); display: flex; align-items: center; gap: 4px; white-space: nowrap; text-decoration: none; }
    .view-all-link:hover { color: var(--blue-dark); }

    /* FRAMEWORK */
    .framework-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
    @media (max-width: 860px) { .framework-inner { grid-template-columns: 1fr; } }
    .framework-list { display: flex; flex-direction: column; gap: 16px; margin-top: 1.5rem; }
    .framework-item { display: flex; gap: 14px; align-items: flex-start; }
    .framework-item-num { width: 28px; height: 28px; background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; flex-shrink: 0; margin-top: 2px; }
    .framework-item-title { font-size: 14px; font-weight: 700; color: var(--text); margin-bottom: 2px; }
    .framework-item-desc { font-size: 13px; color: var(--text-secondary); line-height: 1.55; }
    .framework-visual { background: var(--white); border: 1px solid var(--border); padding: 24px; }
    .fw-eyebrow { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--blue); margin-bottom: 4px; }
    .fw-tool-name { font-size: 15px; font-weight: 700; color: var(--text); margin-bottom: 12px; }
    .fw-overall-row { display: flex; align-items: baseline; gap: 4px; margin-bottom: 12px; flex-wrap: wrap; }
    .fw-overall-score { font-size: 2.2rem; font-weight: 800; color: var(--navy); line-height: 1; }
    .fw-overall-denom { font-size: 14px; color: #999; }
    .fw-profile-badge { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; background: var(--blue-soft); color: var(--blue); padding: 3px 9px; margin-left: auto; }
    .fw-divider { height: 1px; background: var(--border); margin: 14px 0; }
    .fw-domains-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--text-secondary); margin-bottom: 10px; }
    .fw-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
    .fw-label { font-size: 11px; font-weight: 600; color: var(--text-secondary); width: 84px; flex-shrink: 0; }
    .fw-label.fw-gap { color: #b45309; }
    .fw-bar-track { flex: 1; height: 6px; background: rgba(0,0,0,.07); overflow: hidden; }
    .fw-bar-fill { height: 100%; }
    .fw-bar-fill.fw-strong { background: #166534; }
    .fw-bar-fill.fw-functional { background: var(--blue); }
    .fw-bar-fill.fw-developing { background: #d97706; }
    .fw-score { font-size: 12px; font-weight: 700; color: var(--navy); width: 26px; text-align: right; }
    .fw-score.fw-gap { color: #b45309; }
    .fw-pvr-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--text-secondary); margin-bottom: 8px; }
    .fw-pvr-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
    .fw-pvr-item { display: flex; flex-direction: column; gap: 2px; }
    .fw-pvr-item-label { font-size: 10px; color: #999; }
    .fw-pvr-item-val { font-size: 1.4rem; font-weight: 800; color: var(--navy); line-height: 1; }
    .fw-pvr-item-val.fw-gap { color: #b45309; }
    .fw-pvr-arrow { font-size: 18px; color: #ccc; }
    .fw-pvr-tag { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; background: #fff7ed; color: #92400e; border: 1px solid #fde68a; padding: 3px 8px; margin-left: auto; }
    .fw-action-item { background: var(--surface); border: 1px solid var(--border); border-left: 3px solid #d97706; padding: 8px 10px; }
    .fw-action-domain { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 3px; color: var(--text-secondary); }
    .fw-action-text { font-size: 11px; color: var(--text-secondary); line-height: 1.55; }
    .fw-strong { color: #166534; }

    /* ACADEMIC */
    .academic-section { background: var(--surface); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
    .academic-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
    @media (max-width: 860px) { .academic-inner { grid-template-columns: 1fr; } }
    .academic-badge { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; background: var(--blue-soft); color: var(--blue); padding: 4px 10px; margin-bottom: 1rem; }
    .academic-features { display: flex; flex-direction: column; gap: 12px; margin-top: 1.5rem; }
    .academic-feature { display: flex; gap: 10px; align-items: flex-start; }
    .academic-feature-dot { width: 6px; height: 6px; background: var(--navy); flex-shrink: 0; margin-top: 7px; }
    .academic-feature-text { font-size: 13px; color: var(--text-secondary); line-height: 1.6; }
    .academic-feature-text strong { color: var(--text); font-weight: 600; }
    .assign-card { background: var(--white); border: 1px solid var(--border); box-shadow: 0 8px 28px rgba(0,0,0,.06); }
    .assign-card-bar { background: var(--navy); padding: 10px 20px; display: flex; align-items: center; gap: 8px; }
    .assign-card-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.35); }
    .assign-card-bar-label { font-size: 11px; font-weight: 700; color: rgba(255,255,255,.7); text-transform: uppercase; letter-spacing: .1em; margin-left: 4px; }
    .assign-card-body { padding: 22px 24px 24px; }
    .assign-card-course { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--blue); margin-bottom: 6px; }
    .assign-card-title { font-size: 1.05rem; font-weight: 700; color: var(--text); margin-bottom: 14px; line-height: 1.3; }
    .assign-card-steps { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
    .assign-step { display: flex; gap: 10px; align-items: flex-start; }
    .assign-step-num { flex: 0 0 20px; height: 20px; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; margin-top: 1px; }
    .assign-step-text { font-size: 12.5px; color: var(--text-secondary); line-height: 1.55; }
    .assign-card-footer { border-top: 1px solid var(--border); padding-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
    .assign-card-due { font-size: 11px; color: #9ca3af; }
    .assign-card-tag { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; background: #f0fdf4; color: #166534; padding: 3px 9px; }

    /* WHY DIFFERENT */
    .diff-section { background: var(--navy); border-bottom: 4px solid rgba(255,255,255,0.06); padding: clamp(3rem,6vw,5rem) 0; }
    .diff-inner { max-width: 1200px; margin: 0 auto; padding: 0 clamp(1rem,3vw,2rem); }
    .diff-lead { font-size: 1.05rem; color: rgba(255,255,255,0.7); line-height: 1.75; margin-bottom: 2.5rem; max-width: 900px; }
    .diff-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(255,255,255,0.12); }
    @media (max-width: 720px) { .diff-grid { grid-template-columns: 1fr; } }
    .diff-card { background: rgba(255,255,255,0.05); padding: 28px 24px; }
    .diff-label { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: rgba(255,255,255,0.4); margin-bottom: 12px; }
    .diff-label svg { flex-shrink: 0; }
    .diff-card-title { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 10px; line-height: 1.35; }
    .diff-card-body { font-size: 13px; color: rgba(255,255,255,0.6); line-height: 1.65; }
    .diff-footnote { font-size: 12px; color: rgba(255,255,255,0.35); line-height: 1.65; margin-top: 24px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.1); }

    /* RESULTS CTA */
    .laptop-wrap { max-width: 500px; width: 100%; margin: 0 auto; }
    .laptop-svg { width: 100%; height: auto; opacity: 0.9; }
    .results-cta-section { background: #0a1628; border-top: 1px solid rgba(255,255,255,0.1); padding: clamp(3rem,6vw,5rem) 0; }
    .results-cta-inner { max-width: 1200px; margin: 0 auto; padding: 0 clamp(1rem,3vw,2rem); display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
    @media (max-width: 860px) { .results-cta-inner { grid-template-columns: 1fr; } }
    .results-cta-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: #93c5fd; margin-bottom: 12px; }
    .results-cta-title { font-family: var(--font-display); font-size: clamp(1.4rem,3vw,2rem); font-weight: 400; color: #fff; line-height: 1.15; margin-bottom: 1rem; }
    .results-cta-body { font-size: 0.95rem; color: rgba(255,255,255,0.7); line-height: 1.75; margin-bottom: 1.5rem; }
    .btn-sample { display: inline-block; font-size: 13px; font-weight: 700; background: #fff; color: var(--navy); padding: 11px 24px; text-decoration: none; transition: opacity 0.15s; }
    .btn-sample:hover { opacity: 0.92; }

    /* CONSULT CALLOUT */
    .consult-callout-wrap { background: var(--surface); padding: clamp(2rem,4vw,3rem) 0; }
    .consult-callout { max-width: 1200px; margin: 0 auto; padding: 0 clamp(1rem,3vw,2rem); }
    .consult-callout-inner { background: var(--white); border: 1px solid #d1d5db; border-left: 4px solid var(--blue); padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
    .consult-callout-text { font-size: 14px; font-weight: 600; color: var(--navy); }
    .consult-callout-sub { font-size: 13px; font-weight: 400; color: var(--text-secondary); margin-top: 3px; }
    .btn-consult-cta { font-size: 13px; font-weight: 700; background: var(--navy); color: #fff; padding: 10px 22px; border: none; white-space: nowrap; flex-shrink: 0; transition: background 0.15s; display: inline-block; text-decoration: none; }
    .btn-consult-cta:hover { background: #131e35; }

    

    /* CATEGORY JUMP STRIP */
    .cat-jump { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 16px 0; background: var(--surface); }
    .cat-jump-inner { max-width: 1200px; margin: 0 auto; padding: 0 clamp(1rem,3vw,2rem); display: flex; flex-direction: column; gap: 10px; }
    .cat-jump-heading { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
    .cat-jump-title { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--text); flex-shrink: 0; }
    .cat-jump-sub { font-size: 12px; color: var(--text-secondary); }
    .cat-jump-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
    .cat-jump-pill { font-size: 12px; font-weight: 600; padding: 5px 14px; border-radius: 999px; border: 1px solid var(--border); background: var(--white); color: var(--text-secondary); text-decoration: none; white-space: nowrap; transition: border-color .15s, color .15s; }
    .cat-jump-pill:hover { border-color: var(--blue); color: var(--blue); }
    .cat-jump-all { font-size: 12px; font-weight: 700; color: var(--blue); text-decoration: none; margin-left: auto; white-space: nowrap; flex-shrink: 0; }
    .cat-jump-all:hover { color: var(--navy); }
    @media (max-width: 600px) { .cat-jump-sub { flex-basis: 100%; } .cat-jump-all { margin-left: 0; } }

    /* INSTITUTIONAL LICENSING TABS */
    .inst-section { background: #0d1f3c; padding: clamp(3rem,6vw,5rem) 0; border-top: 1px solid rgba(255,255,255,.05); }
    .inst-inner { max-width: 1200px; margin: 0 auto; padding: 0 clamp(1rem,3vw,2rem); }
    .inst-hd-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.4); margin-bottom: 10px; }
    .inst-hd-title { font-family: var(--font-display); font-size: clamp(1.7rem,3vw,2.4rem); font-weight: 400; color: #fff; line-height: 1.12; margin-bottom: .75rem; }
    .inst-hd-lead { font-size: 1rem; color: rgba(255,255,255,.65); line-height: 1.75; margin-bottom: 2rem; max-width: 680px; }
    .inst-tabs { display: flex; gap: 0; border-bottom: 1px solid rgba(255,255,255,.12); margin-bottom: 2.5rem; }
    .inst-tab-btn { background: none; border: none; border-bottom: 3px solid transparent; padding: 12px 28px; font-size: 14px; font-weight: 600; color: rgba(255,255,255,.5); cursor: pointer; font-family: inherit; transition: color .15s, border-color .15s; margin-bottom: -1px; white-space: nowrap; }
    .inst-tab-btn:hover { color: rgba(255,255,255,.8); }
    .inst-tab-btn.active { color: #fff; border-bottom-color: #2563EB; }
    .inst-panel { display: none; }
    .inst-panel.active { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }
    @media (max-width: 860px) { .inst-panel.active { grid-template-columns: 1fr; gap: 2rem; } }
    .inst-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #93c5fd; background: rgba(37,99,235,.2); border: 1px solid rgba(37,99,235,.3); padding: 4px 10px; margin-bottom: 14px; }
    .inst-panel-title { font-size: 1.1rem; font-weight: 700; color: #fff; margin-bottom: 8px; line-height: 1.25; }
    .inst-panel-desc { font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.7; margin-bottom: 20px; }
    .inst-feats { display: flex; flex-direction: column; gap: 14px; }
    .inst-feat { display: flex; gap: 11px; align-items: flex-start; }
    .inst-feat-dot { width: 5px; height: 5px; background: #2563EB; flex-shrink: 0; margin-top: 8px; }
    .inst-feat-text { font-size: 13px; color: rgba(255,255,255,.75); line-height: 1.65; }
    .inst-feat-text strong { color: #fff; font-weight: 600; }
    .inst-visual-col { display: flex; flex-direction: column; gap: 1.25rem; }
    .inst-visual { background: #fff; border-radius: 6px; overflow: hidden; box-shadow: 0 8px 32px rgba(0,0,0,.35); }
    .inst-panel-ctarow { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.1); margin-top: .25rem; }
    @media (max-width: 860px) { .inst-visual { display: none; } .inst-panel-ctarow { padding-top: 1rem; } }
    .inst-lti-tag { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #86efac; background: rgba(34,197,94,.12); border: 1px solid rgba(34,197,94,.25); padding: 3px 9px; margin-top: 16px; }
    
    
    .inst-btn-primary { display: inline-block; font-size: 13px; font-weight: 700; background: #2563EB; color: #fff; padding: 10px 20px; text-decoration: none; white-space: nowrap; }
    .inst-btn-primary:hover { background: #1d4ed8; }
    .inst-btn-ghost { display: inline-block; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.75); border: 1px solid rgba(255,255,255,.22); padding: 9px 18px; text-decoration: none; white-space: nowrap; }
    .inst-btn-ghost:hover { border-color: rgba(255,255,255,.45); color: #fff; }
    @media (max-width: 480px) { .inst-tab-btn { padding: 10px 16px; font-size: 13px; } }

    /* FLAGSHIP PIP */
    .pip-home-section { background: #f7f8fb; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
    .pip-home-inner { max-width: 1200px; margin: 0 auto; padding: clamp(3rem,6vw,5rem) clamp(1rem,3vw,2rem); display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem,5vw,4.5rem); align-items: center; }
    @media (max-width: 860px) { .pip-home-inner { grid-template-columns: 1fr; } }
    .pip-home-kicker { display: inline-flex; align-items: center; gap: 9px; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--blue); margin-bottom: 14px; }
    .pip-home-kicker::before { content: ''; width: 22px; height: 2px; background: var(--blue); }
    .pip-home-title { font-family: var(--font-display); font-size: clamp(2rem,3.8vw,3rem); line-height: 1.08; font-weight: 400; color: var(--text); margin-bottom: 1rem; }
    .pip-home-title em { color: var(--navy); font-style: italic; }
    .pip-home-lead { font-size: 1.02rem; line-height: 1.75; color: var(--text-secondary); margin-bottom: 1.35rem; max-width: 680px; }
    .pip-home-points { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; margin: 0 0 1.6rem; }
    @media (max-width: 560px) { .pip-home-points { grid-template-columns: 1fr; } }
    .pip-home-point { display: flex; gap: 9px; align-items: flex-start; font-size: 13px; line-height: 1.55; color: var(--text-secondary); }
    .pip-home-point::before { content: ''; width: 7px; height: 7px; margin-top: 7px; background: var(--blue); flex: 0 0 7px; }
    .pip-home-point strong { color: var(--text); font-weight: 700; }
    .pip-home-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
    .pip-home-note { margin-top: 12px; font-size: 12px; line-height: 1.55; color: #6b7280; }
    .pip-home-report { background: #fff; border: 1px solid var(--border); box-shadow: 0 18px 44px rgba(20,36,68,.10); }
    .pip-home-report-top { background: var(--navy); padding: 18px 20px; }
    .pip-home-report-eyebrow { font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #93c5fd; margin-bottom: 6px; }
    .pip-home-report-title { font-family: var(--font-display); font-size: 1.25rem; color: #fff; line-height: 1.2; }
    .pip-home-report-sub { margin-top: 5px; font-size: 11px; color: rgba(255,255,255,.58); }
    .pip-home-report-body { padding: 20px; }
    .pip-home-signature { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; padding: 14px; background: #f8fafc; border: 1px solid #e5e7eb; margin-bottom: 16px; }
    .pip-home-pattern { text-align: center; }
    .pip-home-pattern-label { font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #64748b; margin-bottom: 4px; }
    .pip-home-pattern-name { font-size: 13px; font-weight: 800; color: var(--navy); }
    .pip-home-plus { font-family: var(--font-display); font-size: 1.5rem; color: var(--blue); }
    .pip-home-report-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .pip-home-report-cell { padding: 10px 11px; border: 1px solid #e5e7eb; min-height: 62px; }
    .pip-home-report-cell strong { display: block; font-size: 11px; color: var(--navy); margin-bottom: 3px; }
    .pip-home-report-cell span { display: block; font-size: 10px; color: #6b7280; line-height: 1.45; }
    .pip-home-report-footer { margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; }
    .pip-home-report-stat { font-size: 10px; color: #64748b; }
    .pip-home-report-stat strong { display: block; font-size: 15px; color: var(--navy); }


/* ============================================================================
   HOMEPAGE — Articles Surface (hp-article-*)
   Restored: accidentally deleted from index.php during the auth/disclaimer
   duplicate cleanup -- this section was physically interleaved between the
   AUTH MODAL comment and .btn-disclaimer-close in the original file's
   source order, and got swallowed by that removal despite having nothing
   to do with auth or disclaimer modals.
   ========================================================================== */
.hp-articles-section { padding: clamp(2.5rem,5vw,4rem) 0; border-top: 1px solid var(--border); }
.hp-articles-inner { max-width: 1200px; margin: 0 auto; padding: 0 clamp(1rem,3vw,2rem); }
.hp-articles-header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.hp-articles-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
@media (max-width: 860px) { .hp-articles-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .hp-articles-grid { grid-template-columns: 1fr; } }
.hp-article-card { background: var(--white); border: 1px solid var(--border); padding: 20px; display: flex; flex-direction: column; gap: 8px; transition: border-color .15s; text-decoration: none; }
.hp-article-card:hover { border-color: rgba(0,0,0,.18); }
.hp-article-type { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--blue); }
.hp-article-title { font-size: 14px; font-weight: 700; color: var(--text); line-height: 1.35; }
.hp-article-excerpt { font-size: 12px; color: var(--text-secondary); line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.hp-articles-link { font-size: 13px; font-weight: 700; color: var(--blue); text-decoration: none; white-space: nowrap; }
.hp-articles-link:hover { color: var(--navy); }

/* ============================================================================
   HOMEPAGE — compound-selector overrides
   These combinations (a base class + a color utility) previously relied on
   an inline style="" to guarantee the override; converting that inline
   style to a class turned it into a same-specificity tie decided by file
   order, and the wrong side was winning. Compound selectors here make the
   override deterministic regardless of where either rule sits in the file.
   ========================================================================== */
.home-section-title.home-white { color: #fff; }
.home-section-eyebrow.home-white-45 { color: rgba(255,255,255,0.45); }
.hero-bar-name.home-amber-bold { color: #b45309; }
.hero-bar-score.home-amber { color: #b45309; }