@charset "utf-8";
/* CSS Document */

  img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  body {
    background-color: #0d0d0d;
    color: #d7dadc;
    font-size: 20px;
    line-height: 1.5;
    padding: 40px 12%;
    margin: 0 auto;
    max-width: 1100px;
    font-family: 'Lora', serif;
  }

  h1, h2, h3, h4 {
    font-family: 'Lora', serif;
    color: #ffffff;
    text-align: center;
    margin-top: 30px;
  }

  h1 { font-size: 36px; }
  h2 { font-size: 28px; }
  h3 { font-size: 22px; }

  /* Desktop Navigation */
  .nav-container {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 30px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 20px;
  }

  .nav-toggle, .nav-toggle-label { display: none; }
  .nav-links { display: flex; gap: 20px; }

  .nav-link {
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding: 12px 25px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 5px;
    transition: 0.3s;
  }

  .nav-link:hover {
    border-color: #5fb0ff;
    color: #5fb0ff;
    background: rgba(255, 255, 255, 0.05);
  }

  /* Link Styles in Text */
  a { color: #5fb0ff; text-decoration: none; font-weight: bold; }
  a:visited { color: #a0cfff; }
  a:hover { color: #ffffff; text-decoration: underline; }

  /* Consolidated Mobile Over-ride */
  @media (max-width: 800px) {
    body {
      padding: 30px;
      font-size: 22px;
    }
    p {
      text-align: left !important;
    }
    h1, h2, h3 { font-size: 26px; } 

    .nav-container {
      flex-direction: column;
      align-items: flex-start; /* Menu to the left */
      padding: 15px 25px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .nav-toggle-label {
      display: flex;
      align-items: center;
      gap: 12px;
      cursor: pointer;
    }

    .menu-text {
      font-size: 14px;
      letter-spacing: 2px;
      color: #ffffff;
    }

    .hamburger-lines, .hamburger-lines::before, .hamburger-lines::after {
      display: block; background: #fff; height: 2px; width: 22px; position: relative;
    }
    .hamburger-lines::before { content: ''; position: absolute; top: 7px; left: 0; background: #fff; height: 2px; width: 22px; }
    .hamburger-lines::after { content: ''; position: absolute; bottom: 7px; left: 0; background: #fff; height: 2px; width: 22px; }

    .nav-links {
      display: none;
      width: 100%;
      flex-direction: column;
      gap: 10px;
      margin-top: 20px;
    }
    .nav-toggle:checked ~ .nav-links { display: flex; }
    .nav-link { width: 100%; text-align: center; font-size: 18px; }
  }
	
	
	footer {
    text-align: center;
    padding: 60px 20px;
    margin-top: 80px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-family: 'Lora', serif;
    font-size: 14px;
    color: #d7dadc;
    letter-spacing: 1px;
  }

  footer a {
    color: #5fb0ff;
    text-decoration: none;
    transition: 0.3s;
  }

  footer a:hover {
    color: #ffffff;
    text-decoration: underline;
  }

  /* Mobile adjustment for footer */
  @media (max-width: 800px) {
    footer {
      padding: 40px 20px;
      font-size: 13px;
    }
  }

/* --- Home Page Specific Card Styles --- */
.card-container {
    flex-grow: 1;
    display: flex;
    align-items: flex-start; /* Changes vertical alignment from center to top */
    justify-content: center;
    padding-top: 40px;       /* Set this to your preferred distance from the navigation */
}

.card { 
    background-image: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url('../assets/Kirsten_selfportrait.webp');
    background-size: cover;
    background-position: top center;
    width: 90%;             /* Changed from 400px so it fits all phones */
    max-width: 400px;       /* Keeps it from getting too big on PC */
    height: 500px; 
    display: flex;
    flex-direction: column;
    justify-content: flex-start; 
    align-items: center;
    border: 1px solid #333; 
    border-radius: 15px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.5); 
    color: #fff;
    padding: 20px;          /* Back to 20px for better breathing room */
    padding-top: 260px;     /* Adjusted to sit perfectly under the lens */
    box-sizing: border-box; 
}
.social a { color: #5fb0ff; text-decoration: none; font-weight: bold; }

/* Forces the home page to fill the screen for vertical centering */
.splash-body {
    display: flex; 
    flex-direction: column;
    min-height: 100vh;
}

/* 1. General rule for all paragraphs in the card */
.card p {
    margin: 0;
    font-size: 18px;
    white-space: nowrap;
}

/* 2. Specific rule for the second line (Photography & Social Media) */
.card p:last-of-type {
    font-size: 14px;
    letter-spacing: 1px;
    margin-top: 2px;
}

/* 3. Tighten the gap above her name */
.card h1 {
    margin: 0;
    font-size: 1.6em;
}


.card hr {
    margin: 15px auto !important;
}