/* css styles */

/* ================================
   Base layout & typography
   ================================ */

   html, body {
    background-color: #f6f7fb; 
    color: #111827;           
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text",
                 system-ui, -system-ui, "Segoe UI", sans-serif;
  }
  
  /* Keep content in a comfortable column */
  main.content {
    max-width: 860px;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 4rem 1.5rem;
  }
  
  /* ================================
     Navbar
     ================================ */
  
  .navbar {
    background-color: #ffffff;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.03);
  }
  
  .navbar-brand {
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.95rem;
  }
  
  .navbar-brand, .navbar-nav .nav-link {
    color: #111827 !important;
  }
  
  .navbar-nav .nav-link {
    font-size: 0.9rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }
  
  .navbar-nav .nav-link:hover {
    color: #1f3b63 !important; /* subtle strength */
  }
  
  /* Icon links on right (GitHub, Twitter) */
  .navbar-nav .bi {
    font-size: 1.1rem;
  }
  
  /* ================================
     Links
     ================================ */
  
  a {
    color: #1f3b63;
    text-decoration: none;
  }
  
  a:hover,
  a:focus {
    color: #162845;
    text-decoration: underline;
  }
  
  /* ================================
     Page title / header
     ================================ */
  
  #title-block-header {
    border: none;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }
  
  #title-block-header .title {
    font-size: 2.2rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  
  #title-block-header .description {
    color: #4b5563;
    max-width: 32rem;
  }
  
  /* ================================
     Listing page (home)
     ================================ */
  
  .listing {
    margin-top: 1rem;
  }
  
  /* Individual post card */
  .listing .quarto-post {
    background-color: #ffffff;
    border-radius: 14px;
    padding: 1.5rem 1.75rem;
    margin-bottom: 1.25rem;
    border: 1px solid rgba(15, 23, 42, 0.04);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
  }
  
  /* Remove noisy badges / categories if any remain */
  .listing-category,
  .listing-categories,
  .quarto-category {
    display: none !important;
  }
  
  /* Post title */
  .listing .listing-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
  }
  
  /* Date & author row */
  .listing .metadata {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #6b7280;
    margin-bottom: 0.75rem;
  }
  
  /* Description / snippet */
  .listing .listing-description {
    font-size: 0.93rem;
    color: #374151;
  }
  
  /* If images appear in listing, keep them neat */
  .listing .thumbnail, 
  .listing img {
    border-radius: 10px;
  }
  
  /* ================================
     Post pages
     ================================ */
  
  .quarto-title-block .quarto-title-meta {
    font-size: 0.8rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #6b7280;
  }
  
  /* Body text */
  main.content p {
    font-size: 0.98rem;
    line-height: 1.7;
    color: #111827;
  }
  
  /* Headings inside posts */
  main.content h2,
  main.content h3,
  main.content h4 {
    font-weight: 600;
    letter-spacing: 0.03em;
  }
  
  main.content h2 {
    margin-top: 2.2rem;
    margin-bottom: 0.9rem;
  }
  
  main.content h3 {
    margin-top: 1.6rem;
    margin-bottom: 0.6rem;
  }
  
  /* Lists */
  main.content ul,
  main.content ol {
    padding-left: 1.4rem;
  }
  
  /* ================================
     Code blocks & inline code
     ================================ */
  
  code {
    font-family: "JetBrains Mono", SFMono-Regular, Menlo, Monaco, Consolas,
                 "Liberation Mono", "Courier New", monospace;
    font-size: 0.85rem;
  }
  
  pre code {
    font-size: 0.83rem;
  }
  
  div.sourceCode, pre {
    background-color: #0f172a0d; /* very light slate */
    border-radius: 10px;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(15, 23, 42, 0.05);
  }
  
  /* ================================
     Tables & figures
     ================================ */
  
  table {
    border-collapse: collapse;
    width: 100%;
    font-size: 0.9rem;
  }
  
  table th,
  table td {
    border: 1px solid rgba(15, 23, 42, 0.08);
    padding: 0.45rem 0.6rem;
  }
  
  table th {
    background-color: #eef1f7;
    font-weight: 500;
  }
  
  /* Center figures and keep them calm */
  .figure, figure {
    text-align: center;
    margin: 1.5rem auto;
  }
  
  .figure img, figure img {
    border-radius: 10px;
  }
  
  /* ================================
     Footer
     ================================ */
  
  .site-footer,
  footer {
    font-size: 0.8rem;
    color: #6b7280;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    margin-top: 3rem;
    padding-top: 1.5rem;
  }

  /* Home tagline styling */
.homepage-intro {
    margin-top: 1.5rem;
    margin-bottom: 2rem;
    font-size: 1.15rem;
    color: #374151;
    font-weight: 400;
    letter-spacing: 0.02em;
  }
  
  .homepage-byline {
    font-size: 0.9rem;
    margin-top: -0.2rem; 
    
  }
  