/* Shared header for generated pages and hand-maintained blog posts. */
.header { background: #3a7d72; color: #fff; padding: 20px 0; }
.header .inner { max-width: 1100px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 24px; }
.header a.logo { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font-weight: 700; font-size: 18px; line-height: 1.3; }
.header .logo-mark { position: relative; display: block; flex: 0 0 48px; width: 48px; height: 46px; overflow: hidden; }
.header .logo-mark img { position: absolute; width: 177.66%; max-width: none; height: 125.3%; left: -42.19%; top: -10.74%; }
.header nav { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.header nav a { color: #fff; text-decoration: none; font-size: 14px; font-weight: 400; line-height: 1.5; }
.header nav a:hover { text-decoration: underline; }
.header nav a.cta { display: inline-block; margin: 0; padding: 10px 16px; border-radius: 8px; background: #e86a3c; color: #fff; font-size: 14px; font-weight: 600; white-space: nowrap; }
.header nav a.cta:hover { background: #d25a2e; }
@media (max-width: 560px) {
  .header .inner { padding: 0 20px; }
  .header a.logo { font-size: 17px; }
}
