:root {
  --msp-blue: #075d96;
  --msp-navy: #10273d;
  --msp-sand: #ede6dd;
  --msp-paper: #f8f6f2;
  --msp-white: #ffffff;
  --msp-text: #243342;
  --msp-muted: #697784;
  --msp-line: rgba(16, 39, 61, .13);
  --msp-soft-blue: #eaf3f8;
  --msp-serif: Georgia, "Times New Roman", serif;
  --msp-sans: Inter, Arial, Helvetica, sans-serif;
  --msp-container: 1280px;
  --msp-shadow: 0 28px 85px rgba(20, 42, 62, .12);
  --msp-radius: 2px;
}

body.msp-v2-site { margin: 0; color: var(--msp-text); background: var(--msp-white); font-family: var(--msp-sans); font-size: 16px; line-height: 1.72; }
body.msp-v2-site *, body.msp-v2-site *::before, body.msp-v2-site *::after { box-sizing: border-box; }
body.msp-v2-site img { display: block; max-width: 100%; height: auto; }
body.msp-v2-site a { color: inherit; text-decoration: none; }
body.msp-v2-site h1, body.msp-v2-site h2, body.msp-v2-site h3, body.msp-v2-site h4 { margin: 0; color: var(--msp-navy); font-family: var(--msp-serif); font-weight: 500; line-height: 1.08; text-wrap: balance; }
body.msp-v2-site h1 { font-size: 6rem; font-size: clamp(3.15rem, 6.2vw, 6.85rem); letter-spacing: -.045em; }
body.msp-v2-site h2 { font-size: 4rem; font-size: clamp(2.35rem, 4.4vw, 4.75rem); letter-spacing: -.035em; }
body.msp-v2-site h3 { font-size: 1.75rem; font-size: clamp(1.35rem, 2vw, 2rem); letter-spacing: -.02em; }
body.msp-v2-site p { margin: 0 0 1.15rem; }
body.msp-v2-site button, body.msp-v2-site input, body.msp-v2-site textarea, body.msp-v2-site select { font: inherit; }
.msp-v2-container { width: min(calc(100% - 56px), var(--msp-container)); margin-inline: auto; }
.msp-v2-main { overflow: clip; }
.msp-v2-section { padding: clamp(76px, 8vw, 132px) 0; }
.msp-v2-section--white { background: #fff; }
.msp-v2-section--paper { background: var(--msp-paper); }
.msp-v2-section--sand { background: var(--msp-sand); }
.msp-v2-kicker { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 20px; color: var(--msp-blue); font-size: .72rem; font-weight: 800; letter-spacing: .16em; line-height: 1.3; text-transform: uppercase; }
.msp-v2-kicker::before { width: 38px; height: 1px; background: currentColor; content: ""; }
.msp-v2-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 52px; }
.msp-v2-heading > div { max-width: 880px; }
.msp-v2-heading h2 { max-width: 900px; }
.msp-v2-heading p { max-width: 700px; margin: 20px auto 0; color: var(--msp-muted); }
.msp-v2-heading--center { display: flex; flex-direction: column; align-items: center; max-width: 880px; margin-right: auto; margin-left: auto; text-align: center; }
.msp-v2-heading--light h2, .msp-v2-heading--light h3 { color: #fff; }
.msp-v2-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.msp-v2-reveal.is-visible { opacity: 1; transform: none; }
.msp-v2-richtext > *:last-child { margin-bottom: 0; }
.msp-v2-skip { position: fixed; z-index: 100000; top: 10px; left: 10px; padding: 10px 16px; transform: translateY(-160%); background: #fff; box-shadow: var(--msp-shadow); }
.msp-v2-skip:focus { transform: none; }
@media (prefers-reduced-motion: reduce) { .msp-v2-reveal { opacity: 1; transform: none; transition: none; } }

/* MSP 4.2: mniejsza skala typografii na stronie głównej. */
body.msp-v2-site h1 {
  font-size: clamp(2.9rem, 4.15vw, 4.75rem);
  line-height: 1.02;
  letter-spacing: -.038em;
}
body.msp-v2-site h2 {
  font-size: clamp(2rem, 3vw, 3.45rem);
  line-height: 1.08;
  letter-spacing: -.03em;
}
body.msp-v2-site h3 {
  font-size: clamp(1.25rem, 1.65vw, 1.7rem);
}
.msp-v2-section {
  padding: clamp(64px, 6.8vw, 104px) 0;
}

/* MSP 5.1.4: szerszy layout wyłącznie na stronie głównej i O nas */
body.home.msp-v2-site .msp-v2-container,
body.msp-v2-template-msp-about.msp-v2-site .msp-v2-container {
  width: min(calc(100% - 48px), 1480px);
}
@media (max-width: 980px) {
  body.home.msp-v2-site .msp-v2-container,
  body.msp-v2-template-msp-about.msp-v2-site .msp-v2-container {
    width: min(calc(100% - 36px), 1480px);
  }
}
@media (max-width: 680px) {
  body.home.msp-v2-site .msp-v2-container,
  body.msp-v2-template-msp-about.msp-v2-site .msp-v2-container {
    width: min(calc(100% - 28px), 1480px);
  }
}
