.page-id-2 .hero-section.is-width-constrained { display: none; }

.csg-directory-page {
  --navy: #0b1735;
  --red: #b60819;
  --gold: #f8b818;
  --ink: #182136;
  --muted: #5f6879;
  --line: #e0e4ea;
  --soft: #f5f6f8;
  --paper: #fff;
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.58;
}
.csg-directory-page *, .csg-directory-page *::before, .csg-directory-page *::after { box-sizing: border-box; }
.csg-directory-page button, .csg-directory-page input, .csg-directory-page select { font: inherit; }
.csg-directory-page a { color: inherit; text-decoration: none !important; }
.csg-directory-page h1, .csg-directory-page h2, .csg-directory-page h3, .csg-directory-page p { margin-top: 0; }
.csg-directory-page button, .csg-directory-page select, .csg-directory-page input { color: var(--ink); }
.csg-directory-page button { cursor: pointer; }
.csg-directory-page button:focus-visible, .csg-directory-page input:focus-visible, .csg-directory-page select:focus-visible, .csg-directory-page a:focus-visible { outline: 3px solid rgba(208,25,41,.22); outline-offset: 2px; }
.csg-directory-shell { width: min(calc(100% - 80px), 1500px); margin-inline: auto; }

.csg-directory-hero { position: relative; overflow: hidden; min-height: 250px; border-top: 1px solid #f2f3f5; background: linear-gradient(95deg,#f7f8fb 0%,#f7f8fb 47%,rgba(247,248,251,.86) 58%,rgba(247,248,251,.06) 84%),url('home-hero-campus-wide-v2.png') right 43%/58% auto no-repeat; }
.csg-directory-hero::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:#edf0f3; }
.csg-directory-hero-inner { position: relative; z-index: 1; padding: 48px 0 44px; }
.csg-directory-breadcrumb { display:flex; align-items:center; gap:11px; margin-bottom:28px; color:#4b5870; font-size:14px; font-weight:620; }
.csg-directory-breadcrumb a:hover { color:var(--red); }
.csg-directory-hero-copy { max-width: 590px; }
.csg-directory-hero h1 { margin-bottom: 11px; color:var(--navy); font-family:Georgia,"Times New Roman",serif; font-size:clamp(44px,3.6vw,58px); font-weight:500; line-height:1.08; letter-spacing:-.035em; }
.csg-directory-hero p { max-width:670px; margin-bottom:0; color:#435069; font-size:18px; line-height:1.62; }

.csg-directory-results { padding: 44px 0 58px; }
.csg-directory-layout { display:grid; grid-template-columns:290px minmax(0,1fr); gap:46px; align-items:start; }
.csg-directory-filter-panel { position:sticky; top:18px; padding:24px 23px 20px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 5px 18px rgba(15,23,42,.04); }
.csg-directory-filter-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:18px; }
.csg-directory-filter-head h2 { margin:0; color:var(--navy); font-size:18px; font-weight:780; letter-spacing:-.015em; }
.csg-directory-clear-text { padding:0; border:0; background:none; color:var(--red)!important; font-size:14px; font-weight:750; }
.csg-directory-filters { display:grid; }
.csg-directory-filter-group { min-width:0; margin:0; padding:18px 0; display:grid; gap:10px; border:0; border-top:1px solid #edf0f3; }
.csg-directory-filter-group:first-child { padding-top:0; border-top:0; }
.csg-directory-filter-group>label:not(:first-child), .csg-directory-filter-group fieldset label { color:#465169; }
.csg-directory-filter-group legend, .csg-directory-filter-group>label:first-child { width:100%; margin:0 0 3px; display:flex; align-items:center; justify-content:space-between; color:var(--navy); font-size:15px; font-weight:770; }
.csg-directory-filter-group label:has(input[type="checkbox"]) { display:grid; grid-template-columns:17px 1fr auto; gap:9px; align-items:center; font-size:14px; cursor:pointer; }
.csg-directory-filter-group label small { color:#737d8e; font-size:13px; }
.csg-directory-filter-group input[type="checkbox"] { width:17px; height:17px; margin:0; accent-color:var(--red); }
.csg-directory-search-wrap { position:relative; display:block; }
.csg-directory-search-wrap input { width:100%; min-height:44px; padding:0 39px 0 13px; border:1px solid #d7dce4; border-radius:6px; background:#fff; font-size:14px; }
.csg-directory-search-wrap svg { position:absolute; right:10px; top:50%; width:15px; height:15px; transform:translateY(-50%); fill:none; stroke:#637089; stroke-width:1.7; pointer-events:none; }
.csg-directory-filter-group select { width:100%; min-height:44px; padding:0 34px 0 13px; border:1px solid #d7dce4; border-radius:6px; background:#fff; font-size:14px; }
.csg-directory-city-more { display:grid; gap:7px; }
.csg-directory-city-more[hidden] { display:none; }
.csg-directory-show-more { width:max-content; padding:2px 0; border:0; background:none; color:var(--red)!important; font-size:13px; font-weight:720; }
.csg-directory-reset { min-height:46px; margin-top:7px; border:1px solid #d9dee6; border-radius:6px; background:#fff; color:#24304a!important; font-size:14px; font-weight:750; }
.csg-directory-reset:hover { border-color:#c7ced8; background:#fafbfc; }

.csg-directory-toolbar { min-height:50px; margin-bottom:24px; display:flex; align-items:center; justify-content:space-between; gap:22px; scroll-margin-top:88px; }
.csg-directory-status { margin:0!important; color:#374158!important; font-size:15px!important; font-weight:650; }
.csg-directory-display-controls { display:flex; align-items:center; gap:11px; color:#4f5a70; font-size:14px; }
.csg-directory-display-controls>label { white-space:nowrap; }
.csg-directory-display-controls>select { min-width:190px; height:44px; padding:0 36px 0 13px; border:1px solid #d9dee5; border-radius:6px; background:#fff; font-size:14px; }
.csg-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; overflow-anchor:none; }
.csg-directory-card { position:relative; min-height:285px; padding:25px 238px 22px 24px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:10px; background:#fff; color:inherit!important; text-decoration:none!important; box-shadow:0 4px 14px rgba(15,23,42,.035); transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease; }
.csg-directory-card:hover { transform:translateY(-2px); border-color:#cfd5dd; box-shadow:0 10px 24px rgba(15,23,42,.08); }
.csg-directory-card[hidden] { display:none!important; }
.csg-directory-card-photo { position:absolute; right:20px; top:20px; bottom:20px; width:200px; overflow:hidden; border-radius:8px; background:#eef1f4; }
.csg-directory-card-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.csg-directory-card-heading { min-height:62px; display:grid; grid-template-columns:62px minmax(0,1fr); gap:14px; align-items:center; }
.csg-directory-card-logo { width:62px; height:62px; padding:2px; display:grid; place-items:center; }
.csg-directory-card-logo img { width:100%; height:100%; display:block; object-fit:contain; }
.csg-directory-card-title-row { display:flex; flex-wrap:wrap; align-items:flex-start; gap:7px; }
.csg-directory-card h3 { flex:1 1 155px; margin:0; color:var(--navy); font-size:20px; font-weight:790; line-height:1.18; letter-spacing:-.018em; }
.csg-directory-card-classification { flex:0 0 auto; margin-top:2px; padding:3px 6px; border-radius:4px; background:#f0f2f5; color:#505a6d; font-size:10px; font-weight:800; }
.csg-directory-card-ranking { flex:0 0 auto; margin-top:2px; padding:3px 7px; border-radius:4px; background:#fbecee; color:#b71927; font-size:10px; font-weight:800; }
.csg-directory-card-meta { margin:6px 0 0!important; color:#526078!important; font-size:13px!important; line-height:1.4; }
.csg-directory-card-description { min-height:70px; margin:20px 0 14px!important; color:#344057!important; font-size:15px!important; line-height:1.55; }
.csg-directory-badges { display:flex; flex-wrap:wrap; gap:7px; }
.csg-directory-badge { padding:5px 9px; border-radius:5px; background:#f0f1f3; color:#515b6d; font-size:12px; line-height:1.2; }
.csg-directory-view { margin-top:auto; padding-top:15px; color:var(--red); font-size:14px; font-weight:780; }
.csg-directory-view::after { content:"  →"; font-size:14px; }

.csg-directory-empty { display:none; padding:54px 28px; border:1px solid var(--line); border-radius:8px; background:#fafbfc; text-align:center; }
.csg-directory-empty.is-visible { display:block; }
.csg-directory-empty h3 { margin-bottom:5px; color:var(--navy); }
.csg-directory-empty p { color:var(--muted); }
.csg-directory-empty-reset { min-height:38px; padding:0 15px; border:0; border-radius:5px; background:var(--red); color:#fff!important; font-weight:750; }
.csg-directory-pagination { margin-top:28px; display:flex; justify-content:center; gap:8px; }
.csg-directory-pagination button { width:38px; height:38px; border:1px solid #dfe3e9; border-radius:6px; background:#fff; color:#596378; font-size:14px; }
.csg-directory-pagination button.is-current { border-color:var(--red); background:var(--red); color:#fff; font-weight:800; }
.csg-directory-pagination button:disabled { opacity:.45; cursor:default; }

.csg-directory-trust { padding:0 0 20px; }
.csg-directory-trust-grid { padding:32px 36px; display:grid; grid-template-columns:repeat(4,1fr); gap:34px; border:1px solid var(--navy); border-radius:10px; background:linear-gradient(105deg,#0b1735,#13264e); box-shadow:0 10px 28px rgba(11,23,53,.12); }
.csg-directory-trust article { min-height:112px; display:grid; grid-template-columns:56px 1fr; gap:16px; align-items:start; }
.csg-directory-trust-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:var(--gold); color:var(--navy); box-shadow:0 5px 13px rgba(0,0,0,.13); }
.csg-directory-trust-icon svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.csg-directory-trust h2 { min-height:40px; margin:1px 0 8px; color:#fff; font-size:16px; font-weight:780; line-height:1.3; }
.csg-directory-trust p { margin:0; color:rgba(255,255,255,.82); font-size:14px; line-height:1.5; }

.csg-directory-newsletter { position:relative; overflow:hidden; padding:0; border-top:1px solid #e6e9ef; background:linear-gradient(105deg,#fff8f5 0%,#fff 48%,#f3f7fb 100%); color:var(--navy); }
.csg-directory-newsletter::after { content:""; position:absolute; right:-80px; top:-95px; width:360px; height:360px; border:1px solid rgba(183,8,25,.09); border-radius:50%; box-shadow:0 0 0 42px rgba(183,8,25,.025),0 0 0 84px rgba(11,23,53,.018); pointer-events:none; }
.csg-directory-newsletter-inner { position:relative; z-index:1; min-height:190px; padding-block:30px; display:block; }
.csg-directory-newsletter-card { width:100%; min-width:0; padding:30px 34px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:44px; align-items:center; border-radius:13px; background:linear-gradient(120deg,#a70718,#c71327); box-shadow:0 14px 32px rgba(128,5,20,.16); color:#fff; }
.csg-directory-newsletter-copy>span { display:block; margin-bottom:7px; color:#ffd8dc; font-size:12px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.csg-directory-newsletter h2 { margin:0; color:#fff; font-size:24px; font-weight:800; line-height:1.2; }
.csg-directory-newsletter p { margin:7px 0 0; color:rgba(255,255,255,.88); font-size:14px; line-height:1.5; }
.csg-directory-newsletter-form,.csg-directory-newsletter-form .mc4wp-form,.csg-directory-newsletter-form .mc4wp-form-fields { width:100%; margin:0; }
.csg-directory-newsletter-form .mc4wp-form-fields>p { margin:0; display:flex; align-items:stretch; }
.csg-directory-newsletter-form label { min-width:0; flex:1 1 auto; margin:0; }
.csg-directory-newsletter-form input[type=email] { box-sizing:border-box; width:100%; height:48px; padding:0 14px; border:1px solid rgba(255,255,255,.78); border-radius:6px 0 0 6px; background:rgba(255,255,255,.08); color:#fff; font:inherit; font-size:14px; }
.csg-directory-newsletter-form input[type=email]::placeholder { color:rgba(255,255,255,.76); }
.csg-directory-newsletter-form input[type=submit],.csg-directory-newsletter-form button { flex:0 0 auto; height:48px; margin:0; padding:0 18px; border:1px solid #fff; border-radius:0 6px 6px 0; background:#fff; color:var(--red); font:inherit; font-size:14px; font-weight:800; cursor:pointer; }
.csg-directory-newsletter-fallback { min-height:48px; padding:0 20px; display:inline-flex; align-items:center; justify-content:center; border-radius:6px; background:#fff; color:var(--red)!important; font-weight:800; text-decoration:none!important; }

@media (max-width:1280px) {
  .csg-directory-shell { width:min(calc(100% - 48px),1260px); }
  .csg-directory-layout { grid-template-columns:270px 1fr; gap:32px; }
}
@media (max-width:1180px) {
  .csg-directory-hero { background-size:80% auto; }
  .csg-directory-layout { grid-template-columns:1fr; }
  .csg-directory-grid { grid-template-columns:1fr; }
  .csg-directory-filter-panel { position:static; }
  .csg-directory-filters { grid-template-columns:repeat(2,1fr); column-gap:24px; }
  .csg-directory-filter-group { border-top:1px solid #edf0f3!important; }
  .csg-directory-search-group { grid-column:1/-1; }
  .csg-directory-reset { align-self:end; margin-bottom:14px; }
  .csg-directory-trust-grid { grid-template-columns:repeat(2,1fr); }
	.csg-directory-newsletter-card { grid-template-columns:minmax(0,1fr) minmax(250px,.85fr); }
}
@media (max-width:650px) {
  .csg-directory-shell { width:calc(100% - 28px); }
  .csg-directory-hero { min-height:0; background:linear-gradient(105deg,rgba(247,248,251,.98),rgba(247,248,251,.9)),url('home-hero-campus-wide-v2.png') center/cover; }
  .csg-directory-hero-inner { padding:17px 0 29px; }
  .csg-directory-hero h1 { font-size:36px; }
  .csg-directory-hero p { font-size:14px; }
  .csg-directory-results { padding-top:22px; }
  .csg-directory-filters, .csg-directory-grid, .csg-directory-trust-grid { grid-template-columns:1fr; }
  .csg-directory-toolbar { align-items:flex-start; flex-direction:column; }
  .csg-directory-display-controls { width:100%; flex-wrap:wrap; }
  .csg-directory-display-controls>select { flex:1; }
  .csg-directory-card { min-height:0; padding:18px; }
  .csg-directory-card-photo { position:relative; inset:auto; order:-1; width:100%; height:190px; margin-bottom:18px; }
  .csg-directory-card-heading { grid-template-columns:52px 1fr; }
  .csg-directory-card-logo { width:52px; height:52px; }
  .csg-directory-card h3 { font-size:19px; }
  .csg-directory-card-description { min-height:0; font-size:15px!important; }
  .csg-directory-trust-grid { padding:20px; }
	.csg-directory-newsletter-inner { min-height:0; padding-block:30px; }
	.csg-directory-newsletter-card { padding:24px 20px; grid-template-columns:1fr; gap:18px; }
}
@media (prefers-reduced-motion:reduce) { .csg-directory-page * { transition:none!important; } }
