:root{
  --navy-deep:#0E2238;
  --navy:#173655;
  --navy-soft:#2C5278;
  --gold:#C0922E;
  --gold-soft:#EBDDB6;
  --maple:#9C3A2E;
  --green:#3E7A4E;
  --paper:#F4F6F8;
  --card:#FFFFFF;
  --ink:#15181D;
  --ink-soft:#525B66;
  --line:#DCE2E8;
  --radius:14px;
  --shadow:0 18px 40px -22px rgba(14,34,56,0.35);
  --maxw:1180px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.6;
}
h1,h2,h3,h4{margin:0;font-family:'Fraunces',serif;font-weight:600;letter-spacing:-0.01em;color:var(--navy-deep);}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
ul{margin:0;padding:0;list-style:none;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--navy-soft);
}

/* ---------- Header ---------- */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:76px;flex-wrap:wrap;gap:14px;}
.logo{display:flex;flex-direction:column;line-height:1.05;}
.logo strong{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:700;color:var(--navy-deep);letter-spacing:.02em;}
.logo span{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:2px;}
.site-header nav{display:flex;align-items:center;gap:22px;}
.site-header nav a{font-size:.92rem;font-weight:500;color:var(--navy-deep);}
.site-header nav a:hover{color:var(--gold);}
.site-header nav a.btn-nav{
  background:var(--gold);color:var(--navy-deep);padding:9px 16px;border-radius:8px;font-weight:600;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border-radius:9px;font-weight:600;font-size:.92rem;
  border:1.5px solid transparent;transition:transform .15s ease;cursor:pointer;
}
.btn:hover{transform:translateY(-1px);}
.btn--gold{background:var(--gold);color:var(--navy-deep);}
.btn--ghost{border-color:var(--navy-deep);color:var(--navy-deep);}
.btn--ghost:hover{background:var(--navy-deep);color:#fff;}
.btn--small{padding:9px 16px;font-size:.85rem;}
.btn--block{width:100%;}

/* ---------- Hero ---------- */
.hero{padding:64px 0 48px;}
.hero h1{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.15;margin-top:12px;}
.hero p.lead{margin-top:16px;color:var(--ink-soft);font-size:1.05rem;max-width:600px;}
.hero-stats{display:flex;gap:32px;margin-top:28px;flex-wrap:wrap;}
.hero-stats div strong{display:block;font-family:'IBM Plex Mono',monospace;font-size:1.5rem;color:var(--navy-deep);}
.hero-stats div span{font-size:.8rem;color:var(--ink-soft);}

/* ---------- Search / filters ---------- */
.search-bar{
  display:flex;gap:10px;margin-top:30px;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:8px;box-shadow:var(--shadow);max-width:640px;flex-wrap:wrap;
}
.search-bar input[type="text"]{
  flex:1;border:none;padding:12px 14px;font-family:inherit;font-size:.95rem;min-width:160px;
}
.search-bar input[type="text"]:focus{outline:none;}

.filters-bar{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;
  display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin-bottom:32px;
}
.filters-bar .field{display:flex;flex-direction:column;gap:5px;}
.filters-bar label{font-size:.74rem;font-weight:600;color:var(--navy-deep);text-transform:uppercase;letter-spacing:.04em;}
.filters-bar select, .filters-bar input[type="text"]{
  border:1.5px solid var(--line);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:.9rem;background:#fff;min-width:160px;
}
.filters-bar label.checkbox-label{
  flex-direction:row;align-items:center;gap:8px;font-weight:500;text-transform:none;letter-spacing:0;font-size:.88rem;color:var(--ink);
}

/* ---------- Sections ---------- */
.section{padding:48px 0;}
.section-head{margin-bottom:32px;max-width:640px;}
.section-head h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-top:6px;}
.section-head p{color:var(--ink-soft);margin-top:8px;}

/* ---------- Scholarship cards ---------- */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;height:100%;
}
.card-image{height:140px;background:linear-gradient(135deg,var(--navy-deep),var(--navy-soft));display:flex;align-items:center;justify-content:center;}
.card-image img{width:100%;height:100%;object-fit:cover;}
.card-image .placeholder{font-family:'IBM Plex Mono',monospace;color:var(--gold-soft);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;}
.card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.badges{display:flex;flex-wrap:wrap;gap:6px;}
.badge{
  font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;
  padding:4px 9px;border-radius:6px;background:var(--paper);color:var(--navy-soft);border:1px solid var(--line);
}
.badge--gold{background:var(--gold-soft);color:#7A5A1A;border-color:var(--gold);}
.badge--urgent{background:#FBE7E4;color:var(--maple);border-color:var(--maple);}
.badge--open{background:#E7F2E9;color:var(--green);border-color:var(--green);}
.card h3{font-size:1.08rem;line-height:1.3;}
.card .provider{font-size:.84rem;color:var(--ink-soft);}
.card .desc{font-size:.88rem;color:var(--ink-soft);flex:1;}
.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:.82rem;color:var(--ink-soft);}
.card-footer a{font-weight:600;color:var(--navy-deep);}
.card-footer a:hover{color:var(--gold);}

.featured-tag{
  position:absolute;top:14px;left:14px;background:var(--gold);color:var(--navy-deep);
  font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;
  padding:4px 10px;border-radius:6px;
}
.card{position:relative;}

.empty-state{
  text-align:center;padding:60px 20px;color:var(--ink-soft);background:#fff;border:1px dashed var(--line);border-radius:var(--radius);
}

/* ---------- Pagination ---------- */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:36px;}
.pagination a, .pagination span{
  display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;
  border-radius:8px;border:1px solid var(--line);font-size:.88rem;color:var(--navy-deep);
}
.pagination a:hover{border-color:var(--gold);}
.pagination .current{background:var(--navy-deep);color:#fff;border-color:var(--navy-deep);}

/* ---------- Detail page ---------- */
.detail-head{background:var(--navy-deep);color:#EDEFF2;padding:48px 0 40px;}
.detail-head .eyebrow{color:var(--gold-soft);}
.detail-head h1{color:#fff;font-size:clamp(1.7rem,3.4vw,2.4rem);margin-top:10px;}
.detail-head p.provider{color:#C9D3DD;margin-top:8px;font-size:1rem;}
.detail-head .badges{margin-top:18px;}
.detail-head .badge{background:rgba(255,255,255,.08);color:#EDEFF2;border-color:rgba(255,255,255,.25);}
.detail-head .badge--gold{background:var(--gold);color:var(--navy-deep);border-color:var(--gold);}

.detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;padding:44px 0;}
.detail-body h2{font-size:1.2rem;margin-top:28px;}
.detail-body h2:first-child{margin-top:0;}
.detail-body p, .detail-body div.text-block{color:var(--ink-soft);margin-top:10px;white-space:pre-line;}

.summary-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:26px;align-self:start;
}
.summary-card dl{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;font-size:.92rem;}
.summary-card dt{color:var(--ink-soft);font-weight:500;}
.summary-card dd{margin:0;color:var(--navy-deep);font-weight:600;text-align:right;}
.summary-card .btn{margin-top:20px;}
.summary-card hr{border:none;border-top:1px solid var(--line);margin:18px 0;}

.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px;}

.cta-strip{background:var(--navy-deep);color:#fff;border-radius:var(--radius);padding:34px 36px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin:48px 0;}
.cta-strip h3{color:#fff;font-size:1.2rem;}
.cta-strip p{color:#C9D3DD;margin-top:6px;font-size:.92rem;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-deep);color:#9FB0C2;padding:36px 0;margin-top:40px;}
.site-footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.84rem;}
.site-footer a{color:#EDEFF2;}
.site-footer a:hover{color:var(--gold);}

@media (max-width:900px){
  .cards-grid{grid-template-columns:repeat(2,1fr);}
  .detail-grid{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .cards-grid{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:1fr;}
  .site-header nav{gap:12px;}
}
