
:root {
  --sccu-navy: #071a36;
  --sccu-navy-2: #102b50;
  --sccu-gold: #f8b817;
  --sccu-cream: #fff8e5;
  --sccu-line: #dbe4ef;
  --sccu-muted: #60728b;
  --sccu-green: #0ba56d;
  --sccu-white: #fff;
}
.sccu-directory, .sccu-featured {
  font-family: inherit;
  color: var(--sccu-navy);
  box-sizing: border-box;
  width: min(1480px, calc(100vw - 44px));
  max-width: none;
  margin-left: 50%;
  margin-right: 0;
  transform: translateX(-50%);
}
.sccu-directory { padding: 72px 28px 92px; }
.sccu-directory-head {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);
  gap:54px;
  align-items:end;
  margin-bottom:30px;
}
.sccu-directory-head h1, .sccu-featured h2 { margin:8px 0 14px; color:var(--sccu-navy); line-height:1.03; }
.sccu-directory-head h1 { font-size:clamp(2.35rem,4.2vw,4.35rem); max-width:980px; text-wrap:balance; }
.sccu-directory-head p { color:var(--sccu-muted); max-width:800px; font-size:1.06rem; }
.sccu-eyebrow { color:#a36c00; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; font-weight:800; }
.sccu-search input { width:100%; border:1px solid var(--sccu-line); border-radius:18px; padding:17px 19px; font-size:1rem; background:#fff; box-shadow:0 12px 35px rgba(7,26,54,.06); }
.sccu-filter-row { display:flex; width:100%; gap:9px; overflow-x:auto; padding:4px 0 20px; scrollbar-width:none; scroll-behavior:smooth; }
.sccu-filter-row button { white-space:nowrap; border:1px solid var(--sccu-line); background:#fff; color:var(--sccu-navy); border-radius:999px; padding:10px 15px; font-weight:700; cursor:pointer; }
.sccu-filter-row button span { display:inline-flex; min-width:22px; height:22px; align-items:center; justify-content:center; border-radius:999px; background:#eef3f8; font-size:.72rem; margin-left:5px; }
.sccu-filter-row button:hover, .sccu-filter-row button.is-active { border-color:var(--sccu-gold); background:var(--sccu-cream); }
.sccu-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin-top:12px; }
.sccu-card { border:1px solid var(--sccu-line); border-radius:25px; background:#fff; overflow:hidden; display:flex; flex-direction:column; min-height:100%; transition:.22s ease; }
.sccu-card:hover { transform:translateY(-4px); box-shadow:0 18px 46px rgba(7,26,54,.10); border-color:#c7d4e3; }
.sccu-logo-wrap { height:170px; padding:28px; display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#fff,#f7f9fc); border-bottom:1px solid #edf1f5; }
.sccu-logo { max-width:100%; max-height:112px; width:auto; height:auto; object-fit:contain; }
.sccu-logo-placeholder { width:84px; height:84px; display:grid; place-items:center; border-radius:24px; background:var(--sccu-navy); color:#fff; font-weight:900; font-size:1.55rem; }
.sccu-card-body { padding:24px; display:flex; flex-direction:column; flex:1; }
.sccu-country-label { font-size:.78rem; font-weight:800; color:#896000; text-transform:uppercase; letter-spacing:.06em; }
.sccu-card h3 { font-size:1.28rem; line-height:1.2; margin:10px 0 7px; }
.sccu-card h3 a { color:var(--sccu-navy); text-decoration:none; }
.sccu-location { color:var(--sccu-muted); margin:0 0 13px; }
.sccu-subjects { list-style:none; padding:0; margin:0 0 18px; display:flex; flex-wrap:wrap; gap:7px; }
.sccu-subjects li { background:#f2f6fa; color:#29425f; font-size:.76rem; border-radius:999px; padding:6px 9px; }
.sccu-card-link { margin-top:auto; color:var(--sccu-navy); font-weight:800; text-decoration:none; }
.sccu-empty { padding:34px; text-align:center; border:1px dashed var(--sccu-line); border-radius:20px; color:var(--sccu-muted); background:#fbfcfe; }
.sccu-featured { padding:74px 28px; }
.sccu-featured-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:24px; }
.sccu-featured h2 { font-size:clamp(2rem,4vw,3.4rem); max-width:820px; }
.sccu-slider-controls { display:flex; gap:9px; }
.sccu-slider-controls button { width:46px; height:46px; border-radius:50%; border:1px solid var(--sccu-line); background:#fff; color:var(--sccu-navy); font-size:1.2rem; cursor:pointer; }
.sccu-slider-controls button:hover { background:var(--sccu-navy); color:#fff; }
.sccu-slider-viewport { overflow:hidden; }
.sccu-slider-track { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:5px 2px 20px; }
.sccu-slider-track::-webkit-scrollbar { display:none; }
.sccu-slide { flex:0 0 210px; scroll-snap-align:start; min-height:220px; border:1px solid var(--sccu-line); border-radius:22px; padding:20px; background:#fff; text-decoration:none; color:var(--sccu-navy); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; transition:.2s ease; }
.sccu-slide:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(7,26,54,.10); }
.sccu-slide-logo { width:100%; height:105px; display:flex; align-items:center; justify-content:center; margin-bottom:15px; }
.sccu-slide-logo img { max-width:145px; max-height:90px; object-fit:contain; }
.sccu-slide-logo span { width:72px; height:72px; display:grid; place-items:center; border-radius:20px; background:var(--sccu-navy); color:#fff; font-weight:900; }
.sccu-slide strong { line-height:1.2; }
.sccu-slide small { color:var(--sccu-muted); margin-top:7px; }
.sccu-view-all { display:inline-flex; margin-top:16px; font-weight:800; color:var(--sccu-navy); text-decoration:none; }
.sccu-profile { max-width:1320px; margin:0 auto; padding:70px 28px 100px; }
.sccu-profile-hero { display:grid; grid-template-columns:220px minmax(0,1fr); gap:48px; align-items:center; border:1px solid var(--sccu-line); border-radius:30px; padding:40px; background:linear-gradient(145deg,#fff,#f8fafc); }
.sccu-profile-logo { min-height:170px; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:24px; padding:24px; box-shadow:0 15px 45px rgba(7,26,54,.07); }
.sccu-profile-logo img { max-height:130px; max-width:100%; object-fit:contain; }
.sccu-profile-logo span { width:100px; height:100px; display:grid; place-items:center; border-radius:28px; background:var(--sccu-navy); color:#fff; font-size:2rem; font-weight:900; }
.sccu-profile-hero h1 { font-size:clamp(2.45rem,4.4vw,4.25rem); margin:10px 0 12px; line-height:1.02; }
.sccu-profile-meta { color:var(--sccu-muted); font-size:1.05rem; }
.sccu-profile-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr); gap:44px; margin-top:45px; }
.sccu-article { font-size:1.05rem; line-height:1.8; }
.sccu-article h2, .sccu-article h3 { color:var(--sccu-navy); }
.sccu-info-panel { border:1px solid var(--sccu-line); border-radius:24px; padding:25px; background:#fff; position:sticky; top:110px; height:max-content; }
.sccu-info-row { padding:14px 0; border-bottom:1px solid #edf1f5; }
.sccu-info-row:last-child { border-bottom:0; }
.sccu-info-row span { display:block; color:var(--sccu-muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.sccu-info-row strong, .sccu-info-row p { margin:5px 0 0; color:var(--sccu-navy); }
.sccu-profile-cta { margin-top:22px; display:block; text-align:center; padding:14px 18px; border-radius:999px; background:var(--sccu-gold); color:var(--sccu-navy); font-weight:900; text-decoration:none; }
.sccu-disclaimer { color:var(--sccu-muted); font-size:.78rem; margin-top:16px; line-height:1.5; }

@media (max-width:1100px) {
  .sccu-directory-head { grid-template-columns:1fr; gap:26px; align-items:start; }
  .sccu-search { max-width:680px; }
}
@media (max-width:760px) {
  .sccu-directory, .sccu-featured {
    width: calc(100vw - 20px);
  }
  .sccu-directory-head h1 { font-size:clamp(2.15rem,10vw,3.2rem); }
}

@media (max-width:1180px) {
  .sccu-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .sccu-directory-head, .sccu-profile-grid { grid-template-columns:1fr; gap:28px; }
  .sccu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sccu-profile-hero { grid-template-columns:1fr; text-align:center; }
  .sccu-profile-logo { max-width:260px; width:100%; margin:auto; }
  .sccu-info-panel { position:static; }
}
@media (max-width:620px) {
  .sccu-directory, .sccu-featured, .sccu-profile { padding-left:18px; padding-right:18px; }
  .sccu-grid { grid-template-columns:1fr; }
  .sccu-featured-head { align-items:flex-start; }
  .sccu-slider-controls { display:none; }
  .sccu-slide { flex-basis:165px; min-height:190px; padding:16px; }
  .sccu-logo-wrap { height:150px; }
  .sccu-profile-hero { padding:24px; }
}

.sccu-logo-disclaimer{
  max-width:980px;
  margin:18px 0 0;
  color:var(--sccu-muted);
  font-size:.78rem;
  line-height:1.55
}
.sccu-view-all{
  gap:7px;
  align-items:center
}

.sccu-filter-row::-webkit-scrollbar{display:none}


/* v1.0.7 — approved heading Option 1 */
.sccu-directory-head{
  position:relative;
  padding:28px 0 10px
}
.sccu-directory-head h1{
  position:relative;
  display:inline-block;
  width:auto;
  max-width:960px;
  margin:10px 0 32px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(2.65rem,4.5vw,4.65rem);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.045em;
  text-wrap:balance
}
.sccu-directory-head h1::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-17px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#c88600 0%,#f4b41a 100%)
}
.sccu-directory-head p{
  max-width:880px;
  font-size:1.02rem;
  line-height:1.75
}
.sccu-eyebrow{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.16em
}

@media(max-width:760px){
  .sccu-directory-head h1{
    font-size:clamp(2.1rem,10vw,3.15rem);
    margin-bottom:28px
  }
  .sccu-directory-head h1::after{
    bottom:-14px;
    height:3px
  }
}


/* v1.0.8 — align directory heading with the global website heading system */
.sccu-directory-head h1{
  font-family:var(--heading-font,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1.05
}


/* v1.0.9 — country filters must fully hide non-matching cards */
.sccu-card[hidden]{display:none !important;}


/* v1.2.0 — complete Study Crest header logo and stable country-tab start */
.site-header .brand .site-logo-image{
  display:none !important;
}
.site-header .brand::before{
  content:"";
  display:block;
  width:250px;
  height:72px;
  flex:0 0 250px;
  background:url("../images/study-crest-logo-full.png") left center / contain no-repeat;
}
.sccu-filter-row{
  overscroll-behavior-inline:contain;
  scroll-padding-inline:0;
}
@media(max-width:1200px) and (min-width:981px){
  .site-header .brand::before{
    width:220px;
    height:64px;
    flex-basis:220px;
  }
}
@media(max-width:700px){
  .site-header .brand::before{
    width:188px;
    height:55px;
    flex-basis:188px;
  }
}


/* v1.2.1 — final desktop header alignment */
@media (min-width: 981px) {
  .site-header .container.nav-wrap {
    width: min(calc(100% - 96px), 1740px) !important;
    max-width: 1740px !important;
    min-height: 86px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 52px !important;
  }

  .site-header .brand {
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    flex: 0 0 250px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .brand::before {
    width: 250px !important;
    height: 72px !important;
    flex-basis: 250px !important;
    background-position: left center !important;
  }

  .site-header .primary-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 22px !important;
  }

  .site-header .primary-nav .menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(14px, 1.15vw, 24px) !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .primary-nav .menu a {
    white-space: nowrap !important;
  }

  .site-header .nav-cta {
    margin-left: auto !important;
    flex: 0 0 auto !important;
  }
}

@media (min-width: 981px) and (max-width: 1320px) {
  .site-header .container.nav-wrap {
    width: min(calc(100% - 44px), 1260px) !important;
    gap: 28px !important;
  }

  .site-header .brand {
    width: 215px !important;
    min-width: 215px !important;
    max-width: 215px !important;
    flex-basis: 215px !important;
  }

  .site-header .brand::before {
    width: 215px !important;
    height: 62px !important;
    flex-basis: 215px !important;
  }

  .site-header .primary-nav .menu {
    gap: 14px !important;
  }

  .site-header .primary-nav .menu a {
    font-size: .86rem !important;
  }
}
