/* ==========================================================================
   Fundacja Misja Bezpieczni – style.css
   Mobile-first. Barwy WYŁĄCZNIE z księgi barw (tokeny w :root).
   Breakpointy: 40em (640 px) · 48em (768 px) · 60em (960 px).
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Fonty (self-hosted, licencja SIL OFL 1.1 – pliki LICENSE-* obok)
   -------------------------------------------------------------------------- */
@font-face {
  font-family: "Lora";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/lora-latin-ext-600-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Lora";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/lora-latin-600-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Lora";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/lora-latin-ext-700-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Lora";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/lora-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Lora";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/lora-latin-ext-400-italic.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Lora";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/lora-latin-400-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/source-sans-3-latin-ext-400-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/source-sans-3-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/source-sans-3-latin-ext-400-italic.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/source-sans-3-latin-400-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/source-sans-3-latin-ext-600-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/source-sans-3-latin-600-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/source-sans-3-latin-ext-700-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/source-sans-3-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --------------------------------------------------------------------------
   2. Tokeny – księga barw (wiążąca) + role
   -------------------------------------------------------------------------- */
:root {
  /* Księga barw */
  --c-blue: #007AC9;        /* Błękit Misja      – główny          */
  --c-blue-deep: #00436F;   /* Błękit głęboki    – główny ciemny   */
  --c-navy: #0B2A4A;        /* Granat            – tekst, stopka   */
  --c-blue-light: #CCE4F4;  /* Błękit jasny      – tło             */
  --c-blue-pale: #E6F2FA;   /* Błękit b. jasny   – tło             */
  --c-coral: #F26B4F;       /* Koral             – akcent, CTA     */
  --c-coral-dark: #C8452B;  /* Koral ciemny      – hover CTA       */
  --c-amber: #FFB020;       /* Bursztyn          – ikony, podkreśl.*/
  --c-white: #FFFFFF;       /* Biel                                */

  /* Neutralne – wyłącznie obramowania i cienie */
  --c-line: rgba(11, 42, 74, .12);
  --c-line-strong: rgba(11, 42, 74, .25);
  --c-shadow: rgba(11, 42, 74, .10);
  --c-line-on-dark: rgba(255, 255, 255, .22);

  /* Role (nadpisywane w sekcjach jasnych/ciemnych) */
  --text: var(--c-navy);
  --text-soft: var(--c-blue-deep);
  --link: var(--c-blue);
  --link-hover: var(--c-blue-deep);
  --focus: var(--c-blue);

  /* Typografia */
  --font-serif: "Lora", Georgia, "Times New Roman", serif;
  --font-sans: "Source Sans 3", "Source Sans Pro", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --measure: 68ch;

  /* Siatka i rytm */
  --container: 1120px;
  --gutter: 16px;
  --gap: 1.25rem;
  --section-y: 3.5rem;
  --radius: 8px;
  --radius-lg: 14px;
  --t: 150ms;
}

@media (min-width: 40em) {
  :root { --gutter: 24px; --gap: 1.75rem; --section-y: 4.5rem; }
}
@media (min-width: 60em) {
  :root { --gutter: 32px; --gap: 2rem; --section-y: 6rem; }
}

/* --------------------------------------------------------------------------
   3. Baza
   -------------------------------------------------------------------------- */
*,
*::before,
*::after { box-sizing: border-box; }

html {
  font-size: 106.25%; /* 17 px */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
@media (min-width: 60em) {
  html { font-size: 112.5%; } /* 18 px */
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  background: var(--c-white);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.6;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { display: block; max-width: 100%; height: auto; }
svg { flex-shrink: 0; }

h1, h2, h3 {
  margin: 0 0 .6em;
  color: var(--c-navy);
  font-family: var(--font-serif);
  line-height: 1.2;
  text-wrap: balance;
}
h1 {
  font-size: clamp(2rem, 1.45rem + 2.1vw, 2.85rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.01em;
}
h2 {
  position: relative;
  margin-bottom: .95em;
  padding-bottom: .55em;
  font-size: clamp(1.6rem, 1.25rem + 1.3vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -.005em;
}
/* Bursztynowe podkreślenie H2 – konsekwentnie na całej stronie */
h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 56px;
  height: 4px;
  border-radius: 2px;
  background: var(--c-amber);
}
h3 { font-size: 1.25rem; font-weight: 600; line-height: 1.3; }

p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; }
strong { font-weight: 700; }

a {
  color: var(--link);
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  transition: color var(--t), text-decoration-color var(--t);
}
a:hover { color: var(--link-hover); text-decoration-thickness: 2px; }

:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}
main { flex: 1 0 auto; }
main:focus { outline: none; }

::selection { background: var(--c-blue-light); color: var(--c-navy); }

address { font-style: normal; }

/* Atrybut hidden ma wygrywać z display: z klas komponentów */
[hidden] { display: none !important; }

/* --------------------------------------------------------------------------
   4. Narzędzia
   -------------------------------------------------------------------------- */
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  top: -10rem;
  left: var(--gutter);
  z-index: 100;
  padding: .75rem 1.1rem;
  border-radius: var(--radius);
  background: var(--c-navy);
  color: var(--c-white);
  font-weight: 600;
  text-decoration: none;
}
.skip-link:focus { top: .75rem; color: var(--c-white); }

.icon { width: 1.15em; height: 1.15em; }

/* --------------------------------------------------------------------------
   5. Układ
   -------------------------------------------------------------------------- */
.container {
  width: min(100% - 2 * var(--gutter), var(--container));
  margin-inline: auto;
}
.container--narrow { --container: 760px; }
.container--mid { --container: 920px; }

.section { padding-block: var(--section-y); }
.section--compact { padding-block: calc(var(--section-y) * .5); }
/* Panel CTA: bez górnego odstępu tylko po zwykłej, białej sekcji */
.section:not(.section--pale):not(.section--light):not(.section--deep) + .section--cta { padding-top: 0; }
.section--pale { background: var(--c-blue-pale); --link: var(--c-blue-deep); }
.section--light { background: var(--c-blue-light); --link: var(--c-blue-deep); }
.section--deep {
  background: var(--c-blue-deep);
  color: var(--c-white);
  --text: var(--c-white);
  --link: var(--c-white);
  --link-hover: var(--c-white);
  --focus: var(--c-white);
}
.section--deep h2,
.section--deep h3 { color: var(--c-white); }

/* Cienka linia między dwiema białymi sekcjami */
.section--divided { padding-top: 0; }
.section--divided > .container {
  padding-top: var(--section-y);
  border-top: 1px solid var(--c-blue-light);
}

/* Podział 4/12 + 8/12: nagłówek sekcji obok treści */
.split { display: grid; gap: 0 var(--gap); }
@media (min-width: 60em) {
  .split { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; }
  .split__head h2 { margin-bottom: 0; }
}

.prose { max-width: var(--measure); }
.prose > :last-child { margin-bottom: 0; }
.prose ul { padding-left: 1.25rem; }
.prose li { margin-bottom: .5rem; padding-left: .25rem; }
.prose li::marker { color: var(--c-blue); }

.lead { font-size: 1.15rem; line-height: 1.55; }
.split__body > .lead { max-width: 62ch; }
@media (min-width: 60em) { .lead { font-size: 1.2rem; } }

.statement {
  max-width: 34ch;
  margin: 0;
  color: var(--c-navy);
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 1.1rem + .9vw, 1.7rem);
  font-weight: 600;
  line-height: 1.4;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 1rem;
  color: var(--c-blue-deep);
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.eyebrow::before {
  content: "";
  width: 28px;
  height: 2px;
  background: var(--c-blue);
}
.eyebrow a { color: inherit; text-decoration: none; }
.eyebrow a:hover { text-decoration: underline; }


/* --------------------------------------------------------------------------
   6. Przyciski
   -------------------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 44px;
  padding: 12px 22px;
  border: 2px solid transparent;
  border-radius: var(--radius);
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--t), color var(--t), border-color var(--t);
}
.btn .icon { width: 1.1em; height: 1.1em; }
.btn:hover { text-decoration: none; }

/* CTA: koral + granat; hover: koral ciemny + biel (księga) */
.btn--primary { background: var(--c-coral); border-color: var(--c-coral); color: var(--c-navy); }
.btn--primary:hover { background: var(--c-coral-dark); border-color: var(--c-coral-dark); color: var(--c-white); }

.btn--secondary { background: var(--c-blue); border-color: var(--c-blue); color: var(--c-white); }
.btn--secondary:hover { background: var(--c-blue-deep); border-color: var(--c-blue-deep); color: var(--c-white); }

.btn--ghost { background: transparent; border-color: var(--c-navy); color: var(--c-navy); }
.btn--ghost:hover { background: var(--c-navy); color: var(--c-white); }

.btn-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
  margin-top: 2rem;
}
@media (max-width: 39.99em) {
  .btn-row > .btn { flex: 1 1 100%; }
}

/* --------------------------------------------------------------------------
   7. Nagłówek i nawigacja
   -------------------------------------------------------------------------- */
.site-header {
  position: relative;
  z-index: 20;
  background: var(--c-white);
  border-bottom: 1px solid var(--c-blue-light);
}
.site-header__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  column-gap: 1rem;
  min-height: 72px;
}
.site-logo {
  display: inline-flex;
  padding-block: 14px;
  border-radius: 4px;
}
.site-logo img { width: auto; height: 44px; }

.nav-toggle {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  min-height: 44px;
  padding: 0 1rem;
  border: 1px solid var(--c-line-strong);
  border-radius: var(--radius);
  background: var(--c-white);
  color: var(--c-navy);
  font: 600 1rem/1 var(--font-sans);
  cursor: pointer;
}
.nav-toggle:hover { border-color: var(--c-blue); color: var(--c-blue-deep); }
html:not(.js) .nav-toggle { display: none; }

.nav-toggle__icon { position: relative; width: 20px; height: 14px; }
.nav-toggle__icon::before,
.nav-toggle__icon::after,
.nav-toggle__icon > span {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: transform var(--t), opacity var(--t);
}
.nav-toggle__icon::before { top: 0; }
.nav-toggle__icon > span { top: 6px; }
.nav-toggle__icon::after { top: 12px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__icon::before { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__icon > span { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__icon::after { transform: translateY(-6px) rotate(-45deg); }

/* Menu – mobile: panel pod paskiem nagłówka */
.site-nav { flex-basis: 100%; padding-bottom: 1.25rem; }
html.js .site-nav { display: none; }
html.js .site-nav.is-open { display: block; }

.site-nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--c-blue-light);
}
.site-nav__item { border-bottom: 1px solid var(--c-blue-light); }
.site-nav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .35rem;
  width: 100%;
  min-height: 52px;
  padding: .6rem 0;
  border: 0;
  background: none;
  color: var(--c-navy);
  font-family: var(--font-sans);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.site-nav__link:hover { color: var(--c-blue-deep); text-decoration: underline; }
.site-nav__link[aria-current="page"],
.is-current-section > .site-nav__link {
  color: var(--c-blue-deep);
  text-decoration: underline;
  text-decoration-color: var(--c-blue);
  text-decoration-thickness: 3px;
  text-underline-offset: .45em;
}
.icon--chevron { width: 1.1em; height: 1.1em; transition: transform var(--t); }
.site-nav__toggle[aria-expanded="true"] .icon--chevron { transform: rotate(180deg); }

.submenu {
  display: none;
  margin: 0;
  padding: 0 0 .75rem .9rem;
  list-style: none;
}
html:not(.js) .submenu,
.site-nav__toggle[aria-expanded="true"] + .submenu { display: block; }
.submenu__link {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: .35rem .75rem;
  border-left: 2px solid var(--c-blue-light);
  color: var(--c-navy);
  font-size: 1.02rem;
  text-decoration: none;
}
.submenu__link:hover { color: var(--c-blue-deep); text-decoration: underline; }
.submenu__link[aria-current="page"] {
  border-left-color: var(--c-blue);
  color: var(--c-blue-deep);
  font-weight: 600;
}

/* Przełącznik języka */
.lang-switch {
  display: flex;
  align-items: center;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
.lang-switch > li { display: flex; align-items: center; }
.lang-switch > li + li::before {
  content: "";
  width: 1px;
  height: 1.1rem;
  margin-inline: .75rem;
  background: var(--c-line-strong);
}
.lang-switch__item {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 44px;
  color: var(--c-navy);
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-decoration: none;
}
a.lang-switch__item:hover { color: var(--c-blue-deep); text-decoration: underline; }
.lang-switch__item.is-active {
  text-decoration: underline;
  text-decoration-color: var(--c-blue);
  text-decoration-thickness: 2px;
  text-underline-offset: .35em;
}
.flag {
  display: block;
  height: 12px;
  width: auto;
  border-radius: 1px;
  box-shadow: 0 0 0 1px rgba(11, 42, 74, .25);
}

@media (min-width: 60em) {
  .site-header__inner { flex-wrap: nowrap; min-height: 88px; }
  .site-logo img { height: 56px; }
  .nav-toggle { display: none; }

  .site-nav,
  html.js .site-nav,
  html.js .site-nav.is-open {
    display: flex;
    flex-basis: auto;
    align-items: center;
    gap: 2.25rem;
    padding: 0;
  }
  .site-nav__list {
    display: flex;
    align-items: center;
    gap: 1.9rem;
    border: 0;
  }
  .site-nav__item { position: relative; border: 0; }
  .site-nav__link {
    width: auto;
    min-height: 44px;
    padding: .4rem 0;
    font-size: 1rem;
  }

  .submenu {
    position: absolute;
    top: calc(100% + .6rem);
    left: -1rem;
    min-width: 15rem;
    padding: .5rem;
    border: 1px solid var(--c-line);
    border-radius: 12px;
    background: var(--c-white);
    box-shadow: 0 14px 36px var(--c-shadow);
  }
  /* Mostek, żeby :hover nie gasł w szczelinie (tryb bez JS) */
  .submenu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -.7rem;
    height: .7rem;
  }
  html:not(.js) .submenu { display: none; }
  html:not(.js) .site-nav__item--sub:hover > .submenu,
  html:not(.js) .site-nav__item--sub:focus-within > .submenu { display: block; }
  .submenu__link {
    padding: .5rem .8rem;
    border-left: 0;
    border-radius: 8px;
  }
  .submenu__link:hover { background: var(--c-blue-pale); text-decoration: none; }
  .submenu__link[aria-current="page"] { background: var(--c-blue-pale); }

  .lang-switch { margin: 0; }
}

/* Uproszczony nagłówek (/en/) */
.site-header__inner--simple { flex-wrap: nowrap; }
.site-nav--simple,
html.js .site-nav--simple {
  display: block;
  flex-basis: auto;
  padding: 0;
}
.site-nav--simple .lang-switch { margin: 0; }

/* --------------------------------------------------------------------------
   8. Hero (strona główna) i nagłówki podstron
   -------------------------------------------------------------------------- */
.hero {
  position: relative;
  overflow: hidden;
  padding-block: 3.25rem 3.75rem;
  background: linear-gradient(180deg, var(--c-blue-pale) 0%, var(--c-white) 100%);
}
.hero__mark {
  position: absolute;
  top: -48px;
  right: -96px;
  width: 260px;
  height: auto;
  opacity: .1;
  pointer-events: none;
  user-select: none;
}
.hero__inner { position: relative; }
.hero__title {
  max-width: 14ch;
  margin-bottom: .45em;
  font-size: clamp(2.35rem, 1.6rem + 3vw, 3.5rem);
}
.hero__text { max-width: 40rem; }
.hero__text .lead { font-size: 1.22rem; }
@media (min-width: 60em) {
  .hero { padding-block: 5.5rem 4.5rem; }
  .hero__mark {
    top: 50%;
    right: max(-140px, calc((100vw - var(--container)) / 2 - 330px));
    width: min(600px, 46vw);
    opacity: .14;
    transform: translateY(-50%);
  }
  .hero__text .lead { font-size: 1.3rem; }
}

.page-header {
  position: relative;
  overflow: hidden;
  padding-block: 2.75rem 2.5rem;
  background: var(--c-blue-pale);
  --link: var(--c-blue-deep);
}
.page-header::after {
  content: "";
  position: absolute;
  top: -56px;
  right: -84px;
  width: 200px;
  aspect-ratio: 574 / 550;
  background: url("../img/znak-blekit.svg") center / contain no-repeat;
  opacity: .08;
  pointer-events: none;
}
.page-header > .container { position: relative; z-index: 1; }
.page-header__title { max-width: 24ch; margin-bottom: .4em; }
.page-header__lead {
  max-width: 62ch;
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.55;
}
.page-header__actions { margin-top: 1.75rem; }
.page-header__aside { margin: 0; }
@media (min-width: 60em) {
  .page-header { padding-block: 4.25rem 3.75rem; }
  .page-header::after { top: 50%; right: -40px; width: 380px; opacity: .1; transform: translateY(-50%); }
  .page-header__lead { font-size: 1.22rem; }
}

/* --------------------------------------------------------------------------
   9. Karty: „W co wierzymy”, „Jak realizujemy misję”
   -------------------------------------------------------------------------- */
.belief-grid,
.pillar-grid,
.pillar-list,
.news-grid,
.news-list,
.person-grid,
.doc-list,
.event-list,
.contact-grid,
.pill-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.belief-grid { display: grid; gap: 1rem; }
@media (min-width: 40em) {
  .belief-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
}
.belief {
  padding: 1.5rem;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  background: var(--c-white);
}
.belief p { margin: 0; }
.belief__lead {
  display: block;
  margin-bottom: .55rem;
  color: var(--c-navy);
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
}
@media (min-width: 60em) {
  .belief { padding: 2rem 2.25rem; }
}

.icon-badge {
  display: inline-grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--c-blue-deep);
  color: var(--c-amber);
  flex-shrink: 0;
}
.icon-badge .icon { width: 28px; height: 28px; }
.icon-badge--sm { width: 44px; height: 44px; }
.icon-badge--sm .icon { width: 22px; height: 22px; }

.pillar-grid { display: grid; gap: 2rem; }
@media (min-width: 40em) {
  .pillar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.75rem var(--gap); }
}
.pillar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "text text";
  align-items: center;
  align-content: start;
  gap: .8rem 1.1rem;
}
.pillar > .icon-badge { grid-area: icon; }
.pillar__title { grid-area: title; margin: 0; font-size: 1.35rem; }
.pillar__text { grid-area: text; margin: 0; }
@media (min-width: 40em) {
  .pillar { grid-template-areas: "icon title" ". text"; row-gap: .35rem; }
}

.pillar-list { display: grid; gap: 1.5rem; max-width: var(--measure); }
.pillar--compact { grid-template-areas: "icon text"; align-items: start; }
.pillar--compact > .pillar__text { padding-top: .15rem; }
@media (max-width: 39.99em) {
  .pillar--compact > .icon-badge { width: 44px; height: 44px; }
  .pillar--compact > .icon-badge .icon { width: 22px; height: 22px; }
}
.pillar__verb {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 600;
}

/* --------------------------------------------------------------------------
   10. Aktualności – karty i lista
   -------------------------------------------------------------------------- */
.news-grid { display: grid; gap: 1.25rem; margin-top: 2.25rem; }
@media (min-width: 40em) {
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
  .news-grid > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (min-width: 60em) {
  .news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .news-grid > li:last-child:nth-child(odd) { grid-column: auto; }
}
.news-grid > li { display: flex; }

.news-card,
.news-row {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 1.5rem;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  background: var(--c-white);
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}
.news-card:hover,
.news-row:hover {
  border-color: var(--c-blue);
  box-shadow: 0 10px 28px var(--c-shadow);
  transform: translateY(-2px);
}
.news-card__date,
.news-row__date {
  order: -1;
  margin: 0 0 .65rem;
  color: var(--c-blue-deep);
  font-size: .92rem;
  font-weight: 600;
}
.news-card__title,
.news-row__title {
  margin: 0 0 .65rem;
  font-size: 1.2rem;
  line-height: 1.32;
}
.news-card__title a,
.news-row__title a {
  color: var(--c-navy);
  text-decoration: none;
}
/* Cała karta klikalna (jeden link na kartę = jeden przystanek Tab) */
.news-card__title a::after,
.news-row__title a::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.news-card:hover .news-card__title a,
.news-row:hover .news-row__title a {
  text-decoration: underline;
  text-decoration-color: var(--c-blue);
  text-decoration-thickness: 2px;
}
.news-card__excerpt,
.news-row__excerpt { margin: 0 0 1.25rem; }
.news-card__more,
.news-row__more {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: auto;
  color: var(--c-blue);
  font-weight: 600;
}
@supports selector(:has(*)) {
  .news-card:has(a:focus-visible),
  .news-row:has(a:focus-visible) {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
  }
  .news-card__title a:focus-visible,
  .news-row__title a:focus-visible { outline: none; }
}

.news-list { display: grid; gap: 1rem; }
@media (min-width: 40em) {
  .news-row { padding: 1.75rem 2rem; }
  .news-row__title { font-size: 1.35rem; }
}

/* --------------------------------------------------------------------------
   11. Wizja + cytat
   -------------------------------------------------------------------------- */
.vision { display: grid; gap: 2rem; }
.vision__head h2 { margin-bottom: .9em; }
.vision__statement {
  max-width: 30ch;
  margin: 0;
  color: var(--c-navy);
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 1.1rem + .9vw, 1.65rem);
  font-weight: 600;
  line-height: 1.4;
}
.vision__photo {
  width: 100%;
  max-width: 400px;
  border-radius: var(--radius-lg);
  box-shadow: 0 18px 40px var(--c-shadow);
}
@media (min-width: 48em) {
  .vision {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    grid-template-areas:
      "media head"
      "media quote";
    grid-template-rows: auto 1fr;
    column-gap: clamp(2rem, 5vw, 4.5rem);
    row-gap: 2rem;
  }
  .vision__head { grid-area: head; }
  .vision__media { grid-area: media; }
  .vision__quote { grid-area: quote; }
}

.quote { margin: 0; }
.quote__text {
  margin: 0;
  padding-left: 1.4rem;
  border-left: 3px solid var(--c-coral);
  font-family: var(--font-serif);
  font-size: 1.12rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.65;
}
.quote__text p { margin: 0; }
.quote__caption { margin-top: 1.25rem; padding-left: calc(1.4rem + 3px); }
.quote__name { display: block; font-weight: 700; }
.quote__role { display: block; color: var(--c-blue-deep); font-size: .95rem; }

/* --------------------------------------------------------------------------
   12. Pas „Partnerzy” i panel CTA
   -------------------------------------------------------------------------- */
.partner-band__grid { display: grid; gap: 1.5rem; }
.partner-band__quote {
  max-width: 24ch;
  margin: 0;
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 1.15rem + 1.4vw, 2.1rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.35;
}
.partner-band__quote p { margin: 0; }
.partner-band__body { max-width: 34rem; }
.partner-band__body .btn-row { margin-top: 1.75rem; }
@media (min-width: 60em) {
  .partner-band__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: end;
    gap: 4rem;
  }
}

.cta-panel {
  display: grid;
  gap: 1.5rem;
  padding: 2rem 1.5rem;
  border-radius: 20px;
  background: var(--c-blue-deep);
  color: var(--c-white);
  --link: var(--c-white);
  --link-hover: var(--c-white);
  --focus: var(--c-white);
}
.cta-panel h2 { color: var(--c-white); }
.cta-panel h2:last-child { margin-bottom: 0; }
.cta-panel p { max-width: 58ch; margin: 0; }
.cta-panel p + p { margin-top: .75rem; }
.cta-panel__email a { font-weight: 600; }
@media (min-width: 60em) {
  .cta-panel {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem 4rem;
    padding: 3rem 3.5rem;
  }
}

/* --------------------------------------------------------------------------
   13. Zespół
   -------------------------------------------------------------------------- */
.person-grid { display: grid; gap: 1.25rem; }
@media (min-width: 60em) {
  .person-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
}
.person {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.5rem;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  background: var(--c-white);
}
@media (min-width: 40em) {
  .person { flex-direction: row; align-items: flex-start; gap: 1.75rem; padding: 2rem; }
}
.avatar {
  width: 144px;
  height: 144px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.avatar--initials {
  display: grid;
  place-items: center;
  background: var(--c-blue);
  color: var(--c-white);
  font-family: var(--font-serif);
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: .03em;
}
.person__body { display: flex; flex-direction: column; min-width: 0; }
.person__role {
  order: -1;
  margin: 0 0 .5rem;
  color: var(--c-blue-deep);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.person__name { margin-bottom: .8em; font-size: 1.55rem; }
.person__bio { margin: 0; }

/* --------------------------------------------------------------------------
   14. Wyróżnienia, odznaki, komunikaty
   -------------------------------------------------------------------------- */
.highlight {
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--c-amber);
  border-radius: 0 var(--radius) var(--radius) 0;
  background: var(--c-blue-pale);
}

.badge {
  display: inline-block;
  padding: .2rem .7rem;
  border: 1px solid var(--c-blue-light);
  border-radius: 999px;
  background: var(--c-blue-pale);
  color: var(--c-blue-deep);
  font-size: .85rem;
  font-weight: 600;
  line-height: 1.4;
}

.notice {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  border-radius: var(--radius-lg);
  background: var(--c-blue-pale);
}
.notice p { margin: 0; }
@media (min-width: 40em) { .notice { padding: 1.25rem 1.75rem; gap: 1.25rem; } }

/* Baner „Szkic” – jeden element, do usunięcia po weryfikacji */
.notice--draft {
  display: block;
  margin: 0 0 1.75rem;
  padding: .8rem 1.1rem;
  border-radius: var(--radius);
  background: var(--c-amber);
  color: var(--c-navy);
  font-weight: 600;
}

/* --------------------------------------------------------------------------
   15. Dokumenty
   -------------------------------------------------------------------------- */
.doc-list { display: grid; gap: 1rem; max-width: 52rem; }
.doc {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.1rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  background: var(--c-white);
  transition: border-color var(--t), box-shadow var(--t);
}
.doc__body { min-width: 0; }
.doc__title {
  color: var(--c-navy);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.35;
}
a.doc__title {
  text-decoration: underline;
  text-decoration-color: var(--c-blue);
}
a.doc__title::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.doc:has(a.doc__title):hover { border-color: var(--c-blue); box-shadow: 0 10px 28px var(--c-shadow); }
.doc__meta { margin: .3rem 0 0; color: var(--c-blue-deep); font-size: .92rem; }
.doc--pending { background: var(--c-blue-pale); border-style: dashed; border-color: var(--c-line-strong); }

/* --------------------------------------------------------------------------
   16. Wydarzenia
   -------------------------------------------------------------------------- */
.event-list { border-top: 1px solid var(--c-blue-light); }
.event { padding: 1.15rem 0; border-bottom: 1px solid var(--c-blue-light); }
.event__meta {
  display: flex;
  flex-direction: column;
  margin: 0 0 .35rem;
  color: var(--c-blue-deep);
  font-size: .92rem;
  font-weight: 600;
}
.event__sep { display: none; }
@media (min-width: 40em) {
  .event__meta { flex-direction: row; flex-wrap: wrap; gap: 0 .5rem; }
  .event__sep { display: inline; }
}
.event__title {
  color: var(--c-navy);
  font-family: var(--font-serif);
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration-color: var(--c-blue);
}
.event__title:hover { color: var(--c-blue-deep); }

/* --------------------------------------------------------------------------
   17. Kontakt
   -------------------------------------------------------------------------- */
.contact-grid { display: grid; gap: 1rem; }
@media (min-width: 40em) {
  .contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
  .contact-card--wide { grid-column: 1 / -1; }
}
@media (min-width: 60em) {
  .contact-card { padding: 2rem; }
  .contact-card--wide {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 1.75rem;
    align-items: center;
  }
  .contact-card--wide > h2,
  .contact-card--wide > .bank__name { grid-column: 1 / -1; }
  .contact-card.contact-card--wide > .bank__number { grid-column: 1; margin: 0; }
  .contact-card--wide > .copy-row { grid-column: 2; }
}
.contact-card {
  padding: 1.5rem;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  background: var(--c-white);
}
.contact-card h2 { font-size: 1.3rem; margin-bottom: .9em; }
.contact-card p { margin: 0; }
.contact-card__email { font-size: 1.1rem; font-weight: 600; }
.facts { display: grid; gap: .35rem; margin: 0; }
.facts div { display: flex; gap: .5rem; }
.facts dt { font-weight: 700; }
.facts dt::after { content: ":"; }
.facts dd { margin: 0; font-variant-numeric: tabular-nums; }
.bank__name { font-weight: 600; }
.contact-card .bank__number {
  margin: .35rem 0 1.1rem;
  font-size: clamp(1.1rem, 1rem + .6vw, 1.35rem);
  font-weight: 600;
  letter-spacing: .02em;
  font-variant-numeric: tabular-nums;
}
.copy-row { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.copy-status { color: var(--c-blue-deep); font-weight: 600; }
.copy-status:empty { display: none; }

/* Linki-pigułki (media społecznościowe) */
.pill-list { display: flex; flex-wrap: wrap; gap: .6rem; }
.pill {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 44px;
  padding: .45rem 1.05rem;
  border: 1px solid var(--c-line-strong);
  border-radius: 999px;
  color: var(--c-navy);
  font-weight: 600;
  text-decoration: none;
}
.pill:hover { border-color: var(--c-blue); color: var(--c-blue-deep); text-decoration: underline; }
.pill .icon { width: 1em; height: 1em; }
.pill__logo { width: 18px; height: 18px; }

/* --------------------------------------------------------------------------
   18. Wpis
   -------------------------------------------------------------------------- */
.post__date {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: 0;
  color: var(--c-blue-deep);
  font-weight: 600;
}
.section--post { padding-top: calc(var(--section-y) * .75); }
.post__body { font-size: 1.05rem; }
.post__cta { margin: 2rem 0 0; }
.post-nav {
  display: grid;
  gap: 1rem;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--c-blue-light);
}
@media (min-width: 40em) {
  .post-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .post-nav__link--older { grid-column: 2; text-align: right; }
  .post-nav__link--older .post-nav__label { justify-content: flex-end; }
}
.post-nav__link {
  display: block;
  padding: 1rem 1.25rem;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  color: var(--c-navy);
  text-decoration: none;
  transition: border-color var(--t);
}
.post-nav__link:hover { border-color: var(--c-blue); color: var(--c-navy); }
.post-nav__label {
  display: flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .3rem;
  color: var(--c-blue-deep);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.post-nav__title {
  display: block;
  font-family: var(--font-serif);
  font-weight: 600;
  line-height: 1.35;
}
.post-nav__link:hover .post-nav__title { text-decoration: underline; text-decoration-color: var(--c-blue); }
.back { margin: 2rem 0 0; }
.back-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 44px;
  font-weight: 600;
}

/* --------------------------------------------------------------------------
   19. Strony proste (/en/, 404) i polityka
   -------------------------------------------------------------------------- */
.simple-page { padding-block: clamp(3.5rem, 2rem + 6vw, 7rem); }
.simple-page h1 { margin-bottom: .5em; }
.simple-page__back { margin-top: 2rem; }

.policy h2 { font-size: clamp(1.35rem, 1.2rem + .6vw, 1.6rem); margin-top: 2.25rem; }
.policy > :first-child { margin-top: 0; }
.policy h3 { margin-top: 1.75rem; }
.policy table { width: 100%; border-collapse: collapse; margin: 0 0 1em; font-size: .95rem; }
.policy th,
.policy td { padding: .5rem .6rem; border: 1px solid var(--c-line-strong); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.policy th { background: var(--c-blue-pale); }

/* --------------------------------------------------------------------------
   20. Stopka
   -------------------------------------------------------------------------- */
.site-footer {
  padding-top: 3.5rem;
  background: var(--c-navy);
  color: var(--c-white);
  --text: var(--c-white);
  --link: var(--c-white);
  --link-hover: var(--c-white);
  --focus: var(--c-white);
}
.site-footer__grid { display: grid; gap: 2.5rem; padding-bottom: 3rem; }
@media (min-width: 40em) {
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer__about { grid-column: 1 / -1; }
}
@media (min-width: 60em) {
  .site-footer { padding-top: 4.5rem; }
  .site-footer__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1.25fr); gap: var(--gap); }
  .site-footer__about { grid-column: auto; }
}
.site-footer__logo { width: auto; height: 64px; margin-bottom: 1.1rem; }
.site-footer__name {
  margin: 0 0 1.25rem;
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 600;
}
.site-footer__title { color: var(--c-white); font-size: 1.2rem; }
.site-footer a { color: var(--c-white); text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer__links { display: grid; gap: .2rem; margin: 0; padding: 0; list-style: none; }
.site-footer__links a { display: inline-block; padding-block: .2rem; }
.site-footer__address { display: grid; gap: .35rem; }
.site-footer .pill { border-color: var(--c-line-on-dark); color: var(--c-white); }
.site-footer .pill:hover { border-color: var(--c-white); }
.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 2rem;
  padding-block: 1.5rem 2rem;
  border-top: 1px solid var(--c-line-on-dark);
  font-size: .92rem;
}
.site-footer__copy { margin: 0; }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.site-footer__legal a { display: inline-block; padding-block: .25rem; text-decoration: underline; text-decoration-color: var(--c-line-on-dark); }
.site-footer__legal a:hover { text-decoration-color: var(--c-white); }
.site-footer--simple { padding-top: 0; }
.site-footer--simple .site-footer__bottom { border-top: 0; }

/* --------------------------------------------------------------------------
   21. Ruch i druk
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .news-card:hover,
  .news-row:hover { transform: none; }
}

@media print {
  .skip-link,
  .nav-toggle,
  .site-nav,
  .hero__mark,
  .page-header::after,
  .btn-row,
  .post-nav,
  .copy-row { display: none !important; }
  body { font-size: 11pt; }
  .hero,
  .page-header,
  .section--pale,
  .section--light,
  .section--deep,
  .cta-panel,
  .site-footer { background: none !important; color: var(--c-navy) !important; box-shadow: none !important; }
  .section--deep h2,
  .cta-panel h2,
  .site-footer h2 { color: var(--c-navy) !important; }
  .site-footer__logo { display: none; }
  a { color: inherit !important; }
}
