/* Education catalogue: the BRVM reading hierarchy, shared by all curriculum hubs. */
.rf-education-library{
  background:transparent
}

.el-shell{
  --el-bg:var(--rf-bg);
  --el-panel:var(--rf-surface-soft);
  --el-line:var(--rf-border-strong);
  --el-soft:var(--rf-border-soft);
  --el-text:var(--rf-text-primary);
  --el-muted:var(--rf-text-secondary);
  --el-subtle:var(--rf-text-muted);
  --el-accent:var(--rf-financial-accent);
  --el-light:var(--rf-financial-accent);
  --el-green:var(--rf-success);
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  max-width:var(--rf-content-max-width);
  width:var(--rf-content-width);
  margin:auto;
  min-height:calc(100vh - var(--rf-nav-height,61px));
  color:var(--el-text);
  font:var(--rf-font-body)/var(--rf-leading-body) var(--rf-font-sans)
}

.el-shell *{
  box-sizing:border-box
}

.el-shell a{
  color:inherit;
  text-decoration:none
}

.el-shell img{
  max-width:100%
}

.el-shell h1,.el-shell h2,.el-shell h3,.el-shell h4,.el-shell p{
  margin:0
}

.el-shell ul,.el-shell ol{
  padding:0;
  margin:0;
  list-style:none
}

.el-shell a:focus-visible,.el-shell summary:focus-visible{
  outline:2px solid var(--el-accent);
  outline-offset:4px
}

.el-shell a:hover .el-arrow{
  transform:translateX(3px)
}

.el-skip{
  position:fixed;
  z-index:100;
  top:8px;
  left:16px;
  transform:translateY(-180%);
  background:white;
  color:#000;
  padding:10px 16px
}

.el-skip:focus{
  transform:none
}

.el-rail{
  position:sticky;
  top:var(--rf-nav-height,61px);
  height:calc(100vh - var(--rf-nav-height,61px));
  overflow-y:auto;
  border-right:1px solid var(--el-soft);
  padding:27px 20px 24px 27px;


}

.el-brand{
  display:block;
  padding:0 6px 25px
}

.el-brand>span,.el-eyebrow,.el-nav-label{
  font-size:var(--rf-font-body);
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--el-accent)
}

.el-brand strong{
  display:block;
  font:25px/1.2 var(--rf-font-heading);
  margin-top:9px;
  color:var(--el-text)
}

.el-nav-home,.el-nav-brvm{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 9px;
  margin-bottom:5px;
  font-size:var(--rf-font-body);
  color:var(--rf-text-secondary)!important;
  border-left:2px solid transparent
}

.el-nav-brvm{
  color:var(--el-light)!important
}

.el-navigation .is-current,.el-navigation a[aria-current=page]{
  background:var(--rf-surface-hover);
  border-left-color:var(--el-accent);
  color:var(--el-light)!important
}

.el-nav-label{
  display:block;
  padding:19px 8px 12px;
  color:var(--el-subtle);
  font-size:var(--rf-font-body)
}

.el-nav-group{
  border-top:1px solid var(--el-soft)
}

.el-nav-group summary{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 18px;
  gap:7px;
  align-items:start;
  padding:14px 5px;
  cursor:pointer;
  list-style:none;
  font-size:var(--rf-font-body);
  line-height:1.5;
  font-weight:500;
  color:var(--rf-text-secondary)
}

.el-nav-group summary::-webkit-details-marker{
  display:none
}

.el-nav-number{
  font-size:var(--rf-font-body);
  color:var(--el-subtle);
  font-variant-numeric:tabular-nums;
  padding-top:2px
}

.el-nav-group summary>span:last-child{
  color:var(--el-subtle)
}

.el-nav-group[open] summary>span:last-child{
  transform:rotate(180deg)
}

.el-nav-group>div{
  padding:0 0 10px
}

.el-nav-curriculum,.el-nav-pillar{
  display:flex;
  justify-content:space-between;
  gap:7px;
  align-items:center;
  border-left:2px solid transparent;
  padding:8px 10px 8px 28px;
  line-height:1.5;
  font-size:var(--rf-font-body);
  color:var(--el-muted)!important
}

.el-nav-curriculum small{
  color:var(--el-green);
  font:var(--rf-font-body)/1.2 var(--rf-font-sans)
}

.el-nav-pillar{
  font-size:var(--rf-font-body);
  color:var(--el-accent)!important;
  padding-bottom:10px
}

.el-nav-curriculum:hover,.el-rail-foot a:hover{
  color:var(--el-light)!important;
  background:var(--rf-surface-hover)
}

.el-rail-foot{
  border-top:1px solid var(--el-line);
  margin-top:22px;
  padding-top:13px
}

.el-rail-foot a{
  display:block;
  color:var(--el-subtle);
  font-size:var(--rf-font-body);
  padding:7px 6px
}

.el-main{
  min-width:0;
  padding:25px 40px 56px
}

.el-mobile-navigation{
  display:none
}

.el-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  font-size:var(--rf-font-body);
  color:var(--el-subtle);
  margin-bottom:27px;
  line-height:1.6
}

.el-breadcrumb a:hover{
  color:var(--el-accent)
}

.el-breadcrumb [aria-current=page]{
  color:var(--rf-text-secondary)
}

.el-hero{
  border-bottom:1px solid var(--el-line);
  padding:0 0 28px;
  margin-bottom:27px
}

.el-hero h1{
  font:500 54px/1.16 var(--rf-font-heading);
  letter-spacing:-1.2px;
  margin:12px 0 18px;
  max-width:900px
}

.el-lead{
  font-size:var(--rf-font-lead);
  line-height:1.7;
  color:var(--rf-text-secondary);
  max-width:790px
}


.el-home-hero h1{
  max-width:730px
}





.el-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:17px;
  margin-top:22px
}

.el-button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  min-height:43px;
  padding:10px 17px;
  background:var(--rf-surface-soft);
  color:var(--rf-text-primary)!important;
  border:1px solid var(--rf-border-strong);
  border-radius:0;
  font-size:var(--rf-font-body);
  font-weight:600;
  line-height:1.5
}

.el-button:hover{
  background:var(--rf-surface-hover);
  border-color:var(--rf-border-strong)
}

.el-text-link{
  display:inline-flex;
  gap:7px;
  align-items:center;
  color:var(--el-accent)!important;
  font-size:var(--rf-font-body);
  line-height:1.6
}

.el-text-link:hover,.el-related:hover{
  text-decoration:underline;
  text-underline-offset:4px
}

.el-facts{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-top:20px;
  color:var(--el-subtle);
  font-size:var(--rf-font-body)
}

.el-facts span+span::before{
  content:"·";
  margin-right:20px;
  color:var(--rf-text-secondary)
}

.el-section-heading{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  margin-bottom:18px
}

.el-section-heading h2{
  font:400 27px/1.2 var(--rf-font-heading);
  letter-spacing:-.4px
}

.el-section-heading>span{
  color:var(--el-subtle);
  font-size:var(--rf-font-body);
  text-align:right
}

.el-start,.el-catalogue,#curricula,#programme{
  scroll-margin-top:85px
}

.el-start{
  margin-bottom:34px
}

.el-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}

.el-feature{
  display:grid;
  align-items:center;
  border:1px solid var(--el-line);
  border-radius:0;
  background:var(--el-panel);
  min-width:0;
  overflow:hidden
}

.el-feature:only-child{
  grid-column:1/-1;
  max-width:700px
}

.el-feature--visual{
  grid-template-columns:150px minmax(0,1fr)
}

.el-feature>div{
  padding:21px
}

.el-feature picture{
  display:block;
  align-self:stretch;
  position:relative;
  min-height:190px
}

.el-feature img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}

.el-feature h3{
  font:400 25px/1.25 var(--rf-font-heading);
  margin:10px 0 9px
}

.el-feature div>p:not(.el-eyebrow){
  font-size:var(--rf-font-body);
  line-height:1.6;
  color:var(--el-muted)
}

.el-feature-cta{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:14px;
  font-size:var(--rf-font-body);
  color:var(--el-light)
}

.el-feature:hover{
  border-color:var(--rf-border-strong);
  background:var(--rf-surface-hover)
}

.el-body-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 215px;
  gap:36px
}

.el-filters{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:25px
}

.el-filters a{
  font-size:var(--rf-font-body);
  line-height:1.5;
  border:1px solid var(--el-line);
  border-radius:0;
  padding:7px 10px;
  color:var(--el-muted)
}

.el-filters a:hover,.el-filters a[aria-current=page]{
  background:var(--rf-surface-hover);
  color:var(--el-light);
  border-color:var(--rf-border-strong)
}

.el-programme-group{
  margin-bottom:24px
}

.el-group-heading{
  display:flex;
  align-items:center;
  gap:12px;
  border-top:1px solid var(--el-line);
  padding:14px 0;
  margin-bottom:1px
}

.el-group-heading h3{
  font-size:var(--rf-font-body);
  font-weight:600;
  line-height:1.5;
  flex:1
}

.el-group-heading h3 a:hover{
  color:var(--el-accent)
}

.el-group-heading>span:last-child:not(:first-child){
  font-size:var(--rf-font-body);
  color:var(--el-subtle);
  text-align:right;
  white-space:nowrap
}

.el-module-number{
  display:inline-flex;
  flex:0 0 28px;
  justify-content:center;
  align-items:center;
  width:28px;
  height:28px;
  border:1px solid var(--rf-border-strong);
  color:var(--el-accent);
  font:var(--rf-font-body)/1 var(--rf-font-sans)
}

.el-curriculum-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 17px;
  gap:13px;
  align-items:center;
  padding:19px 0;
  border-bottom:1px solid var(--el-soft)
}

.el-curriculum-number{
  font-size:var(--rf-font-body);
  letter-spacing:.3px;
  font-variant-numeric:tabular-nums;
  color:var(--el-subtle)
}

.el-row-meta{
  display:flex;
  gap:8px;
  align-items:center;
  color:var(--el-subtle);
  font-size:var(--rf-font-body);
  line-height:1.5;
  margin-bottom:6px
}

.el-available{
  color:var(--el-green)
}

.el-curriculum-copy h3,.el-curriculum-copy h4{
  font:400 23px/1.3 var(--rf-font-heading);
  margin-bottom:6px
}

.el-row-description{
  display:block;
  font-size:var(--rf-font-body);
  line-height:1.65;
  color:var(--el-muted)
}

.el-arrow{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  color:var(--el-accent);
  transition:transform .15s
}

.el-curriculum-row:hover h3,.el-curriculum-row:hover h4,.el-course-row:hover h4,.el-area-row:hover h3{
  color:var(--el-light)
}

.el-support section{
  border-top:1px solid var(--el-line);
  padding:18px 0 21px
}

.el-support h3{
  font-size:var(--rf-font-body);
  line-height:1.5;
  font-weight:600;
  margin-bottom:10px
}

.el-support p,.el-support li{
  color:var(--el-muted);
  font-size:var(--rf-font-body);
  line-height:1.8
}

.el-support ol{
  list-style:decimal;
  padding-left:17px;
  display:grid;
  gap:8px
}

.el-support .el-text-link{
  margin-top:13px
}

.el-related{
  display:block;
  padding:10px 0;
  border-bottom:1px solid var(--el-soft);
  font-size:var(--rf-font-body);
  line-height:1.6;
  color:var(--rf-text-secondary)!important
}

.el-course-row{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto 17px;
  gap:12px;
  align-items:center;
  border-bottom:1px solid var(--el-soft);
  padding:16px 0
}

.el-course-number{
  font-size:var(--rf-font-body);
  color:var(--el-subtle);
  font-variant-numeric:tabular-nums
}

.el-course-row h4{
  font-size:var(--rf-font-body);
  font-weight:500;
  line-height:1.5;
  margin-bottom:5px
}

.el-course-row .el-row-description{
  font-size:var(--rf-font-body)
}

.el-duration{
  font-size:var(--rf-font-body);
  white-space:nowrap;
  color:var(--el-subtle)
}

.el-area-row{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 17px;
  gap:14px;
  align-items:center;
  border-bottom:1px solid var(--el-soft);
  padding:17px 0
}

.el-area-row h3{
  font-size:var(--rf-font-body);
  line-height:1.5;
  font-weight:500
}

.el-access-panel{
  border:1px solid var(--el-line);
  border-radius:0;
  background:var(--el-panel);
  padding:27px;
  align-self:start
}

.el-access-panel h2{
  font:400 29px/1.2 var(--rf-font-heading);
  margin:10px 0 16px
}

.el-access-panel>p:not(.el-eyebrow){
  font-size:var(--rf-font-body);
  line-height:1.75;
  color:var(--el-muted)
}

@media(min-width:1500px){
  .el-shell{
    grid-template-columns:280px minmax(0,1fr)
  }
  .el-main{
    padding-left:49px;
    padding-right:49px
  }
  .el-rail{
    padding-left:32px
  }
}

@media(max-width:1220px){
  .el-shell{
    grid-template-columns:260px minmax(0,1fr)
  }
  .el-main{
    padding-left:28px;
    padding-right:28px
  }
  .el-rail{
    padding-left:18px;
    padding-right:14px
  }
  .el-body-grid{
    grid-template-columns:minmax(0,1fr)
  }
  .el-support{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:25px
  }
  .el-feature--visual{
    grid-template-columns:120px minmax(0,1fr)
  }
  .el-feature>div{
    padding:18px
  }
}

@media(max-width:980px){
  .el-feature-grid{
    grid-template-columns:minmax(0,1fr)
  }
  .el-feature:only-child{
    max-width:none
  }
  .el-feature picture{
    min-height:165px
  }
  .el-feature--visual{
    grid-template-columns:160px minmax(0,1fr)
  }
  .el-hero h1{
    font-size:44px
  }
}

@media(max-width:740px){
  .el-shell{
    display:block
  }
  .el-rail{
    display:none
  }
  .el-main{
    padding:0 0 36px
  }
  .el-mobile-navigation{
    display:block;
    border-bottom:1px solid var(--el-line);
    margin-bottom:19px
  }
  .el-mobile-navigation>summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:45px;
    gap:12px;
    font-size:var(--rf-font-body);
    color:var(--el-light);
    cursor:pointer;
    list-style:none
  }
  .el-mobile-navigation>summary::-webkit-details-marker{
    display:none
  }
  .el-mobile-navigation[open]>.el-navigation{
    padding:5px 0 15px;
    max-height:65vh;
    overflow:auto
  }
  .el-breadcrumb{
    margin-bottom:22px;
    font-size:var(--rf-font-body);
    gap:6px
  }
  .el-hero{
    padding-bottom:24px;
    margin-bottom:24px
  }
  .el-hero h1{
    font-size:32px;
    letter-spacing:-.9px;
    line-height:1.13
  }
  .el-home-hero h1 br{
    display:none
  }
  .el-lead{
    font-size:var(--rf-font-body);
    line-height:1.7
  }
  .el-actions{
    gap:13px;
    margin-top:19px
  }
  .el-section-heading{
    margin-bottom:16px
  }
  .el-section-heading h2{
    font-size:25px
  }
  .el-feature--visual{
    grid-template-columns:minmax(0,1fr)
  }
  .el-feature>div{
    padding:17px 15px
  }
  .el-feature picture{
    min-height:180px
  }
  .el-feature h3{
    font-size:24px
  }
  .el-feature .el-eyebrow{
    font-size:var(--rf-font-body);
    letter-spacing:1px
  }
  .el-filters{
    gap:6px;
    margin-bottom:22px
  }
  .el-filters a{
    font-size:var(--rf-font-body);
    padding:7px 9px
  }
  .el-curriculum-row{
    grid-template-columns:31px minmax(0,1fr) 15px;
    gap:9px;
    padding:16px 0
  }
  .el-curriculum-copy h3,.el-curriculum-copy h4{
    font-size:22px
  }
  .el-row-description{
    font-size:var(--rf-font-body)
  }
  .el-group-heading{
    gap:9px
  }
  .el-group-heading h3{
    font-size:var(--rf-font-body)
  }
  .el-support{
    grid-template-columns:minmax(0,1fr);
    gap:0
  }
  .el-course-row{
    grid-template-columns:30px minmax(0,1fr) 15px;
    gap:9px
  }
  .el-course-row h4{
    font-size:var(--rf-font-body)
  }
  .el-duration{
    display:none
  }
  .el-course-row .el-row-description{
    font-size:var(--rf-font-body)
  }
  .el-facts{
    gap:12px;
    font-size:var(--rf-font-body)
  }
  .el-facts span+span::before{
    margin-right:12px
  }
  .el-access-panel{
    padding:21px
  }
  .el-access-panel h2{
    font-size:26px
  }
  .el-access-panel>p:not(.el-eyebrow){
    font-size:var(--rf-font-body)
  }
  .el-start,.el-catalogue,#curricula,#programme{
    scroll-margin-top:75px
  }
}

@media(prefers-reduced-motion:reduce){
  .el-arrow{
    transition:none
  }
}

@media print{
  .el-shell{
    width:calc(100% - 40px);
    display:block;
    color:#111
  }
  .el-rail,.el-mobile-navigation,.el-actions,.el-support,.el-skip{
    display:none
  }
  .el-main{
    padding:0
  }
  .el-body-grid,.el-home-hero{
    display:block
  }
  .el-hero h1,.el-row-description,.el-lead{
    color:#111
  }
  .el-feature,.el-access-panel{
    background:white;
    color:#111
  }
}

@media(max-width:380px){
  .el-feature--visual{
    grid-template-columns:minmax(0,1fr)
  }
}
