/* Keep the original expanding-card design; the second row only removes
   the duplicate desktop top offset so both rows read as one program block. */
@media(min-width:901px){
  .program-cards-secondary{
    height:822px;
    padding-top:0;
  }

  .program-cards-secondary .blind-card.is-active .card-case-organizations{
    width:min(720px,calc(100% - 250px));
  }

  .program-cards-secondary .card-case-logos{
    align-content:flex-start;
    gap:10px 16px!important;
    min-height:42px;
  }

  .program-cards-secondary .card-case-logos img{
    width:auto;
    height:38px;
    max-width:96px;
    object-fit:contain;
  }

  .program-cards-secondary .card-case-organizations-label,
  .program-cards-secondary .card-case-organizations-list{
    max-width:720px;
  }

  .program-cards-secondary .card-title{
    font-family:Apparat,Arial,sans-serif;
    font-size:31px;
    letter-spacing:-.035em;
    line-height:1.05;
  }
}

.program-price-request .card-price-row{
  justify-content:flex-end;
}

.program-price-request .card-price-value{
  font-family:Apparat,Arial,sans-serif;
  font-size:26px;
  font-weight:300;
  letter-spacing:-.025em;
  line-height:1;
}

/* The marks identify institutions; the line below names the actual open-data
   categories used to build each course case. */
.card-case-organizations-list{
  max-width:680px;
  color:var(--ink);
  font-size:12px;
  line-height:1.48;
}

.card-case-organizations-label{
  max-width:680px;
  line-height:1.25;
}

@media(min-width:901px){
  .blind-card.is-active .card-case-organizations{
    width:min(720px,calc(100% - 250px));
  }
}

@media(min-width:901px) and (max-width:1500px){
  .program-cards-secondary .blind-card.is-active .card-case-organizations{
    width:min(560px,calc(100% - 230px));
  }

  .program-cards-secondary .card-case-logos img{
    height:33px;
    max-width:82px;
  }

  .program-cards-secondary .card-title{
    top:278px;
  }
}

@media(max-width:900px){
  #challenge-areas{
    padding-bottom:10px;
  }

  .program-cards-secondary{
    margin-top:0;
    padding-top:0;
  }

  .program-price-request .card-price-row{
    justify-content:flex-start;
  }

  .program-cards-secondary .card-title{
    font-family:Apparat,Arial,sans-serif;
    font-size:clamp(27px,8vw,31px);
    letter-spacing:-.035em;
    line-height:1.05;
  }

  .program-price-request .card-price-value{
    font-size:24px;
  }

  .card-case-organizations-list{
    font-size:11px;
    line-height:1.38;
  }
}

/* One mobile logo system for every course row. Equal cells prevent seals and
   wide wordmarks from producing different apparent card layouts. */
@media(max-width:700px){
  #challenge-areas .card-case-logos,
  #challenge-areas-professional .card-case-logos{
    display:grid;
    grid-template-columns:repeat(3,64px);
    align-items:center;
    align-content:start;
    gap:10px 12px!important;
    min-height:38px;
  }

  #challenge-areas .card-case-logos img,
  #challenge-areas-professional .card-case-logos img{
    width:64px!important;
    height:38px!important;
    max-width:64px!important;
    object-fit:contain!important;
  }
}

@media(max-width:350px){
  #challenge-areas .card-case-logos,
  #challenge-areas-professional .card-case-logos{
    grid-template-columns:repeat(3,58px);
    gap:9px 8px!important;
  }

  #challenge-areas .card-case-logos img,
  #challenge-areas-professional .card-case-logos img{
    width:58px!important;
    max-width:58px!important;
  }
}

/* Compact course passport: the same six practical facts in every program. */
.card-course-specs{
  position:absolute;
  z-index:4;
  top:356px;
  right:18px;
  left:440px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  border-top:1px solid #d6d6d6;
  color:var(--ink);
}

.card-course-specs>div{
  min-width:0;
  padding:11px 10px 10px 0;
  border-bottom:1px solid #e0e0e0;
}

.card-course-specs dt,
.academy-course-specs dt{
  color:#747474;
  font-family:Apparat,Arial,sans-serif;
  font-size:13px;
  font-weight:300;
  line-height:1.25;
}

.card-course-specs dd,
.academy-course-specs dd{
  margin:4px 0 0;
  color:var(--ink);
  font-size:14px;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.academy-course-specs{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1px;
  margin:12px 0 0;
  padding:0;
  background:var(--theme-line,#cfcfcf);
  border:1px solid var(--theme-line,#cfcfcf);
}

.academy-course-specs>div{
  grid-column:span 3;
  min-width:0;
  min-height:94px;
  padding:18px;
  background:var(--card);
}

.academy-course-specs>div:nth-child(-n+2){
  grid-column:span 6;
  min-height:100px;
  padding:18px;
}

.academy-course-specs dd{
  margin-top:8px;
  font-size:15px;
  line-height:1.35;
}

.academy-course-specs>div:nth-child(-n+2) dd{
  max-width:520px;
  font-family:Apparat,Arial,sans-serif;
  font-size:18px;
  font-weight:400;
  line-height:1.3;
}

.academy-course-specs>div:nth-child(-n+2) dt{
  display:flex;
  align-items:center;
  gap:12px;
}

.academy-course-specs>div:nth-child(-n+2) dt::after{
  height:1px;
  flex:1 1 auto;
  background:var(--theme-line,#cfcfcf);
  content:"";
}

html[data-site-theme="dark"] .card-course-specs{
  border-top-color:#383838;
}

html[data-site-theme="dark"] .card-course-specs>div{
  border-bottom-color:#2d2d2d;
}

html[data-site-theme="dark"] .card-course-specs dt,
html[data-site-theme="dark"] .academy-course-specs dt{
  color:#aaa;
}

.closed-card-preview{
  position:absolute;
  top:154px;
  right:16px;
  bottom:52px;
  left:16px;
  z-index:1;
  display:flex;
  min-width:0;
  flex-direction:column;
  opacity:1;
  pointer-events:none;
  transition:opacity .15s linear .24s;
}

.blind-card.is-active .closed-card-preview{
  opacity:0;
  transition-delay:0s;
}

.closed-card-preview-logos{
  display:flex;
  min-height:36px;
  align-items:center;
  gap:13px;
  overflow:hidden;
}

.closed-card-preview-logos img{
  display:block;
  width:auto;
  max-width:54px;
  height:30px;
  object-fit:contain;
  filter:grayscale(1) contrast(.92);
  mix-blend-mode:multiply;
}

.closed-card-preview strong{
  margin-top:34px;
  font-family:Apparat,Arial,sans-serif;
  font-size:22px;
  font-weight:300;
  letter-spacing:-.03em;
  line-height:1.08;
}

.closed-card-preview p{
  margin:16px 0 0;
  color:#696969;
  font-size:13px;
  line-height:1.48;
}

.closed-card-preview-hint{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  padding-top:13px;
  border-top:1px solid #d4d4d4;
  color:#777;
  font-family:Apparat,Arial,sans-serif;
  font-size:12px;
  line-height:1.2;
}

.closed-card-preview-hint i{
  color:var(--ink);
  font-family:InterLocal,Arial,sans-serif;
  font-size:13px;
  font-style:normal;
}

.closed-card-preview-mobile{
  display:none;
}

html[data-site-theme="dark"] .closed-card-preview-logos img{
  filter:grayscale(1) invert(.88) contrast(1.06);
  mix-blend-mode:normal;
}

html[data-site-theme="dark"] .closed-card-preview p{
  color:#a4a4a4;
}

html[data-site-theme="dark"] .closed-card-preview-hint{
  border-top-color:#343734;
  color:#9da19b;
}

@media(min-width:901px) and (max-width:1180px){
  .cards .blind-card:not(.is-active){
    flex:0 0 100px;
  }

  .card-course-specs{
    left:418px;
    grid-template-columns:1fr;
  }

  .card-course-specs>div{
    padding-block:7px;
  }

  .closed-card-preview{
    display:none;
  }
}

@media(max-width:900px){
  .blind-card.has-closed-preview:not(.is-active){
    height:clamp(300px,80vw,330px);
    min-height:clamp(300px,80vw,330px);
  }

  .closed-card-preview{
    top:22px;
    right:16px;
    bottom:15px;
    left:14px;
  }

  .closed-card-preview-logos{
    width:calc(100% - 76px);
    min-height:30px;
    gap:11px;
  }

  .closed-card-preview-logos img{
    max-width:48px;
    height:27px;
  }

  .closed-card-preview strong{
    margin-top:25px;
    padding-right:64px;
    font-size:20px;
  }

  .closed-card-preview p{
    display:-webkit-box;
    max-width:520px;
    margin-top:12px;
    padding-right:28px;
    overflow:hidden;
    font-size:13px;
    line-height:1.42;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
  }

  .closed-card-preview-hint{
    margin-right:0;
    margin-left:0;
    padding-top:10px;
  }

  .closed-card-preview-desktop{
    display:none;
  }

  .closed-card-preview-mobile{
    display:inline;
  }

  .blind-card.has-closed-preview:not(.is-active) .closed-title{
    display:none;
  }

  .blind-card.has-closed-preview:not(.is-active) .closed-card-preview-hint{
    padding-left:0;
  }

  .card-course-specs{
    position:relative;
    inset:auto;
    flex:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    margin:0 0 28px;
  }

  .card-course-specs>div{
    padding:10px 10px 10px 0;
  }

  .blind-card.is-active,
  .blind-card.is-active .card-content{
    min-height:0;
  }

  .academy-course-specs{
    grid-template-columns:repeat(12,minmax(0,1fr));
  }

  .academy-course-specs>div{
    grid-column:span 6;
  }
}

@media(max-width:480px){
  .academy-course-specs{
    grid-template-columns:1fr;
  }

  .academy-course-specs>div,
  .academy-course-specs>div:nth-child(-n+2){
    grid-column:1;
    min-height:0;
    padding:15px;
  }

  .academy-course-specs>div:nth-child(-n+2) dd{
    font-size:16px;
  }
}
