:root {
  --bc-primary: #0f52ba;
  --bc-navy: #0b1f3a;
  --bc-orange: #ff7a00;
  --bc-green: #1fa971;
  --bc-white: #ffffff;
  --bc-light: #f7f9fc;
  --bc-border: #e5eaf2;
  --bc-dark: #1c2430;
  --bc-muted: #5f6b7a;
  --bc-shadow: 0 18px 45px rgba(11, 31, 58, 0.08);
  --bc-shadow-soft: 0 10px 28px rgba(11, 31, 58, 0.06);
  --bc-font-heading: "Poppins", "Inter", Arial, sans-serif;
  --bc-font-body: "Inter", Arial, sans-serif;
  --bc-container: 1200px;
  --bc-content: 820px;
  --bc-section: 80px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--bc-dark);
  background: var(--bc-white);
  font-family: var(--bc-font-body);
  font-size: 16px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
}

body.menu-open {
  overflow: hidden;
}

img,
svg,
video {
  max-width: 100%;
  height: auto;
}

img {
  display: block;
}

a {
  color: var(--bc-primary);
  text-decoration: none;
}

a:hover,
a:focus {
  color: var(--bc-orange);
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 18px;
  color: var(--bc-navy);
  font-family: var(--bc-font-heading);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0;
}

h1 {
  font-size: 48px;
}

h2 {
  font-size: 36px;
}

h3 {
  font-size: 28px;
}

h4 {
  font-size: 22px;
}

p {
  margin: 0 0 18px;
}

ul,
ol {
  margin-top: 0;
}

small,
.small-text {
  font-size: 14px;
}

::selection {
  color: var(--bc-white);
  background: var(--bc-primary);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
  top: 12px;
  left: 12px;
  width: auto;
  height: auto;
  padding: 10px 14px;
  color: var(--bc-white);
  background: var(--bc-navy);
  z-index: 10000;
  clip: auto;
}

.rich-text p,
.rich-text ul,
.rich-text ol {
  color: var(--bc-muted);
  font-size: 17px;
}

.rich-text a {
  font-weight: 700;
}

.rich-text > :last-child {
  margin-bottom: 0;
}

.wp-caption,
.wp-block-image,
.wp-block-embed {
  max-width: 100%;
}

.alignwide {
  max-width: var(--bc-container);
}

.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
}