/* Autonomous Knowledge Hub — Critical and Responsive Styles */
:root{
  --bg-primary:#F9F8F6;
  --bg-secondary:#EFECE6;
  --text-primary:#1A1A1A;
  --text-secondary:#595959;
  --accent:#0047AB;
  --border:#D1CDD2;
  --ad-bg:#E5E5E5;
  --ad-label:#737373;
  --max-width:1200px;
  --spacing:8px;
  --radius-s:6px;
  --radius-m:12px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: 'Newsreader','Merriweather', serif;
  background:var(--bg-primary);
  color:var(--text-primary);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
  font-size:1.125rem; /* 18px base */
}
.container{max-width:var(--max-width);margin:0 auto;padding:24px}
.header-grid{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center}
.site-title{font-family: 'IBM Plex Sans','Inter',sans-serif;font-weight:600;color:var(--text-primary);text-decoration:none;font-size:1rem}
.primary-nav{position:relative}
.nav-toggle{background:transparent;border:1px solid var(--border);padding:6px 10px;font-family:inherit;border-radius:0;color:var(--text-primary);cursor:pointer}
.nav-list{list-style:none;margin:0;padding:8px 0;display:flex;gap:12px}
.nav-list a{font-family:'IBM Plex Sans',sans-serif;text-decoration:none;color:var(--text-primary);padding:6px}
.search-input{border:1px solid var(--border);padding:6px 8px;border-radius:0;font-family:inherit}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:8px;top:8px;width:auto;height:auto;padding:8px;background:#fff;border:1px solid var(--border);z-index:1000}

.lead-grid{display:grid;grid-template-columns:8fr 4fr;gap:24px;align-items:start;border-top:1px solid var(--border);padding-top:24px}
.lead-title{font-family:'Newsreader','Merriweather',serif;font-weight:700;margin:0;color:var(--text-primary);font-size:clamp(2.5rem,4vw,3.5rem);line-height:1.05;letter-spacing:-0.02em}
.lead-dek{margin-top:12px;color:var(--text-secondary);max-width:60ch}
.feature-card{border-left:1px solid var(--border);padding-left:16px}
.feature-card h2{margin:0 0 8px 0;font-size:1.5rem}
.excerpt{margin:0 0 12px 0;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta{font-family:'IBM Plex Sans',sans-serif;font-size:0.875rem;letter-spacing:0.05em;color:var(--text-secondary);text-transform:uppercase}
.side-column .meta-block{background:transparent;padding:8px}
.topic-list{list-style:none;padding:0;margin:0}
.topic-list a{text-decoration:none;color:var(--accent)}

.ad-card{background:var(--ad-bg);border:1px solid var(--border);padding:12px;margin-top:16px;border-radius:var(--radius-s);}
.ad-label{font-family:'IBM Plex Sans',sans-serif;font-size:12px;color:var(--ad-label);text-transform:uppercase;letter-spacing:0.08em;text-align:right}
.ad-content{color:var(--text-secondary);font-size:0.95rem}

.article-feed{margin-top:32px}
.feed-heading{font-family:'Newsreader',serif;font-size:1.25rem;margin-bottom:12px}
.cards{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.card{border-top:1px solid var(--border);padding-top:16px}
.card h3{margin:0 0 8px 0;font-size:1.125rem}
.card a{color:var(--text-primary);text-decoration:none}
.card a:focus{outline:3px solid rgba(0,71,171,0.14)}
.pagination{margin-top:16px}
.btn{background:var(--accent);color:#fff;border:0;padding:10px 14px;cursor:pointer;font-family:'IBM Plex Sans',sans-serif}
.btn:focus{outline:3px solid rgba(0,71,171,0.16)}

.site-footer{border-top:1px solid var(--border);margin-top:48px;padding:24px 0;background:transparent}
.footer-nav ul{list-style:none;padding:0;margin:0;display:flex;gap:12px}
.footer-nav a{color:var(--text-secondary);text-decoration:none;font-family:'IBM Plex Sans',sans-serif}

/* Accessibility helpers */
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* Focus visible for keyboard users */
:focus{outline-offset:3px}

/* Responsive rules */
@media (max-width: 900px){
  .lead-grid{grid-template-columns:1fr;}
  .header-grid{grid-template-columns:1fr auto;}
  .nav-list{flex-direction:column;background:#fff;padding:8px;border:1px solid var(--border)}
}
@media (max-width: 480px){
  body{font-size:1rem}
  .container{padding:16px}
  .nav-list{width:100%}
  .lead-title{font-size:1.75rem}
}

/* Respect reduced motion */
.reduced-motion *{transition:none!important}

/* Prevent horizontal overflow */
html,body, .container {overflow-x:hidden}

/* Preview QA fixes */
[hidden] {
  display: none !important;
}

.feature-card h2 a,
.topic-list a {
  color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.nav-toggle {
  min-width: 44px;
  min-height: 44px;
}

.nav-toggle:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.ad-label {
  color: #4f4f4f;
  font-size: 13px;
  font-weight: 600;
}

@media (min-width: 901px) {
  .nav-toggle {
    display: none;
  }

  .nav-list[hidden] {
    display: flex !important;
  }
}
.search {
  display: none;
}
