/* Header */
.header-bar {padding: 20px 0; text-align: center; box-shadow: 0 1px 0 rgba(0,0,0,0.08);} 
.header-bar h1 {margin: 0 0 24px 0; font-family: Helvetica, serif; font-size: 24px; color: #87591d; font-weight: 300}
.header-bar .header-logo {display:block; margin: 0 auto 8px; max-width: 120px; width: 20%; height: auto}
/* Footer */
.site-footer {text-align: center; padding: 16px 0; font-family: Times, serif; font-size: 12px; color: #87591d}
.site-footer a {color: #87591d; text-decoration: none}
/* Navigation in header */
.nav-bar {margin-top: 8px}
.nav-bar ul {list-style:none;padding:0;margin:8px 0 0;display:inline-flex;gap:18px}
.nav-bar li {margin:0}
.nav-bar a {color:#87591d;text-decoration:none;font-weight:300;padding:6px 8px}
.nav-bar a:hover {text-decoration:underline}

/* Temporary WIP banner */
.site-banner {background:#f2d8b5; color:#87591d; text-align:center; padding:10px 12px; font-weight:300; font-size:14px; border-bottom:1px solid rgba(135,89,29,0.08)}
.site-banner small {display:block; opacity:0.9; font-size:12px; margin-top:6px}
/* Global site colors */
body, .header-bar {background: #f9f5ed; color: #87591d}
a {color: #87591d}
.s4 {color: #87591d !important; -webkit-text-stroke: 0px #87591d}
.p7 {color: #87591d}
/* Global Font */
html, body, body * {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-weight: 450 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Contact form layout */
.form-container {max-width: 720px; margin: 28px auto; padding: 0 16px}
.form-container label {display:block; color: #87591d}
.form-container input[type="text"],
.form-container input[type="email"],
.form-container textarea {width:100%; padding:10px; border:1px solid #e0d7c8; background:transparent; color:#87591d; box-sizing:border-box}
.form-container input[type="submit"] {
  display: inline-block;
  background: #87591d;
  color: #f9f5ed;
  border: none;
  padding: 10px 18px;
  cursor: pointer;
  font-weight: 300;
  margin-top: 10px;
}
.form-container input[type="submit"]:hover {
  opacity: 0.95;
}

/* Align submit button to the right */
.form-container p.p3:last-child {
  text-align: right;
}

/* Large text content area */
.content {max-width:900px; margin:32px auto; padding:24px; background:transparent; color:#87591d; line-height:1.6}
.content p {margin-bottom:16px}
.content .lead {font-size:18px; font-weight:bold !important;}

/* Personal image icon (centered) */
.me-icon {
  display: block;
  margin: 0.5rem auto 1rem;
  width: auto;
  max-width: 100%;
  height: auto;
  padding-bottom: 50px;
}

/* Gallery grid (masonry-style, natural flow for mixed aspect ratios) */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  grid-auto-rows: 10px;
  gap: 12px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 6px;
}
.gallery-item {
  margin: 0;
  padding: 0;
  border-radius: 0;
  overflow: hidden;
  grid-row-end: span 1;
}
.gallery-item img {
  width: 100%;
  height: auto;
  display: block;
}
.gallery-item .caption {display: none}

/* Loading state */
.gallery-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem;
  color: rgba(135, 89, 29, 0.85);
  font-style: italic;
  font-size: 1.1rem;
}

@media (max-width: 900px) {
  .gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}

/* Blog styles */
.blog-post { margin-bottom: 2rem; border-bottom: 1px solid rgba(135,89,29,0.2); padding-bottom: 2rem; }
.blog-post:last-child { border-bottom: none; }
.blog-post h2 { font-size: 1.5rem; margin-bottom: 0.5rem; color: #87591d; }
.blog-post time { display: block; font-style: italic; margin-bottom: 1rem; color: rgba(135,89,29,0.7); font-size: 0.9rem; }
.blog-photo { max-width: 100%; height: auto; margin: 1rem 0; border-radius: 4px; }
