@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Merriweather:wght@700;900&display=swap');

:root {
  --navy: #0C2340;
  --navy-2: #12355C;
  --navy-lite: #E8EEF5;
  --gold: #C8A951;
  --gold-dark: #A8892F;
  --ink: #1F2933;
  --muted: #5E6A75;
  --line: #D9E2EC;
  --paper: #FFFFFF;
  --soft: #F7F9FC;
  --shadow: 0 16px 40px rgba(12, 35, 64, 0.12);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Inter', 'Source Sans Pro', 'Lato', Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.65;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
.skip-link {
  position: absolute; left: -999px; top: auto; width: 1px; height: 1px; overflow: hidden;
}
.skip-link:focus {
  left: 1rem; top: 1rem; width: auto; height: auto; background: var(--gold); padding: .75rem 1rem; z-index: 1000;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(12,35,64,.10);
}
.navbar {
  max-width: 1180px;
  margin: 0 auto;
  padding: .65rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  text-decoration: none;
  color: var(--navy);
}
.brand img { width: 54px; height: 54px; object-fit: contain; border-radius: 50%; }
.brand strong { font-family: 'Merriweather', Georgia, serif; letter-spacing: .08em; font-size: 1.05rem; display: block; }
.brand small { display: block; color: var(--muted); font-size: .72rem; margin-top: -.2rem; }
.nav-menu { display: flex; align-items: center; gap: .25rem; }
.nav-menu a {
  text-decoration: none;
  color: var(--navy);
  font-weight: 700;
  font-size: .94rem;
  padding: .7rem .85rem;
  border-radius: 999px;
}
.nav-menu a:hover { background: var(--navy-lite); }
.nav-menu .nav-cta { background: var(--navy); color: white; }
.nav-menu .nav-cta:hover { background: var(--navy-2); }
.nav-toggle { display: none; border: 1px solid var(--line); background: white; border-radius: 999px; padding: .55rem .8rem; font-weight: 800; color: var(--navy); }

main { overflow: hidden; }
.hero, .page-hero {
  max-width: 1180px;
  margin: 0 auto;
  padding: 5rem 1.25rem;
}
.hero-home {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 2rem;
  align-items: center;
  min-height: 680px;
}
.hero-copy, .page-hero {
  position: relative;
}
.hero-copy::before, .page-hero::before {
  content: '';
  display: block;
  width: 84px;
  height: 5px;
  background: var(--gold);
  border-radius: 999px;
  margin-bottom: 1.2rem;
}
.eyebrow, .section-kicker, .tag {
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--gold-dark);
  font-weight: 800;
  font-size: .78rem;
}
h1, h2, h3 {
  font-family: 'Merriweather', Georgia, 'Times New Roman', serif;
  color: var(--navy);
  line-height: 1.15;
  margin: 0 0 1rem;
}
h1 { font-size: clamp(2.5rem, 6vw, 5.2rem); letter-spacing: -0.04em; }
h2 { font-size: clamp(1.8rem, 3.5vw, 3rem); letter-spacing: -0.03em; }
h3 { font-size: 1.2rem; }
p { margin-top: 0; color: var(--muted); }
.lead { font-size: clamp(1.1rem, 1.6vw, 1.35rem); color: #3A4651; max-width: 820px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 1.75rem; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 48px;
  padding: .85rem 1.1rem;
  border-radius: 999px;
  text-decoration: none;
  border: 2px solid transparent;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.button.primary { background: var(--gold); color: var(--navy); }
.button.secondary { background: var(--navy); color: white; }
.button.ghost { border-color: var(--navy); color: var(--navy); background: white; }
.button.small { min-height: 40px; padding: .65rem .9rem; font-size: .9rem; }
.hero-card {
  background: linear-gradient(145deg, #ffffff, #f1f5f9);
  border: 1px solid var(--line);
  border-radius: 36px;
  padding: 2rem;
  box-shadow: var(--shadow);
}
.logo-card img { border-radius: 24px; }

.section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 5rem 1.25rem;
}
.tint {
  max-width: none;
  background: var(--soft);
  padding-left: max(1.25rem, calc((100vw - 1180px)/2 + 1.25rem));
  padding-right: max(1.25rem, calc((100vw - 1180px)/2 + 1.25rem));
}
.two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
.pillar-grid, .card-grid, .download-grid, .metric-grid {
  display: grid;
  gap: 1rem;
}
.pillar-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.card-grid.three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.card-grid.four { grid-template-columns: repeat(4, minmax(0,1fr)); }
.download-grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
.metric-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.pillar-card, .info-card, .feature-card, .service-card, .download-card, .resource-card, .term-card, .contact-form-card, .contact-card, .privacy-note {
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.25rem;
  box-shadow: 0 10px 28px rgba(12,35,64,.06);
}
.pillar-card span { color: var(--gold-dark); font-weight: 900; }
.feature-card a { font-weight: 800; color: var(--navy); text-decoration-color: var(--gold); }
.download-card { display: flex; flex-direction: column; align-items: flex-start; }
.download-card p { flex: 1; }
.file-badge {
  background: var(--navy-lite);
  color: var(--navy);
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  padding: .25rem .55rem;
  margin-bottom: .9rem;
}
.module-list { display: grid; gap: .75rem; }
.module-list a {
  padding: 1rem 1.15rem;
  border: 1px solid var(--line);
  border-radius: 16px;
  text-decoration: none;
  font-weight: 800;
  color: var(--navy);
  background: #fff;
}
.module-list a:hover { border-color: var(--gold); }
.section-heading-row {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: end;
  margin-bottom: 1.5rem;
}
.tool-controls { display: grid; grid-template-columns: minmax(220px, 1fr) 170px 200px; gap: .75rem; width: min(680px, 100%); }
.tool-controls.compact { grid-template-columns: minmax(220px, 1fr) 180px; }
input, select, textarea {
  width: 100%;
  border: 1px solid #C9D3DF;
  border-radius: 14px;
  padding: .85rem .95rem;
  font: inherit;
  background: white;
  color: var(--ink);
}
label { display: block; font-weight: 800; color: var(--navy); margin: 1rem 0 .35rem; }
.result-count { color: var(--muted); font-weight: 800; margin: 0 0 1rem; }
.resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.resource-card { display: flex; flex-direction: column; min-height: 310px; }
.resource-card .meta { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .8rem; }
.resource-card .meta span, .case-labels span, .audience-list span {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  background: var(--navy-lite);
  color: var(--navy);
  border-radius: 999px;
  padding: .3rem .6rem;
  font-size: .74rem;
  font-weight: 800;
}
.resource-card p { font-size: .95rem; }
.resource-card .resource-actions { margin-top: auto; display: flex; gap: .65rem; flex-wrap: wrap; }
.resource-card .text-link { color: var(--navy); font-weight: 900; }
.term-card h3 { margin-bottom: .4rem; }
.term-card .level { font-size: .75rem; font-weight: 900; color: var(--gold-dark); margin-bottom: .6rem; display:block; }
.case-study-detail { max-width: 1020px; }
.case-labels { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.case-intro { font-size: 1.1rem; }
.metric-grid article, .stat-panel article {
  background: var(--navy);
  color: white;
  border-radius: 18px;
  padding: 1rem;
}
.metric-grid strong, .stat-panel strong {
  display: block;
  color: var(--gold);
  font-size: 2rem;
  font-family: 'Merriweather', Georgia, serif;
  line-height: 1;
}
.metric-grid span, .stat-panel span { display: block; color: rgba(255,255,255,.85); font-size: .9rem; margin-top: .5rem; }
.case-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2rem; }
.case-sections article { border-top: 4px solid var(--gold); padding: 1.2rem; background: var(--soft); border-radius: 18px; }
.case-sections ul { padding-left: 1.2rem; color: var(--muted); }
.privacy-note { margin-top: 2rem; background: var(--navy-lite); }
.stat-panel { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.audience-list { display: flex; flex-wrap: wrap; gap: .75rem; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 2rem; }
.contact-lines { display: grid; gap: .75rem; margin: 1.5rem 0; }
.contact-lines a { color: var(--navy); font-weight: 900; text-decoration-color: var(--gold); }
.availability { background: var(--navy-lite); padding: 1rem; border-radius: 16px; display: grid; gap: .25rem; }
.form-note { font-size: .9rem; margin-top: .85rem; }

.site-footer {
  background: var(--navy);
  color: white;
  padding: 3rem 1.25rem 1rem;
}
.footer-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1.2fr;
  gap: 2rem;
}
.site-footer h2, .site-footer h3 { color: white; }
.site-footer p, .site-footer a { color: rgba(255,255,255,.78); }
.site-footer a { display: block; margin: .35rem 0; text-decoration: none; }
.site-footer a:hover { color: var(--gold); }
.copyright { max-width: 1180px; margin: 2rem auto 0; font-size: .85rem; border-top: 1px solid rgba(255,255,255,.16); padding-top: 1rem; }

@media (max-width: 980px) {
  .hero-home, .two-column, .contact-layout, .case-sections { grid-template-columns: 1fr; }
  .download-grid, .card-grid.four, .card-grid.three, .resource-grid, .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .section-heading-row { align-items: stretch; flex-direction: column; }
  .tool-controls, .tool-controls.compact { width: 100%; grid-template-columns: 1fr; }
  .hero, .page-hero, .section { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .hero-home { min-height: auto; }
}
@media (max-width: 720px) {
  .nav-toggle { display: inline-flex; }
  .nav-menu {
    position: absolute;
    left: 1rem;
    right: 1rem;
    top: 78px;
    background: white;
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
    border-radius: 20px;
    padding: .75rem;
    display: none;
    flex-direction: column;
    align-items: stretch;
  }
  .nav-menu.open { display: flex; }
  .nav-menu a { border-radius: 12px; }
  .brand small { display: none; }
  .download-grid, .card-grid.four, .card-grid.three, .resource-grid, .metric-grid, .stat-panel, .pillar-grid, .footer-grid { grid-template-columns: 1fr; }
  h1 { font-size: 2.45rem; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .button { width: 100%; }
}


/* V2: guided search and topic library */
.finder-section { padding-top: 2rem; }
.finder-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
  gap: 2rem;
  background: linear-gradient(135deg, var(--navy), var(--navy-2));
  color: white;
  border-radius: 34px;
  padding: 2rem;
  box-shadow: var(--shadow);
}
.finder-panel h2, .finder-panel p, .finder-panel .section-kicker { color: white; }
.finder-panel .section-kicker { color: var(--gold); }
.finder-form {
  background: white;
  color: var(--ink);
  border-radius: 24px;
  padding: 1.25rem;
  box-shadow: 0 16px 40px rgba(0,0,0,.16);
}
.finder-form textarea { resize: vertical; min-height: 96px; }
.finder-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1rem; }
.no-download-note { font-weight: 700; color: var(--navy); }
.resource-grid.enhanced { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.resource-card.enhanced { min-height: unset; }
.score-badge {
  background: var(--gold);
  color: var(--navy);
  border-radius: 999px;
  padding: .25rem .55rem;
  font-size: .72rem;
  font-weight: 900;
}
.resource-card details {
  border-top: 1px solid var(--line);
  margin-top: 1rem;
  padding-top: .75rem;
}
.resource-card summary { cursor: pointer; font-weight: 900; color: var(--navy); }
.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin-top: .8rem;
}
.detail-grid div { background: var(--soft); border-radius: 14px; padding: .8rem; }
.detail-grid strong { display:block; color: var(--navy); margin-bottom:.25rem; }
.source-links { display:flex; gap:.5rem; flex-wrap:wrap; margin-top: .85rem; }
.source-links a { color: var(--navy); font-weight: 900; text-decoration-color: var(--gold); }
.accordion-list { display: grid; gap: 1rem; }
.learning-accordion {
  background: white;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 1rem 1.2rem;
  box-shadow: 0 10px 28px rgba(12,35,64,.06);
}
.learning-accordion summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.learning-accordion summary::-webkit-details-marker { display: none; }
.learning-accordion summary h3 { margin: 0; }
.learning-accordion .module-number { color: var(--gold-dark); font-weight: 900; letter-spacing: .08em; }
.module-content { margin-top: 1rem; border-top: 1px solid var(--line); padding-top: 1rem; }
.term-chips { display: flex; gap: .5rem; flex-wrap: wrap; margin: .75rem 0 1rem; }
.term-chips span {
  border: 1px solid var(--line);
  background: var(--navy-lite);
  color: var(--navy);
  border-radius: 999px;
  padding: .25rem .55rem;
  font-size: .78rem;
  font-weight: 800;
}
.learning-principles { display: grid; gap: 1rem; }
.learning-principles article {
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: center;
  gap: 1rem;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 1rem;
}
.learning-principles strong {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--navy);
  color: var(--gold);
  font-family: 'Merriweather', Georgia, serif;
}
.learning-principles span { font-weight: 800; color: var(--navy); }
.case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.case-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 1.25rem;
  box-shadow: 0 10px 28px rgba(12,35,64,.06);
}
.case-card .metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 1rem 0; gap: .6rem; }
.case-card .metric-grid article { padding: .8rem; border-radius: 14px; }
.case-card .metric-grid strong { font-size: 1.35rem; }
.case-card details { margin-top: 1rem; border-top: 1px solid var(--line); padding-top: .8rem; }
.case-card summary { cursor: pointer; font-weight: 900; color: var(--navy); }
.privacy-note-section { padding-top: 2.5rem; }
@media (max-width: 980px) {
  .finder-panel, .resource-grid.enhanced, .case-grid { grid-template-columns: 1fr; }
  .detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .case-card .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

.learning-principles.holistic { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 1.5rem; }
.case-card .source-links { margin-top: .75rem; }
@media (max-width: 980px) { .learning-principles.holistic { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .learning-principles.holistic { grid-template-columns: 1fr; } }

/* V5 cleanup and learning-platform refinements */
.step-badge {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--navy);
  color: var(--gold);
  font-weight: 900;
  margin-bottom: .8rem;
}
.pathway-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}
.pathway-card {
  background: linear-gradient(145deg, #ffffff, #f4f7fb);
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: 1.4rem;
  box-shadow: 0 10px 28px rgba(12,35,64,.06);
}
.pathway-card span {
  display: inline-flex;
  border: 1px solid var(--line);
  background: var(--navy-lite);
  color: var(--navy);
  border-radius: 999px;
  padding: .3rem .7rem;
  font-weight: 900;
  font-size: .78rem;
  margin-bottom: 1rem;
}
.pathway-card a {
  color: var(--navy);
  font-weight: 900;
  text-decoration-color: var(--gold);
}
.learning-module-full summary p {
  margin: .3rem 0 0;
  color: var(--muted);
  font-weight: 500;
  max-width: 780px;
}
.module-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 1.25rem;
  align-items: start;
}
.module-resources {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 1rem;
}
.module-resources h4 { margin: .8rem 0 .4rem; color: var(--navy); }
.module-resources h4:first-child { margin-top: 0; }
.resource-link-list {
  margin: 0 0 .8rem;
  padding-left: 1.1rem;
}
.resource-link-list a {
  color: var(--navy);
  font-weight: 800;
  text-decoration-color: var(--gold);
}
.case-grid.featured { margin-top: 1rem; }
.case-card {
  overflow: hidden;
}
.case-card .case-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1rem 0;
  gap: .65rem;
}
.case-card .case-facts article {
  background: var(--soft);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .8rem;
  min-width: 0;
}
.case-card .case-facts strong {
  color: var(--navy);
  font-family: 'Inter', 'Source Sans Pro', Arial, sans-serif;
  font-size: .98rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
  word-break: normal;
}
.case-card .case-facts span {
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.35;
}
.field-story-card {
  border-top: 5px solid var(--gold);
}
.hidden-field {
  display: none !important;
}
.credibility-section .lead { max-width: 960px; }
.how-use-section .info-card { min-height: 230px; }
.process-grid .info-card { min-height: 250px; }

@media (max-width: 980px) {
  .pathway-grid, .module-layout { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .case-card .case-facts { grid-template-columns: 1fr; }
}


/* ================================================================
   VERSION 9.1 — VERSION 7 VISUAL SYSTEM FOR VERSION 9 CONTENT
   The following rules only support V9 content components. Colours,
   typography, card language, navigation and spacing remain V7.
   ================================================================ */

/* Core shared V9 content structures */
.section-intro { max-width: 880px; margin-bottom: 2rem; }
.section-intro.split { display: flex; justify-content: space-between; gap: 2.5rem; align-items: end; }
.section-intro.split > * { flex: 1; }
.section-intro.split > p { max-width: 520px; }
.section-intro.center { max-width: 800px; text-align: center; margin-left: auto; margin-right: auto; }
.section-intro.center p { margin-left: auto; margin-right: auto; }
.footer-brand { display: inline-block; color: #fff !important; font-family: 'Merriweather', Georgia, serif; font-weight: 900; letter-spacing: .08em; font-size: 1.25rem; text-decoration: none; margin-bottom: .35rem; }
.footer-note { font-size: .95rem; color: rgba(255,255,255,.72) !important; }
.nav-menu a.active:not(.nav-cta) { background: var(--navy-lite); }

/* V9 homepage content using the V7 hero/card treatment */
.hero-panel, .home-cycle-card { background: var(--navy); color: #fff; border-radius: 20px; padding: 1.2rem; }
.hero-card.logo-card { display: grid; gap: 1rem; align-content: center; }
.hero-card.logo-card > img { width: 100%; max-height: 430px; object-fit: contain; background: #fff; border-radius: 18px; }
.home-cycle-card { background: var(--navy); }
.panel-kicker { margin: 0 0 .7rem; text-transform: uppercase; letter-spacing: .14em; color: var(--gold); font-size: .75rem; font-weight: 900; }
.cycle-list { list-style: none; padding: 0; margin: 0; }
.cycle-list li { display: grid; grid-template-columns: 34px 1fr; gap: .7rem; padding: .65rem 0; border-top: 1px solid rgba(255,255,255,.16); }
.cycle-list li:first-child { border-top: none; }
.cycle-list b { color: var(--gold); font-size: .78rem; }
.cycle-list strong, .cycle-list small { display: block; color: #fff; }
.cycle-list small { color: rgba(255,255,255,.75); font-size: .85rem; margin-top: .1rem; }
.hero-trust { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.35rem; }
.hero-trust span { border: 1px solid var(--line); background: var(--soft); color: var(--navy); border-radius: 999px; padding: .34rem .64rem; font-size: .79rem; font-weight: 800; }
.path-strip { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; box-shadow: 0 10px 28px rgba(12,35,64,.06); }
.path-strip article { padding: 1.4rem; border-right: 1px solid var(--line); }
.path-strip article:last-child { border-right: none; }
.path-strip span { color: var(--gold-dark); font-weight: 900; }
.path-strip a { color: var(--navy); font-weight: 900; text-decoration-color: var(--gold); }
.cta-band { background: var(--navy); color: #fff; margin-top: 1rem; padding: 3.2rem max(1.25rem, calc((100vw - 1180px)/2 + 1.25rem)); display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; }
.cta-band h2 { color: #fff; margin-bottom: 0; }
.cta-band .section-kicker.light { color: var(--gold); }
.button.light { background: #fff; color: var(--navy); }

/* Learn M&E journey */
.learn-hero { padding-bottom: 2.5rem; }
.learn-hero .hero-inner { max-width: 820px; }
.learning-signal { max-width: 1180px; margin: 2.1rem auto 0; padding: 1rem 1.2rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--navy); display: flex; justify-content: center; align-items: center; gap: .9rem; font-size: .76rem; font-weight: 900; letter-spacing: .12em; box-shadow: 0 10px 28px rgba(12,35,64,.06); }
.learning-signal i { color: var(--gold-dark); font-style: normal; }
.pathway-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.pathway-grid article { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.35rem; box-shadow: 0 10px 28px rgba(12,35,64,.06); display: flex; flex-direction: column; }
.pathway-grid article.emphasis { background: var(--navy); border-color: var(--navy); }
.pathway-grid article.emphasis h3, .pathway-grid article.emphasis p, .pathway-grid article.emphasis li { color: #fff; }
.pathway-grid article.emphasis .pathway-label { color: var(--gold); }
.pathway-grid ul { padding-left: 1.2rem; color: var(--muted); margin: .25rem 0 1.25rem; }
.pathway-grid .button { margin-top: auto; align-self: flex-start; }
.pathway-label { color: var(--gold-dark); text-transform: uppercase; letter-spacing: .14em; font-weight: 900; font-size: .75rem; }
.module-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.module-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.3rem; box-shadow: 0 10px 28px rgba(12,35,64,.06); }
.module-card ul { padding-left: 1.2rem; color: var(--muted); min-height: 4.8rem; }
.module-number { display: inline-flex; color: var(--gold-dark); font-size: .74rem; letter-spacing: .12em; font-weight: 900; margin-bottom: .65rem; }
.module-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.v9-done[data-done="true"] { background: var(--navy-lite); border-color: var(--navy-lite); color: var(--navy); }
.applied-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.35rem; box-shadow: 0 10px 28px rgba(12,35,64,.06); }
.applied-card > p { color: var(--gold-dark); font-weight: 900; font-size: .76rem; letter-spacing: .14em; }
.applied-card div { display: grid; gap: .55rem; }
.applied-card a, .resource-card a, .template-list a { color: var(--navy); font-weight: 900; text-decoration-color: var(--gold); }
.split-section { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: 2rem; align-items: start; }
.learning-method { display: grid; gap: .8rem; }
.learning-method article { display: grid; grid-template-columns: 46px 1fr; gap: .85rem; align-items: start; padding: 1rem; background: var(--soft); border: 1px solid var(--line); border-radius: 18px; }
.learning-method article > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--navy); color: var(--gold); font-family: 'Merriweather', Georgia, serif; font-weight: 900; }
.learning-method h3 { margin-bottom: .3rem; }
.callout-panel { background: var(--navy); padding: 1.4rem; border-radius: var(--radius); }
.callout-panel h3, .callout-panel p { color: #fff; }
.callout-panel .panel-kicker { color: var(--gold); }
.callout-panel a { color: #fff; font-weight: 900; text-decoration-color: var(--gold); }
.resource-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.resource-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.3rem; box-shadow: 0 10px 28px rgba(12,35,64,.06); display: flex; flex-direction: column; min-height: 250px; }
.resource-card a { margin-top: auto; }
.resource-type { color: var(--gold-dark); text-transform: uppercase; letter-spacing: .14em; font-size: .73rem; font-weight: 900; }
.template-list { display: grid; gap: .75rem; }
.template-list a { display: grid; grid-template-columns: 44px 1fr 24px; align-items: center; gap: .9rem; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 1rem 1.1rem; text-decoration: none; box-shadow: 0 8px 18px rgba(12,35,64,.04); }
.template-list a:hover { border-color: var(--gold); }
.template-list span { color: var(--gold-dark); font-family: 'Merriweather', Georgia, serif; font-weight: 900; }
.template-list b, .template-list small { display: block; }
.template-list b { color: var(--navy); }
.template-list small { color: var(--muted); margin-top: .15rem; }
.template-list i { font-style: normal; color: var(--navy); font-weight: 900; }

/* Finder, tools and case library */
.resource-results { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.tool-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.25rem; box-shadow: 0 10px 28px rgba(12,35,64,.06); min-height: 245px; display: flex; flex-direction: column; }
.tool-meta, .case-meta { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .8rem; }
.tool-meta span, .case-meta span { display: inline-flex; align-items: center; padding: .28rem .55rem; border-radius: 999px; border: 1px solid var(--line); background: var(--navy-lite); color: var(--navy); font-size: .73rem; font-weight: 900; }
.tool-bottom { margin-top: auto; padding-top: .85rem; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: .7rem; align-items: end; }
.tool-bottom small { color: var(--muted); max-width: 58%; }
.tool-bottom a, .case-card a { color: var(--navy); font-weight: 900; text-decoration-color: var(--gold); }
.empty-state { grid-column: 1 / -1; background: #fff; border: 1px dashed var(--line); padding: 1rem; border-radius: 16px; color: var(--muted); }
.finder-panel h2 { color: #fff; }
.finder-panel .section-kicker { color: var(--gold); }
.case-note { background: var(--soft); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.35rem; }
.case-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.case-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.25rem; box-shadow: 0 10px 28px rgba(12,35,64,.06); min-height: 250px; display: flex; flex-direction: column; }
.case-card a { margin-top: auto; }

/* Contact and responsive final details */
.hidden-field { display: none !important; }
.form-note { font-size: .9rem; margin-top: .9rem; }

@media (max-width: 980px) {
  .section-intro.split, .split-section { grid-template-columns: 1fr; display: grid; gap: 1rem; }
  .pathway-grid, .resource-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .module-grid, .resource-results, .case-grid { grid-template-columns: 1fr; }
  .cta-band { padding-top: 2.5rem; padding-bottom: 2.5rem; }
}
@media (max-width: 720px) {
  .hero-card.logo-card > img { max-height: 330px; }
  .path-strip, .pathway-grid, .resource-grid { grid-template-columns: 1fr; }
  .cta-band { display: grid; }
  .learning-signal { border-radius: 18px; flex-wrap: wrap; line-height: 1.4; }
  .module-actions, .finder-actions { flex-direction: column; }
  .module-actions .button, .finder-actions .button { width: 100%; }
  .tool-bottom { align-items: start; flex-direction: column; }
  .tool-bottom small { max-width: none; }
}
