:root{

  --primary-color:#2c5282;
  --primary-light:#ebf8ff;

  --accent-color:#3182ce;

  --text-color:#2d3748;

  --bg-color:#f7fafc;

  --white:#ffffff;

  --transition:all .3s ease;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{

  font-family:
  Inter,
  "Segoe UI",
  sans-serif;

  background:var(--bg-color);

  color:var(--text-color);

  line-height:1.6;
}

.container{

  width:90%;

  max-width:1200px;

  margin:0 auto;
}

/* =====================================
   HEADER
===================================== */

.site-header{

  background:var(--white);

  border-bottom:1px solid #e2e8f0;

  position:sticky;

  top:0;

  z-index:1000;
}

.nav-container{

  display:flex;

  justify-content:space-between;

  align-items:center;

  height:72px;
}

.logo{

  text-decoration:none;

  color:var(--primary-color);

  font-size:2rem;

  font-weight:700;
}

.main-nav{

  display:flex;

  align-items:center;

  gap:2rem;
}

.main-nav a{

  text-decoration:none;

  color:var(--text-color);
}

.main-nav a.active{

  color:var(--accent-color);

  font-weight:600;
}

.btn-nav{

  background:var(--primary-light);

  color:var(--primary-color) !important;

  padding:.6rem 1rem;

  border-radius:6px;
}

/* =====================================
   HERO
===================================== */

.split-hero{

  background:
  linear-gradient(
      145deg,
      #ffffff,
      var(--primary-light)
  );

  padding:2.5rem 0 1rem;
}

.hero-text-left{
    max-width:900px;
    margin: 0 auto;
    text-align: center;
}

.sub-badge{

  display:inline-block;

  background:var(--primary-color);

  color:white;

  padding:.35rem .8rem;

  border-radius:20px;

  text-transform:uppercase;

  letter-spacing:.5px;

  font-size:.75rem;

  font-weight:700;

  margin-bottom:1rem;
}

.hero-text-left h1{

  font-size:2.7rem;

  color:var(--primary-color);

  line-height:1.1;

  margin-bottom:.75rem;
}

.hero-text-left p{
  max-width: 800px;
  color:#4a5568;
  margin: 0 auto;
  font-size:1.1rem;

  line-height:1.7;
}

.archive-counter{
  margin-top:12px;
  text-align: center;
  color:#64748b;
  font-weight:600;
}

/* =====================================
   SEARCH
===================================== */

.search-filter-section{

  margin-top:-20px;

  padding-bottom:30px;
}

.narrow-container{

  max-width:900px;
}

.interactive-search-box{

  background:white;

  border-radius:22px;

  padding:1.25rem;

  border:1px solid #edf2f7;

  box-shadow:
  0 8px 24px rgba(0,0,0,.03);
}

.search-input-wrapper{

  margin-bottom:1rem;
}

.search-input-wrapper input{

  width:100%;

  padding:1rem 1.25rem;

  border:2px solid #e2e8f0;

  border-radius:999px;

  font-size:1rem;

  background:#f8fafc;
}

.search-input-wrapper input:focus{

  outline:none;

  border-color:var(--accent-color);

  background:white;
}

.filter-pills{

  display:flex;

  gap:.5rem;

  flex-wrap:wrap;
}

.pill{

  text-decoration:none;

  background:#f1f5f9;

  color:#64748b;

  padding:.6rem 1rem;

  border-radius:999px;

  font-size:.85rem;

  font-weight:600;

  transition:var(--transition);
}

.pill:hover{

  background:#e2e8f0;

  color:var(--accent-color);
}

/* =====================================
   STORIES
===================================== */

.placement-grid{

  margin-top:-10px;

  padding-bottom:5rem;
}

.masonry-feed{

  max-width:900px;

  margin:auto;

  display:grid;

  grid-template-columns:1fr;

  gap:2rem;
}

.compact-qna-card{

  background:white;

  border-radius:16px;

  border:1px solid #e2e8f0;

  overflow:hidden;

  box-shadow:
  0 6px 18px rgba(0,0,0,.03);

  transition:var(--transition);
}

.compact-qna-card:hover{

  transform:translateY(-4px);

  box-shadow:
  0 14px 28px rgba(0,0,0,.06);
}

.card-top-bar{

  display:flex;

  justify-content:space-between;

  align-items:center;

  padding:1.5rem 2rem 0;
}

.category-pill-indicator{

  background:var(--primary-light);

  color:var(--accent-color);

  padding:.3rem .75rem;

  border-radius:6px;

  font-size:.75rem;

  font-weight:700;

  text-transform:uppercase;
}

.card-user{

  color:#94a3b8;

  font-size:.85rem;
}

.card-body-content{

  padding:2rem;

  max-width:100%;
}

.card-body-content h3{

  font-size:2rem;

  line-height:1.3;

  margin-bottom:1rem;

  color:var(--text-color);

  max-width:650px;
}

.card-body-content p{

  color:#4a5568;

  line-height:1.8;

  max-width:750px;
}

.card-action-bar{

  padding:1.25rem 2rem;

  border-top:1px solid #edf2f7;

  display:flex;

  justify-content:space-between;

  align-items:center;
}

.advisor-peek{

  display:flex;

  align-items:center;

  gap:.75rem;
}

.mini-avatar{

  width:34px;
  height:34px;

  border-radius:50%;

  background:var(--primary-color);

  color:white;

  display:flex;

  justify-content:center;

  align-items:center;

  font-size:.75rem;

  font-weight:700;
}

.peek-text{

  color:#64748b;

  font-size:.9rem;
}

.read-full-story-btn{

  text-decoration:none;

  color:var(--accent-color);

  font-weight:600;
}

.read-full-story-btn:hover{

  color:var(--primary-color);
}

/* =====================================
   EMPTY STATE
===================================== */

.hidden-notice{

  text-align:center;

  padding:5rem 0;

  grid-column:1/-1;
}

.hidden-notice h3{

  color:var(--primary-color);

  margin-bottom:.5rem;
}

.hidden-notice p{

  color:#64748b;
}

/* =====================================
   MOBILE
===================================== */

@media(max-width:768px){

  .hero-text-left h1{

    font-size:2.1rem;
  }

  .main-nav{

    display:none;
  }

  .card-action-bar{

    flex-direction:column;

    align-items:flex-start;

    gap:1rem;
  }

}