:root {
  --ha-bg: #f4f6f8;
  --ha-surface: #ffffff;
  --ha-blue: #1f6f8b;
  --ha-blue-dark: #15526a;
  --ha-orange: #e8862b;
  --ha-orange-dark: #c66e1c;
  --ha-ink: #2b2f33;
  --ha-muted: #71767d;
  --ha-border: #dde3e8;
  --ha-head: "Poppins", Helvetica, Arial, sans-serif;
  --ha-body: "Open Sans", Helvetica, Arial, sans-serif;
}

.ha-body {
  background-color: #f4f6f8;
  color: #2b2f33;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  display: flex; flex-direction: column; min-height: 100vh;
}
.ha-main { flex: 1 0 auto; }

h1, h2, h3, h4, .ha-h, .ha-brand, .ha-hero-title {
  font-family: "Poppins", Helvetica, Arial, sans-serif;
  color: #1f6f8b;
  line-height: 1.2;
}
h1, .ha-hero-title { font-size: 34px; font-weight: 700; }
h2 { font-size: 26px; font-weight: 600; }
h3 { font-size: 20px; font-weight: 600; }

/* nav */
.ha-titlebar { background: #1f6f8b; }
.ha-topbar { background: #1f6f8b; }
.ha-topbar .menu, .ha-topbar .menu a, .ha-topbar .dropdown.menu a { background: transparent; color: #ffffff; }
.ha-topbar .dropdown.menu a:hover { color: #e8862b; }
.ha-topbar .menu .menu.vertical { background: #15526a; }
.ha-topbar .dropdown.menu > li { position: relative; }
.ha-topbar .dropdown.menu > li > .menu.vertical {
  display: none;
  left: 0;
  min-width: 16rem;
  padding: 0.35rem 0;
  position: absolute;
  top: 100%;
  z-index: 20;
}
.ha-topbar .dropdown.menu > li:hover > .menu.vertical,
.ha-topbar .dropdown.menu > li:focus-within > .menu.vertical {
  display: block;
}
.ha-brand { color: #ffffff; font-family: var(--ha-head); }
.ha-brand-lg { font-size: 1.4rem; padding: 0.7rem 1rem; display: inline-block; }
.ha-titlebar .ha-brand { padding: 0; }

/* hero */
.ha-hero { background: linear-gradient(135deg, #1f6f8b 0%, #15526a 100%); color: #fff; padding: 3rem 0; }
.ha-hero .grid-container { max-width: 75rem; }
.ha-hero-title { color: #ffffff; }
.ha-hero-sub { color: #cfe2e9; font-size: 1.1rem; }

/* sections / prose */
.ha-section { padding-top: 2rem; padding-bottom: 2.5rem; }
.ha-prose { background: #ffffff; border: 1px solid #dde3e8; border-radius: 6px; padding: 1.9rem 2.1rem; box-shadow: 0 2px 6px rgba(31,111,139,0.06); }
.ha-prose img, .ha-img { max-width: 100%; height: auto; border-radius: 4px; }
.ha-prose a { color: #1f6f8b; text-decoration: underline; text-decoration-color: #e8862b; }
.ha-prose a:hover { color: #e8862b; }
.ha-muted { color: #71767d; }
.ha-quote { border-left: 4px solid #e8862b; padding-left: 1rem; color: #2b2f33; background: #f4f6f8; font-style: italic; }
.ha-listing-title { border-bottom: 2px solid #e8862b; padding-bottom: 0.4rem; margin-bottom: 1.5rem; }
.ha-toc { background: #f4f6f8; border: 1px solid #dde3e8; border-radius: 6px; padding: 1rem 1.25rem; }
.ha-rule { border-bottom: 1px solid #dde3e8; }
.ha-table { width: 100%; }
.ha-breadcrumb a { color: #71767d; }
.ha-related { margin-top: 1.5rem; }
.article-main-image { max-width: 40%; margin: 0 0 1rem 1.5rem; }

/* cards */
.ha-card { border: 1px solid #dde3e8; border-radius: 6px; }
.ha-card .ha-h a { color: #1f6f8b; text-decoration: none; }
.ha-card .ha-h a:hover { color: #e8862b; }
.read-more.button { background: #e8862b; color: #fff; border: none; }
.read-more.button:hover { background: #c66e1c; }

/* footer */
.ha-footer { background: #15526a; color: #cfe2e9; padding: 2.5rem 0 1.5rem; }
.ha-footer .grid-container { max-width: 75rem; }
.ha-footer .ha-brand { color: #e8862b; }
.ha-footer-sitemap { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; }
.ha-footer-link { color: #cfe2e9; text-decoration: none; font-size: 0.9rem; }
.ha-footer-link:hover { color: #e8862b; }
.ha-footer-copy { color: #93b5c1; border-top: 1px solid #1f6f8b; margin-top: 1.25rem; padding-top: 1rem; font-size: 0.85rem; }

@media print { .ha-titlebar, .ha-topbar, .ha-footer { display: none; } }
