:root {
  --color-primary: #123a72;
  --color-secondary: #f6f8ff;
  --color-surface: #ffffff;
  --color-accent: #00c8d7;
  --color-text: #101828;
  --color-cta: #c2185b;
  --color-muted: rgba(16, 24, 40, 0.72);
  --hero-start: rgba(16, 24, 40, 0.96);
  --hero-end: rgba(194, 24, 91, 0.86);
}

html,
body { height: 100%; }

body {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--color-secondary);
  color: var(--color-text);
  box-sizing: border-box;
  overflow-x: hidden;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

*, *::before, *::after { box-sizing: inherit; }
img { max-width: 100%; height: auto; }
.font-display { font-family: Georgia, "Times New Roman", serif; }
.brand-logo { width: 100%; height: 100%; object-fit: contain; }
.link-clean { text-decoration: none; color: inherit; }
.hero-overlay { background: linear-gradient(135deg, var(--hero-start), var(--hero-end)); }
.hero-overlay h1,
.hero-overlay p,
.hero-overlay .section-label { text-shadow: 0 10px 24px rgba(20, 43, 72, 0.16); }
.hero-logo-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: clamp(9rem, 20vw, 14rem);
  margin: -2rem 0 2.2rem;
  padding: 0.25rem clamp(1rem, 4vw, 3rem);
  background: transparent;
}
.hero-logo {
  display: block;
  width: min(100%, 700px);
  max-height: 100%;
  height: auto;
  object-fit: contain;
  transform: translateY(1.5rem);
}
.soft-card {
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.18);
}
.soft-card-light {
  background: var(--color-surface);
  border: 1px solid rgba(30, 58, 95, 0.08);
  box-shadow: 0 12px 30px rgba(30, 58, 95, 0.08);
}
.section-label {
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--color-cta);
}
.nav-link { position: relative; transition: all 0.25s ease; }
.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0;
  height: 2px;
  background: var(--color-accent);
  transition: width 0.25s ease;
}
.nav-link:hover::after,
.nav-link.active::after { width: 100%; }
.card-hover { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.card-hover:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(30, 58, 95, 0.12);
}
.pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  background: rgba(30, 58, 95, 0.07);
  color: var(--color-primary);
  font-size: 0.95rem;
  font-weight: 600;
}
.focus-ring:focus,
.focus-ring:focus-visible {
  outline: none;
  border-color: var(--color-cta);
  box-shadow: 0 0 0 4px rgba(196, 92, 38, 0.2);
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(196, 92, 38, 0.7);
  outline-offset: 3px;
  border-radius: 0.5rem;
}
.nav-link:focus-visible,
.link-clean:focus-visible,
.mobile-menu-toggle:focus-visible {
  text-decoration: none;
  box-shadow: 0 0 0 4px rgba(196, 92, 38, 0.24);
  border-radius: 0.75rem;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  transform: translateY(-150%);
  z-index: 1000;
  padding: 0.875rem 1rem;
  border-radius: 0.75rem;
  background: #ffffff;
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(30, 58, 95, 0.18);
  transition: transform 0.2s ease;
}
.skip-link:focus {
  transform: translateY(0);
  outline: 3px solid rgba(196, 92, 38, 0.35);
  outline-offset: 2px;
}
.toast-notice {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 60;
  max-width: min(26rem, calc(100vw - 2rem));
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  background: rgba(30, 58, 95, 0.96);
  color: #fff;
  box-shadow: 0 18px 45px rgba(30, 58, 95, 0.24);
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.toast-notice.show { opacity: 1; transform: translateY(0); }
.text-soft-70 { color: rgba(45, 55, 72, 0.82); }
.text-soft-75 { color: rgba(45, 55, 72, 0.86); }
.text-soft-76 { color: rgba(45, 55, 72, 0.88); }
.text-soft-78 { color: rgba(45, 55, 72, 0.90); }
.text-soft-80 { color: rgba(45, 55, 72, 0.92); }
.border-soft-8 { border-color: rgba(30, 58, 95, 0.08); }
.border-soft-20 { border-color: rgba(30, 58, 95, 0.20); }
.hover-surface-soft:hover { background: rgba(30, 58, 95, 0.05); }
.contact-item { overflow-wrap: anywhere; align-items: flex-start; }
.account-number { overflow-wrap: anywhere; word-break: break-word; line-height: 1.5; }
.prose-copy p + p { margin-top: 1rem; }
.prose-copy ul { margin: 1rem 0 0; padding-left: 1.2rem; }
.prose-copy li + li { margin-top: 0.5rem; }
.desktop-nav { display: none; }
.mobile-menu-toggle { display: inline-flex; }
.cookie-consent {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 999;
  max-width: 46rem;
  margin: 0 auto;
  padding: 0.75rem 0.9rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.98);
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.45;
  box-shadow: 0 14px 34px rgba(30, 58, 95, 0.2);
  border: 1px solid rgba(30, 58, 95, 0.12);
  display: none;
}
.cookie-consent.show { display: block; }
.cookie-consent p { margin: 0; }
.cookie-consent a {
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.cookie-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.65rem;
}
.cookie-consent__button {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 0.55rem 0.85rem;
  font-size: 0.875rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.2s ease, filter 0.2s ease, background 0.2s ease;
}
.cookie-consent__button:hover { transform: translateY(-1px); }
.cookie-consent__button--accept { background: var(--color-cta); color: #fff; }
.cookie-consent__button--decline { background: rgba(30, 58, 95, 0.08); color: var(--color-primary); }
.footer-cookie-settings,
.cookie-inline-settings {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
.footer-cookie-settings:hover,
.cookie-inline-settings:hover { color: var(--color-accent); }
.cookie-inline-settings {
  margin-top: 1rem;
  color: var(--color-primary);
}

@media (max-width: 640px) {
  .hero-actions > *,
  .mobile-stack-full > *,
  .cookie-consent__actions > * {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* Lekki zamiennik uzywanych klas Tailwind. Bez CDN, bez budowania stylow w przegladarce. */
[class~="h-full"] { height: 100%; }
[class~="sticky"] { position: sticky; }
[class~="relative"] { position: relative; }
[class~="absolute"] { position: absolute; }
[class~="inset-0"] { inset: 0; }
[class~="top-0"] { top: 0; }
[class~="top-10"] { top: 2.5rem; }
[class~="left-10"] { left: 2.5rem; }
[class~="bottom-8"] { bottom: 2rem; }
[class~="right-8"] { right: 2rem; }
[class~="top-1/2"] { top: 50%; }
[class~="left-1/2"] { left: 50%; }
[class~="-translate-x-1/2"] { transform: translateX(-50%); }
[class~="-translate-y-1/2"] { transform: translateY(-50%); }
[class~="z-10"] { z-index: 10; }
[class~="z-50"] { z-index: 50; }
[class~="mx-auto"] { margin-left: auto; margin-right: auto; }
[class~="mt-0"] { margin-top: 0; }
[class~="mt-2"] { margin-top: 0.5rem; }
[class~="mt-3"] { margin-top: 0.75rem; }
[class~="mt-4"] { margin-top: 1rem; }
[class~="mt-8"] { margin-top: 2rem; }
[class~="mb-1"] { margin-bottom: 0.25rem; }
[class~="mb-2"] { margin-bottom: 0.5rem; }
[class~="mb-3"] { margin-bottom: 0.75rem; }
[class~="mb-4"] { margin-bottom: 1rem; }
[class~="mb-5"] { margin-bottom: 1.25rem; }
[class~="mb-6"] { margin-bottom: 1.5rem; }
[class~="mb-8"] { margin-bottom: 2rem; }
[class~="mb-10"] { margin-bottom: 2.5rem; }
[class~="mb-12"] { margin-bottom: 3rem; }
[class~="mb-14"] { margin-bottom: 3.5rem; }
[class~="ml-2"] { margin-left: 0.5rem; }
[class~="block"] { display: block; }
[class~="flex"] { display: flex; }
[class~="inline-flex"] { display: inline-flex; }
[class~="grid"] { display: grid; }
[class~="hidden"] { display: none !important; }
[class~="flex-col"] { flex-direction: column; }
[class~="flex-wrap"] { flex-wrap: wrap; }
[class~="items-center"] { align-items: center; }
[class~="items-start"] { align-items: flex-start; }
[class~="justify-center"] { justify-content: center; }
[class~="justify-between"] { justify-content: space-between; }
[class~="gap-2"] { gap: 0.5rem; }
[class~="gap-3"] { gap: 0.75rem; }
[class~="gap-4"] { gap: 1rem; }
[class~="gap-6"] { gap: 1.5rem; }
[class~="gap-7"] { gap: 1.75rem; }
[class~="gap-8"] { gap: 2rem; }
[class~="gap-10"] { gap: 2.5rem; }
[class~="gap-12"] { gap: 3rem; }
[class~="space-y-2"] > * + * { margin-top: 0.5rem; }
[class~="space-y-3"] > * + * { margin-top: 0.75rem; }
[class~="space-y-4"] > * + * { margin-top: 1rem; }
[class~="space-y-5"] > * + * { margin-top: 1.25rem; }
[class~="space-y-6"] > * + * { margin-top: 1.5rem; }
[class~="max-w-md"] { max-width: 28rem; }
[class~="max-w-2xl"] { max-width: 42rem; }
[class~="max-w-3xl"] { max-width: 48rem; }
[class~="max-w-6xl"] { max-width: 72rem; }
[class~="max-w-7xl"] { max-width: 80rem; }
[class~="w-full"] { width: 100%; }
[class~="w-4"] { width: 1rem; }
[class~="w-5"] { width: 1.25rem; }
[class~="w-6"] { width: 1.5rem; }
[class~="w-10"] { width: 2.5rem; }
[class~="w-24"] { width: 6rem; }
[class~="w-64"] { width: 16rem; }
[class~="w-96"] { width: 24rem; }
[class~="w-[520px]"] { width: 32.5rem; }
[class~="h-4"] { height: 1rem; }
[class~="h-5"] { height: 1.25rem; }
[class~="h-6"] { height: 1.5rem; }
[class~="h-10"] { height: 2.5rem; }
[class~="h-12"] { height: 3rem; }
[class~="h-20"] { height: 5rem; }
[class~="h-64"] { height: 16rem; }
[class~="h-96"] { height: 24rem; }
[class~="h-[520px]"] { height: 32.5rem; }
[class~="p-1"] { padding: 0.25rem; }
[class~="p-2"] { padding: 0.5rem; }
[class~="p-6"] { padding: 1.5rem; }
[class~="p-7"] { padding: 1.75rem; }
[class~="p-8"] { padding: 2rem; }
[class~="p-10"] { padding: 2.5rem; }
[class~="px-4"] { padding-left: 1rem; padding-right: 1rem; }
[class~="px-5"] { padding-left: 1.25rem; padding-right: 1.25rem; }
[class~="px-6"] { padding-left: 1.5rem; padding-right: 1.5rem; }
[class~="px-7"] { padding-left: 1.75rem; padding-right: 1.75rem; }
[class~="px-8"] { padding-left: 2rem; padding-right: 2rem; }
[class~="py-2.5"] { padding-top: 0.625rem; padding-bottom: 0.625rem; }
[class~="py-3"] { padding-top: 0.75rem; padding-bottom: 0.75rem; }
[class~="py-4"] { padding-top: 1rem; padding-bottom: 1rem; }
[class~="py-14"] { padding-top: 3.5rem; padding-bottom: 3.5rem; }
[class~="py-20"] { padding-top: 5rem; padding-bottom: 5rem; }
[class~="pt-4"] { padding-top: 1rem; }
[class~="pt-5"] { padding-top: 1.25rem; }
[class~="pt-8"] { padding-top: 2rem; }
[class~="pt-20"] { padding-top: 5rem; }
[class~="pb-5"] { padding-bottom: 1.25rem; }
[class~="pb-12"] { padding-bottom: 3rem; }
[class~="pb-14"] { padding-bottom: 3.5rem; }
[class~="rounded-lg"] { border-radius: 0.5rem; }
[class~="rounded-2xl"] { border-radius: 1rem; }
[class~="rounded-3xl"] { border-radius: 1.5rem; }
[class~="rounded-full"] { border-radius: 999px; }
[class~="border"] { border: 1px solid currentColor; }
[class~="border-2"] { border: 2px solid currentColor; }
[class~="border-t"] { border-top: 1px solid currentColor; }
[class~="border-white/10"] { border-color: rgba(255,255,255,0.1); }
[class~="border-white/30"] { border-color: rgba(255,255,255,0.3); }
[class~="border-[var(--color-accent)]"] { border-color: var(--color-accent); }
[class~="ring-1"] { box-shadow: 0 0 0 1px rgba(255,255,255,0.15); }
[class~="ring-white/15"] { box-shadow: 0 0 0 1px rgba(255,255,255,0.15); }
[class~="overflow-hidden"] { overflow: hidden; }
[class~="break-all"] { word-break: break-all; }
[class~="underline"] { text-decoration: underline; }
[class~="underline-offset-4"] { text-underline-offset: 4px; }
[class~="uppercase"] { text-transform: uppercase; }
[class~="text-left"] { text-align: left; }
[class~="text-center"] { text-align: center; }
[class~="text-xs"] { font-size: 0.75rem; }
[class~="text-sm"] { font-size: 0.875rem; }
[class~="text-lg"] { font-size: 1.125rem; }
[class~="text-xl"] { font-size: 1.25rem; }
[class~="text-2xl"] { font-size: 1.5rem; }
[class~="text-3xl"] { font-size: 1.875rem; }
[class~="text-4xl"] { font-size: 2.25rem; }
[class~="font-medium"] { font-weight: 500; }
[class~="font-semibold"] { font-weight: 600; }
[class~="font-bold"] { font-weight: 700; }
[class~="font-mono"] { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
[class~="leading-tight"] { line-height: 1.15; }
[class~="leading-relaxed"] { line-height: 1.625; }
[class~="tracking-wide"] { letter-spacing: 0.025em; }
[class~="tracking-[0.24em]"] { letter-spacing: 0.24em; }
[class~="text-white"] { color: #fff; }
[class~="text-white/90"] { color: rgba(255,255,255,0.9); }
[class~="text-white/95"] { color: rgba(255,255,255,0.95); }
[class~="text-[var(--color-primary)]"] { color: var(--color-primary); }
[class~="text-[var(--color-cta)]"] { color: var(--color-cta); }
[class~="text-[var(--color-accent)]"] { color: var(--color-accent); }
[class~="!text-[var(--color-accent)]"] { color: var(--color-accent) !important; }
[class~="!text-[var(--color-cta)]"] { color: var(--color-cta) !important; }
[class~="bg-white"] { background: #fff; }
[class~="bg-white/10"] { background: rgba(255,255,255,0.1); }
[class~="bg-[var(--color-primary)]"] { background: var(--color-primary); }
[class~="bg-[var(--color-secondary)]"] { background: var(--color-secondary); }
[class~="bg-[var(--color-cta)]"] { background: var(--color-cta); }
[class~="opacity-20"] { opacity: 0.2; }
[class~="shadow-md"] { box-shadow: 0 4px 12px rgba(0,0,0,0.12); }
[class~="shadow-lg"] { box-shadow: 0 10px 24px rgba(0,0,0,0.14); }
[class~="shadow-xl"] { box-shadow: 0 18px 36px rgba(0,0,0,0.16); }
[class~="transition-all"], [class~="transition-colors"] { transition: all 0.2s ease; }
[class~="transform"] { transform: translateZ(0); }
button { font: inherit; }
a[class~="hover:text-white"]:hover { color: #fff; }
a[class~="hover:bg-white/10"]:hover { background: rgba(255,255,255,0.1); }
a[class~="hover:bg-white/20"]:hover { background: rgba(255,255,255,0.2); }
a[class~="hover:brightness-95"]:hover, button[class~="hover:brightness-95"]:hover { filter: brightness(0.95); }
a[class~="hover:scale-105"]:hover { transform: scale(1.05); }
[data-lucide] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: currentColor;
  font-style: normal;
  flex: 0 0 auto;
  line-height: 1;
  vertical-align: -0.14em;
}
[data-lucide]::before {
  --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3C/svg%3E");
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: currentColor;
  opacity: 1;
  -webkit-mask-image: var(--icon-mask);
  mask-image: var(--icon-mask);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
[data-lucide="menu"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E"); }
[data-lucide="arrow-right"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E"); }
[data-lucide="heart"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.4 5.4 0 0 0-7.6 0L12 5.8l-1.2-1.2a5.4 5.4 0 1 0-7.6 7.6L12 21l8.8-8.8a5.4 5.4 0 0 0 0-7.6z'/%3E%3C/svg%3E"); }
[data-lucide="heart-handshake"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19.5 12.6 12 20l-7.5-7.4a5 5 0 0 1 7.1-7.1l.4.4.4-.4a5 5 0 0 1 7.1 7.1zM8.5 12h7M10.5 14h3'/%3E%3C/svg%3E"); }
[data-lucide="users"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
[data-lucide="graduation-cap"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10 12 5 2 10l10 5 10-5zM6 12v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E"); }
[data-lucide="book-open"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6c-2-1.3-5-2-8-2v14c3 0 6 .7 8 2m0-14c2-1.3 5-2 8-2v14c-3 0-6 .7-8 2m0-14v14'/%3E%3C/svg%3E"); }
[data-lucide="shield"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E"); }
[data-lucide="shield-check"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10zM9 12l2 2 4-4'/%3E%3C/svg%3E"); }
[data-lucide="megaphone"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11v2a2 2 0 0 0 2 2h2l4 4v-6l8 3V8l-8 3V5L7 9H5a2 2 0 0 0-2 2z'/%3E%3C/svg%3E"); }
[data-lucide="map"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l-6 3V6l6-3 6 3 6-3v15l-6 3-6-3zM9 3v15M15 6v15'/%3E%3C/svg%3E"); }
[data-lucide="map-pin"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.3 7-11a7 7 0 1 0-14 0c0 5.7 7 11 7 11zM12 10.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z'/%3E%3C/svg%3E"); }
[data-lucide="phone"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.3 1.8.7 2.6a2 2 0 0 1-.5 2.1L7.9 9a16 16 0 0 0 7.1 7.1l1.2-1.6a2 2 0 0 1 2.1-.5c.8.4 1.7.6 2.6.7a2 2 0 0 1 1.1.2z'/%3E%3C/svg%3E"); }
[data-lucide="mail"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zM22 6l-10 7L2 6'/%3E%3C/svg%3E"); }
[data-lucide="calendar-days"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18M5 4h14a2 2 0 0 1 2 2v14H3V6a2 2 0 0 1 2-2zM8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E"); }
[data-lucide="credit-card"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h18a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2zM1 10h22M7 15h4'/%3E%3C/svg%3E"); }
[data-lucide="repeat"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 1l4 4-4 4M3 11V9a4 4 0 0 1 4-4h14M7 23l-4-4 4-4M21 13v2a4 4 0 0 1-4 4H3'/%3E%3C/svg%3E"); }
[data-lucide="handshake"]::before { --icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 12l2 2a3 3 0 0 0 4 0l2-2M2 12l5-5 5 5M22 12l-5-5-5 5M6 16l4 4h4l4-4'/%3E%3C/svg%3E"); }
.desktop-nav { display: none; }
.mobile-menu-toggle { display: inline-flex; border: 0; background: transparent; color: #fff; cursor: pointer; }
.grid { grid-template-columns: 1fr; }
.prose-copy p { margin-bottom: 1rem; }
.news-card { overflow: hidden; }
.news-card__image { width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; display: block; }
.news-card__meta { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin-bottom: 1rem; }
@media (min-width: 640px) {
  [class~="sm:px-6"] { padding-left: 1.5rem; padding-right: 1.5rem; }
  [class~="sm:grid-cols-2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [class~="sm:col-span-2"] { grid-column: span 2 / span 2; }
  [class~="sm:break-normal"] { word-break: normal; }
}
@media (min-width: 768px) {
  [class~="md:grid-cols-2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [class~="md:grid-cols-3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [class~="md:text-xl"] { font-size: 1.25rem; }
  [class~="md:text-4xl"] { font-size: 2.25rem; }
  [class~="md:text-5xl"] { font-size: 3rem; }
}
@media (min-width: 1024px) {
  [class~="lg:flex"] { display: flex !important; }
  [class~="lg:hidden"] { display: none !important; }
  [class~="lg:flex-row"] { flex-direction: row; }
  [class~="lg:items-center"] { align-items: center; }
  [class~="lg:justify-between"] { justify-content: space-between; }
  [class~="lg:grid-cols-2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [class~="lg:grid-cols-3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [class~="lg:grid-cols-[0.95fr,1.05fr]"] { grid-template-columns: 0.95fr 1.05fr; }
  [class~="lg:grid-cols-[1.05fr,0.95fr]"] { grid-template-columns: 1.05fr 0.95fr; }
  [class~="lg:grid-cols-[1.15fr,0.85fr]"] { grid-template-columns: 1.15fr 0.85fr; }
  [class~="lg:grid-cols-[1.1fr,0.9fr]"] { grid-template-columns: 1.1fr 0.9fr; }
  [class~="lg:col-span-3"] { grid-column: span 3 / span 3; }
  [class~="lg:px-8"] { padding-left: 2rem; padding-right: 2rem; }
  [class~="lg:pt-14"] { padding-top: 3.5rem; }
  [class~="lg:pt-24"] { padding-top: 6rem; }
  [class~="lg:pb-16"] { padding-bottom: 4rem; }
  [class~="lg:pb-20"] { padding-bottom: 5rem; }
  [class~="lg:py-24"] { padding-top: 6rem; padding-bottom: 6rem; }
  [class~="lg:p-12"] { padding: 3rem; }
  [class~="lg:text-6xl"] { font-size: 3.75rem; }
}
@media (min-width: 1280px) {
  [class~="xl:gap-8"] { gap: 2rem; }
  [class~="xl:grid-cols-3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [class~="xl:grid-cols-4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  [class~="text-4xl"] { font-size: 2rem; }
  [class~="text-3xl"] { font-size: 1.65rem; }
  [class~="py-20"] { padding-top: 3.75rem; padding-bottom: 3.75rem; }
}


/* Modern theme przeniesiony z loadera, aby nie czekac na JavaScript. */
:root {
        --modern-bg: #f6f8ff;
        --modern-bg-warm: #fff4f8;
        --modern-blue: #1877f2;
        --modern-blue-deep: #123a72;
        --modern-violet: #833ab4;
        --modern-pink: #c2185b;
        --modern-cyan: #00c8d7;
        --modern-orange: #b45309;
        --modern-orange-soft: rgba(180, 83, 9, 0.24);
        --modern-red: #ff3d6e;
        --modern-ink: #101828;
        --modern-shadow: 0 24px 70px rgba(16, 24, 40, 0.16);
        --modern-soft-shadow: 0 14px 34px rgba(16, 24, 40, 0.10);
      }

      html {
        scroll-behavior: smooth;
      }

      body {
        background:
          linear-gradient(180deg, #fbfcff 0%, var(--modern-bg) 42%, #fff7fb 100%) !important;
        box-shadow: inset 0 0 0 6px rgba(180, 83, 9, 0.10);
      }

      main {
        background:
          linear-gradient(180deg, rgba(255,255,255,0.74), rgba(246,248,255,0.96));
      }

      header {
        background:
          linear-gradient(95deg, rgba(16,24,40,0.98), rgba(18,58,114,0.96) 42%, rgba(131,58,180,0.92)) !important;
        backdrop-filter: blur(18px);
        border-bottom: 2px solid rgba(180, 83, 9, 0.58);
      }

      .nav-link {
        padding: 0.45rem 0.1rem;
      }

      .nav-link::after {
        height: 3px;
        border-radius: 999px;
        background: linear-gradient(90deg, var(--modern-orange), var(--modern-pink), var(--modern-cyan));
      }

      .hero-overlay {
        position: relative;
        isolation: isolate;
        border-bottom: 3px solid rgba(180, 83, 9, 0.58);
        background:
          linear-gradient(125deg, rgba(16,24,40,0.96) 0%, rgba(24,119,242,0.88) 39%, rgba(131,58,180,0.86) 68%, rgba(194,24,91,0.84) 100%) !important;
      }

      .hero-overlay::before {
        content: '';
        position: absolute;
        inset: 0;
        z-index: -2;
        background:
          radial-gradient(circle at 18% 20%, rgba(255,255,255,0.22), transparent 28%),
          radial-gradient(circle at 82% 18%, rgba(0,200,215,0.26), transparent 24%),
          linear-gradient(110deg, rgba(255,255,255,0.18), rgba(255,255,255,0) 42%),
          repeating-linear-gradient(135deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 20px);
        opacity: 0.72;
      }

      .hero-overlay::after {
        content: '';
        position: absolute;
        left: 50%;
        bottom: -1px;
        z-index: -1;
        width: 120vw;
        height: 90px;
        transform: translateX(-50%);
        background: var(--modern-bg);
        clip-path: ellipse(62% 72% at 50% 100%);
      }

      .hero-logo-bar {
        filter: drop-shadow(0 22px 40px rgba(16, 24, 40, 0.28));
      }

      .hero-overlay > .absolute {
        display: none !important;
      }

      .hero-overlay h1 {
        max-width: 980px;
        margin-left: auto;
        margin-right: auto;
        line-height: 0.96;
        letter-spacing: 0;
      }

      .hero-overlay p {
        max-width: 760px;
        margin-left: auto;
        margin-right: auto;
        color: rgba(255,255,255,0.94) !important;
      }

      .hero-actions a,
      header a[href="wesprzyj-nas.html"],
      .cookie-consent__button--accept {
        background: linear-gradient(135deg, var(--modern-blue), var(--modern-violet) 48%, var(--modern-pink)) !important;
        box-shadow: 0 14px 30px rgba(194, 24, 91, 0.26);
      }

      .cookie-consent {
        box-sizing: border-box !important;
        max-width: min(46rem, calc(100vw - 2rem)) !important;
        overflow-wrap: anywhere;
      }

      .hero-actions a:hover,
      header a[href="wesprzyj-nas.html"]:hover {
        transform: translateY(-2px) scale(1.025);
        filter: saturate(1.08) brightness(1.02);
      }

      main > section {
        position: relative;
      }

      main > section:not(.hero-overlay)::before {
        content: '';
        position: absolute;
        top: 0;
        left: max(1rem, calc((100vw - 80rem) / 2));
        right: max(1rem, calc((100vw - 80rem) / 2));
        height: 2px;
        background: linear-gradient(90deg, transparent, var(--modern-orange), rgba(194,24,91,0.70), transparent);
        opacity: 0.60;
      }

      main > section:not(.hero-overlay) {
        background: transparent !important;
      }

      main > section:not(.hero-overlay):nth-of-type(even) {
        background: linear-gradient(180deg, rgba(255,244,248,0.78), rgba(246,248,255,0.80)) !important;
      }

      .section-label {
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
        color: var(--modern-orange) !important;
        letter-spacing: 0.13em !important;
      }

      .section-label::before {
        content: '';
        width: 1rem;
        height: 1rem;
        border-radius: 999px;
        background:
          radial-gradient(circle at center, #fff 0 22%, transparent 24%),
          linear-gradient(135deg, var(--modern-orange), var(--modern-pink));
        box-shadow: 0 0 0 6px rgba(180,83,9,0.13);
      }

      .hero-overlay .section-label {
        color: #dffbff !important;
      }

      .hero-overlay .section-label::before {
        background: #fff;
        box-shadow: 0 0 0 6px rgba(255,255,255,0.18);
      }

      .soft-card-light,
      .soft-card,
      article,
      main section .rounded-3xl {
        border-radius: 1.35rem !important;
      }

      .soft-card-light {
        position: relative;
        overflow: hidden;
        background: rgba(255,255,255,0.90) !important;
        border: 2px solid var(--modern-orange-soft) !important;
        border-top-color: rgba(180, 83, 9, 0.48) !important;
        box-shadow: var(--modern-soft-shadow) !important;
      }

      .soft-card-light::before {
        content: '';
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(135deg, rgba(24,119,242,0.10), transparent 34%, rgba(194,24,91,0.10), rgba(0,200,215,0.08));
        opacity: 0;
        transition: opacity 0.28s ease;
      }

      .soft-card-light:hover::before {
        opacity: 1;
      }

      .soft-card-light::after {
        content: '';
        position: absolute;
        top: 1.15rem;
        right: 1.15rem;
        width: 1.9rem;
        height: 1.9rem;
        border-radius: 999px;
        border: 1px solid rgba(180, 83, 9, 0.36);
        background:
          linear-gradient(var(--modern-orange), var(--modern-orange)) center / 0.82rem 0.16rem no-repeat,
          linear-gradient(var(--modern-orange), var(--modern-orange)) center / 0.16rem 0.82rem no-repeat,
          rgba(180, 83, 9, 0.10);
        opacity: 0.82;
        pointer-events: none;
      }

      .soft-card-light:has(.icon-inline)::after,
      .news-card::after {
        display: none;
      }

      .soft-card {
        background: rgba(255,255,255,0.17) !important;
        border: 2px solid rgba(180, 83, 9, 0.42) !important;
        box-shadow: 0 22px 60px rgba(16, 24, 40, 0.20);
      }

      .card-hover {
        transform: translateY(0);
        transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
      }

      .card-hover:hover {
        transform: translateY(-10px);
        box-shadow: var(--modern-shadow) !important;
        border-color: rgba(180,83,9,0.70) !important;
      }

      .pill {
        background: rgba(180,83,9,0.11) !important;
        border: 1px solid rgba(180,83,9,0.24);
        color: var(--modern-blue-deep) !important;
      }

      .icon-inline {
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
      }

      [data-lucide] {
        width: 1.15em !important;
        height: 1.15em !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        color: currentColor !important;
        font-size: 1em;
        line-height: 1;
      }

      [data-lucide]::before {
        width: 100% !important;
        height: 100% !important;
        border-radius: 0 !important;
        background: currentColor !important;
        opacity: 1 !important;
        transform: none !important;
      }

      .mobile-menu-toggle [data-lucide],
      .hero-actions [data-lucide],
      .hero-overlay a [data-lucide],
      header a[href="wesprzyj-nas.html"] [data-lucide] {
        color: #ffffff !important;
      }

      .icon-inline .section-label::before {
        display: none;
      }

      main .soft-card-light .icon-inline > [data-lucide],
      main .contact-item > [data-lucide] {
        width: 1.9rem !important;
        height: 1.9rem !important;
        padding: 0.42rem;
        border-radius: 0.75rem;
        background: linear-gradient(135deg, rgba(180, 83, 9, 0.18), rgba(194, 24, 91, 0.12));
        color: var(--modern-pink) !important;
      }

      .hero-overlay .contact-item > [data-lucide],
      main .soft-card .contact-item > [data-lucide] {
        background: rgba(255, 255, 255, 0.14);
        color: #8ff7ff !important;
      }

      .pill [data-lucide] {
        width: 1rem !important;
        height: 1rem !important;
        color: var(--modern-pink) !important;
      }

      a > [data-lucide="arrow-right"] {
        color: var(--modern-pink) !important;
      }

      a.text-\\[var\\(--color-cta\\)\\],
      .text-\\[var\\(--color-cta\\)\\] {
        color: var(--modern-pink) !important;
      }

      .bg-\\[var\\(--color-cta\\)\\] {
        background: linear-gradient(135deg, var(--modern-blue), var(--modern-violet), var(--modern-pink)) !important;
      }

      .text-\\[var\\(--color-primary\\)\\] {
        color: var(--modern-blue-deep) !important;
      }

      footer {
        background:
          linear-gradient(135deg, rgba(16,24,40,1), rgba(18,58,114,0.98) 46%, rgba(131,58,180,0.92)) !important;
        border-top: 3px solid rgba(180, 83, 9, 0.62);
      }

      footer .grid > div:first-child > .flex:first-child {
        align-items: center;
        gap: 1rem;
      }

      footer .grid > div:first-child > .flex:first-child > div {
        width: 9.5rem !important;
        height: 5.25rem !important;
        padding: 0.35rem !important;
        border-radius: 1rem !important;
        background: rgba(255, 255, 255, 0.96) !important;
        border: 1px solid rgba(255, 255, 255, 0.74) !important;
        box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22) !important;
        overflow: visible !important;
      }

      footer .brand-logo {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        filter: saturate(1.12) contrast(1.08);
      }

      footer .grid > div:first-child span.font-display {
        max-width: 12rem;
        color: #ffffff;
        line-height: 1.15;
        text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
      }

      footer .contact-item {
        display: grid !important;
        grid-template-columns: 1.25rem minmax(0, 1fr);
        column-gap: 0.75rem;
        align-items: center !important;
        line-height: 1.45;
      }

      footer .contact-item i,
      footer .contact-item svg {
        width: 1.05rem !important;
        height: 1.05rem !important;
        align-self: center;
        color: #8ff7ff !important;
      }

      footer .contact-item a,
      footer .contact-item span {
        display: inline-block;
        min-width: 0;
      }

      footer a[href^="tel:"] {
        font-weight: 700;
        letter-spacing: 0.01em;
        white-space: nowrap;
      }

      .modern-reveal {
        opacity: 0;
        transform: translateY(24px);
        transition: opacity 0.7s ease, transform 0.7s ease;
      }

      .modern-reveal.is-visible {
        opacity: 1;
        transform: translateY(0);
      }

      .modern-reveal:nth-child(2) { transition-delay: 0.06s; }
      .modern-reveal:nth-child(3) { transition-delay: 0.12s; }
      .modern-reveal:nth-child(4) { transition-delay: 0.18s; }

      @media (max-width: 768px) {
        .hero-overlay {
          padding-top: 3rem !important;
          padding-bottom: 4.5rem !important;
        }

        .hero-overlay h1 {
          font-size: 2.65rem !important;
          line-height: 1.02;
        }

        main > section {
          padding-top: 4rem !important;
          padding-bottom: 4rem !important;
        }

        .soft-card-light,
        .soft-card {
          border-radius: 1.15rem !important;
        }

        .cookie-consent {
          left: 0.75rem !important;
          right: 0.75rem !important;
          max-width: calc(100vw - 1.5rem) !important;
          padding: 0.85rem !important;
        }

        .cookie-consent__actions {
          display: grid !important;
          grid-template-columns: 1fr !important;
        }

        .cookie-consent__button {
          width: 100% !important;
          white-space: normal;
        }

        footer .grid > div:first-child > .flex:first-child {
          align-items: flex-start;
        }

        footer .grid > div:first-child > .flex:first-child > div {
          width: 8.25rem !important;
          height: 4.75rem !important;
        }

        footer a[href^="tel:"] {
          white-space: normal;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        .modern-reveal {
          opacity: 1 !important;
          transform: none !important;
          transition: none !important;
        }
      }
