/* Supplies styles: simple comments added by me to explain sections. */


:root{
  --bg:#F6F3F6;
  --ink:#4f3b4e;
  --border:#e4dce3;
  --brand:#5c475b;
}

*{ box-sizing:border-box; }
body{ background:var(--bg); color:var(--ink); }


body:has(.home-container) main,
body:has(.home-container) .site-main,
body:has(.home-container) .site-content,
body:has(.home-container) .page-wrap,
body:has(.home-container) .page-content,
body:has(.home-container) .content,
body:has(.home-container) .content-area,
body:has(.home-container) .wrapper,
body:has(.home-container) section:first-of-type{
  padding-top:0 !important;
  margin-top:0 !important;
}
body:has(.home-container) .header-spacer,
body:has(.home-container) .nav-spacer,
body:has(.home-container) .top-spacer,
body:has(.home-container) .page-spacer{
  height:0 !important; padding:0 !important; margin:0 !important;
}


.home-container{
  
  display:flex;
  flex-direction:column;
  align-items:center;

  
  max-width:none;
  width:100%;
  margin:0 auto 72px !important;  
  padding:12px 0 0 !important;     

  
  border-top:1px solid transparent;
}
.home-container > :first-child{ margin-top:0 !important; }


.page-title{
  text-align:center;
  font-size:2.5rem;
  margin:0 0 24px !important;      
  font-weight:800;
  color:#5C475B;
}


.grid-container{
  
  width:clamp(320px, 90vw, 1100px);
  margin:0 auto;
  padding:10px;

  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;

  
  place-content:start center;
  justify-items:stretch;
  align-items:stretch;
}


/* Responsive styles */
@media (max-width:1024px){
  .grid-container{
    grid-template-columns:repeat(2, 1fr);
    width:clamp(320px, 94vw, 900px);
  }
}
/* Responsive styles */
@media (max-width:640px){
  .grid-container{
    grid-template-columns:1fr;
    width:min(560px, 96vw);
  }
}


.post-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:20px;

  min-height:300px;
  height:360px;                    
  overflow:hidden;

  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  text-align:left;

  box-shadow:0 2px 8px rgba(0,0,0,.03);
}
.post-card:hover{ box-shadow:0 3px 12px rgba(0,0,0,.05); }


.card-title{ font-size:1rem; font-weight:800; margin-bottom:10px; color:#5C475B; }

.post-card .desc{
  font-size:.95rem; color:#444; line-height:1.5; margin-bottom:6px;

  
  display:-webkit-box;
  -webkit-line-clamp:8;            
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.post-card .meta{ margin-bottom:6px; line-height:1.5; font-size:.95rem; color:#444; }
.meta strong, .desc strong{ color:#000; }
.post-card a{ color:#5c475b; text-decoration:underline; }


/* Responsive styles */
@media (max-width:1024px){
  .post-card{ height:340px; }
}
/* Responsive styles */
@media (max-width:640px){
  .post-card{ height:auto; }           
  .post-card .desc{ -webkit-line-clamp:unset; }
}


.no-info-message{
  text-align:center;
  width:100%;
  padding:8px 0;
  color:#6a5a68;
  font-size:0.98rem;
}