:root {
  --bg-primary: #262626;
  --bg-card: #000000;
  --text-main: #fefefe;
  --text-bright: #ffffff;
  --spotlight-glow: rgba(229, 219, 219, 0.92);
}
html, body {
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  background-color: var(--bg-primary);
  color: var(--text-main);
  font-family: Georgia, 'Times New Roman', Times, serif;
}
header{
    background: var(--bg-primary) radial-gradient(circle at 50% 0%, var(--spotlight-glow) 15%, transparent 75%);
    width: 100%;
    width: 100%;
    min-height: 250px; /* Ensures it never shrinks too small on tiny screens */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
/* 2. Top Branding Block (Logo, Name, Subtitle) */
.hero-branding {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 30px; /* Space between text and your headshot */
}

.logo-img {
  width: 280px; /* Adjust based on your actual SVG/PNG asset size */
  height: auto;
  margin-bottom: 20px;
}

header h1 {
  margin: 0 0 8px 0;
  font-family: serif; /* Matches the classic editorial look in your mock-up */
  font-size: 2.2rem;
  font-weight: 400;
  letter-spacing: 1px;
  color: var(--text-light);
}

.subtitle {
  margin: 0;
  font-family: serif;
  font-style: italic;
  font-size: 0.95rem;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, 0.7); /* Softened text color for elegance */
}

/* 3. Headshot Block */
.hero-portrait {
  width: 100%;
  display: flex;
  justify-content: center;
}

.portrait-img {
  width: 80%;       /* Keeps it responsive on mobile screens */
  max-width: 280px; /* Caps its size so it doesn't get too massive */
  height: auto;
  border-radius: 4px; /* Optional soft edge if desired */
  display: block;
}

div.gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 120px;
  margin-bottom: 200px;
}

div.gallery-item {
  margin: 1px;
  width: 90vw;
  margin-top: 60px;
}

div.gallery-item img {
  width: 100%;
  height: auto;
}

div.gallery-item div.desc {
  display: flex;
  align-items: center;
  padding: 0px;
  text-align: left;
}

.img-title {
  font-family: Georgia, 'Times New Roman', Times, serif;
  font-size: 4.2vw;
}
.img-details{
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  font-size: 3.8vw;
  padding-left: 26px;
}
div.gallery-item div.desc .red-dot{
  width: 5vw;
  padding-left: 2vw;
}
.bio{
  text-align: left;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  font-size: 1.6rem;
  padding: 4%;
  margin-bottom: 100px;
}
/*
.fff-navbar{
  background-color: #000000;
  color: #ffffff;
}
.fff-navbar a{
  color: #ffffff;
  text-decoration: none;
  margin-right: 40px;
}
.navbar-footer{
  text-align: right;
}
.navbar-logo{

}
*/
/* 1. Style the parent <p> container */
.fff-navbar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background-color: #000000;
  color: #ffffff;
}
.navbar-footer{
  display: flex;
  justify-content: space-between; /* Pushes image to the far left, text to the far right */
  align-items: center;            /* Perfectly centers the text and image vertically */
  width: 100%;
  padding:   10px        5% ;      /* Adds a 5% safety cushion inside the left and right edges */ 
  box-sizing: border-box; /* 💡 CRUCIAL: Keeps 100% width + padding from breaking the screen */                
}
.navbar-footer a{
  color: #ffffff;
  text-decoration: none;
  font-size: 5vw;
}

/* 2. Style your image class (optional sizing) */
.navbar-logo {
  width: 12vw;   /* Set to your preferred size */
  height: auto;  /* Set to your preferred size */
}