/* =========================
   Layout
   ========================= */
   .container-narrow {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 1rem;
  }
  
  img {
    border-radius: 16px;
  }
  
  /* =========================
     Hero
     ========================= */
  .hero {
    min-height: 420px;
    background-image: url("images/hero-bg.jpg");
    background-size: cover;
    background-position: center;
    position: relative;
  }
  
  .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 70% 35%, rgba(255, 255, 255, 0.10), rgba(0, 0, 0, 0) 55%),
      linear-gradient(90deg, rgba(7, 15, 30, 0.88) 0%, rgba(7, 15, 30, 0.55) 55%, rgba(7, 15, 30, 0.18) 100%);
  }
  
  .hero-inner {
    position: relative;
    max-width: 980px;
    margin: 0 auto;
    padding: 4.0rem 1rem 1.8rem;
    color: rgba(255, 255, 255, 0.94);
  }
  
  .hero h1 {
    margin: 0;
    font-size: 3rem;
    letter-spacing: -0.02em;
  }
  
  .hero-lede {
    margin-top: 1.0rem;
    max-width: 56rem;
    font-size: 1.25rem;
    line-height: 1.55;
  }
  
  .hero-lede p {
    margin: 0 0 0.85rem 0;
  }
  
  /* =========================
     Home: below hero (non-floating)
     ========================= */
  .below-hero {
    margin-top: 0;
    padding: 1.3rem 0 2.5rem;
    background: #fff;
  }
  
  /* FLATTENED panel: no shadow, no blur, minimal border */
  .panel {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;          /* removes the boxed padding too */
    box-shadow: none;
  }
  
  .panel h2 {
    margin: 0.4rem 0 0.9rem;
    border-bottom: none;
    padding-bottom: 0;
  }
  
  /* Panel headings are links; keep them looking like headings */
  .panel h2 a {
    color: inherit;
    text-decoration: none;
  }
  .panel h2 a:hover,
  .panel h2 a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-thickness: 2px;
  }
  
  /* =========================
     Cards / chips (same for Focus + Publications)
     ========================= */
  .focus-chip {
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: rgba(255, 255, 255, 0.95);
    height: 100%;
  }
  
  /* =========================
     Research page (flat)
     ========================= */
  .research-item {
    padding: 0.9rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  }
  .research-item:last-child {
    border-bottom: none;
  }
  
  /* Hide anchor icons, and prevent heading links from turning blue */
  .anchorjs-link { display: none !important; }
  
  h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: inherit !important;
    text-decoration: none !important;
  }
  h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
  h1 a:focus-visible, h2 a:focus-visible, h3 a:focus-visible, h4 a:focus-visible, h5 a:focus-visible, h6 a:focus-visible {
    text-decoration: underline !important;
    text-underline-offset: 4px;
  }
  h2 {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }
  
  /* =========================
     People cards
     ========================= */
  .person-card {
    padding: 0.9rem;
    border-radius: 18px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: rgba(255, 255, 255, 0.96);
    height: 100%;
  }
  
  /* =========================
     Responsive
     ========================= */
  @media (max-width: 768px) {
    .hero h1 { font-size: 2.25rem; }
    .hero-inner { padding-bottom: 1.6rem; }
    .hero-lede { font-size: 1.12rem; }
  }