/* ================================
   Reset & Basics
   ================================ */
   * {
    box-sizing: border-box;
  }
  
  body {
    margin: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
                 Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.65;
    color: #222;
  
    background: linear-gradient(
      to bottom,
      #f5f7fb 0%,
      #ffffff 55%,
      #ffffff 100%
    );
  }
  
  /* ================================
     Links
     ================================ */
  a {
    color: #005bbb;
    text-decoration: none;
  }
  
  a:hover {
    text-decoration: underline;
  }
  
  /* ================================
     Layout
     ================================ */
  .container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 1.2rem;
  }
  
  /* ================================
     Header
     ================================ */
  .site-header {
    padding: 2.1rem 0 1.4rem;
    border-bottom: 1px solid #e6e9ef;
  }
  
  .site-header h1 {
    margin: 0;
    font-size: 2.3rem;
    font-weight: 600;
  }
  
  .subtitle {
    margin: 0.6rem 0 0.4rem;
    color: #666;
    font-size: 1.05rem;
  }
  
  /* kleines Portrait nur für Mobile */
  .header-portrait {
    display: none;
    width: 92px;
    height: 92px;
    object-fit: cover;
    border-radius: 10px;
    margin: 0.8rem 0 0.3rem;
    border: 1px solid #e6e9ef;
  }
  
  /* ================================
     Navigation
     ================================ */
  .main-nav {
    margin-top: 1.3rem;
  }
  
  .main-nav a {
    margin-right: 1.4rem;
    font-weight: 500;
    color: #222;
  }
  
  .main-nav a:last-child {
    margin-right: 0;
  }
  
  /* ================================
     Sections
     ================================ */
  .section {
    padding: 2.1rem 0;
  }
  
  .section-light {
    background: #f2f4f7;
  }
  
  .section h2 {
    margin: 0;
    font-size: 1.65rem;
    font-weight: 600;
    line-height: 1.25;
  }
  
  /* kontrollierter Abstand h2 → subtitle */
  .section h2 + .subtitle {
    margin-top: 0.35rem;
    margin-bottom: 0.9rem;
  }
  
  /* ================================
     Intro / Lead
     ================================ */
  .section.intro {
    padding: 1.4rem 0 1.6rem;
    border-bottom: 1px solid #e6e9ef;
  }
  
  .intro p {
    margin: 0;
    font-size: 1.05rem;
    max-width: 760px;
    color: #444;
  }
  
  /* ================================
     Listen
     ================================ */
  .link-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
  }
  
  .link-list li {
    margin-bottom: 0.7rem;
  }
  
  /* ================================
     Portrait im Content ("Über mich")
     ================================ */
  .portrait {
    max-width: 200px;
    height: auto;
    float: right;
    margin: 1rem 0 1rem 1.5rem;
    border-radius: 4px;
  }
  
  /* ================================
     Presse (Archiv)
     ================================ */
  .year-title {
    margin: 2.2rem 0 0.8rem;
    padding-top: 1.2rem;
    border-top: 1px solid #eee;
    font-size: 1.2rem;
    color: #333;
  }
  
  .year-title:first-of-type {
    border-top: none;
    padding-top: 0;
    margin-top: 1.2rem;
  }
  
  /* ================================
     Small text
     ================================ */
  .small {
    font-size: 0.9rem;
    color: #555;
  }
  
  /* ================================
     Footer
     ================================ */
  .site-footer {
    border-top: 1px solid #e6e9ef;
    padding: 2rem 0;
    font-size: 0.9rem;
    text-align: center;
    color: #666;
  }
  
  /* ================================
     Responsive – Mobile
     ================================ */
  @media (max-width: 700px) {
  
    /* Header kompakter */
    .site-header {
      padding: 1.7rem 0 1.2rem;
    }
  
    .site-header h1 {
      font-size: 1.9rem;
    }
  
    .subtitle {
      font-size: 1rem;
    }
  
    /* kleines Bild im Header anzeigen */
    .header-portrait {
      display: block;
    }
  
    /* großes Portrait im Content ausblenden */
    .portrait {
      display: none;
    }
  
    .main-nav a {
      display: inline-block;
      margin: 0.4rem 0.8rem 0 0;
    }
  }