/* ===== Header layout ===== */
/* Keep header/main/footer aligned (optional) */
:root { --content-width: 1000px; }
header, main, footer { max-width: var(--content-width); margin: 0; }

/* Title link (logo + title text in one row) */
header h1 a {
  display: inline-flex;        /* side by side */
  align-items: center;         /* vertical center */
  gap: 0.5rem;                 /* space between logo and text */
  line-height: 1.1;
  color: #000 !important;
  text-decoration: none !important;
  font-size: 2rem;
  font-weight: 900;
}

/* Whole brand (logo + text) is one link */
.site-header { margin: 0; }
.site-brand {
  display: inline-flex;             /* logo left, text right */
  align-items: center;              /* vertically center logo to text block */
  gap: 1rem;
  text-decoration: none !important;
  color: #000 !important;
}

header h1 a:hover {
  color: #000;                 /* no hover color change */
  text-decoration: none !important;
}

/* Logo / portrait */
.site-logo {
  width: 48px;
  height: 48px;
  border-radius: 50%;          /* circle */
  object-fit: cover;           /* crop nicely */
  display: block;              /* avoid baseline quirks */
  flex: 0 0 48px;              /* don’t stretch */
}

/* Title + subtitle stacked */
.site-title-block {
  display: flex;
  flex-direction: column;       /* stack title + subtitle */
  justify-content: center;      /* center them vertically */
}

/* Title line */
.site-title {
  font-size: 2rem;
  font-weight: 900;
  color: #000;
}

/* Subtitle row */
.site-subtitle {
  display: block;              /* new line below title */
  font-size: 1.5rem;
  margin-top: 0.5rem;
  color: #555;
}

/* ===== Menu links ===== */
header nav a {
  color: #000 !important;
  text-decoration: underline !important;
  font-size: 1.125rem;
  font-weight: 500;
}

header nav a:hover {
  color: #111 !important;      /* subtle darker */
  text-decoration: none !important;
}
