   /* Custom classes for Tailwind CSS */
      body {
        font-family: 'Crimson Text', serif;
        background-color: #f5f7fa;
        color: #1f2937;
      }
      
      h1, h2, h3, h4, h5, h6 {
        font-family: 'Oswald', sans-serif;
        font-weight: 500;
        letter-spacing:-0.045em;
      }
      
      .nav-link {
        position: relative;
        transition: color 0.3s ease;
      }
      
      .nav-link::after, .nav-link:active::after {
        content: '';
        position: absolute;
        width: 0;
        height: 2px;
        bottom: -4px;
        left: 0;
        background-color: #4f46e5;
        transition: width 0.3s ease;
      }
      
      .nav-link:hover::after,
      .nav-link.active::after {
        width: 100%;
      }

      .nav-link.active {
        color: #4f46e5;
      }
      
      .hero-image-figure {
        max-height: 500px;
        object-fit: contain;
        margin: 0 auto;
      }
      
      .portfolio-card {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
      }
      
      .portfolio-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
      }

      code {
        font-family: 'Courier New', Courier, monospace;
        background-color: #e5e7eb;
        padding: 0.2em 0.4em;
        border-radius: 3px;
        font-size: 0.9em;
      }

      .case-study-content {
        line-height: 1.8;
      }

      .case-study-content h2 {
        font-size: 2.5rem;
        margin-top: 3rem;
        margin-bottom: 1.5rem;
        color: #1f2937;
      }

      .case-study-content h3 {
        font-size: 1.75rem;
        margin-top: 2rem;
        margin-bottom: 1rem;
        color: #374151;
      }

      .case-study-content p {
        font-size: 1.25rem;
        margin-bottom: 1.5rem;
      }

      .case-study-content ul {
        font-size: 1.25rem;
        margin-bottom: 1.5rem;
        margin-left: 2rem;
        list-style-type: disc;
        padding-left: 1rem;
      }

      .case-study-content ol {
        font-size: 1.25rem;
        margin-bottom: 1.5rem;
        margin-left: 2rem;
        list-style-type: decimal;
        padding-left: 1rem;
      }

      .case-study-content li {
        margin-bottom: 0.5rem;
      }

      .case-study-content blockquote {
        border-left: 4px solid #4f46e5;
        padding-left: 1.5rem;
        margin: 2rem 0;
        font-style: italic;
        color: #6b7280;
      }

      .case-study-content img {
        max-width: 100%;
        height: auto;
        margin: 2rem 0;
        border-radius: 0.5rem;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
      }

      .page-content img {
        max-width: 30%;
        height: auto;
        margin: 2rem 0;
        border-radius: 0.5rem;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
      }


      /* Anchor links inside markdown content */
      .case-study-content a,
      .page-content a {
        color: #4f46e5;
        text-decoration: underline;
        text-underline-offset: 3px;
        transition: color 0.2s ease;
      }

      .case-study-content a:hover,
      .page-content a:hover {
        color: #4338ca;
      }

      /* Thumbnail positioning */
      .thumbnail-up {
        object-position: center 60%;
      }

      /* Markdown list styles */
      article ul,
      .markdown-content ul,
      main ul {
        list-style-type: disc;
        margin-left: 1.5rem;
        margin-bottom: 1rem;
        padding-left: 0.5rem;
      }

      article ol,
      .markdown-content ol,
      main ol {
        list-style-type: decimal;
        margin-left: 1.5rem;
        margin-bottom: 1rem;
        padding-left: 0.5rem;
      }

      article li,
      .markdown-content li,
      main li {
        margin-bottom: 0.5rem;
      }
      .caricature-mobile {
        position: absolute;
        width: 6.0rem;
        height: auto;
        right: -1.0rem;
        top: 6.0rem;
        display: inline-block;
      }
      .caricature {
        position: fixed;
        top: 2.5rem;
        right: -4.0rem;
        z-index: 40;
        display: none !important;
        transition: top 0.5s ease, right 0.5s ease;
        cursor: pointer;
      }
      .caricature.tucked-away {
        top: 17rem;
        right: -10rem;
      }
      @media (min-width: 1024px) {
        .caricature {
          display: block !important;
        }
      }
