

:root {
  --header-height: 92px;
  --nav-bg: #0c4a7d;
  --nav-text: #ffffff;
  --accent: #ff8a00;
  --accent-dark: #e87700;
  --body-text: #1f2937;
  --heading: #0f172a;
  --page-bg: #f5f7fa;
  --card-bg: #ffffff;
  --border: #d7dde5;
  --shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  --container: 1200px;
}

html, body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  color: var(--body-text);
  background: var(--page-bg);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Important so sticky/fixed nav is not covered by page content */
body.has-sticky-header {
  padding-top: var(--header-height);
}

main {
  flex: 1;
}

.page-main {
  width: 100%;
}

.page-content {
  padding: 48px 0 64px;
}

.container {
  width: min(100% - 40px, 1100px);
  margin: 0 auto;
}

/* Prevent sticky failures caused by parent wrappers */
body,
main,
.page-wrapper,
.site-wrapper {
  overflow: visible;
}

@media (max-width: 960px) {
  :root {
    --header-height: 82px;
  }
}
