
:root {
  color-scheme: light;
  --font-display: "Bebas Neue", "Arial Narrow", Arial, sans-serif;
  --font-sans: "Lato", Arial, sans-serif;

  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);

  --site-max: 1240px;
  --content-max: 760px;
  --reading-measure: 65ch;

  --space-2xs: clamp(0.5rem, 0.477rem + 0.114vi, 0.625rem);
  --space-xs: clamp(0.75rem, 0.715rem + 0.176vi, 0.875rem);
  --space-sm: clamp(1rem, 0.93rem + 0.352vi, 1.25rem);
  --space-md: clamp(1.25rem, 1.145rem + 0.528vi, 1.625rem);
  --space-lg: clamp(1.5rem, 1.359rem + 0.704vi, 2rem);
  --space-xl: clamp(2rem, 1.789rem + 1.056vi, 2.75rem);
  --space-2xl: clamp(2.75rem, 2.328rem + 2.112vi, 4.25rem);
  --space-3xl: clamp(4rem, 3.438rem + 2.816vi, 6rem);

  --text-xs: clamp(0.75rem, 0.715rem + 0.176vi, 0.875rem);
  --text-sm: clamp(0.875rem, 0.805rem + 0.352vi, 1.125rem);
  --text-base: clamp(1rem, 0.894rem + 0.528vi, 1.375rem);
  --text-lg: clamp(1.125rem, 1.019rem + 0.528vi, 1.5rem);
  --text-h4: clamp(1.375rem, 1.234rem + 0.704vi, 1.875rem);
  --text-h3: clamp(1.5rem, 1.324rem + 0.88vi, 2.125rem);
  --text-h2: clamp(2rem, 1.754rem + 1.232vi, 2.875rem);
  --text-h1: clamp(2.5rem, 2.043rem + 2.288vi, 4.125rem);

  --color-bg: #ffffff;
  --color-surface: #f7f9fb;
  --color-surface-2: #edf3f6;
  --color-text: #26324a;
  --color-text-soft: #5d687c;
  --color-heading: #080d2c;
  --color-border: #d8e2ea;
  --color-line: #e8edf3;
  --color-primary: #0f766e;
  --color-primary-hover: #0b5f5a;
  --color-accent: #5bf4e2;
  --color-magenta: #b96690;
  --color-magenta-strong: #9d4d61;
  --color-plum: #582b53;
  --color-success: #067647;
  --color-danger: #b42318;

  --radius-sm: 0.625rem;
  --radius-md: 0.875rem;
  --radius-lg: 1.125rem;
  --radius-xl: 1.5rem;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.06), 0 1px 3px rgba(16, 24, 40, 0.1);
  --shadow-md: 0 6px 18px rgba(16, 24, 40, 0.07), 0 2px 6px rgba(16, 24, 40, 0.06);
  --shadow-lg: 0 16px 32px rgba(16, 24, 40, 0.09), 0 4px 12px rgba(16, 24, 40, 0.06);

  --transition-fast: 160ms ease;
  --transition-base: 220ms ease;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  margin: 0;
  min-width: 320px;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

img,
svg,
video,
canvas,
iframe {
  display: block;
  max-width: 100%;
  height: auto;
}

iframe {
  width: 100%;
  border: 0;
}

picture {
  display: contents;
}

a {
  color: var(--color-primary);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.14em;
}

a:hover {
  color: var(--color-primary-hover);
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

input,
textarea,
select {
  width: 100%;
  padding: 0.9rem 1rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--color-text);
}

textarea {
  min-height: 9rem;
  resize: vertical;
}

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-primary) 65%, white);
  outline-offset: 2px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 0.5em;
  color: var(--color-heading);
  font-weight: 700;
  line-height: 1.15;
  text-wrap: balance;
}

h1 { font-size: var(--text-h1); letter-spacing: -0.03em; }
h2 { font-size: var(--text-h2); letter-spacing: -0.02em; }
h3 { font-size: var(--text-h3); letter-spacing: -0.015em; }
h4 { font-size: var(--text-h4); }
h5 { font-size: var(--text-lg); }
h6 { font-size: var(--text-sm); text-transform: uppercase; letter-spacing: 0.05em; }

p,
ul,
ol,
blockquote,
table {
  margin: 0 0 1em;
}

ul,
ol {
  padding-left: 1.25em;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid var(--color-line);
  text-align: left;
  vertical-align: top;
}

th {
  font-weight: 600;
  color: var(--color-heading);
}

blockquote {
  padding-left: 1rem;
  border-left: 4px solid var(--color-primary);
  color: var(--color-text-soft);
}

hr {
  margin: var(--space-xl) 0;
  border: 0;
  border-top: 1px solid var(--color-line);
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
  position: fixed !important;
  top: 1rem;
  left: 1rem;
  width: auto;
  height: auto;
  margin: 0;
  clip-path: none;
  padding: 0.875rem 1rem;
  background: #fff;
  color: var(--color-heading);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  z-index: 10000;
}

.l-container {
  width: min(100% - (1rem + var(--safe-left) + var(--safe-right)), var(--site-max));
  margin-inline: auto;
}

@media (min-width: 481px) {
  .l-container {
    width: min(100% - (1.5rem + var(--safe-left) + var(--safe-right)), var(--site-max));
  }
}

@media (min-width: 1025px) {
  .l-container {
    width: min(100% - (2rem + var(--safe-left) + var(--safe-right)), var(--site-max));
  }
}

.l-container--content {
  max-width: var(--content-max);
}

.section {
  padding-block: var(--space-2xl);
}

.section--tight {
  padding-block: var(--space-xl);
}

.u-prose {
  max-width: var(--reading-measure);
}

.u-prose > * + * {
  margin-top: 1em;
}

.u-prose :where(h2, h3, h4) {
  margin-top: 1.4em;
}

.alignwide,
.wp-block-group.alignwide {
  max-width: min(calc(var(--site-max) + 120px), 100% - 2rem);
  margin-inline: auto;
}

.alignfull,
.wp-block-group.alignfull {
  width: 100%;
  max-width: 100%;
}

.wp-block-image img {
  height: auto;
}

.wp-caption {
  max-width: 100%;
}

.site-main {
  min-height: 60vh;
}

.entry-title {
  word-break: break-word;
}

.entry-meta {
  font-size: var(--text-sm);
  color: var(--color-text-soft);
}

.pagination,
.nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: var(--space-xl);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
  
.mz-landing {
  --mz-serif: var(--font-display);
  --mz-sans: var(--font-sans);

  --mz-navy-950: #080d2c;
  --mz-navy-900: #11183a;
  --mz-navy-800: #21204b;

  /* Nazwy pozostają dla zgodności ze starszym HTML-em. */
  --mz-gold-600: #0f766e;
  --mz-gold-500: #5bf4e2;
  --mz-gold-300: #bafff7;

  --mz-magenta-500: #b96690;
  --mz-magenta-700: #9d4d61;
  --mz-plum-700: #582b53;

  --mz-ink: #11182f;
  --mz-text: #26324a;
  --mz-muted: #667085;
  --mz-light: #f7f9fb;
  --mz-white: #ffffff;
  --mz-border: #e3e9f0;

  font-family: var(--mz-sans) !important;
  color: var(--mz-text) !important;
  background: var(--mz-light) !important;
}

.mz-landing h1,
.mz-landing h2,
.mz-landing .mz-display,
.mz-landing .mz-serif {
  font-family: var(--mz-serif) !important;
}

.mz-landing h1 {
  font-size: clamp(3rem, 6vw, 6.5rem) !important;
  line-height: 0.96 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
}

.mz-landing h2 {
  font-size: clamp(2rem, 3.5vw, 3.25rem) !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
}

.mz-landing h3 {
  font-family: var(--mz-serif) !important;
  font-size: clamp(1.75rem, 2.2vw, 2.5rem) !important;
  line-height: 1.12 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}

.mz-landing h4 {
  font-family: var(--mz-sans) !important;
  font-size: clamp(1.05rem, 1vw, 1.35rem) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
}

.mz-landing p,
.mz-landing li {
  font-family: var(--mz-sans) !important;
  font-size: clamp(1rem, 0.35vw + 0.95rem, 1.075rem) !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  color: var(--mz-text) !important;
}

.mz-landing .kicker,
.mz-landing .eyebrow {
  font-family: var(--mz-sans) !important;
  font-size: 0.82rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--mz-gold-600) !important;
}

.mz-landing .btn,
.mz-landing button,
.mz-landing input[type="submit"] {
  font-family: var(--mz-sans) !important;
  font-size: 0.84rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
}

.mz-landing .price,
.mz-landing .count-number {
  font-family: var(--mz-serif) !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}

.mz-landing .quote {
  font-family: var(--mz-serif) !important;
  font-size: clamp(1.55rem, 2vw, 2.25rem) !important;
  line-height: 1.18 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}



  .mz-hero-copy {
    width: 100% !important;
    max-width: 720px !important;
    /*padding: clamp(32px, 5vw, 72px) 0 !important; */
    color: #f7f9fb !important;
    isolation: isolate !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .mz-hero-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Górny napis: XXIX SYMPOZJUM + linia */
  .mz-hero-kicker {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    margin-bottom: clamp(18px, 2.2vw, 28px) !important;
    color: #0f766e !important;
  }

  .mz-hero-kicker span {
    display: inline-block !important;
    font-family: "Lato", Arial, sans-serif !important;
    font-size: clamp(0.82rem, 0.65vw + 0.55rem, 1.05rem) !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    letter-spacing: clamp(0.24em, 0.55vw, 0.42em) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    color: #0f766e !important;
  }

  .mz-hero-kicker i {
    display: block !important;
    width: min(260px, 34vw) !important;
    height: 1px !important;
    background: linear-gradient(
      90deg,
      rgba(15, 118, 110, 0.9),
      rgba(91, 244, 226, 0.42) 55%,
      rgba(91, 244, 226, 0)
    ) !important;
    transform-origin: left center !important;
  }

  /* Główny tytuł */
  .mz-hero-title {
    margin: 0 !important;
    padding: 0 !important;
    font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: -0.045em !important;
    line-height: 0.9 !important;
    text-wrap: balance !important;
    overflow: visible !important;
  }

  .mz-hero-title .mz-line {
    display: block !important;
    font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
    font-size: clamp(4.1rem, 8vw, 8.8rem) !important;
    line-height: 0.9 !important;
    font-weight: 500 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mz-line-white {
    color: #f7f9fb !important;
    text-shadow:
      0 8px 36px rgba(0, 0, 0, 0.35),
      0 0 18px rgba(248, 246, 241, 0.08) !important;
  }

  .mz-line-gold {
    color: #5bf4e2 !important;
    text-shadow:
      0 8px 32px rgba(0, 0, 0, 0.32),
      0 0 22px rgba(91, 244, 226, 0.12) !important;
  }

  /* Linia pod tytułem */
  .mz-hero-divider {
    display: block !important;
    width: min(430px, 72vw) !important;
    height: 1px !important;
    margin: clamp(24px, 3vw, 36px) 0 20px !important;
    background: linear-gradient(
      90deg,
      rgba(91, 244, 226, 0.75),
      rgba(91, 244, 226, 0.22) 55%,
      rgba(91, 244, 226, 0)
    ) !important;
    transform-origin: left center !important;
  }

  /* Data i miejsce */
  .mz-hero-meta {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px 20px !important;
    color: #f7f9fb !important;
  }

  .mz-meta-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
    font-size: clamp(1.35rem, 1.45vw, 1.85rem) !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    color: #f7f9fb !important;
    text-shadow: 0 6px 20px rgba(0, 0, 0, 0.35) !important;
  }

  .mz-meta-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #0f766e !important;
    flex: 0 0 auto !important;
    transform: translateY(1px) !important;
  }

  .mz-meta-icon svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
  }

  .mz-meta-separator {
    width: 1px !important;
    height: 22px !important;
    display: inline-block !important;
    background: rgba(91, 244, 226, 0.5) !important;
  }

  /* Animacja — wersja bezpieczna, tekst nie znika gdy animacja się nie odpali */
  .mz-anim {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation-name: mzHeroFadeUp !important;
    animation-duration: .85s !important;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
    animation-fill-mode: both !important;
  }

  .mz-anim-1 {
    animation-delay: .08s !important;
  }

  .mz-anim-2 {
    animation-delay: .18s !important;
  }

  .mz-anim-3 {
    animation-delay: .30s !important;
  }

  .mz-anim-4 {
    animation-delay: .42s !important;
  }

  .mz-anim-5 {
    animation-delay: .54s !important;
  }

  .mz-anim-6 {
    animation-delay: .64s !important;
  }

  .mz-hero-kicker i {
    animation-name: mzHeroLineIn !important;
    animation-duration: 1s !important;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
    animation-fill-mode: both !important;
    animation-delay: .32s !important;
  }

  .mz-hero-divider {
    animation-name: mzHeroLineIn !important;
    animation-duration: 1s !important;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
    animation-fill-mode: both !important;
    animation-delay: .56s !important;
  }

  @keyframes mzHeroFadeUp {
    0% {
      opacity: 0;
      transform: translate3d(0, 18px, 0);
      filter: blur(5px);
    }

    100% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
      filter: blur(0);
    }
  }

  @keyframes mzHeroLineIn {
    0% {
      opacity: 0;
      transform: scaleX(0);
    }

    100% {
      opacity: 1;
      transform: scaleX(1);
    }
  }

  /* Tablet / mobile */
  @media (max-width: 767px) {
    .mz-hero-copy {
      max-width: 100% !important;
      padding: 36px 0 44px !important;
    }

    .mz-hero-kicker {
      gap: 12px !important;
      margin-bottom: 18px !important;
    }

    .mz-hero-kicker span {
      font-size: 0.78rem !important;
      letter-spacing: 0.24em !important;
    }

    .mz-hero-kicker i {
      width: 120px !important;
    }

    .mz-hero-title {
      letter-spacing: -0.04em !important;
      line-height: 0.92 !important;
    }

    .mz-hero-title .mz-line {
      font-size: clamp(3.35rem, 16vw, 5.1rem) !important;
      line-height: 0.92 !important;
    }

    .mz-hero-divider {
      width: 82% !important;
      margin: 22px 0 17px !important;
    }

    .mz-hero-meta {
      gap: 12px 14px !important;
    }

    .mz-meta-item {
      font-size: clamp(1.15rem, 5vw, 1.45rem) !important;
      gap: 8px !important;
    }

    .mz-meta-icon svg {
      width: 19px !important;
      height: 19px !important;
    }

    .mz-meta-separator {
      height: 18px !important;
    }
  }

  /* Bardzo małe telefony */
  @media (max-width: 420px) {
    .mz-hero-kicker i {
      width: 82px !important;
    }

    .mz-hero-title .mz-line {
      font-size: clamp(3rem, 15vw, 4.45rem) !important;
    }

    .mz-hero-meta {
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 10px !important;
    }

    .mz-meta-separator {
      display: none !important;
    }
  }

  /* Dostępność — użytkownicy z wyłączonymi animacjami */
  @media (prefers-reduced-motion: reduce) {
    .mz-anim,
    .mz-hero-kicker i,
    .mz-hero-divider {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
      filter: none !important;
    }
  }
  
  
/* HERO — BUTTONS */

.mz-hero-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin-top: clamp(24px, 3vw, 36px) !important;
  position: relative !important;
  z-index: 5 !important;
}

.mz-hero-btn {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 56px !important;
  padding: 18px 30px !important;
  border-radius: 8px !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.84rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
  isolation: isolate !important;
  transition:
    transform .28s cubic-bezier(.16, 1, .3, 1),
    border-color .28s cubic-bezier(.16, 1, .3, 1),
    background-color .28s cubic-bezier(.16, 1, .3, 1),
    box-shadow .28s cubic-bezier(.16, 1, .3, 1),
    color .28s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-hero-btn::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  opacity: 0 !important;
  transition: opacity .28s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-hero-btn::after {
  content: "" !important;
  position: absolute !important;
  top: -40% !important;
  left: -120% !important;
  width: 90% !important;
  height: 180% !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(
    115deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.22) 45%,
    rgba(255,255,255,0) 100%
  ) !important;
  transform: skewX(-18deg) !important;
  transition: left .65s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-hero-btn:hover::after,
.mz-hero-btn:focus-visible::after {
  left: 130% !important;
}

.mz-hero-btn:hover,
.mz-hero-btn:focus-visible {
  transform: translateY(-3px) !important;
  text-decoration: none !important;
}

.mz-hero-btn:active {
  transform: translateY(-1px) scale(.99) !important;
}

/* PRIMARY BUTTON */

.mz-hero-btn-primary {
  color: #080d2c !important;
  background: linear-gradient(135deg, #9ff9ee 0%, #5bf4e2 55%, #32c9bd 100%) !important;
  border: 1px solid rgba(186, 255, 247, .75) !important;
  box-shadow:
    0 12px 28px rgba(15, 118, 110, .28),
    0 2px 0 rgba(255, 255, 255, .22) inset,
    0 -1px 0 rgba(67, 39, 12, .24) inset !important;
}

.mz-hero-btn-primary::before {
  background:
    radial-gradient(circle at 30% 0%, rgba(255,255,255,.34), transparent 34%),
    linear-gradient(135deg, #c5fff8 0%, #5bf4e2 55%, #32c9bd 100%) !important;
}

.mz-hero-btn-primary:hover,
.mz-hero-btn-primary:focus-visible {
  color: #080d2c !important;
  border-color: rgba(255, 229, 174, .95) !important;
  box-shadow:
    0 18px 40px rgba(15, 118, 110, .36),
    0 0 0 4px rgba(91, 244, 226, .12),
    0 2px 0 rgba(255, 255, 255, .28) inset,
    0 -1px 0 rgba(67, 39, 12, .22) inset !important;
}

.mz-hero-btn-primary:hover::before,
.mz-hero-btn-primary:focus-visible::before {
  opacity: 1 !important;
}

/* OUTLINE BUTTON */

.mz-hero-btn-outline {
  color: #f7f9fb !important;
  background: rgba(6, 17, 29, .34) !important;
  border: 1px solid rgba(248, 246, 241, .34) !important;
  box-shadow:
    0 12px 30px rgba(0, 0, 0, .18),
    0 1px 0 rgba(255, 255, 255, .08) inset !important;
  backdrop-filter: blur(10px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(135%) !important;
}

.mz-hero-btn-outline::before {
  background:
    linear-gradient(135deg, rgba(91, 244, 226, .18), rgba(255, 255, 255, .05)),
    rgba(255, 255, 255, .035) !important;
}

.mz-hero-btn-outline:hover,
.mz-hero-btn-outline:focus-visible {
  color: #ffffff !important;
  border-color: rgba(91, 244, 226, .82) !important;
  background: rgba(8, 25, 42, .52) !important;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, .28),
    0 0 0 4px rgba(91, 244, 226, .10),
    0 1px 0 rgba(255, 255, 255, .12) inset !important;
}

.mz-hero-btn-outline:hover::before,
.mz-hero-btn-outline:focus-visible::before {
  opacity: 1 !important;
}

/* LABEL + ARROW */

.mz-hero-btn-label {
  position: relative !important;
  z-index: 1 !important;
  display: inline-block !important;
}

.mz-hero-btn-arrow {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  transform: translateX(0) !important;
  transition: transform .28s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-hero-btn-primary:hover .mz-hero-btn-arrow,
.mz-hero-btn-primary:focus-visible .mz-hero-btn-arrow {
  transform: translateX(4px) !important;
}

/* ACCESSIBILITY */

.mz-hero-btn:focus-visible {
  outline: 2px solid #bafff7 !important;
  outline-offset: 4px !important;
}

/* MOBILE */

@media (max-width: 767px) {
  .mz-hero-actions {
    justify-content: center !important;
    gap: 12px !important;
    margin-top: 28px !important;
  }

  .mz-hero-btn {
    min-height: 52px !important;
    padding: 16px 24px !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.065em !important;
  }
}

/* VERY SMALL MOBILE */

@media (max-width: 420px) {
  .mz-hero-actions {
    width: 100% !important;
  }

  .mz-hero-btn {
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-hero-btn,
  .mz-hero-btn::before,
  .mz-hero-btn::after,
  .mz-hero-btn-arrow {
    transition: none !important;
  }

  .mz-hero-btn:hover,
  .mz-hero-btn:focus-visible,
  .mz-hero-btn:active {
    transform: none !important;
  }
}

/* HERO TEXT — MOBILE CENTER ALIGNMENT */

@media (max-width: 767px) {
  .mz-hero-copy {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .mz-hero-inner {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .mz-hero-kicker {
    justify-content: center !important;
    text-align: center !important;
  }

  .mz-hero-kicker span {
    text-align: center !important;
  }

  .mz-hero-kicker i {
    width: 110px !important;
  }

  .mz-hero-title {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .mz-hero-title .mz-line {
    text-align: center !important;
  }

  .mz-hero-divider {
    margin-left: auto !important;
    margin-right: auto !important;
    background: linear-gradient(
      90deg,
      rgba(91, 244, 226, 0),
      rgba(91, 244, 226, 0.75) 50%,
      rgba(91, 244, 226, 0)
    ) !important;
  }

  .mz-hero-meta {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  .mz-meta-item {
    justify-content: center !important;
    text-align: center !important;
  }
}

/* Bardzo małe telefony — data i miejsce pod sobą, ale nadal wyśrodkowane */

@media (max-width: 420px) {
  .mz-hero-kicker {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .mz-hero-kicker i {
    width: 160px !important;
    max-width: 55vw !important;
    background: linear-gradient(
      90deg,
      rgba(91, 244, 226, 0),
      rgba(91, 244, 226, 0.75) 50%,
      rgba(91, 244, 226, 0)
    ) !important;
  }

  .mz-hero-meta {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .mz-meta-separator {
    display: none !important;
  }
}

/* HERO — MOBILE READABILITY IMPROVEMENT */

@media (max-width: 767px) {
  .mz-hero-copy {
    position: relative !important;
    z-index: 2 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* Subtelna winieta pod tekstem — poprawia czytelność na jasnych fragmentach KV */
  .mz-hero-copy::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    pointer-events: none !important;

    top: 10px !important;
    left: 50% !important;
    width: min(118%, 430px) !important;
    height: 72% !important;

    transform: translateX(-50%) !important;
    border-radius: 32px !important;

    background:
      radial-gradient(
        ellipse at center,
        rgba(3, 12, 24, 0.78) 0%,
        rgba(3, 12, 24, 0.58) 34%,
        rgba(3, 12, 24, 0.30) 58%,
        rgba(3, 12, 24, 0.00) 82%
      ) !important;

    filter: blur(2px) !important;
  }

  .mz-hero-kicker span {
    text-shadow:
      0 2px 8px rgba(0, 0, 0, 0.85),
      0 0 18px rgba(0, 0, 0, 0.55) !important;
  }

  .mz-hero-title .mz-line {
    text-shadow:
      0 3px 10px rgba(0, 0, 0, 0.88),
      0 8px 28px rgba(0, 0, 0, 0.62),
      0 0 18px rgba(0, 0, 0, 0.42) !important;
  }

  .mz-line-gold {
    text-shadow:
      0 3px 10px rgba(0, 0, 0, 0.9),
      0 8px 28px rgba(0, 0, 0, 0.66),
      0 0 20px rgba(91, 244, 226, 0.14) !important;
  }

  .mz-meta-item {
    text-shadow:
      0 2px 8px rgba(0, 0, 0, 0.88),
      0 0 16px rgba(0, 0, 0, 0.48) !important;
  }

  .mz-meta-icon {
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.7)) !important;
  }

  .mz-hero-divider {
    box-shadow:
      0 0 14px rgba(0, 0, 0, 0.65),
      0 0 10px rgba(91, 244, 226, 0.18) !important;
  }
}

/* Bardzo małe telefony — winieta trochę wyższa, bo tekst jest bardziej skompresowany */

@media (max-width: 420px) {
  .mz-hero-copy::before {
    top: 4px !important;
    width: 122% !important;
    height: 76% !important;
    border-radius: 28px !important;
  }
}


/* COUNTDOWN SECTION */

.mz-countdown-section {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important;
  z-index: 10 !important;
  padding: 0 18px !important;
  margin: 0 auto !important;
}

.mz-countdown-box {
  width: min(100%, 1040px) !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  padding: 22px clamp(22px, 4vw, 56px) 24px !important;

  background:
    radial-gradient(circle at 50% -20%, rgba(91, 244, 226, 0.16), transparent 42%),
    linear-gradient(135deg, rgba(8, 25, 42, 0.98), rgba(4, 14, 27, 0.98)) !important;

  border: 1px solid rgba(91, 244, 226, 0.18) !important;

  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.30),
    0 1px 0 rgba(255, 255, 255, 0.08) inset,
    0 -1px 0 rgba(0, 0, 0, 0.35) inset !important;

  backdrop-filter: blur(14px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
}

.mz-countdown-box::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.00),
      rgba(255, 255, 255, 0.055),
      rgba(255, 255, 255, 0.00)
    ) !important;
  opacity: .75 !important;
}

.mz-countdown-box::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 0 !important;
  width: 70% !important;
  height: 1px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(
    90deg,
    rgba(91, 244, 226, 0),
    rgba(91, 244, 226, 0.65),
    rgba(91, 244, 226, 0)
  ) !important;
  opacity: .75 !important;
}

.mz-countdown-top {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 18px !important;
  color: #5bf4e2 !important;
  text-align: center !important;
}

.mz-countdown-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #5bf4e2 !important;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .35)) !important;
}

.mz-countdown-date {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.78rem, 0.45vw + 0.7rem, 0.95rem) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: #f7f9fb !important;
}

.mz-countdown-grid {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr !important;
  align-items: center !important;
  gap: clamp(14px, 3vw, 42px) !important;
  position: relative !important;
  z-index: 2 !important;
}

.mz-countdown-item {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.mz-countdown-number {
  display: block !important;
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(2.8rem, 4.7vw, 5.25rem) !important;
  line-height: 0.85 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  color: #f7f9fb !important;
  font-variant-numeric: lining-nums tabular-nums !important;
  text-shadow:
    0 8px 26px rgba(0, 0, 0, 0.42),
    0 0 16px rgba(255, 255, 255, 0.05) !important;
}

.mz-countdown-item-days .mz-countdown-number {
  color: #5bf4e2 !important;
  text-shadow:
    0 8px 28px rgba(0, 0, 0, 0.45),
    0 0 18px rgba(91, 244, 226, 0.20) !important;
}

.mz-countdown-label {
  display: block !important;
  margin-top: 10px !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.68rem, 0.35vw + 0.62rem, 0.82rem) !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(248, 246, 241, 0.86) !important;
}

.mz-countdown-item-days .mz-countdown-label {
  color: rgba(91, 244, 226, 0.92) !important;
}

.mz-countdown-separator {
  display: block !important;
  width: 1px !important;
  height: clamp(48px, 5vw, 78px) !important;
  background: linear-gradient(
    180deg,
    rgba(91, 244, 226, 0),
    rgba(91, 244, 226, 0.50),
    rgba(91, 244, 226, 0)
  ) !important;
}

/* MOBILE */

@media (max-width: 767px) {
  .mz-countdown-section {
    padding: 0 14px !important;
  }

  .mz-countdown-box {
    border-radius: 12px !important;
    padding: 20px 18px 22px !important;
  }

  .mz-countdown-top {
    margin-bottom: 16px !important;
  }

  .mz-countdown-date {
    font-size: 0.76rem !important;
    letter-spacing: 0.065em !important;
  }

  .mz-countdown-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0 !important;
  }

  .mz-countdown-separator {
    display: none !important;
  }

  .mz-countdown-item {
    position: relative !important;
    padding: 0 8px !important;
  }

  .mz-countdown-item:not(:last-of-type)::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    width: 1px !important;
    height: 46px !important;
    transform: translateY(-50%) !important;
    background: linear-gradient(
      180deg,
      rgba(91, 244, 226, 0),
      rgba(91, 244, 226, 0.34),
      rgba(91, 244, 226, 0)
    ) !important;
  }

  .mz-countdown-number {
    font-size: clamp(2.2rem, 10vw, 3.4rem) !important;
  }

  .mz-countdown-label {
    margin-top: 8px !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.09em !important;
  }
}

/* VERY SMALL MOBILE */

@media (max-width: 420px) {
  .mz-countdown-box {
    padding: 18px 12px 20px !important;
  }

  .mz-countdown-top {
    gap: 8px !important;
  }

  .mz-countdown-icon svg {
    width: 16px !important;
    height: 16px !important;
  }

  .mz-countdown-date {
    font-size: 0.68rem !important;
    letter-spacing: 0.045em !important;
  }

  .mz-countdown-item {
    padding: 0 5px !important;
  }

  .mz-countdown-number {
    font-size: clamp(1.9rem, 9vw, 2.8rem) !important;
  }

  .mz-countdown-label {
    font-size: 0.55rem !important;
    letter-spacing: 0.06em !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-countdown-box,
  .mz-countdown-number {
    transition: none !important;
  }
}


/* WELCOME / INVITATION COPY */

.mz-welcome-copy {
  width: 100% !important;
  max-width: 560px !important;
  position: relative !important;
  z-index: 2 !important;
  color: #26324a !important;
  text-align: left !important;
  padding: clamp(24px, 3vw, 40px) 0 !important;
}

.mz-welcome-kicker {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.72rem, 0.35vw + 0.65rem, 0.86rem) !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #0f766e !important;
  margin-bottom: clamp(14px, 1.5vw, 20px) !important;
}

.mz-welcome-title {
  margin: 0 0 clamp(22px, 2.4vw, 30px) !important;
  padding: 0 !important;
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(2.0rem, 2.55vw, 3.15rem) !important;
  line-height: 0.98 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  color: #11183a !important;
}

.mz-welcome-title span {
  display: block !important;
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
}

.mz-welcome-title .mz-gold {
  color: #0f766e !important;
}

.mz-welcome-text {
  max-width: 520px !important;
  margin: 0 0 clamp(22px, 2.8vw, 34px) !important;
}

.mz-welcome-text p {
  margin: 0 !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(1rem, 0.45vw + 0.92rem, 1.12rem) !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
  letter-spacing: 0.005em !important;
  color: #26324a !important;
}

.mz-welcome-signature {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-top: clamp(18px, 2vw, 26px) !important;
}

.mz-welcome-signature img {
  display: block !important;
  width: clamp(170px, 16vw, 250px) !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  opacity: 0.95 !important;
}

.mz-welcome-person {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.mz-welcome-person strong {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.86rem, 0.25vw + 0.82rem, 0.98rem) !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  color: #11183a !important;
}

.mz-welcome-person span {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.76rem, 0.25vw + 0.72rem, 0.88rem) !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

/* Delikatna animacja wejścia */

.mz-welcome-copy {
  animation: mzWelcomeFadeUp .85s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes mzWelcomeFadeUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
    filter: blur(4px);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

/* MOBILE */

@media (max-width: 767px) {
  .mz-welcome-copy {
    max-width: 100% !important;
    text-align: center !important;
    padding: 44px 20px 34px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .mz-welcome-kicker {
    margin-bottom: 14px !important;
  }

  .mz-welcome-title {
    font-size: clamp(2.25rem, 11vw, 3.25rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.032em !important;
    margin-bottom: 22px !important;
  }

  .mz-welcome-text {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 26px !important;
  }

  .mz-welcome-text p {
    font-size: 1rem !important;
    line-height: 1.68 !important;
  }

  .mz-welcome-signature {
    align-items: center !important;
    text-align: center !important;
    margin-top: 24px !important;
  }

  .mz-welcome-signature img {
    width: min(230px, 72vw) !important;
  }

  .mz-welcome-person {
    align-items: center !important;
    text-align: center !important;
  }
}

/* VERY SMALL MOBILE */

@media (max-width: 420px) {
  .mz-welcome-copy {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mz-welcome-title {
    font-size: clamp(2.05rem, 10vw, 2.75rem) !important;
  }

  .mz-welcome-text p {
    font-size: 0.96rem !important;
    line-height: 1.65 !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-welcome-copy {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}


/* =========================================================
   INVITATION / WELCOME MODULE — DESKTOP 1240px SAFE VERSION
   ========================================================= */

.mz-invite-section {
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
  overflow: visible !important;
  padding: clamp(48px, 6vw, 86px) 20px clamp(36px, 5vw, 72px) !important;
  background: transparent !important;
}

.mz-invite-wrap {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;

  display: grid !important;
  grid-template-columns: 430px 320px 330px !important;
  grid-template-areas:
    "copy photo quote"
    "sign photo quote" !important;

  justify-content: space-between !important;
  align-items: center !important;

  column-gap: 40px !important;
  row-gap: 18px !important;

  position: relative !important;
  box-sizing: border-box !important;
}

/* =====================
   COPY
   ===================== */

.mz-invite-copy {
  grid-area: copy !important;
  width: 100% !important;
  max-width: 430px !important;
  min-width: 0 !important;
  position: relative !important;
  z-index: 3 !important;
  text-align: left !important;
  animation: mzInviteFadeUp .8s cubic-bezier(.16, 1, .3, 1) both !important;
}

.mz-invite-kicker {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #0f766e !important;
  margin: 0 0 16px !important;
}

.mz-invite-title {
  margin: 0 0 24px !important;
  padding: 0 !important;
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;

  /* WAŻNE: mniejszy max, żeby nie łamało "Praktyka kliniczna" */
  font-size: clamp(2.75rem, 2.45vw, 3.25rem) !important;

  line-height: 1.02 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  color: #11183a !important;
}

.mz-invite-title span {
  display: block !important;
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  white-space: nowrap !important;
}

.mz-invite-title .mz-gold {
  color: #0f766e !important;
}

.mz-invite-text {
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 !important;
}

.mz-invite-text p {
  margin: 0 !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
  letter-spacing: 0.005em !important;
  color: #26324a !important;
}

/* =====================
   PHOTO
   ===================== */

.mz-invite-photo {
  grid-area: photo !important;
  align-self: end !important;
  justify-self: center !important;

  width: 100% !important;
  max-width: 320px !important;

  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 2 !important;

  animation: mzInvitePhotoIn .9s cubic-bezier(.16, 1, .3, 1) .12s both !important;
}

.mz-invite-photo img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  filter: drop-shadow(0 26px 32px rgba(8, 25, 42, 0.15)) !important;
}

/* =====================
   QUOTE
   ===================== */

.mz-invite-quote {
  grid-area: quote !important;
  justify-self: end !important;
  align-self: center !important;

  width: 100% !important;
  max-width: 330px !important;

  position: relative !important;
  z-index: 4 !important;

  margin: 0 !important;
  padding: 38px 38px 40px !important;

  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.92)) !important;
  border: 1px solid rgba(228, 231, 236, 0.9) !important;

  box-shadow:
    0 22px 60px rgba(8, 25, 42, 0.10),
    0 1px 0 rgba(255, 255, 255, 0.85) inset !important;

  box-sizing: border-box !important;
  animation: mzInviteFadeUp .8s cubic-bezier(.16, 1, .3, 1) .18s both !important;
}

.mz-quote-mark {
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: 4.4rem !important;
  line-height: 0.65 !important;
  font-weight: 700 !important;
  color: #0f766e !important;
  margin: 0 0 12px !important;
}

.mz-invite-quote p {
  margin: 0 !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 1.03rem !important;
  line-height: 1.66 !important;
  font-weight: 900 !important;
  letter-spacing: 0.005em !important;
  color: #11183a !important;
}

.mz-quote-line {
  display: block !important;
  width: 54px !important;
  height: 2px !important;
  margin-top: 24px !important;
  background: linear-gradient(90deg, #0f766e, rgba(15, 118, 110, 0.25)) !important;
}

/* =====================
   SIGNATURE
   ===================== */

.mz-invite-signature {
  grid-area: sign !important;
  align-self: start !important;
  justify-self: start !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 9px !important;

  width: 100% !important;
  max-width: 360px !important;

  position: relative !important;
  z-index: 5 !important;

  margin-top: 6px !important;
  animation: mzInviteFadeUp .8s cubic-bezier(.16, 1, .3, 1) .24s both !important;
  
  margin-bottom: 30px;
}

.mz-invite-signature img {
  display: block !important;
  width: 230px !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  opacity: 0.98 !important;
}

.mz-invite-person {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.mz-invite-person strong {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.92rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  color: #11183a !important;
}

.mz-invite-person span {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

/* =====================
   ANIMATIONS
   ===================== */

@keyframes mzInviteFadeUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
    filter: blur(4px);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

@keyframes mzInvitePhotoIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 20px, 0) scale(0.985);
    filter: blur(4px) drop-shadow(0 26px 32px rgba(8, 25, 42, 0.15));
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0) drop-shadow(0 26px 32px rgba(8, 25, 42, 0.15));
  }
}

/* =========================================================
   LAPTOP / SMALL DESKTOP
   ========================================================= */

@media (max-width: 1240px) {
  .mz-invite-wrap {
    max-width: 1120px !important;
    grid-template-columns: 390px 280px 310px !important;
    column-gap: 34px !important;
  }

  .mz-invite-copy {
    max-width: 390px !important;
  }

  .mz-invite-title {
    font-size: clamp(2.45rem, 2.6vw, 3rem) !important;
  }

  .mz-invite-text {
    max-width: 390px !important;
  }

  .mz-invite-photo {
    max-width: 280px !important;
  }

  .mz-invite-quote {
    max-width: 310px !important;
    padding: 34px 32px 36px !important;
  }

  .mz-invite-quote p {
    font-size: 0.98rem !important;
  }
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 980px) {
  .mz-invite-section {
    padding-top: 54px !important;
  }

  .mz-invite-wrap {
    max-width: 760px !important;
    grid-template-columns: 1fr 280px !important;
    grid-template-areas:
      "copy photo"
      "sign photo"
      "quote quote" !important;
    column-gap: 42px !important;
    row-gap: 24px !important;
    align-items: center !important;
  }

  .mz-invite-copy {
    max-width: 420px !important;
  }

  .mz-invite-title {
    font-size: clamp(2.35rem, 4vw, 3.05rem) !important;
  }

  .mz-invite-title span {
    white-space: normal !important;
  }

  .mz-invite-photo {
    max-width: 260px !important;
  }

  .mz-invite-quote {
    justify-self: center !important;
    max-width: 560px !important;
    width: 100% !important;
  }
}

/* =========================================================
   MOBILE — text top, photo + quote side by side, signature bottom
   ========================================================= */

@media (max-width: 767px) {
  .mz-invite-section {
    padding: 44px 16px 34px !important;
  }

  .mz-invite-wrap {
    width: min(100%, 430px) !important;
    max-width: 430px !important;

    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr) !important;
    grid-template-areas:
      "copy copy"
      "photo quote"
      "sign sign" !important;

    column-gap: 14px !important;
    row-gap: 18px !important;
    align-items: end !important;
    justify-content: center !important;
  }

  .mz-invite-copy {
    max-width: 100% !important;
    text-align: left !important;
  }

  .mz-invite-kicker {
    font-size: 0.72rem !important;
    letter-spacing: 0.14em !important;
    margin-bottom: 12px !important;
  }

  .mz-invite-title {
    font-size: clamp(2.25rem, 10.5vw, 3.35rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.034em !important;
    margin-bottom: 18px !important;
  }

  .mz-invite-title span {
    white-space: normal !important;
  }

  .mz-invite-text p {
    font-size: 0.98rem !important;
    line-height: 1.68 !important;
  }

  .mz-invite-photo {
    max-width: 180px !important;
    width: 100% !important;
    justify-self: start !important;
    align-self: end !important;
    z-index: 3 !important;
  }

  .mz-invite-quote {
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
    align-self: center !important;

    padding: 22px 20px 22px !important;
    border-radius: 12px !important;

    box-shadow:
      0 18px 46px rgba(8, 25, 42, 0.10),
      0 1px 0 rgba(255, 255, 255, 0.85) inset !important;
  }

  .mz-quote-mark {
    font-size: 3.2rem !important;
    margin-bottom: 8px !important;
  }

  .mz-invite-quote p {
    font-size: clamp(0.88rem, 3.4vw, 1rem) !important;
    line-height: 1.55 !important;
    font-weight: 900 !important;
  }

  .mz-quote-line {
    width: 44px !important;
    margin-top: 18px !important;
  }

  .mz-invite-signature {
    justify-self: center !important;
    align-items: center !important;
    text-align: center !important;
    max-width: 100% !important;
    margin-top: -4px !important;
  }

  .mz-invite-signature img {
    width: min(230px, 70vw) !important;
  }

  .mz-invite-person {
    align-items: center !important;
    text-align: center !important;
  }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 390px) {
  .mz-invite-section {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .mz-invite-wrap {
    column-gap: 10px !important;
    row-gap: 16px !important;
  }

  .mz-invite-title {
    font-size: clamp(2.08rem, 10.4vw, 3.05rem) !important;
  }

  .mz-invite-text p {
    font-size: 0.94rem !important;
  }

  .mz-invite-photo {
    max-width: 158px !important;
  }

  .mz-invite-quote {
    padding: 20px 16px !important;
  }

  .mz-invite-quote p {
    font-size: 0.84rem !important;
    line-height: 1.52 !important;
  }
}

/* =========================================================
   ULTRA SMALL
   ========================================================= */

@media (max-width: 340px) {
  .mz-invite-wrap {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "copy"
      "photo"
      "quote"
      "sign" !important;
  }

  .mz-invite-photo {
    justify-self: center !important;
    max-width: 190px !important;
  }

  .mz-invite-quote {
    max-width: 280px !important;
    justify-self: center !important;
  }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .mz-invite-copy,
  .mz-invite-photo,
  .mz-invite-quote,
  .mz-invite-signature {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}

/* =========================================================
   INVITATION MODULE — DESKTOP REFINEMENT / 1240px CONTAINER
   Poszerzenie tekstu + większe zdjęcie bliżej cytatu
   ========================================================= */

@media (min-width: 981px) {
  .mz-invite-wrap {
    max-width: 1240px !important;

    /* 500 + 350 + 330 + 2x30 = 1240 */
    grid-template-columns: 500px 350px 330px !important;
    column-gap: 30px !important;

    justify-content: center !important;
    align-items: center !important;
  }

  .mz-invite-copy {
    max-width: 500px !important;
  }

  .mz-invite-text {
    max-width: 480px !important;
  }

  .mz-invite-title {
    font-size: clamp(2.85rem, 2.35vw, 3.35rem) !important;
    line-height: 1.02 !important;
  }

  .mz-invite-title span {
    white-space: nowrap !important;
  }

  .mz-invite-photo {
    max-width: 350px !important;
    justify-self: end !important;
    overflow: visible !important;
    z-index: 6 !important;
  }

  .mz-invite-photo img {
    width: 380px !important;
    max-width: none !important;
    transform: translateX(44px) scale(1.04) !important;
    transform-origin: center bottom !important;
    position: relative !important;
    z-index: 6 !important;
  }

  .mz-invite-quote {
    justify-self: start !important;
    max-width: 330px !important;
    z-index: 4 !important;
  }
}

/* Trochę bezpieczniejszy wariant dla mniejszych laptopów */

@media (min-width: 981px) and (max-width: 1240px) {
  .mz-invite-wrap {
    max-width: 1120px !important;

    /* 455 + 320 + 305 + 2x20 = 1120 */
    grid-template-columns: 455px 320px 305px !important;
    column-gap: 20px !important;
  }

  .mz-invite-copy {
    max-width: 455px !important;
  }

  .mz-invite-text {
    max-width: 430px !important;
  }

  .mz-invite-title {
    font-size: clamp(2.55rem, 2.6vw, 3.05rem) !important;
  }

  .mz-invite-photo {
    max-width: 320px !important;
  }

  .mz-invite-photo img {
    width: 345px !important;
    transform: translateX(32px) scale(1.035) !important;
  }

  .mz-invite-quote {
    max-width: 305px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
}

/* Tablet i mobile — wracamy do normalnego zachowania */

@media (max-width: 980px) {
  .mz-invite-photo {
    overflow: visible !important;
  }

  .mz-invite-photo img {
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
  }
}


/* =========================================================
   UNIVERSAL SECTION HEADING
   ========================================================= */

.mz-section-heading {
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 auto clamp(28px, 4vw, 48px) !important;
  padding: 0 18px !important;
  position: relative !important;
  z-index: 2 !important;
}

.mz-section-heading--center {
  text-align: center !important;
}

.mz-section-heading--left {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.mz-section-eyebrow {
  display: block !important;
  margin: 0 0 10px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.72rem, 0.35vw + 0.65rem, 0.86rem) !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;

  color: #0f766e !important;
}

.mz-section-title {
  margin: 0 !important;
  padding: 0 !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(2.0rem, 2.35vw, 3.35rem) !important;
  line-height: 1.02 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;

  color: #11183a !important;
}

.mz-section-lead {
  max-width: 680px !important;
  margin: clamp(14px, 1.8vw, 22px) auto 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(1rem, 0.35vw + 0.94rem, 1.1rem) !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;

  color: #667085 !important;
}

.mz-section-heading--left .mz-section-lead {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Wariant na ciemnym tle */

.mz-section-heading--dark .mz-section-title {
  color: #f7f9fb !important;
}

.mz-section-heading--dark .mz-section-lead {
  color: rgba(248, 246, 241, 0.78) !important;
}

.mz-section-heading--dark .mz-section-eyebrow {
  color: #5bf4e2 !important;
}

/* Opcjonalna dekoracyjna linia pod nagłówkiem */

.mz-section-heading--line::after {
  content: "" !important;
  display: block !important;
  width: 72px !important;
  height: 2px !important;
  margin: 20px auto 0 !important;
  background: linear-gradient(
    90deg,
    rgba(15, 118, 110, 0),
    rgba(15, 118, 110, 0.95),
    rgba(15, 118, 110, 0)
  ) !important;
}

.mz-section-heading--left.mz-section-heading--line::after {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Mniejszy wariant, np. do podsekcji */

.mz-section-heading--small {
  max-width: 720px !important;
  margin-bottom: clamp(22px, 3vw, 36px) !important;
}

.mz-section-heading--small .mz-section-title {
  font-size: clamp(2rem, 2.35vw, 3rem) !important;
}

/* Mobile */

@media (max-width: 767px) {
  .mz-section-heading {
    max-width: 100% !important;
    padding: 0 16px !important;
    margin-bottom: 30px !important;
  }

  .mz-section-heading--left {
    text-align: left !important;
  }

  .mz-section-title {
    font-size: clamp(2.05rem, 9.5vw, 3.05rem) !important;
    line-height: 1.04 !important;
  }

  .mz-section-eyebrow {
    font-size: 0.72rem !important;
    letter-spacing: 0.14em !important;
    margin-bottom: 9px !important;
  }

  .mz-section-lead {
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
  }
}

/* Bardzo małe telefony */

@media (max-width: 390px) {
  .mz-section-title {
    font-size: clamp(1.95rem, 9vw, 2.65rem) !important;
  }
}


/* =========================================================
   PROGRAM PREVIEW / COMING SOON SECTION
   ========================================================= */

.mz-program-preview {
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
  padding: 0 18px clamp(44px, 5vw, 76px) !important;
  background: transparent !important;
}

.mz-program-preview-wrap {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  position: relative !important;
}

/* TABS */

.mz-program-tabs {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 620px) !important;
  margin: 0 auto -1px !important;
  position: relative !important;
  z-index: 5 !important;
  border-radius: 10px 10px 0 0 !important;
  overflow: hidden !important;
  background: rgba(8, 25, 42, 0.04) !important;
  box-shadow: 0 12px 34px rgba(8, 25, 42, 0.06) !important;
}

.mz-program-tab {
  appearance: none !important;
  border: 0 !important;
  outline: none !important;
  cursor: pointer !important;

  width: 50% !important;
  min-height: 54px !important;
  padding: 16px 22px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.88rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;

  color: #26324a !important;
  background: rgba(255, 255, 255, 0.72) !important;

  transition:
    background-color .25s cubic-bezier(.16, 1, .3, 1),
    color .25s cubic-bezier(.16, 1, .3, 1),
    box-shadow .25s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-program-tab.is-active {
  color: #f7f9fb !important;
  background: linear-gradient(135deg, #11183a, #080d2c) !important;
  box-shadow:
    0 12px 28px rgba(8, 25, 42, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.08) inset !important;
}

.mz-program-tab.is-active::after {
  content: "" !important;
  position: absolute !important;
}

.mz-program-tab:hover,
.mz-program-tab:focus-visible {
  color: #11183a !important;
  background: rgba(255, 255, 255, 0.94) !important;
}

.mz-program-tab.is-active:hover,
.mz-program-tab.is-active:focus-visible {
  color: #f7f9fb !important;
  background: linear-gradient(135deg, #21204b, #080d2c) !important;
}

.mz-program-tab:focus-visible {
  outline: 2px solid #5bf4e2 !important;
  outline-offset: -4px !important;
}

/* MAIN GRID */

.mz-program-preview-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.85fr) !important;
  align-items: stretch !important;
  gap: 0 !important;

  border-radius: 14px !important;
  overflow: hidden !important;

  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(228, 231, 236, 0.9) !important;

  box-shadow:
    0 28px 70px rgba(8, 25, 42, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.90) inset !important;
}

/* PROGRAM LIST CARD */

.mz-program-card {
  min-width: 0 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.94)) !important;
  padding: clamp(24px, 3vw, 38px) clamp(24px, 3.5vw, 46px) !important;
}

.mz-program-panel {
  display: block !important;
  animation: mzProgramFade .35s cubic-bezier(.16, 1, .3, 1) both !important;
}

.mz-program-panel[hidden] {
  display: none !important;
}

.session-row {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 22px !important;
  padding: 15px 0 !important;
  border-bottom: 1px solid rgba(228, 231, 236, 0.9) !important;
}

.session-row:first-child {
  padding-top: 0 !important;
}

.session-row:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.session-time {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.86rem !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #0f766e !important;
  font-variant-numeric: tabular-nums !important;
}

.session-content {
  min-width: 0 !important;
}

.session-content h3 {
  margin: 0 0 5px !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: -0.005em !important;
  color: #11183a !important;
}

.session-content p {
  margin: 0 !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

.session-row.discussion .session-content h3 {
  color: #21204b !important;
}

.session-row.non-talk {
  background:
    linear-gradient(90deg, rgba(91, 244, 226, 0.055), rgba(91, 244, 226, 0)) !important;
  margin-left: -14px !important;
  margin-right: -14px !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  border-radius: 8px !important;
}

/* SOON CARD */

.mz-program-soon-card {
  position: relative !important;
  min-width: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;

  padding: clamp(30px, 4vw, 54px) clamp(28px, 4vw, 46px) !important;

  background:
    radial-gradient(circle at 50% 0%, rgba(91, 244, 226, 0.10), transparent 45%),
    linear-gradient(180deg, #f7f9fb, #ffffff) !important;

  border-left: 1px solid rgba(228, 231, 236, 0.9) !important;
}

.mz-program-soon-icon {
  width: 78px !important;
  height: 78px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 22px !important;
  position: relative !important;
}

.mz-program-soon-icon::before {
  content: "" !important;
  width: 54px !important;
  height: 64px !important;
  display: block !important;
  border: 3px solid #0f766e !important;
  border-radius: 7px !important;
  box-sizing: border-box !important;
  background:
    linear-gradient(#0f766e, #0f766e) 50% 24px / 24px 3px no-repeat,
    linear-gradient(#0f766e, #0f766e) 50% 36px / 28px 3px no-repeat,
    linear-gradient(#0f766e, #0f766e) 50% 48px / 24px 3px no-repeat !important;
}

.mz-program-soon-icon::after {
  content: "" !important;
  position: absolute !important;
  top: 2px !important;
  width: 30px !important;
  height: 13px !important;
  border: 3px solid #0f766e !important;
  border-bottom: 0 !important;
  border-radius: 8px 8px 0 0 !important;
  background: #f7f9fb !important;
}

.mz-program-soon-kicker {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #0f766e !important;
  margin-bottom: 12px !important;
}

.mz-program-soon-card h3 {
  margin: 0 0 16px !important;
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(1.85rem, 2.4vw, 2.6rem) !important;
  line-height: 1.1 !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  color: #11183a !important;
}

.mz-program-soon-card p {
  max-width: 330px !important;
  margin: 0 auto !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.96rem !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

.mz-program-soon-actions {
  margin-top: 24px !important;
}

.mz-program-soon-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 46px !important;
  padding: 14px 24px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.78rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  color: #11183a !important;
  background: transparent !important;
  border: 1px solid rgba(15, 118, 110, 0.65) !important;
  border-radius: 7px !important;

  transition:
    transform .25s cubic-bezier(.16, 1, .3, 1),
    background-color .25s cubic-bezier(.16, 1, .3, 1),
    color .25s cubic-bezier(.16, 1, .3, 1),
    box-shadow .25s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-program-soon-btn:hover,
.mz-program-soon-btn:focus-visible {
  color: #11183a !important;
  background: #5bf4e2 !important;
  box-shadow: 0 14px 32px rgba(15, 118, 110, 0.22) !important;
  transform: translateY(-2px) !important;
}

.mz-program-soon-btn:focus-visible {
  outline: 2px solid #0f766e !important;
  outline-offset: 4px !important;
}

@keyframes mzProgramFade {
  0% {
    opacity: 0;
    transform: translateY(8px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* TABLET */

@media (max-width: 980px) {
  .mz-program-preview-wrap {
    max-width: 760px !important;
  }

  .mz-program-preview-grid {
    grid-template-columns: 1fr !important;
  }

  .mz-program-soon-card {
    border-left: 0 !important;
    border-top: 1px solid rgba(228, 231, 236, 0.9) !important;
  }
}

/* MOBILE */

@media (max-width: 767px) {
  .mz-program-preview {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .mz-program-tabs {
    width: 100% !important;
  }

  .mz-program-tab {
    min-height: 50px !important;
    padding: 14px 12px !important;
    font-size: 0.78rem !important;
  }

  .mz-program-preview-grid {
    border-radius: 12px !important;
  }

  .mz-program-card {
    padding: 24px 18px !important;
  }

  .session-row {
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 14px 0 !important;
  }

  .session-time {
    font-size: 0.74rem !important;
  }

  .session-content h3 {
    font-size: 0.94rem !important;
  }

  .session-content p {
    font-size: 0.86rem !important;
    line-height: 1.52 !important;
  }

  .mz-program-soon-card {
    padding: 30px 22px 34px !important;
  }

  .mz-program-soon-icon {
    width: 68px !important;
    height: 68px !important;
    margin-bottom: 18px !important;
  }

  .mz-program-soon-card h3 {
    font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
  }

  .mz-program-soon-card p {
    font-size: 0.9rem !important;
  }
}

/* VERY SMALL */

@media (max-width: 390px) {
  .session-row {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .session-time {
    font-size: 0.72rem !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-program-panel,
  .mz-program-soon-btn {
    animation: none !important;
    transition: none !important;
  }

  .mz-program-soon-btn:hover,
  .mz-program-soon-btn:focus-visible {
    transform: none !important;
  }
}


/* =========================================================
   REGISTRATION MODULE
   ========================================================= */

.mz-registration-module {
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
  padding: 0 18px clamp(46px, 6vw, 86px) !important;
  background: transparent !important;
}

.mz-registration-wrap {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.75fr) minmax(340px, 0.75fr) !important;
  grid-template-areas:
    "main benefits"
    "strip strip"
    "note note" !important;
  gap: 32px !important;
  position: relative !important;
}

/* =====================
   MAIN DARK CARD
   ===================== */

.mz-registration-main-card {
  grid-area: main !important;
  position: relative !important;
  overflow: hidden !important;

  padding: clamp(28px, 4vw, 48px) clamp(26px, 4vw, 48px) !important;
  border-radius: 14px !important;

  background:
    radial-gradient(circle at 20% 0%, rgba(91, 244, 226, 0.14), transparent 36%),
    radial-gradient(circle at 88% 22%, rgba(255, 255, 255, 0.055), transparent 34%),
    linear-gradient(135deg, #11183a 0%, #080d2c 100%) !important;

  border: 1px solid rgba(91, 244, 226, 0.16) !important;

  box-shadow:
    0 28px 72px rgba(8, 25, 42, 0.28),
    0 1px 0 rgba(255, 255, 255, 0.08) inset !important;
}

.mz-registration-main-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      115deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.05) 46%,
      rgba(255,255,255,0) 72%
    ) !important;
  opacity: .8 !important;
}

.mz-registration-card-head {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-bottom: 34px !important;
}

.mz-registration-head-icon {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  position: relative !important;
  color: #5bf4e2 !important;
}

.mz-registration-head-icon::before {
  content: "" !important;
  position: absolute !important;
  left: 7px !important;
  top: 11px !important;
  width: 34px !important;
  height: 30px !important;
  border: 2px solid #5bf4e2 !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
}

.mz-registration-head-icon::after {
  content: "" !important;
  position: absolute !important;
  left: 13px !important;
  top: 21px !important;
  width: 22px !important;
  height: 12px !important;
  background:
    linear-gradient(#5bf4e2, #5bf4e2) 0 0 / 4px 4px no-repeat,
    linear-gradient(#5bf4e2, #5bf4e2) 9px 0 / 4px 4px no-repeat,
    linear-gradient(#5bf4e2, #5bf4e2) 18px 0 / 4px 4px no-repeat,
    linear-gradient(#5bf4e2, #5bf4e2) 0 8px / 4px 4px no-repeat,
    linear-gradient(#5bf4e2, #5bf4e2) 9px 8px / 4px 4px no-repeat,
    linear-gradient(#5bf4e2, #5bf4e2) 18px 8px / 4px 4px no-repeat !important;
}

.mz-registration-kicker {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #5bf4e2 !important;
  margin-bottom: 6px !important;
}

.mz-registration-card-head h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(1.05rem, 1vw, 1.28rem) !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  color: rgba(248, 246, 241, 0.88) !important;
}

/* =====================
   PRICE CARDS
   ===================== */

.mz-price-grid {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.mz-price-card {
  position: relative !important;
  min-width: 0 !important;

  padding: 38px 26px 28px !important;
  border-radius: 12px !important;

  background:
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018)) !important;

  border: 1px solid rgba(248, 246, 241, 0.18) !important;

  text-align: center !important;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.12),
    0 1px 0 rgba(255, 255, 255, 0.08) inset !important;

  transition:
    transform .26s cubic-bezier(.16, 1, .3, 1),
    border-color .26s cubic-bezier(.16, 1, .3, 1),
    box-shadow .26s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-price-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(91, 244, 226, 0.55) !important;
  box-shadow:
    0 22px 46px rgba(0, 0, 0, 0.18),
    0 0 0 4px rgba(91, 244, 226, 0.08) !important;
}

.mz-price-card-featured {
  border-color: rgba(91, 244, 226, 0.78) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(91, 244, 226, 0.14), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02)) !important;
}

.mz-price-badge {
  position: absolute !important;
  top: -1px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;

  min-width: 170px !important;
  padding: 8px 16px !important;
  border-radius: 0 0 8px 8px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.68rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;

  color: #11183a !important;
  background: linear-gradient(135deg, #9ff9ee, #32c9bd) !important;
}

.mz-price-icon {
  width: 56px !important;
  height: 56px !important;
  margin: 8px auto 28px !important;
  position: relative !important;
}

.mz-price-icon::before {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 12px !important;
  width: 40px !important;
  height: 34px !important;
  border: 3px solid rgba(248, 246, 241, 0.88) !important;
  border-radius: 7px !important;
  box-sizing: border-box !important;
}

.mz-price-card-featured .mz-price-icon::before {
  border-color: #5bf4e2 !important;
}

.mz-price-icon::after {
  content: "" !important;
  position: absolute !important;
  left: 16px !important;
  top: 24px !important;
  width: 24px !important;
  height: 14px !important;
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 10px 0 / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 20px 0 / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 0 10px / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 10px 10px / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 20px 10px / 4px 4px no-repeat !important;
  color: rgba(248, 246, 241, 0.88) !important;
}

.mz-price-card-featured .mz-price-icon::after {
  color: #5bf4e2 !important;
}

.mz-price-term {
  min-height: 46px !important;
  margin-bottom: 18px !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: #f7f9fb !important;
}

.mz-price-value {
  display: flex !important;
  justify-content: center !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-bottom: 2px !important;
  color: #f7f9fb !important;
}

.mz-price-value span {
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(3.65rem, 4.7vw, 5.2rem) !important;
  line-height: 0.9 !important;
  font-weight: 500 !important;
  letter-spacing: -0.04em !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}

.mz-price-value small {
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(1.8rem, 2vw, 2.5rem) !important;
  font-weight: 500 !important;
}

.mz-price-card-featured .mz-price-value {
  color: #5bf4e2 !important;
}

.mz-price-tax {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
  color: rgba(248, 246, 241, 0.82) !important;
}

.mz-price-line {
  width: 70% !important;
  height: 1px !important;
  margin: 24px auto 22px !important;
  background: linear-gradient(
    90deg,
    rgba(91, 244, 226, 0),
    rgba(91, 244, 226, 0.42),
    rgba(91, 244, 226, 0)
  ) !important;
}

.mz-price-note {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.88rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: rgba(248, 246, 241, 0.86) !important;
}

.mz-price-note span {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(91, 244, 226, 0.8) !important;
  color: #5bf4e2 !important;
  font-size: 0.72rem !important;
}

/* =====================
   CTA
   ===================== */

.mz-registration-cta-wrap {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 36px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 16px !important;
}

.mz-registration-cta {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;

  width: min(100%, 430px) !important;
  min-height: 58px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;

  padding: 18px 32px !important;
  border-radius: 8px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.84rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  color: #11183a !important;
  background: linear-gradient(135deg, #9ff9ee 0%, #32c9bd 100%) !important;
  border: 1px solid rgba(186, 255, 247, 0.75) !important;

  box-shadow:
    0 16px 34px rgba(15, 118, 110, 0.25),
    0 1px 0 rgba(255, 255, 255, 0.26) inset !important;

  transition:
    transform .26s cubic-bezier(.16, 1, .3, 1),
    box-shadow .26s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-registration-cta::before {
  content: "" !important;
  position: absolute !important;
  top: -50% !important;
  left: -120% !important;
  width: 90% !important;
  height: 200% !important;
  z-index: -1 !important;
  background: linear-gradient(
    115deg,
    rgba(255,255,255,0),
    rgba(255,255,255,0.28),
    rgba(255,255,255,0)
  ) !important;
  transform: skewX(-18deg) !important;
  transition: left .65s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-registration-cta:hover,
.mz-registration-cta:focus-visible {
  transform: translateY(-3px) !important;
  box-shadow:
    0 22px 46px rgba(15, 118, 110, 0.34),
    0 0 0 4px rgba(91, 244, 226, 0.12) !important;
}

.mz-registration-cta:hover::before,
.mz-registration-cta:focus-visible::before {
  left: 130% !important;
}

.mz-registration-cta:focus-visible {
  outline: 2px solid #bafff7 !important;
  outline-offset: 4px !important;
}

.mz-registration-safe-note {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
  color: rgba(248, 246, 241, 0.78) !important;
}

.mz-registration-safe-note span {
  color: #5bf4e2 !important;
}

/* =====================
   BENEFITS CARD
   ===================== */

.mz-registration-benefits-card {
  grid-area: benefits !important;
  position: relative !important;

  padding: clamp(30px, 4vw, 44px) clamp(28px, 4vw, 38px) !important;
  border-radius: 14px !important;

  background:
    radial-gradient(circle at 100% 100%, rgba(91, 244, 226, 0.10), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.92)) !important;

  border: 1px solid rgba(15, 118, 110, 0.24) !important;

  box-shadow:
    0 28px 72px rgba(8, 25, 42, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.92) inset !important;
}

.mz-benefits-kicker {
  margin-bottom: 26px !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;
  color: #0f766e !important;
}

.mz-benefits-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mz-benefits-list li {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 17px !important;

  padding: 18px 0 !important;
  border-bottom: 1px solid rgba(228, 231, 236, 0.9) !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.98rem !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  color: #26324a !important;
}

.mz-benefits-list li:first-child {
  padding-top: 0 !important;
}

.mz-benefits-list li:last-child {
  border-bottom: 0 !important;
}

.mz-benefits-list em {
  font-style: normal !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

.mz-benefit-icon {
  width: 42px !important;
  height: 42px !important;
  display: block !important;
  position: relative !important;
  color: #11183a !important;
}

/* Simple CSS icons */

.mz-benefit-icon::before,
.mz-benefit-icon::after {
  content: "" !important;
  position: absolute !important;
  box-sizing: border-box !important;
}

.mz-benefit-icon-session::before {
  left: 8px !important;
  top: 8px !important;
  width: 26px !important;
  height: 22px !important;
  border: 2px solid #11183a !important;
  border-radius: 4px !important;
}

.mz-benefit-icon-session::after {
  left: 15px !important;
  top: 15px !important;
  width: 12px !important;
  height: 12px !important;
  border: 2px solid #11183a !important;
  border-radius: 999px !important;
}

.mz-benefit-icon-book::before {
  left: 7px !important;
  top: 10px !important;
  width: 28px !important;
  height: 22px !important;
  border: 2px solid #11183a !important;
  border-radius: 3px 8px 8px 3px !important;
}

.mz-benefit-icon-book::after {
  left: 21px !important;
  top: 10px !important;
  width: 2px !important;
  height: 22px !important;
  background: #11183a !important;
}

.mz-benefit-icon-coffee::before {
  left: 7px !important;
  top: 15px !important;
  width: 24px !important;
  height: 17px !important;
  border: 2px solid #11183a !important;
  border-radius: 3px 3px 9px 9px !important;
}

.mz-benefit-icon-coffee::after {
  left: 30px !important;
  top: 18px !important;
  width: 8px !important;
  height: 9px !important;
  border: 2px solid #11183a !important;
  border-left: 0 !important;
  border-radius: 0 7px 7px 0 !important;
}

.mz-benefit-icon-certificate::before {
  left: 9px !important;
  top: 7px !important;
  width: 24px !important;
  height: 28px !important;
  border: 2px solid #11183a !important;
  border-radius: 4px !important;
}

.mz-benefit-icon-certificate::after {
  left: 15px !important;
  top: 16px !important;
  width: 12px !important;
  height: 2px !important;
  background: #0f766e !important;
  box-shadow: 0 7px 0 #11183a !important;
}

.mz-benefit-icon-support::before {
  left: 7px !important;
  top: 9px !important;
  width: 28px !important;
  height: 22px !important;
  border: 2px solid #11183a !important;
  border-radius: 999px 999px 8px 8px !important;
}

.mz-benefit-icon-support::after {
  left: 18px !important;
  top: 27px !important;
  width: 12px !important;
  height: 8px !important;
  border-bottom: 2px solid #11183a !important;
  border-right: 2px solid #11183a !important;
  border-radius: 0 0 8px 0 !important;
}

.mz-registration-alert {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;

  margin-top: 28px !important;
  padding: 20px 20px !important;
  border-radius: 10px !important;

  background: rgba(91, 244, 226, 0.10) !important;
  border: 1px solid rgba(15, 118, 110, 0.28) !important;
}

.mz-alert-icon {
  width: 34px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 2px solid #0f766e !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  color: #0f766e !important;
}

.mz-registration-alert strong {
  display: block !important;
  margin-bottom: 5px !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.98rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  color: #11183a !important;
}

.mz-registration-alert p {
  margin: 0 !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

/* =====================
   INFO STRIP
   ===================== */

.mz-registration-info-strip {
  grid-area: strip !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;

  padding: 26px 30px !important;
  border-radius: 14px !important;

  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(228, 231, 236, 0.9) !important;

  box-shadow:
    0 22px 62px rgba(8, 25, 42, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.92) inset !important;
}

.mz-reg-info-item {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  gap: 17px !important;
  align-items: center !important;

  padding: 0 24px !important;
  border-right: 1px solid rgba(228, 231, 236, 0.95) !important;
}

.mz-reg-info-item:first-child {
  padding-left: 0 !important;
}

.mz-reg-info-item:last-child {
  border-right: 0 !important;
  padding-right: 0 !important;
}

.mz-reg-info-item strong {
  display: block !important;
  margin-bottom: 4px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.78rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: #11183a !important;
}

.mz-reg-info-item span {
  display: block !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: #26324a !important;
}

.mz-reg-info-icon {
  width: 42px !important;
  height: 42px !important;
  position: relative !important;
}

.mz-reg-info-icon::before,
.mz-reg-info-icon::after {
  content: "" !important;
  position: absolute !important;
  box-sizing: border-box !important;
}

.mz-reg-info-calendar::before {
  left: 7px !important;
  top: 8px !important;
  width: 28px !important;
  height: 27px !important;
  border: 2px solid #11183a !important;
  border-radius: 5px !important;
}

.mz-reg-info-calendar::after {
  left: 13px !important;
  top: 18px !important;
  width: 17px !important;
  height: 10px !important;
  background:
    linear-gradient(#0f766e, #0f766e) 0 0 / 4px 4px no-repeat,
    linear-gradient(#0f766e, #0f766e) 8px 0 / 4px 4px no-repeat,
    linear-gradient(#0f766e, #0f766e) 16px 0 / 4px 4px no-repeat,
    linear-gradient(#11183a, #11183a) 0 8px / 4px 4px no-repeat,
    linear-gradient(#11183a, #11183a) 8px 8px / 4px 4px no-repeat !important;
}

.mz-reg-info-location::before {
  left: 10px !important;
  top: 5px !important;
  width: 22px !important;
  height: 30px !important;
  border: 3px solid #11183a !important;
  border-radius: 16px 16px 18px 18px !important;
  transform: rotate(45deg) !important;
}

.mz-reg-info-location::after {
  left: 17px !important;
  top: 12px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #0f766e !important;
}

.mz-reg-info-people::before {
  left: 7px !important;
  top: 9px !important;
  width: 28px !important;
  height: 24px !important;
  border: 2px solid #11183a !important;
  border-top: 0 !important;
  border-radius: 0 0 20px 20px !important;
}

.mz-reg-info-people::after {
  left: 15px !important;
  top: 5px !important;
  width: 12px !important;
  height: 12px !important;
  border: 2px solid #0f766e !important;
  border-radius: 999px !important;
}

.mz-reg-info-shield::before {
  left: 8px !important;
  top: 5px !important;
  width: 26px !important;
  height: 32px !important;
  border: 2px solid #11183a !important;
  border-radius: 14px 14px 18px 18px !important;
}

.mz-reg-info-shield::after {
  left: 17px !important;
  top: 15px !important;
  width: 10px !important;
  height: 6px !important;
  border-left: 2px solid #0f766e !important;
  border-bottom: 2px solid #0f766e !important;
  transform: rotate(-45deg) !important;
}

/* =====================
   BOTTOM NOTE
   ===================== */

.mz-registration-bottom-note {
  grid-area: note !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  color: #26324a !important;
  text-align: center !important;
}

.mz-registration-bottom-note span {
  color: #0f766e !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1180px) {
  .mz-registration-wrap {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "main"
      "benefits"
      "strip"
      "note" !important;
    max-width: 920px !important;
  }

  .mz-registration-benefits-card {
    max-width: 100% !important;
  }

  .mz-benefits-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 34px !important;
  }

  .mz-registration-alert {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 900px) {
  .mz-price-grid {
    grid-template-columns: 1fr !important;
  }

  .mz-price-card {
    padding: 34px 24px 26px !important;
  }

  .mz-price-term {
    min-height: auto !important;
  }

  .mz-registration-info-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 8px 24px !important;
  }

  .mz-reg-info-item {
    padding: 22px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(228, 231, 236, 0.95) !important;
  }

  .mz-reg-info-item:nth-child(odd) {
    padding-right: 20px !important;
  }

  .mz-reg-info-item:nth-child(even) {
    padding-left: 20px !important;
  }

  .mz-reg-info-item:nth-last-child(-n+2) {
    border-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
  .mz-registration-module {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .mz-registration-wrap {
    gap: 24px !important;
  }

  .mz-registration-main-card,
  .mz-registration-benefits-card {
    border-radius: 12px !important;
  }

  .mz-registration-main-card {
    padding: 30px 18px 32px !important;
  }

  .mz-registration-card-head {
    align-items: flex-start !important;
    gap: 15px !important;
    margin-bottom: 28px !important;
  }

  .mz-registration-head-icon {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
  }

  .mz-registration-kicker {
    font-size: 0.72rem !important;
    letter-spacing: 0.13em !important;
  }

  .mz-price-grid {
    gap: 16px !important;
  }

  .mz-price-card {
    padding: 32px 20px 25px !important;
  }

  .mz-price-value span {
    font-size: clamp(3.4rem, 16vw, 4.6rem) !important;
  }

  .mz-registration-cta {
    width: 100% !important;
    min-height: 56px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: 0.78rem !important;
  }

  .mz-benefits-list {
    grid-template-columns: 1fr !important;
  }

  .mz-registration-benefits-card {
    padding: 30px 22px !important;
  }

  .mz-registration-info-strip {
    grid-template-columns: 1fr !important;
    padding: 8px 22px !important;
  }

  .mz-reg-info-item {
    padding: 20px 0 !important;
    border-bottom: 1px solid rgba(228, 231, 236, 0.95) !important;
  }

  .mz-reg-info-item:nth-child(odd),
  .mz-reg-info-item:nth-child(even) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .mz-reg-info-item:last-child {
    border-bottom: 0 !important;
  }

  .mz-registration-bottom-note {
    font-size: 0.88rem !important;
  }
}

@media (max-width: 420px) {
  .mz-registration-main-card {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mz-price-term {
    font-size: 0.76rem !important;
  }

  .mz-benefits-list li {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 14px !important;
    font-size: 0.92rem !important;
  }

  .mz-benefit-icon,
  .mz-reg-info-icon {
    transform: scale(0.9) !important;
    transform-origin: center !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-price-card,
  .mz-registration-cta,
  .mz-registration-cta::before {
    transition: none !important;
  }

  .mz-price-card:hover,
  .mz-registration-cta:hover,
  .mz-registration-cta:focus-visible {
    transform: none !important;
  }
}

/* =========================================================
   REGISTRATION MODULE — IMAGE ICON VERSION
   ========================================================= */

.mz-registration-module {
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
  padding: 0 18px clamp(46px, 6vw, 86px) !important;
  background: transparent !important;
}

.mz-registration-wrap {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;

  display: grid !important;
  grid-template-columns: 820px 360px !important;
  grid-template-areas:
    "main benefits"
    "strip strip"
    "note note" !important;

  gap: 34px 36px !important;
  position: relative !important;
}

/* Wygaszenie starych pseudo-ikon, jeśli poprzedni CSS jeszcze gdzieś działa */

.mz-price-icon::before,
.mz-price-icon::after,
.mz-benefit-icon::before,
.mz-benefit-icon::after,
.mz-reg-info-icon::before,
.mz-reg-info-icon::after,
.mz-registration-head-icon::before,
.mz-registration-head-icon::after {
  content: none !important;
  display: none !important;
}

/* =====================
   MAIN DARK CARD
   ===================== */

.mz-registration-main-card {
  grid-area: main !important;
  position: relative !important;
  overflow: hidden !important;

  padding: 42px 44px 38px !important;
  border-radius: 14px !important;

  background:
    radial-gradient(circle at 18% 0%, rgba(91, 244, 226, 0.14), transparent 36%),
    radial-gradient(circle at 88% 22%, rgba(255, 255, 255, 0.055), transparent 34%),
    linear-gradient(135deg, #11183a 0%, #080d2c 100%) !important;

  border: 1px solid rgba(91, 244, 226, 0.16) !important;

  box-shadow:
    0 30px 76px rgba(8, 25, 42, 0.30),
    0 1px 0 rgba(255, 255, 255, 0.08) inset !important;
}

.mz-registration-main-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      115deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.045) 46%,
      rgba(255,255,255,0) 72%
    ) !important;
  opacity: .8 !important;
}

.mz-registration-card-head {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-bottom: 34px !important;
}

.mz-registration-head-icon {
  width: 54px !important;
  height: 54px !important;
  flex: 0 0 54px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.mz-registration-head-icon img {
  display: block !important;
  width: 46px !important;
  height: 46px !important;
  object-fit: contain !important;
}

.mz-registration-kicker {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;
  color: #5bf4e2 !important;
  margin-bottom: 0px !important;
}

.mz-registration-card-head h2 {
  margin: 0 !important;
  padding: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 1.0rem !important;
  line-height: 1.36 !important;
  font-weight: 300 !important;

  color: rgba(248, 246, 241, 0.88) !important;
}

/* =====================
   PRICE CARDS
   ===================== */

.mz-price-grid {
  position: relative !important;
  z-index: 2 !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.mz-price-card {
  position: relative !important;
  min-width: 0 !important;

  padding: 38px 22px 28px !important;
  border-radius: 12px !important;

  background:
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018)) !important;

  border: 1px solid rgba(248, 246, 241, 0.18) !important;

  text-align: center !important;

  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.12),
    0 1px 0 rgba(255, 255, 255, 0.08) inset !important;

  transition:
    transform .26s cubic-bezier(.16, 1, .3, 1),
    border-color .26s cubic-bezier(.16, 1, .3, 1),
    box-shadow .26s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-price-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(91, 244, 226, 0.55) !important;
  box-shadow:
    0 22px 46px rgba(0, 0, 0, 0.18),
    0 0 0 4px rgba(91, 244, 226, 0.08) !important;
}

.mz-price-card-featured {
  border-color: rgba(91, 244, 226, 0.82) !important;

  background:
    radial-gradient(circle at 50% 0%, rgba(91, 244, 226, 0.15), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,0.058), rgba(255,255,255,0.02)) !important;
}

.mz-price-badge {
  position: absolute !important;
  top: -1px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;

  min-width: 174px !important;
  padding: 8px 16px !important;
  border-radius: 0 0 8px 8px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.66rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;

  color: #11183a !important;
  background: linear-gradient(135deg, #9ff9ee, #32c9bd) !important;
}

.mz-price-icon {
  width: 40px !important;
  height: 40px !important;
  margin: 4px auto 28px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.mz-price-icon img {
  display: block !important;
  width: 58px !important;
  height: 58px !important;
  object-fit: contain !important;
}

.mz-price-term {
  min-height: 35px !important;
  margin-bottom: 17px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.79rem !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  letter-spacing: 0.095em !important;
  text-transform: uppercase !important;

  color: #f7f9fb !important;
}

.mz-price-value {
  display: flex !important;
  justify-content: center !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-bottom: 2px !important;

  color: #f7f9fb !important;
}

.mz-price-value span {
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(4rem, 4.5vw, 5.05rem) !important;
  line-height: 0.9 !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}

.mz-price-value small {
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(1.75rem, 2vw, 2.35rem) !important;
  font-weight: 500 !important;
}

.mz-price-card-featured .mz-price-value {
  color: #5bf4e2 !important;
}

.mz-price-tax {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.88rem !important;
  line-height: 1.35 !important;
  color: rgba(248, 246, 241, 0.82) !important;
}

.mz-price-line {
  width: 70% !important;
  height: 1px !important;
  margin: 24px auto 21px !important;

  background: linear-gradient(
    90deg,
    rgba(91, 244, 226, 0),
    rgba(91, 244, 226, 0.42),
    rgba(91, 244, 226, 0)
  ) !important;
}

.mz-price-note {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.86rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;

  color: rgba(248, 246, 241, 0.86) !important;
}

.mz-price-note span {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;

  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;

  border-radius: 999px !important;
  border: 1px solid rgba(91, 244, 226, 0.85) !important;

  color: #5bf4e2 !important;
  font-size: 0.72rem !important;
}

/* =====================
   CTA
   ===================== */

.mz-registration-cta-wrap {
  position: relative !important;
  z-index: 2 !important;

  margin-top: 34px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 15px !important;
}

.mz-registration-cta {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;

  width: min(100%, 430px) !important;
  min-height: 58px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;

  padding: 18px 32px !important;
  border-radius: 8px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.84rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  color: #11183a !important;
  background: linear-gradient(135deg, #9ff9ee 0%, #32c9bd 100%) !important;
  border: 1px solid rgba(186, 255, 247, 0.75) !important;

  box-shadow:
    0 16px 34px rgba(15, 118, 110, 0.25),
    0 1px 0 rgba(255, 255, 255, 0.26) inset !important;

  transition:
    transform .26s cubic-bezier(.16, 1, .3, 1),
    box-shadow .26s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-registration-cta::before {
  content: "" !important;
  position: absolute !important;

  top: -50% !important;
  left: -120% !important;

  width: 90% !important;
  height: 200% !important;

  z-index: -1 !important;

  background: linear-gradient(
    115deg,
    rgba(255,255,255,0),
    rgba(255,255,255,0.28),
    rgba(255,255,255,0)
  ) !important;

  transform: skewX(-18deg) !important;
  transition: left .65s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-registration-cta:hover,
.mz-registration-cta:focus-visible {
  transform: translateY(-3px) !important;

  box-shadow:
    0 22px 46px rgba(15, 118, 110, 0.34),
    0 0 0 4px rgba(91, 244, 226, 0.12) !important;
}

.mz-registration-cta:hover::before,
.mz-registration-cta:focus-visible::before {
  left: 130% !important;
}

.mz-registration-cta:focus-visible {
  outline: 2px solid #bafff7 !important;
  outline-offset: 4px !important;
}

.mz-registration-safe-note {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.88rem !important;
  line-height: 1.4 !important;

  color: rgba(248, 246, 241, 0.76) !important;
}

.mz-registration-safe-note span {
  color: #5bf4e2 !important;
}

/* =====================
   BENEFITS CARD
   ===================== */

.mz-registration-benefits-card {
  grid-area: benefits !important;
  position: relative !important;

  padding: 38px 36px !important;
  border-radius: 14px !important;

  background:
    radial-gradient(circle at 100% 100%, rgba(91, 244, 226, 0.10), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.92)) !important;

  border: 1px solid rgba(15, 118, 110, 0.24) !important;

  box-shadow:
    0 28px 72px rgba(8, 25, 42, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.92) inset !important;
}

.mz-benefits-kicker {
  margin-bottom: 25px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;

  color: #0f766e !important;
}

.mz-benefits-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mz-benefits-list li {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 17px !important;

  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(228, 231, 236, 0.9) !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.8rem !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;

  color: #26324a !important;
}

.mz-benefits-list li:first-child {
  padding-top: 0 !important;
}

.mz-benefits-list li:last-child {
  border-bottom: 0 !important;
}

.mz-benefits-list em {
  display: inline !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

.mz-benefit-icon {
  width: 44px !important;
  height: 44px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 44px !important;
}

.mz-benefit-icon img {
  display: block !important;
  width: 36px !important;
  height: 36px !important;
  object-fit: contain !important;
}

.mz-registration-alert {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;

  margin-top: 28px !important;
  padding: 20px 20px !important;

  border-radius: 10px !important;

  background: rgba(91, 244, 226, 0.10) !important;
  border: 1px solid rgba(15, 118, 110, 0.28) !important;
}

.mz-alert-icon {
  width: 34px !important;
  height: 34px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 2px solid #0f766e !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;

  color: #0f766e !important;
}

.mz-registration-alert strong {
  display: block !important;
  margin-bottom: 5px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.98rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;

  color: #11183a !important;
}

.mz-registration-alert p {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;

  color: #667085 !important;
}

/* =====================
   INFO STRIP
   ===================== */

.mz-registration-info-strip {
  grid-area: strip !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;

  padding: 26px 30px !important;
  border-radius: 14px !important;

  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(228, 231, 236, 0.9) !important;

  box-shadow:
    0 22px 62px rgba(8, 25, 42, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.92) inset !important;
}

.mz-reg-info-item {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 17px !important;
  align-items: center !important;

  padding: 0 24px !important;
  border-right: 1px solid rgba(228, 231, 236, 0.95) !important;
}

.mz-reg-info-item:first-child {
  padding-left: 0 !important;
}

.mz-reg-info-item:last-child {
  border-right: 0 !important;
  padding-right: 0 !important;
}

.mz-reg-info-icon {
  width: 48px !important;
  height: 48px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 48px !important;
}

.mz-reg-info-icon img {
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
}

.mz-reg-info-item strong {
  display: block !important;
  margin-bottom: 4px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.78rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  color: #11183a !important;
}

.mz-reg-info-item span {
  display: block !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;

  color: #26324a !important;
}

/* =====================
   BOTTOM NOTE
   ===================== */

.mz-registration-bottom-note {
  grid-area: note !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;

  color: #26324a !important;
  text-align: center !important;
}

.mz-registration-bottom-note span {
  color: #0f766e !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1180px) {
  .mz-registration-wrap {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "main"
      "benefits"
      "strip"
      "note" !important;

    max-width: 920px !important;
  }

  .mz-registration-benefits-card {
    max-width: 100% !important;
  }

  .mz-benefits-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 34px !important;
  }

  .mz-registration-alert {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 900px) {
  .mz-price-grid {
    grid-template-columns: 1fr !important;
  }

  .mz-price-card {
    padding: 34px 24px 26px !important;
  }

  .mz-price-term {
    min-height: auto !important;
  }

  .mz-registration-info-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 8px 24px !important;
  }

  .mz-reg-info-item {
    padding: 22px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(228, 231, 236, 0.95) !important;
  }

  .mz-reg-info-item:nth-child(odd) {
    padding-right: 20px !important;
  }

  .mz-reg-info-item:nth-child(even) {
    padding-left: 20px !important;
  }

  .mz-reg-info-item:nth-last-child(-n+2) {
    border-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
  .mz-registration-module {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .mz-registration-wrap {
    gap: 24px !important;
  }

  .mz-registration-main-card,
  .mz-registration-benefits-card {
    border-radius: 12px !important;
  }

  .mz-registration-main-card {
    padding: 30px 18px 32px !important;
  }

  .mz-registration-card-head {
    align-items: flex-start !important;
    gap: 15px !important;
    margin-bottom: 28px !important;
  }

  .mz-registration-head-icon {
    width: 46px !important;
    height: 46px !important;
    flex-basis: 46px !important;
  }

  .mz-registration-head-icon img {
    width: 40px !important;
    height: 40px !important;
  }

  .mz-registration-kicker {
    font-size: 0.72rem !important;
    letter-spacing: 0.13em !important;
  }

  .mz-price-grid {
    gap: 16px !important;
  }

  .mz-price-card {
    padding: 32px 20px 25px !important;
  }

  .mz-price-icon {
    width: 58px !important;
    height: 58px !important;
    margin-bottom: 22px !important;
  }

  .mz-price-icon img {
    width: 50px !important;
    height: 50px !important;
  }

  .mz-price-value span {
    font-size: clamp(3.4rem, 16vw, 4.6rem) !important;
  }

  .mz-registration-cta {
    width: 100% !important;
    min-height: 56px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: 0.78rem !important;
  }

  .mz-benefits-list {
    grid-template-columns: 1fr !important;
  }

  .mz-registration-benefits-card {
    padding: 30px 22px !important;
  }

  .mz-registration-info-strip {
    grid-template-columns: 1fr !important;
    padding: 8px 22px !important;
  }

  .mz-reg-info-item {
    padding: 20px 0 !important;
    border-bottom: 1px solid rgba(228, 231, 236, 0.95) !important;
  }

  .mz-reg-info-item:nth-child(odd),
  .mz-reg-info-item:nth-child(even) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .mz-reg-info-item:last-child {
    border-bottom: 0 !important;
  }

  .mz-registration-bottom-note {
    font-size: 0.88rem !important;
  }
}

@media (max-width: 420px) {
  .mz-registration-main-card {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mz-price-term {
    font-size: 0.76rem !important;
  }

  .mz-benefits-list li {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 14px !important;
    font-size: 0.92rem !important;
  }

  .mz-benefit-icon {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  .mz-benefit-icon img {
    width: 34px !important;
    height: 34px !important;
  }

  .mz-reg-info-icon {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
  }

  .mz-reg-info-icon img {
    width: 38px !important;
    height: 38px !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-price-card,
  .mz-registration-cta,
  .mz-registration-cta::before {
    transition: none !important;
  }

  .mz-price-card:hover,
  .mz-registration-cta:hover,
  .mz-registration-cta:focus-visible {
    transform: none !important;
  }
}

/* =========================================================
   REGISTRATION — FINAL DETAILS
   Mini shield + accommodation exclusion box
   ========================================================= */

/* Mała tarcza przy notkach */

.mz-mini-shield {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  transform: translateY(1px) !important;
}

.mz-mini-shield img {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  object-fit: contain !important;
}

/* Notka pod CTA */

.mz-registration-safe-note {
  gap: 8px !important;
}

.mz-registration-safe-note .mz-mini-shield {
  opacity: 0.92 !important;
}

/* Dolna notka */

.mz-registration-bottom-note {
  gap: 9px !important;
}

.mz-registration-bottom-note .mz-mini-shield {
  opacity: 0.9 !important;
}

/* Box: opłata nie obejmuje zakwaterowania */

.mz-registration-alert.mz-registration-exclusion {
  background:
    linear-gradient(180deg, rgba(91, 244, 226, 0.13), rgba(91, 244, 226, 0.07)) !important;

  border: 1px solid rgba(15, 118, 110, 0.38) !important;

  box-shadow:
    0 14px 34px rgba(15, 118, 110, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.72) inset !important;
}

.mz-registration-exclusion .mz-alert-icon {
  border-color: #0f766e !important;
  color: #0f766e !important;
  background: rgba(255, 255, 255, 0.55) !important;
}

.mz-registration-exclusion strong {
  font-size: 1rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  color: #11183a !important;
}

.mz-registration-exclusion p {
  margin-top: 6px !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
  color: #667085 !important;
}

/* Mobile */

@media (max-width: 767px) {
  .mz-mini-shield {
    width: 15px !important;
    height: 15px !important;
    flex-basis: 15px !important;
  }

  .mz-mini-shield img {
    width: 15px !important;
    height: 15px !important;
  }

  .mz-registration-exclusion strong {
    font-size: 0.96rem !important;
  }

  .mz-registration-exclusion p {
    font-size: 0.86rem !important;
  }
}

/* =========================================================
   SANS SOUCI HEADER MENU
   Shortcode: [ss_header_menu]
   ========================================================= */

.ss-header-menu {
  position: relative !important;
  z-index: 100 !important;

  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;

  width: 100% !important;
  font-family: "Lato", Arial, sans-serif !important;
}

/* DESKTOP MENU */

.ss-header-menu-list {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(18px, 2vw, 32px) !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}

.ss-header-menu-list li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ss-header-menu-list a {
  position: relative !important;

  display: inline-flex !important;
  align-items: center !important;

  padding: 10px 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.045em !important;
  text-transform: none !important;
  text-decoration: none !important;

  color: rgba(248, 246, 241, 0.88) !important;

  transition:
    color .22s ease,
    opacity .22s ease !important;
}

.ss-header-menu-list a::after {
  content: "" !important;

  position: absolute !important;
  left: 0 !important;
  bottom: 4px !important;

  width: 100% !important;
  height: 1px !important;

  background: linear-gradient(
    90deg,
    rgba(91, 244, 226, 0),
    rgba(91, 244, 226, 0.9),
    rgba(91, 244, 226, 0)
  ) !important;

  opacity: 0 !important;
  transform: scaleX(0.3) !important;
  transform-origin: center !important;

  transition:
    opacity .22s ease,
    transform .22s ease !important;
}

.ss-header-menu-list a:hover,
.ss-header-menu-list a:focus-visible {
  color: #5bf4e2 !important;
}

.ss-header-menu-list a:hover::after,
.ss-header-menu-list a:focus-visible::after,
.ss-header-menu-list .current-menu-item > a::after,
.ss-header-menu-list .current-menu-ancestor > a::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

.ss-header-menu-list .current-menu-item > a,
.ss-header-menu-list .current-menu-ancestor > a {
  color: #5bf4e2 !important;
}

/* DROPDOWN */

.ss-header-menu-list .sub-menu {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 50% !important;

  min-width: 220px !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;

  margin: 0 !important;
  padding: 10px !important;

  list-style: none !important;

  background:
    linear-gradient(180deg, rgba(8, 25, 42, 0.98), rgba(6, 17, 29, 0.98)) !important;

  border: 1px solid rgba(91, 244, 226, 0.18) !important;
  border-radius: 10px !important;

  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.26),
    0 1px 0 rgba(255, 255, 255, 0.06) inset !important;

  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(-50%, 8px) !important;

  transition:
    opacity .22s ease,
    visibility .22s ease,
    transform .22s ease !important;
}

.ss-header-menu-list li:hover > .sub-menu,
.ss-header-menu-list li:focus-within > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
}

.ss-header-menu-list .sub-menu a {
  width: 100% !important;
  display: flex !important;

  padding: 11px 13px !important;
  border-radius: 7px !important;

  font-size: 0.78rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0.025em !important;

  color: rgba(248, 246, 241, 0.86) !important;
}

.ss-header-menu-list .sub-menu a::after {
  display: none !important;
}

.ss-header-menu-list .sub-menu a:hover,
.ss-header-menu-list .sub-menu a:focus-visible {
  color: #5bf4e2 !important;
  background: rgba(255, 255, 255, 0.055) !important;
}

/* TOGGLE BUTTON */

.ss-menu-toggle {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  min-height: 42px !important;
  padding: 10px 14px !important;

  border: 1px solid rgba(248, 246, 241, 0.22) !important;
  border-radius: 8px !important;

  background: rgba(6, 17, 29, 0.35) !important;
  color: #f7f9fb !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.76rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  cursor: pointer !important;

  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.ss-menu-toggle-lines {
  width: 18px !important;
  height: 14px !important;

  display: inline-flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.ss-menu-toggle-lines span {
  display: block !important;
  width: 100% !important;
  height: 2px !important;

  border-radius: 999px !important;
  background: #5bf4e2 !important;

  transition:
    transform .22s ease,
    opacity .22s ease !important;
}

.ss-menu-toggle[aria-expanded="true"] .ss-menu-toggle-lines span:nth-child(1) {
  transform: translateY(6px) rotate(45deg) !important;
}

.ss-menu-toggle[aria-expanded="true"] .ss-menu-toggle-lines span:nth-child(2) {
  opacity: 0 !important;
}

.ss-menu-toggle[aria-expanded="true"] .ss-menu-toggle-lines span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg) !important;
}

/* MOBILE */

@media (max-width: 1024px) {
  .ss-header-menu {
    justify-content: flex-end !important;
  }

  .ss-menu-toggle {
    display: inline-flex !important;
  }

  .ss-header-menu-list {
    position: absolute !important;
    top: calc(100% + 12px) !important;
    right: 0 !important;

    width: min(86vw, 320px) !important;

    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;

    margin: 0 !important;
    padding: 10px !important;

    background:
      linear-gradient(180deg, rgba(8, 25, 42, 0.98), rgba(6, 17, 29, 0.98)) !important;

    border: 1px solid rgba(91, 244, 226, 0.18) !important;
    border-radius: 12px !important;

    box-shadow:
      0 22px 54px rgba(0, 0, 0, 0.28),
      0 1px 0 rgba(255, 255, 255, 0.06) inset !important;
  }

  .ss-header-menu.is-open .ss-header-menu-list {
    display: flex !important;
  }

  .ss-header-menu-list > li > a {
    width: 100% !important;
    padding: 13px 12px !important;
    border-radius: 8px !important;

    font-size: 0.82rem !important;
  }

  .ss-header-menu-list > li > a::after {
    display: none !important;
  }

  .ss-header-menu-list > li > a:hover,
  .ss-header-menu-list > li > a:focus-visible {
    background: rgba(255, 255, 255, 0.055) !important;
  }

  .ss-header-menu-list .sub-menu {
    position: static !important;
    left: auto !important;
    top: auto !important;

    min-width: 0 !important;

    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;

    margin: 0 0 4px 12px !important;
    padding: 0 0 0 12px !important;

    border: 0 !important;
    border-left: 1px solid rgba(91, 244, 226, 0.25) !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;
  }

  .ss-header-menu-list .sub-menu a {
    padding: 9px 10px !important;
    font-size: 0.76rem !important;
  }
}

/* =========================================================
   CF7 FOOTER CONTACT FORM — SANS SOUCI STYLE
   ========================================================= */

.ss-footer-contact-form {
  width: 100% !important;
  max-width: 340px !important;
  margin: 0 !important;
  padding: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
}

.ss-footer-contact-form p {
  margin: 0 !important;
  padding: 0 !important;
}

.ss-footer-field {
  width: 100% !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
}

.ss-footer-contact-form .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
}

/* Pola */

.ss-footer-contact-form input[type="text"],
.ss-footer-contact-form input[type="email"],
.ss-footer-contact-form textarea {
  width: 100% !important;
  max-width: 100% !important;

  min-height: 38px !important;
  margin: 0 !important;
  padding: 10px 13px !important;

  border: 1px solid rgba(248, 246, 241, 0.18) !important;
  border-radius: 6px !important;

  background: rgba(255, 255, 255, 0.045) !important;
  color: #f7f9fb !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;

  outline: none !important;
  box-shadow: none !important;

  transition:
    border-color .22s ease,
    background-color .22s ease,
    box-shadow .22s ease !important;
}

.ss-footer-contact-form textarea {
  min-height: 74px !important;
  max-height: 120px !important;
  resize: vertical !important;
}

.ss-footer-contact-form input[type="text"]::placeholder,
.ss-footer-contact-form input[type="email"]::placeholder,
.ss-footer-contact-form textarea::placeholder {
  color: rgba(248, 246, 241, 0.48) !important;
}

.ss-footer-contact-form input[type="text"]:focus,
.ss-footer-contact-form input[type="email"]:focus,
.ss-footer-contact-form textarea:focus {
  border-color: rgba(91, 244, 226, 0.82) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  box-shadow: 0 0 0 3px rgba(91, 244, 226, 0.12) !important;
}

/* RODO */

.ss-footer-rodo {
  margin: 8px 0 12px !important;
  padding: 0 !important;

  color: rgba(248, 246, 241, 0.62) !important;
}

.ss-footer-rodo .wpcf7-list-item {
  margin: 0 !important;
  display: block !important;
}

.ss-footer-rodo label {
  display: grid !important;
  grid-template-columns: 15px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: start !important;

  cursor: pointer !important;
}

.ss-footer-rodo input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  margin: 2px 0 0 !important;

  accent-color: #0f766e !important;
}

.ss-footer-rodo span {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.68rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;

  color: rgba(248, 246, 241, 0.62) !important;
}

/* Submit */

.ss-footer-submit-wrap {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ss-footer-contact-form .ss-footer-submit,
.ss-footer-contact-form input[type="submit"].ss-footer-submit {
  width: 100% !important;
  min-height: 40px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 12px 18px !important;

  border: 1px solid rgba(186, 255, 247, 0.65) !important;
  border-radius: 6px !important;

  background: linear-gradient(135deg, #9ff9ee 0%, #32c9bd 100%) !important;
  color: #080d2c !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.76rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  cursor: pointer !important;

  box-shadow:
    0 12px 28px rgba(15, 118, 110, 0.22),
    0 1px 0 rgba(255, 255, 255, 0.24) inset !important;

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background .22s ease !important;
}

.ss-footer-contact-form .ss-footer-submit:hover,
.ss-footer-contact-form .ss-footer-submit:focus-visible {
  transform: translateY(-2px) !important;
  box-shadow:
    0 16px 34px rgba(15, 118, 110, 0.30),
    0 0 0 3px rgba(91, 244, 226, 0.11) !important;
}

.ss-footer-contact-form .ss-footer-submit:focus-visible {
  outline: 2px solid #bafff7 !important;
  outline-offset: 3px !important;
}

/* CF7 validation / messages */

.ss-footer-contact-form .wpcf7-not-valid-tip {
  margin-top: 4px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.68rem !important;
  line-height: 1.35 !important;

  color: #f4b4b4 !important;
}

.ss-footer-contact-form .wpcf7-response-output {
  margin: 10px 0 0 !important;
  padding: 9px 11px !important;

  border-radius: 6px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  line-height: 1.45 !important;

  color: rgba(248, 246, 241, 0.86) !important;
  border-color: rgba(91, 244, 226, 0.35) !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

.ss-footer-contact-form .wpcf7-spinner {
  width: 16px !important;
  height: 16px !important;
  margin: 8px auto 0 !important;
  display: block !important;
}

/* Mobile */

@media (max-width: 767px) {
  .ss-footer-contact-form {
    max-width: 100% !important;
  }

  .ss-footer-contact-form input[type="text"],
  .ss-footer-contact-form input[type="email"],
  .ss-footer-contact-form textarea {
    font-size: 0.86rem !important;
  }

  .ss-footer-rodo span {
    font-size: 0.7rem !important;
  }
}

/* =========================================================
   HEADER MENU — MOBILE TOGGLE FIX
   ========================================================= */

.ss-header-menu {
  position: relative !important;
  z-index: 9999 !important;
}

.ss-menu-toggle {
  position: relative !important;
  z-index: 10002 !important;
  pointer-events: auto !important;
}

.ss-header-menu-list {
  z-index: 10001 !important;
}

@media (max-width: 1024px) {
  .ss-menu-toggle {
    display: inline-flex !important;
  }

  .ss-header-menu-list {
    display: none !important;
  }

  .ss-header-menu.is-open .ss-header-menu-list {
    display: flex !important;
  }
}

/* =========================================================
   GLOBAL MOBILE OVERFLOW FIX
   zabezpieczenie przed poziomym rozjazdem strony
   ========================================================= */

html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body {
  position: relative !important;
}

*,
*::before,
*::after {
  box-sizing: border-box !important;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100% !important;
}

/* Visual Composer / WPBakery — częsty winowajca poziomego scrolla */

.vc_row,
.wpb_row,
.vc_row-fluid,
.vc_column_container,
.vc_column-inner,
.wpb_wrapper {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.vc_row[data-vc-full-width="true"] {
  overflow-x: hidden !important;
}

/* Mobile hard guard */

@media (max-width: 767px) {
  body {
    overflow-x: hidden !important;
  }

  .vc_row,
  .wpb_row,
  .vc_row-fluid {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100vw !important;
  }

  .vc_column_container,
  .vc_column-inner,
  .wpb_wrapper {
    max-width: 100% !important;
  }

  /* Nasze sekcje / moduły */

  .mz-hero-copy,
  .mz-hero-actions,
  .mz-countdown-wrap,
  .mz-invite-wrap,
  .mz-info-card,
  .mz-program-preview,
  .mz-program-preview-wrap,
  .mz-registration-module,
  .mz-registration-wrap,
  .mz-section-heading,
  .ss-header-menu,
  .ss-header-menu-list {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .mz-countdown-wrap,
  .mz-invite-wrap,
  .mz-program-preview-wrap,
  .mz-registration-wrap {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Elementy, które mogą mieć fixed/min-width */

  .mz-countdown,
  .mz-program-tabs,
  .mz-program-preview-grid,
  .mz-registration-info-strip,
  .mz-registration-main-card,
  .mz-registration-benefits-card,
  .mz-info-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Przyciski w hero */

  .mz-hero-actions {
    width: 100% !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
  }

  .mz-hero-btn,
  .mz-registration-cta,
  .mz-program-soon-btn {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Menu mobilne */

  .ss-header-menu {
    overflow: visible !important;
  }

  .ss-menu-toggle {
    max-width: calc(100vw - 24px) !important;
  }

  .ss-header-menu-list {
    right: 0 !important;
    max-width: calc(100vw - 24px) !important;
  }
}

.woocommerce-terms-and-conditions-wrapper {margin-bottom:30px;}

/* =========================================================
   FULL INVITATION LETTER SECTION
   XXIX Sympozjum Postępy w Medycynie Zakażeń
   ========================================================= */

.mz-letter-section {
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;

  padding: clamp(70px, 8vw, 118px) 18px clamp(36px, 5vw, 72px) !important;
  background:
    radial-gradient(circle at 0% 35%, rgba(91, 244, 226, 0.07), transparent 34%),
    radial-gradient(circle at 100% 72%, rgba(8, 25, 42, 0.035), transparent 34%),
    transparent !important;
  overflow: hidden !important;
}

.mz-letter-section::before {
  content: "" !important;
  position: absolute !important;
  left: -120px !important;
  top: 120px !important;
  width: 360px !important;
  height: 760px !important;
  pointer-events: none !important;
  opacity: 0.18 !important;
  background:
    radial-gradient(circle, rgba(91, 244, 226,.26) 1px, transparent 1.5px) 0 0 / 16px 16px,
    linear-gradient(135deg, transparent 0%, rgba(91, 244, 226,.18) 50%, transparent 100%) !important;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 72%, transparent) !important;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 18%, #000 72%, transparent) !important;
  transform: rotate(-8deg) !important;
}

.mz-letter-wrap {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;

  display: grid !important;
  grid-template-columns: minmax(270px, 0.74fr) minmax(0, 1.42fr) !important;
  gap: clamp(32px, 4.2vw, 60px) !important;
  align-items: start !important;

  position: relative !important;
  z-index: 2 !important;
}

/* LEFT AUTHOR COLUMN */

.mz-letter-author {
  position: sticky !important;
  top: 110px !important;

  min-width: 0 !important;
  text-align: left !important;
}

.mz-letter-kicker,
.mz-letter-card-kicker {
  margin: 0 0 12px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.76rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;

  color: #0f766e !important;
}

.mz-letter-title {
  margin: 0 0 clamp(26px, 3vw, 38px) !important;
  padding: 0 !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(2.45rem, 3.3vw, 4.05rem) !important;
  line-height: 0.98 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;

  color: #11183a !important;
}

.mz-letter-title span {
  display: block !important;
}

.mz-letter-photo {
  width: min(100%, 300px) !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  position: relative !important;
}

.mz-letter-photo::before {
  content: "" !important;
  position: absolute !important;
  inset: 12% 3% -4% 3% !important;
  z-index: -1 !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(8,25,42,.12), transparent 66%) !important;
  filter: blur(18px) !important;
}

.mz-letter-photo img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

.mz-letter-signature {
  width: min(100%, 330px) !important;
  margin: 0 0 22px !important;
}

.mz-letter-signature img {
  display: block !important;
  width: min(100%, 190px) !important;
  height: auto !important;
  margin: 0 0 8px !important;
}

.mz-letter-person strong,
.mz-letter-person span {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
}

.mz-letter-person strong {
  margin: 0 0 3px !important;
  font-size: 0.88rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  color: #11183a !important;
}

.mz-letter-person span {
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

.mz-letter-quote {
  width: min(100%, 310px) !important;
  margin: 26px 0 0 !important;
  padding: 24px 24px 22px !important;

  border-radius: 12px !important;
  border: 1px solid rgba(15, 118, 110, 0.22) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(91, 244, 226, 0.12), transparent 42%),
    rgba(255, 255, 255, 0.82) !important;

  box-shadow:
    0 18px 48px rgba(8, 25, 42, 0.07),
    0 1px 0 rgba(255,255,255,.88) inset !important;
}

.mz-letter-quote-mark {
  margin: 0 0 8px !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: 3.2rem !important;
  line-height: 0.72 !important;
  font-weight: 700 !important;

  color: #0f766e !important;
}

.mz-letter-quote p {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
  font-weight: 700 !important;

  color: #26324a !important;
}

/* RIGHT LETTER CARD */

.mz-letter-card {
  min-width: 0 !important;
  position: relative !important;

  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(228, 231, 236, 0.95) !important;

  box-shadow:
    0 30px 80px rgba(8, 25, 42, 0.10),
    0 1px 0 rgba(255,255,255,.92) inset !important;

  overflow: hidden !important;
}

.mz-letter-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;

  background:
    linear-gradient(90deg, rgba(91, 244, 226,.65), rgba(91, 244, 226,0)) top left / 100% 3px no-repeat,
    radial-gradient(circle at 100% 0%, rgba(91, 244, 226,.08), transparent 34%) !important;
}

.mz-letter-card-inner {
  position: relative !important;
  z-index: 2 !important;
  padding: clamp(30px, 4vw, 54px) clamp(26px, 4.2vw, 58px) !important;
}

.mz-letter-card-head {
  margin: 0 0 clamp(22px, 3vw, 34px) !important;
  padding: 0 0 clamp(18px, 2.4vw, 26px) !important;
  border-bottom: 1px solid rgba(228, 231, 236, 0.94) !important;
}

.mz-letter-card-head h3 {
  margin: 0 0 8px !important;
  padding: 0 !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(2.05rem, 2.7vw, 3.15rem) !important;
  line-height: 1.04 !important;
  font-weight: 500 !important;
  letter-spacing: -0.03em !important;

  color: #11183a !important;
}

.mz-letter-card-head p {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.96rem !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;

  color: #667085 !important;
}

.mz-letter-content {
  
}

.mz-letter-content p {
  margin: 0 0 1.05em !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.85rem, 0.24vw + 0.85rem, 0.95rem) !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  text-align: justify;
  color: #26324a !important;
}

.mz-letter-content p:last-child {
  margin-bottom: 0 !important;
}

.mz-letter-opening {
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(1.32rem, 1.05vw + 1rem, 1.78rem) !important;
  line-height: 1.22 !important;
  font-weight: 600 !important;
  color: #11183a !important;
}

.mz-letter-closing {
  margin-top: 1.4em !important;
  color: #11183a !important;
}

.mz-letter-final-sign {
  color: #11183a !important;
}

.mz-letter-final-sign strong {
  font-weight: 900 !important;
}

/* TABLET */

@media (max-width: 1100px) {
  .mz-letter-wrap {
    grid-template-columns: 1fr !important;
    max-width: 860px !important;
  }

  .mz-letter-author {
    position: relative !important;
    top: auto !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 260px !important;
    grid-template-areas:
      "head photo"
      "sign photo"
      "quote quote" !important;
    gap: 18px 32px !important;
    align-items: center !important;
  }

  .mz-letter-author .mz-letter-kicker,
  .mz-letter-author .mz-letter-title {
    grid-area: head !important;
  }

  .mz-letter-photo {
    grid-area: photo !important;
    width: 260px !important;
    justify-self: end !important;
    margin: 0 !important;
  }

  .mz-letter-signature {
    grid-area: sign !important;
    margin: 0 !important;
  }

  .mz-letter-quote {
    grid-area: quote !important;
    width: 100% !important;
    margin-top: 8px !important;
  }
}

/* MOBILE */

@media (max-width: 767px) {
  .mz-letter-section {
    padding: 58px 14px 42px !important;
  }

  .mz-letter-section::before {
    opacity: 0.12 !important;
    left: -210px !important;
  }

  .mz-letter-wrap {
    gap: 26px !important;
  }

  .mz-letter-author {
    display: block !important;
    text-align: center !important;
  }

  .mz-letter-title {
    font-size: clamp(2.2rem, 10vw, 3.1rem) !important;
    line-height: 1.02 !important;
    margin-bottom: 22px !important;
  }

  .mz-letter-photo {
    width: min(100%, 235px) !important;
    margin: 0 auto 16px !important;
  }

  .mz-letter-signature {
    width: 100% !important;
    margin: 0 auto 20px !important;
  }

  .mz-letter-signature img {
    margin-left: auto !important;
    margin-right: auto !important;
    width: min(100%, 165px) !important;
  }

  .mz-letter-quote {
    width: 100% !important;
    margin: 22px auto 0 !important;
    padding: 20px 20px !important;
    text-align: left !important;
  }

  .mz-letter-card {
    border-radius: 14px !important;
  }

  .mz-letter-card-inner {
    padding: 28px 20px 30px !important;
  }

  .mz-letter-card-head h3 {
    font-size: clamp(1.9rem, 8.5vw, 2.6rem) !important;
  }

  .mz-letter-card-head p {
    font-size: 0.88rem !important;
  }

  .mz-letter-content {
    max-width: 100% !important;
  }

  .mz-letter-content p {
    font-size: 0.94rem !important;
    line-height: 1.68 !important;
  }

  .mz-letter-opening {
    font-size: 1.35rem !important;
    line-height: 1.25 !important;
  }
}

/* VERY SMALL */

@media (max-width: 390px) {
  .mz-letter-card-inner {
    padding-left: 17px !important;
    padding-right: 17px !important;
  }

  .mz-letter-content p {
    font-size: 0.9rem !important;
  }
}

/* PRINT / REDUCED MOTION FRIENDLY */

@media (prefers-reduced-motion: reduce) {
  .mz-letter-card,
  .mz-letter-quote {
    transition: none !important;
  }
}


/* =========================================================
   HOTEL ACCOMMODATION SECTION
   Postępy w Medycynie Zakażeń 2026
   ========================================================= */

.mz-stay-section {
  --mz-stay-navy: #11183a;
  --mz-stay-navy-dark: #080d2c;
  --mz-stay-gold: #0f766e;
  --mz-stay-gold-light: #74eadf;
  --mz-stay-paper: #f7f9fb;
  --mz-stay-text: #26324a;
  --mz-stay-muted: #667085;

  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  z-index: 3 !important;

  margin: -36px 0 0 !important;
  padding:
    clamp(124px, 11vw, 176px)
    18px
    clamp(70px, 8vw, 112px) !important;

  background:
    radial-gradient(
      circle at 5% 15%,
      rgba(91, 244, 226, 0.10),
      transparent 30%
    ),
    radial-gradient(
      circle at 94% 28%,
      rgba(8, 25, 42, 0.055),
      transparent 34%
    ),
    linear-gradient(
      180deg,
      #f7f9fb 0%,
      #ffffff 56%,
      #f7f9fb 100%
    ) !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
}

/*
 * Jasny łuk nachodzi na zakończenie sekcji rejestracji.
 * Dzięki temu jej dotychczasowe tło nie kończy się prostą linią.
 */

.mz-stay-section::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;

  top: -78px !important;
  left: -10% !important;

  width: 120% !important;
  height: 190px !important;

  border-radius: 50% 50% 0 0 / 100% 100% 0 0 !important;

  background:
    radial-gradient(
      circle at 76% 52%,
      rgba(91, 244, 226, 0.16),
      transparent 18%
    ),
    linear-gradient(
      180deg,
      rgba(251, 250, 247, 0.08) 0%,
      rgba(251, 250, 247, 0.94) 52%,
      #f7f9fb 100%
    ) !important;

  box-shadow:
    0 -1px 0 rgba(91, 244, 226, 0.10),
    0 -30px 80px rgba(255, 255, 255, 0.30) !important;

  pointer-events: none !important;
}

/* Delikatne linie / światło nawiązujące do KV */

.mz-stay-section::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;

  right: -170px !important;
  top: 48px !important;

  width: 610px !important;
  height: 410px !important;

  pointer-events: none !important;
  opacity: 0.48 !important;

  background:
    repeating-radial-gradient(
      ellipse at 100% 30%,
      transparent 0,
      transparent 25px,
      rgba(91, 244, 226, 0.12) 26px,
      transparent 27px
    ) !important;

  transform: rotate(-14deg) !important;

  -webkit-mask-image:
    radial-gradient(circle at center, #000, transparent 68%) !important;
  mask-image:
    radial-gradient(circle at center, #000, transparent 68%) !important;
}

.mz-stay-wrap {
  width: 100% !important;
  max-width: 1240px !important;

  margin: 0 auto !important;
  position: relative !important;
  z-index: 2 !important;

  box-sizing: border-box !important;
}

/* =========================================================
   HEADING
   ========================================================= */

.mz-stay-heading {
  width: 100% !important;
  max-width: 820px !important;

  margin:
    0 auto
    clamp(38px, 5vw, 60px) !important;

  padding: 0 18px !important;
  text-align: center !important;
}

.mz-stay-kicker {
  margin: 0 0 12px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.76rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;

  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;

  color: var(--mz-stay-gold) !important;
}

.mz-stay-heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(2.8rem, 4.6vw, 5rem) !important;
  line-height: 0.98 !important;
  font-weight: 500 !important;

  letter-spacing: -0.04em !important;
  color: var(--mz-stay-navy) !important;
}

.mz-stay-heading h2 span {
  color: var(--mz-stay-gold) !important;
}

.mz-stay-heading > p {
  max-width: 700px !important;

  margin:
    clamp(18px, 2.3vw, 28px)
    auto 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.98rem, 0.4vw + 0.92rem, 1.08rem) !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;

  color: var(--mz-stay-muted) !important;
}

/* =========================================================
   MAIN LAYOUT
   ========================================================= */

.mz-stay-layout {
  width: 100% !important;

  display: grid !important;
  grid-template-columns:
    minmax(0, 1.48fr)
    minmax(330px, 0.72fr) !important;

  gap: 28px !important;
  align-items: stretch !important;
}

/* =========================================================
   MAIN HOTEL CARD
   ========================================================= */

.mz-stay-main-card {
  position: relative !important;
  min-width: 0 !important;

  padding: clamp(30px, 4vw, 48px) !important;

  border-radius: 18px !important;
  border: 1px solid rgba(228, 231, 236, 0.96) !important;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(91, 244, 226, 0.09),
      transparent 32%
    ),
    rgba(255, 255, 255, 0.96) !important;

  box-shadow:
    0 30px 84px rgba(8, 25, 42, 0.10),
    0 1px 0 rgba(255, 255, 255, 0.95) inset !important;

  box-sizing: border-box !important;
  overflow: hidden !important;
}

.mz-stay-main-card::before {
  content: "" !important;
  position: absolute !important;

  top: 0 !important;
  left: 0 !important;

  width: 100% !important;
  height: 3px !important;

  background:
    linear-gradient(
      90deg,
      var(--mz-stay-gold),
      rgba(91, 244, 226, 0.16),
      transparent
    ) !important;
}

.mz-stay-card-top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 26px !important;

  padding-bottom: 30px !important;
  margin-bottom: 30px !important;

  border-bottom: 1px solid rgba(228, 231, 236, 0.94) !important;
}

.mz-stay-small-label {
  margin: 0 0 9px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;

  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;

  color: var(--mz-stay-gold) !important;
}

.mz-stay-card-top h3 {
  margin: 0 0 11px !important;
  padding: 0 !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(2rem, 2.8vw, 3.2rem) !important;
  line-height: 1.02 !important;
  font-weight: 500 !important;

  letter-spacing: -0.03em !important;
  color: var(--mz-stay-navy) !important;
}

.mz-stay-card-top p {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.94rem !important;
  line-height: 1.58 !important;

  color: var(--mz-stay-muted) !important;
}

.mz-stay-deadline {
  flex: 0 0 auto !important;

  min-width: 205px !important;
  padding: 16px 20px !important;

  border-radius: 10px !important;
  border: 1px solid rgba(15, 118, 110, 0.28) !important;

  background: rgba(91, 244, 226, 0.09) !important;
  text-align: center !important;
}

.mz-stay-deadline span,
.mz-stay-deadline strong {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
}

.mz-stay-deadline span {
  margin-bottom: 5px !important;

  font-size: 0.68rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;

  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;

  color: var(--mz-stay-gold) !important;
}

.mz-stay-deadline strong {
  font-size: 0.93rem !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;

  color: var(--mz-stay-navy) !important;
}

/* =========================================================
   FACTS
   ========================================================= */

.mz-stay-facts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

  margin-bottom: 34px !important;
}

.mz-stay-fact {
  min-width: 0 !important;

  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;

  gap: 13px !important;
  align-items: start !important;

  padding: 0 22px !important;
  border-right: 1px solid rgba(228, 231, 236, 0.94) !important;
}

.mz-stay-fact:first-child {
  padding-left: 0 !important;
}

.mz-stay-fact:last-child {
  padding-right: 0 !important;
  border-right: 0 !important;
}

.mz-stay-fact-number {
  width: 34px !important;
  height: 34px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1px solid rgba(15, 118, 110, 0.40) !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  font-weight: 700 !important;

  color: var(--mz-stay-gold) !important;
}

.mz-stay-fact strong,
.mz-stay-fact p {
  font-family: "Lato", Arial, sans-serif !important;
}

.mz-stay-fact strong {
  display: block !important;
  margin: 0 0 5px !important;

  font-size: 0.83rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;

  color: var(--mz-stay-navy) !important;
}

.mz-stay-fact p {
  margin: 0 !important;

  font-size: 0.84rem !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;

  color: var(--mz-stay-muted) !important;
}

/* =========================================================
   HOTEL RATES
   ========================================================= */

.mz-stay-rates {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  gap: 18px !important;
}

.mz-stay-rate {
  min-width: 0 !important;
  position: relative !important;

  padding: 24px 25px !important;

  border-radius: 12px !important;
  border: 1px solid rgba(228, 231, 236, 0.96) !important;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.98),
      rgba(248, 247, 243, 0.93)
    ) !important;
}

.mz-stay-rate-featured {
  border-color: rgba(15, 118, 110, 0.40) !important;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(91, 244, 226, 0.13),
      transparent 44%
    ),
    #fbfdfd !important;
}

.mz-stay-rate-label {
  margin: 0 0 15px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.75rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;

  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;

  color: var(--mz-stay-navy) !important;
}

.mz-stay-price {
  display: flex !important;
  align-items: baseline !important;
  gap: 7px !important;

  margin-bottom: 8px !important;

  color: var(--mz-stay-navy) !important;
}

.mz-stay-rate-featured .mz-stay-price {
  color: var(--mz-stay-gold) !important;
}

.mz-stay-price strong {
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(2.8rem, 3.7vw, 4rem) !important;
  line-height: 0.9 !important;
  font-weight: 500 !important;

  letter-spacing: -0.045em !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}

.mz-stay-price span {
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: 1.65rem !important;
  line-height: 1 !important;
  font-weight: 600 !important;
}

.mz-stay-rate p {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.8rem !important;
  line-height: 1.48 !important;

  color: var(--mz-stay-muted) !important;
}

/* =========================================================
   BOOKING CARD
   ========================================================= */

.mz-stay-booking-card {
  min-width: 0 !important;
  position: relative !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;

  border-radius: 18px !important;
  border: 1px solid rgba(91, 244, 226, 0.18) !important;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(91, 244, 226, 0.16),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      var(--mz-stay-navy) 0%,
      var(--mz-stay-navy-dark) 100%
    ) !important;

  box-shadow:
    0 30px 84px rgba(8, 25, 42, 0.24),
    0 1px 0 rgba(255, 255, 255, 0.08) inset !important;

  overflow: hidden !important;
}

.mz-stay-booking-decoration {
  position: absolute !important;
  z-index: 0 !important;

  right: -95px !important;
  top: -70px !important;

  width: 285px !important;
  height: 285px !important;

  border-radius: 999px !important;

  background:
    repeating-radial-gradient(
      circle,
      transparent 0,
      transparent 18px,
      rgba(91, 244, 226, 0.11) 19px,
      transparent 20px
    ) !important;

  opacity: 0.75 !important;
}

.mz-stay-booking-content {
  position: relative !important;
  z-index: 2 !important;

  padding:
    clamp(34px, 4vw, 48px)
    clamp(28px, 3.2vw, 38px)
    30px !important;
}

.mz-stay-booking-kicker {
  margin: 0 0 15px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.71rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;

  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;

  color: var(--mz-stay-gold-light) !important;
}

.mz-stay-booking-card h3 {
  margin: 0 0 17px !important;
  padding: 0 !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(2.3rem, 3.1vw, 3.6rem) !important;
  line-height: 0.98 !important;
  font-weight: 500 !important;

  letter-spacing: -0.035em !important;
  color: #f7f9fb !important;
}

.mz-stay-booking-card p {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.68 !important;

  color: rgba(248, 246, 241, 0.72) !important;
}

.mz-stay-promo {
  margin: 28px 0 26px !important;
  padding: 17px 19px !important;

  border-radius: 10px !important;
  border: 1px solid rgba(91, 244, 226, 0.25) !important;

  background: rgba(255, 255, 255, 0.055) !important;
}

.mz-stay-promo span,
.mz-stay-promo strong,
.mz-stay-promo small {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
}

.mz-stay-promo span {
  margin-bottom: 5px !important;

  font-size: 0.66rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;

  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;

  color: rgba(248, 246, 241, 0.58) !important;
}

.mz-stay-promo strong {
  margin-bottom: 3px !important;

  font-size: 1.15rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;

  letter-spacing: 0.14em !important;
  color: var(--mz-stay-gold-light) !important;
}

.mz-stay-promo small {
  font-size: 0.72rem !important;
  line-height: 1.42 !important;

  color: rgba(248, 246, 241, 0.60) !important;
}

/* CTA */

.mz-stay-cta {
  width: 100% !important;
  min-height: 58px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 16px !important;
  padding: 17px 24px !important;

  border-radius: 8px !important;
  border: 1px solid rgba(186, 255, 247, 0.70) !important;

  background:
    linear-gradient(
      135deg,
      var(--mz-stay-gold-light),
      var(--mz-stay-gold)
    ) !important;

  box-shadow:
    0 16px 36px rgba(15, 118, 110, 0.28),
    0 1px 0 rgba(255, 255, 255, 0.28) inset !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.79rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;

  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  color: var(--mz-stay-navy) !important;

  box-sizing: border-box !important;

  transition:
    transform 0.24s cubic-bezier(.16, 1, .3, 1),
    box-shadow 0.24s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-stay-cta:hover,
.mz-stay-cta:focus-visible {
  color: var(--mz-stay-navy) !important;
  transform: translateY(-3px) !important;

  box-shadow:
    0 23px 48px rgba(15, 118, 110, 0.38),
    0 0 0 4px rgba(91, 244, 226, 0.11) !important;
}

.mz-stay-cta:focus-visible {
  outline: 2px solid #bafff7 !important;
  outline-offset: 4px !important;
}

.mz-stay-cta-arrow {
  font-size: 1.15rem !important;
  transition: transform 0.24s ease !important;
}

.mz-stay-cta:hover .mz-stay-cta-arrow {
  transform: translateX(4px) !important;
}

.mz-stay-external-note {
  margin-top: 12px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.67rem !important;
  line-height: 1.45 !important;

  text-align: center !important;
  color: rgba(248, 246, 241, 0.48) !important;
}

/* HOTEL CONTACT */

.mz-stay-contact {
  position: relative !important;
  z-index: 2 !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;

  padding: 22px 34px 26px !important;

  border-top: 1px solid rgba(255, 255, 255, 0.09) !important;
  background: rgba(0, 0, 0, 0.09) !important;
}

.mz-stay-contact span,
.mz-stay-contact a {
  font-family: "Lato", Arial, sans-serif !important;
}

.mz-stay-contact span {
  margin-bottom: 3px !important;

  font-size: 0.65rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;

  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;

  color: var(--mz-stay-gold-light) !important;
}

.mz-stay-contact a {
  width: fit-content !important;

  font-size: 0.79rem !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;

  text-decoration: none !important;
  color: rgba(248, 246, 241, 0.78) !important;
}

.mz-stay-contact a:hover,
.mz-stay-contact a:focus-visible {
  color: var(--mz-stay-gold-light) !important;
}

/* =========================================================
   IMPORTANT NOTE
   ========================================================= */

.mz-stay-notice {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;

  gap: 15px !important;
  align-items: start !important;

  max-width: 980px !important;
  margin: 28px auto 0 !important;
  padding: 18px 22px !important;

  border-radius: 10px !important;
  border: 1px solid rgba(15, 118, 110, 0.26) !important;

  background: rgba(91, 244, 226, 0.075) !important;
}

.mz-stay-notice-mark {
  width: 34px !important;
  height: 34px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1px solid var(--mz-stay-gold) !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;

  color: var(--mz-stay-gold) !important;
}

.mz-stay-notice p {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.62 !important;

  color: var(--mz-stay-muted) !important;
}

.mz-stay-notice strong {
  color: var(--mz-stay-navy) !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1040px) {
  .mz-stay-layout {
    grid-template-columns: 1fr !important;
    max-width: 860px !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

  .mz-stay-booking-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 260px !important;
  }

  .mz-stay-contact {
    justify-content: center !important;

    border-top: 0 !important;
    border-left: 1px solid rgba(255, 255, 255, 0.09) !important;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
  .mz-stay-section {
    margin-top: -12px !important;

    padding:
      96px
      14px
      64px !important;
  }

  .mz-stay-section::before {
    top: -44px !important;
    height: 130px !important;
  }

  .mz-stay-section::after {
    right: -350px !important;
    opacity: 0.28 !important;
  }

  .mz-stay-heading {
    padding: 0 4px !important;
    margin-bottom: 30px !important;
  }

  .mz-stay-heading h2 {
    font-size: clamp(2.45rem, 12vw, 3.45rem) !important;
    line-height: 1 !important;
  }

  .mz-stay-heading > p {
    font-size: 0.94rem !important;
    line-height: 1.65 !important;
  }

  .mz-stay-main-card,
  .mz-stay-booking-card {
    border-radius: 14px !important;
  }

  .mz-stay-main-card {
    padding: 26px 19px !important;
  }

  .mz-stay-card-top {
    display: block !important;
  }

  .mz-stay-deadline {
    width: 100% !important;
    min-width: 0 !important;

    margin-top: 20px !important;
    box-sizing: border-box !important;
  }

  .mz-stay-facts {
    grid-template-columns: 1fr !important;
    margin-bottom: 26px !important;
  }

  .mz-stay-fact {
    padding: 16px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(228, 231, 236, 0.94) !important;
  }

  .mz-stay-fact:first-child {
    padding-top: 0 !important;
  }

  .mz-stay-fact:last-child {
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .mz-stay-rates {
    grid-template-columns: 1fr !important;
  }

  .mz-stay-rate {
    padding: 22px 20px !important;
  }

  .mz-stay-price strong {
    font-size: clamp(3rem, 15vw, 4rem) !important;
  }

  .mz-stay-booking-card {
    display: flex !important;
  }

  .mz-stay-booking-content {
    padding: 30px 22px 26px !important;
  }

  .mz-stay-booking-card h3 {
    font-size: clamp(2.25rem, 11vw, 3.15rem) !important;
  }

  .mz-stay-contact {
    padding: 20px 22px 24px !important;

    border-left: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.09) !important;
  }

  .mz-stay-notice {
    grid-template-columns: 32px minmax(0, 1fr) !important;

    gap: 12px !important;
    padding: 16px 17px !important;
  }

  .mz-stay-notice-mark {
    width: 30px !important;
    height: 30px !important;
  }

  .mz-stay-notice p {
    font-size: 0.78rem !important;
  }
}

/* VERY SMALL PHONES */

@media (max-width: 390px) {
  .mz-stay-section {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }

  .mz-stay-main-card {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mz-stay-cta {
    padding-left: 16px !important;
    padding-right: 16px !important;

    font-size: 0.74rem !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-stay-cta,
  .mz-stay-cta-arrow {
    transition: none !important;
  }

  .mz-stay-cta:hover,
  .mz-stay-cta:focus-visible {
    transform: none !important;
  }
}

/* =========================================================
   COMPACT HOTEL SECTION
   ========================================================= */

.mz-hotel-section {
  --hotel-navy: #11183a;
  --hotel-navy-dark: #080d2c;
  --hotel-gold: #0f766e;
  --hotel-gold-light: #74eadf;
  --hotel-text: #26324a;
  --hotel-muted: #667085;

  width: 100% !important;
  max-width: 100% !important;

  position: relative !important;
  z-index: 2 !important;

  margin: 0 !important;
  padding: clamp(56px, 6vw, 82px) 18px clamp(52px, 6vw, 76px) !important;

  background: #f2f2f4 !important;

  border-top: 1px solid rgba(8, 25, 42, 0.06) !important;

  box-sizing: border-box !important;
  overflow: hidden !important;
}

.mz-hotel-wrap {
  width: 100% !important;
  max-width: 1180px !important;

  margin: 0 auto !important;

  position: relative !important;
  z-index: 2 !important;
}

/* =========================================================
   HEADING
   ========================================================= */

.mz-hotel-heading {
  width: 100% !important;
  max-width: 720px !important;

  margin: 0 auto clamp(30px, 4vw, 44px) !important;

  text-align: center !important;
}

.mz-hotel-kicker {
  margin: 0 0 10px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.7rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;

  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;

  color: var(--hotel-gold) !important;
}

.mz-hotel-heading h2 {
  margin: 0 !important;
  padding: 0 !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(2.3rem, 3.4vw, 3.75rem) !important;
  line-height: 0.98 !important;
  font-weight: 500 !important;

  letter-spacing: -0.035em !important;

  color: var(--hotel-navy) !important;
}

.mz-hotel-heading h2 span {
  display: block !important;
  color: var(--hotel-gold) !important;
}

.mz-hotel-heading > p {
  max-width: 620px !important;

  margin: 16px auto 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.91rem !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;

  color: var(--hotel-muted) !important;
}

/* =========================================================
   LAYOUT
   ========================================================= */

.mz-hotel-layout {
  display: grid !important;

  grid-template-columns:
    minmax(0, 1.7fr)
    minmax(300px, 0.68fr) !important;

  gap: 22px !important;
  align-items: stretch !important;
}

/* =========================================================
   MAIN HOTEL CARD
   ========================================================= */

.mz-hotel-info-card {
  min-width: 0 !important;

  display: grid !important;
  grid-template-columns: minmax(260px, 0.74fr) minmax(0, 1.26fr) !important;

  border-radius: 16px !important;
  border: 1px solid rgba(8, 25, 42, 0.08) !important;

  background: rgba(255, 255, 255, 0.92) !important;

  box-shadow:
    0 24px 64px rgba(8, 25, 42, 0.10),
    0 1px 0 rgba(255, 255, 255, 0.90) inset !important;

  overflow: hidden !important;
}

/* Zdjęcie */

.mz-hotel-photo {
  min-width: 0 !important;
  min-height: 100% !important;

  position: relative !important;
  overflow: hidden !important;

  background: var(--hotel-navy) !important;
}

.mz-hotel-photo::after {
  content: "" !important;

  position: absolute !important;
  inset: 0 !important;

  pointer-events: none !important;

  background:
    linear-gradient(
      180deg,
      rgba(6, 17, 29, 0.02) 20%,
      rgba(6, 17, 29, 0.80) 100%
    ) !important;
}

.mz-hotel-photo img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;
  min-height: 400px !important;

  object-fit: cover !important;
  object-position: center !important;

  transition: transform 0.65s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-hotel-info-card:hover .mz-hotel-photo img {
  transform: scale(1.025) !important;
}

.mz-hotel-photo-overlay {
  position: absolute !important;
  z-index: 2 !important;

  left: 24px !important;
  right: 24px !important;
  bottom: 24px !important;
}

.mz-hotel-photo-overlay span,
.mz-hotel-photo-overlay strong {
  display: block !important;
}

.mz-hotel-photo-overlay span {
  margin-bottom: 6px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.63rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;

  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;

  color: var(--hotel-gold-light) !important;
}

.mz-hotel-photo-overlay strong {
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: 1.85rem !important;
  line-height: 1.05 !important;
  font-weight: 500 !important;

  color: #ffffff !important;
}

/* Treść karty */

.mz-hotel-details {
  min-width: 0 !important;
  padding: 28px 30px !important;
}

.mz-hotel-topline {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;

  gap: 22px !important;

  margin-bottom: 24px !important;
  padding-bottom: 22px !important;

  border-bottom: 1px solid rgba(8, 25, 42, 0.08) !important;
}

.mz-hotel-label {
  margin-bottom: 6px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.63rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;

  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;

  color: var(--hotel-gold) !important;
}

.mz-hotel-topline h3 {
  margin: 0 0 7px !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(1.75rem, 2.3vw, 2.65rem) !important;
  line-height: 1 !important;
  font-weight: 500 !important;

  letter-spacing: -0.03em !important;

  color: var(--hotel-navy) !important;
}

.mz-hotel-address {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.79rem !important;
  line-height: 1.5 !important;

  color: var(--hotel-muted) !important;
}

.mz-hotel-deadline {
  flex: 0 0 155px !important;

  padding: 12px 14px !important;

  border-radius: 9px !important;
  border: 1px solid rgba(15, 118, 110, 0.28) !important;

  background: rgba(91, 244, 226, 0.10) !important;

  text-align: center !important;
}

.mz-hotel-deadline span,
.mz-hotel-deadline strong {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
}

.mz-hotel-deadline span {
  margin-bottom: 4px !important;

  font-size: 0.59rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;

  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;

  color: var(--hotel-gold) !important;
}

.mz-hotel-deadline strong {
  font-size: 0.76rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;

  color: var(--hotel-navy) !important;
}

/* Fakty */

.mz-hotel-facts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

  margin-bottom: 22px !important;
}

.mz-hotel-fact {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;

  gap: 9px !important;

  padding: 0 12px !important;

  border-right: 1px solid rgba(8, 25, 42, 0.08) !important;
}

.mz-hotel-fact:first-child {
  padding-left: 0 !important;
}

.mz-hotel-fact:last-child {
  padding-right: 0 !important;
  border-right: 0 !important;
}

.mz-hotel-fact-number {
  width: 25px !important;
  height: 25px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1px solid rgba(15, 118, 110, 0.38) !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: 0.75rem !important;
  line-height: 1 !important;
  font-weight: 700 !important;

  color: var(--hotel-gold) !important;
}

.mz-hotel-fact strong {
  display: block !important;

  margin-bottom: 3px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.68rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;

  color: var(--hotel-navy) !important;
}

.mz-hotel-fact p {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.68rem !important;
  line-height: 1.4 !important;

  color: var(--hotel-muted) !important;
}

/* Ceny */

.mz-hotel-prices {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  gap: 12px !important;
}

.mz-hotel-price-card {
  padding: 17px 18px !important;

  border-radius: 10px !important;
  border: 1px solid rgba(8, 25, 42, 0.08) !important;

  background: rgba(248, 247, 243, 0.75) !important;
}

.mz-hotel-price-card--featured {
  border-color: rgba(15, 118, 110, 0.34) !important;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(91, 244, 226, 0.14),
      transparent 48%
    ),
    #fbfdfd !important;
}

.mz-hotel-room-name {
  margin-bottom: 10px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.64rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  color: var(--hotel-navy) !important;
}

.mz-hotel-price {
  display: flex !important;
  align-items: baseline !important;

  gap: 5px !important;

  margin-bottom: 5px !important;

  color: var(--hotel-navy) !important;
}

.mz-hotel-price-card--featured .mz-hotel-price {
  color: var(--hotel-gold) !important;
}

.mz-hotel-price strong {
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(2.15rem, 2.8vw, 3.1rem) !important;
  line-height: 0.9 !important;
  font-weight: 500 !important;

  letter-spacing: -0.04em !important;
}

.mz-hotel-price span {
  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
}

.mz-hotel-price-card p {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.65rem !important;
  line-height: 1.4 !important;

  color: var(--hotel-muted) !important;
}

/* =========================================================
   BOOKING CARD
   ========================================================= */

.mz-hotel-booking-card {
  min-width: 0 !important;

  position: relative !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;

  border-radius: 16px !important;
  border: 1px solid rgba(91, 244, 226, 0.18) !important;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(91, 244, 226, 0.14),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      var(--hotel-navy),
      var(--hotel-navy-dark)
    ) !important;

  box-shadow:
    0 24px 64px rgba(8, 25, 42, 0.22),
    0 1px 0 rgba(255, 255, 255, 0.07) inset !important;

  overflow: hidden !important;
}

.mz-hotel-booking-content {
  padding: 32px 28px 24px !important;
}

.mz-hotel-booking-kicker {
  margin-bottom: 12px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.64rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;

  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;

  color: var(--hotel-gold-light) !important;
}

.mz-hotel-booking-card h3 {
  margin: 0 0 14px !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(2.15rem, 3vw, 3.05rem) !important;
  line-height: 0.94 !important;
  font-weight: 500 !important;

  letter-spacing: -0.035em !important;

  color: #f7f9fb !important;
}

.mz-hotel-booking-card p {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.78rem !important;
  line-height: 1.6 !important;

  color: rgba(248, 246, 241, 0.69) !important;
}

.mz-hotel-code {
  margin: 22px 0 20px !important;
  padding: 14px 16px !important;

  border-radius: 9px !important;
  border: 1px solid rgba(91, 244, 226, 0.22) !important;

  background: rgba(255, 255, 255, 0.05) !important;
}

.mz-hotel-code span,
.mz-hotel-code strong,
.mz-hotel-code small {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
}

.mz-hotel-code span {
  margin-bottom: 4px !important;

  font-size: 0.58rem !important;
  font-weight: 900 !important;

  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;

  color: rgba(248, 246, 241, 0.51) !important;
}

.mz-hotel-code strong {
  margin-bottom: 3px !important;

  font-size: 1rem !important;
  font-weight: 900 !important;

  letter-spacing: 0.14em !important;

  color: var(--hotel-gold-light) !important;
}

.mz-hotel-code small {
  font-size: 0.63rem !important;
  line-height: 1.4 !important;

  color: rgba(248, 246, 241, 0.54) !important;
}

/* Button */

.mz-hotel-button {
  width: 100% !important;
  min-height: 51px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 14px !important;

  padding: 15px 20px !important;

  border-radius: 7px !important;
  border: 1px solid rgba(186, 255, 247, 0.66) !important;

  background:
    linear-gradient(
      135deg,
      var(--hotel-gold-light),
      var(--hotel-gold)
    ) !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  color: var(--hotel-navy) !important;

  box-shadow:
    0 14px 32px rgba(15, 118, 110, 0.26),
    0 1px 0 rgba(255, 255, 255, 0.27) inset !important;

  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease !important;

  box-sizing: border-box !important;
}

.mz-hotel-button:hover,
.mz-hotel-button:focus-visible {
  color: var(--hotel-navy) !important;

  transform: translateY(-2px) !important;

  box-shadow:
    0 19px 40px rgba(15, 118, 110, 0.35),
    0 0 0 4px rgba(91, 244, 226, 0.10) !important;
}

.mz-hotel-button:focus-visible {
  outline: 2px solid #bafff7 !important;
  outline-offset: 4px !important;
}

.mz-hotel-external {
  margin-top: 10px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.59rem !important;
  line-height: 1.4 !important;

  text-align: center !important;

  color: rgba(248, 246, 241, 0.43) !important;
}

/* Contact */

.mz-hotel-contact {
  display: flex !important;
  flex-direction: column !important;

  gap: 5px !important;

  padding: 18px 28px 22px !important;

  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: rgba(0, 0, 0, 0.08) !important;
}

.mz-hotel-contact span {
  margin-bottom: 3px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.57rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;

  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;

  color: var(--hotel-gold-light) !important;
}

.mz-hotel-contact a {
  width: fit-content !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.7rem !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;

  text-decoration: none !important;

  color: rgba(248, 246, 241, 0.75) !important;
}

.mz-hotel-contact a:hover,
.mz-hotel-contact a:focus-visible {
  color: var(--hotel-gold-light) !important;
}

/* =========================================================
   NOTICE
   ========================================================= */

.mz-hotel-notice {
  max-width: 980px !important;

  display: grid !important;
  grid-template-columns: 31px minmax(0, 1fr) !important;

  align-items: start !important;
  gap: 12px !important;

  margin: 20px auto 0 !important;
  padding: 13px 17px !important;

  border-radius: 9px !important;
  border: 1px solid rgba(15, 118, 110, 0.26) !important;

  background: rgba(255, 255, 255, 0.38) !important;
}

.mz-hotel-notice-icon {
  width: 28px !important;
  height: 28px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1px solid var(--hotel-gold) !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;

  color: var(--hotel-gold) !important;
}

.mz-hotel-notice p {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  line-height: 1.55 !important;

  color: var(--hotel-muted) !important;
}

.mz-hotel-notice strong {
  color: var(--hotel-navy) !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {
  .mz-hotel-layout {
    grid-template-columns: 1fr !important;
    max-width: 850px !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

  .mz-hotel-booking-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 240px !important;
  }

  .mz-hotel-contact {
    justify-content: center !important;

    border-top: 0 !important;
    border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
  .mz-hotel-section {
    padding: 48px 14px 54px !important;
  }

  .mz-hotel-heading {
    margin-bottom: 26px !important;
  }

  .mz-hotel-heading h2 {
    font-size: clamp(2.15rem, 10.5vw, 3rem) !important;
    line-height: 1 !important;
  }

  .mz-hotel-heading > p {
    font-size: 0.87rem !important;
  }

  .mz-hotel-layout {
    gap: 18px !important;
  }

  .mz-hotel-info-card {
    grid-template-columns: 1fr !important;
    border-radius: 13px !important;
  }

  .mz-hotel-photo {
    min-height: 220px !important;
  }

  .mz-hotel-photo img {
    min-height: 220px !important;
    height: 220px !important;
  }

  .mz-hotel-photo-overlay {
    left: 18px !important;
    right: 18px !important;
    bottom: 17px !important;
  }

  .mz-hotel-photo-overlay strong {
    font-size: 1.55rem !important;
  }

  .mz-hotel-details {
    padding: 23px 18px !important;
  }

  .mz-hotel-topline {
    display: block !important;
  }

  .mz-hotel-deadline {
    width: 100% !important;
    min-width: 0 !important;

    margin-top: 16px !important;

    box-sizing: border-box !important;
  }

  .mz-hotel-facts {
    grid-template-columns: 1fr !important;
  }

  .mz-hotel-fact {
    padding: 12px 0 !important;

    border-right: 0 !important;
    border-bottom: 1px solid rgba(8, 25, 42, 0.08) !important;
  }

  .mz-hotel-fact:first-child {
    padding-top: 0 !important;
  }

  .mz-hotel-fact:last-child {
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .mz-hotel-prices {
    grid-template-columns: 1fr !important;
  }

  .mz-hotel-price strong {
    font-size: 2.8rem !important;
  }

  .mz-hotel-booking-card {
    display: flex !important;
    border-radius: 13px !important;
  }

  .mz-hotel-booking-content {
    padding: 27px 21px 22px !important;
  }

  .mz-hotel-booking-card h3 {
    font-size: 2.55rem !important;
  }

  .mz-hotel-contact {
    padding: 18px 21px 21px !important;

    border-left: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .mz-hotel-notice {
    grid-template-columns: 28px minmax(0, 1fr) !important;

    padding: 13px 14px !important;
  }

  .mz-hotel-notice p {
    font-size: 0.68rem !important;
  }
}

/* =========================================================
   VERY SMALL DEVICES
   ========================================================= */

@media (max-width: 390px) {
  .mz-hotel-section {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }

  .mz-hotel-details {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .mz-hotel-button {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .mz-hotel-photo img,
  .mz-hotel-button {
    transition: none !important;
  }

  .mz-hotel-info-card:hover .mz-hotel-photo img,
  .mz-hotel-button:hover,
  .mz-hotel-button:focus-visible {
    transform: none !important;
  }
}

/* =========================================================
   REGISTRATION — PRO FORMA INVOICE BOX
   ========================================================= */

.mz-registration-invoice {
  position: relative !important;
  grid-column: 1 / -1 !important;

  width: 100% !important;
  min-width: 0 !important;

  display: grid !important;
  grid-template-columns:
    64px
    minmax(0, 1.45fr)
    minmax(310px, 0.78fr) !important;

  gap: 24px !important;
  align-items: center !important;

  margin-top: 4px !important;
  padding: 22px 22px 22px 26px !important;

  border-radius: 14px !important;
  border: 1px solid rgba(228, 231, 236, 0.96) !important;

  background:
    radial-gradient(
      circle at 0% 0%,
      rgba(91, 244, 226, 0.10),
      transparent 32%
    ),
    rgba(255, 255, 255, 0.97) !important;

  box-shadow:
    0 22px 62px rgba(8, 25, 42, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.92) inset !important;

  box-sizing: border-box !important;
  overflow: hidden !important;
}

.mz-registration-invoice::before {
  content: "" !important;

  position: absolute !important;
  top: 0 !important;
  left: 0 !important;

  width: 100% !important;
  height: 3px !important;

  background:
    linear-gradient(
      90deg,
      #0f766e,
      rgba(91, 244, 226, 0.20),
      transparent 78%
    ) !important;
}

/* Ikona */

.mz-registration-invoice-icon {
  width: 60px !important;
  height: 60px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 12px !important;
  border: 1px solid rgba(15, 118, 110, 0.24) !important;

  background: rgba(91, 244, 226, 0.09) !important;
}

.mz-registration-invoice-icon img {
  display: block !important;

  width: 42px !important;
  height: 42px !important;

  object-fit: contain !important;
}

/* Treść */

.mz-registration-invoice-content {
  min-width: 0 !important;
}

.mz-registration-invoice-kicker {
  margin: 0 0 5px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.66rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;

  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;

  color: #0f766e !important;
}

.mz-registration-invoice-content h3 {
  margin: 0 0 6px !important;
  padding: 0 !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: clamp(1.65rem, 2vw, 2.25rem) !important;
  line-height: 1.05 !important;
  font-weight: 500 !important;

  letter-spacing: -0.025em !important;

  color: #11183a !important;
}

.mz-registration-invoice-content > p {
  margin: 0 0 15px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;

  color: #667085 !important;
}

/* Lista danych */

.mz-registration-invoice-data {
  display: flex !important;
  flex-wrap: wrap !important;

  gap: 8px !important;
}

.mz-registration-invoice-data-item {
  display: inline-flex !important;
  align-items: center !important;

  gap: 8px !important;

  min-width: 0 !important;
  padding: 7px 10px 7px 8px !important;

  border-radius: 7px !important;
  border: 1px solid rgba(228, 231, 236, 0.96) !important;

  background: rgba(248, 247, 243, 0.78) !important;
}

.mz-registration-invoice-data-item span {
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1px solid rgba(15, 118, 110, 0.42) !important;

  font-family: "Bebas Neue", "Arial Narrow", Arial, sans-serif !important;
  font-size: 0.68rem !important;
  line-height: 1 !important;
  font-weight: 700 !important;

  color: #0f766e !important;
}

.mz-registration-invoice-data-item strong {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.69rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;

  color: #26324a !important;
}

/* Ciemny panel akcji */

.mz-registration-invoice-action {
  min-width: 0 !important;

  padding: 18px 19px !important;

  border-radius: 10px !important;
  border: 1px solid rgba(91, 244, 226, 0.16) !important;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(91, 244, 226, 0.13),
      transparent 40%
    ),
    linear-gradient(
      145deg,
      #11183a,
      #080d2c
    ) !important;

  box-shadow:
    0 15px 34px rgba(8, 25, 42, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.06) inset !important;
}

.mz-registration-invoice-email-label {
  margin-bottom: 4px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.59rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;

  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;

  color: #74eadf !important;
}

.mz-registration-invoice-email {
  display: inline-block !important;

  margin-bottom: 12px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.85rem !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;

  text-decoration: none !important;

  color: #f7f9fb !important;
}

.mz-registration-invoice-email:hover,
.mz-registration-invoice-email:focus-visible {
  color: #74eadf !important;
}

.mz-registration-invoice-subject {
  margin-bottom: 14px !important;
  padding-top: 10px !important;

  border-top: 1px solid rgba(255, 255, 255, 0.09) !important;
}

.mz-registration-invoice-subject span,
.mz-registration-invoice-subject strong {
  display: block !important;

  font-family: "Lato", Arial, sans-serif !important;
}

.mz-registration-invoice-subject span {
  margin-bottom: 3px !important;

  font-size: 0.59rem !important;
  line-height: 1.3 !important;

  color: rgba(248, 246, 241, 0.52) !important;
}

.mz-registration-invoice-subject strong {
  overflow-wrap: anywhere !important;

  font-size: 0.73rem !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;

  color: rgba(248, 246, 241, 0.88) !important;
}

/* Przycisk */

.mz-registration-invoice-button {
  width: 100% !important;
  min-height: 43px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 12px !important;

  padding: 12px 16px !important;

  border-radius: 6px !important;
  border: 1px solid rgba(186, 255, 247, 0.68) !important;

  background:
    linear-gradient(
      135deg,
      #9ff9ee, #32c9bd
    ) !important;

  box-shadow:
    0 12px 27px rgba(15, 118, 110, 0.25),
    0 1px 0 rgba(255, 255, 255, 0.26) inset !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.68rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;

  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  color: #11183a !important;

  box-sizing: border-box !important;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease !important;
}

.mz-registration-invoice-button:hover,
.mz-registration-invoice-button:focus-visible {
  color: #11183a !important;

  transform: translateY(-2px) !important;

  box-shadow:
    0 17px 36px rgba(15, 118, 110, 0.34),
    0 0 0 4px rgba(91, 244, 226, 0.10) !important;
}

.mz-registration-invoice-button:focus-visible {
  outline: 2px solid #bafff7 !important;
  outline-offset: 4px !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {
  .mz-registration-invoice {
    grid-template-columns: 58px minmax(0, 1fr) !important;
  }

  .mz-registration-invoice-action {
    grid-column: 1 / -1 !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.7fr) !important;

    column-gap: 22px !important;
    align-items: center !important;
  }

  .mz-registration-invoice-email-label,
  .mz-registration-invoice-email,
  .mz-registration-invoice-subject {
    grid-column: 1 !important;
  }

  .mz-registration-invoice-button {
    grid-column: 2 !important;
    grid-row: 1 / span 3 !important;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
  .mz-registration-invoice {
    display: block !important;

    padding: 22px 18px 18px !important;

    border-radius: 12px !important;
  }

  .mz-registration-invoice-icon {
    width: 52px !important;
    height: 52px !important;

    margin-bottom: 15px !important;
  }

  .mz-registration-invoice-icon img {
    width: 36px !important;
    height: 36px !important;
  }

  .mz-registration-invoice-content h3 {
    font-size: 1.85rem !important;
  }

  .mz-registration-invoice-data {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .mz-registration-invoice-data-item {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .mz-registration-invoice-action {
    display: block !important;

    margin-top: 18px !important;
    padding: 18px !important;
  }

  .mz-registration-invoice-button {
    margin-top: 0 !important;
  }
}

@media (max-width: 390px) {
  .mz-registration-invoice {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .mz-registration-invoice-action {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .mz-registration-invoice-button {
    transition: none !important;
  }

  .mz-registration-invoice-button:hover,
  .mz-registration-invoice-button:focus-visible {
    transform: none !important;
  }
}

/* =========================================================
   PATOGENY 2027 — PROGRAM, REJESTRACJA, MIEJSCE / WERSJA 1.5.0
   ========================================================= */

html,
body {
  overflow-x: clip !important;
}

/* Wiersze Visual Composera używane jako pełna szerokość. */
#el-f4ff2c80,
#el-bef4a049 {
  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 0 0 -50vw !important;
  padding: 0 !important;
}

#el-f4ff2c80 > .vce-row-content,
#el-bef4a049 > .vce-row-content,
#el-ab8f0677,
#el-0c0ad7c3,
#el-75d384da,
#el-f736136b,
#el-7723d2f1,
#el-9ac8697f {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Stare nagłówki/program/partnerzy/rejestracja zostały zastąpione modułem 1.5. */
#el-75f09b8c,
#el-0fcff2d3,
#el-48ab038c {
  display: none !important;
}

#el-4c1cf3bd {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.ptg-program-section *,
.ptg-registration-section *,
.ptg-partners-section *,
.ptg-venue-section *,
.ptg-faq-section * {
  box-sizing: border-box !important;
}

.ptg-section-shell {
  width: min(calc(100% - 40px), 1180px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* ---------- Najważniejsze informacje: równe osie i mniejsza wysokość ---------- */

#el-81994d77 {
  padding: 0 0 12px !important;
}

#el-81994d77 > .vce-row-content {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  width: 100% !important;
  padding: 0 18px !important;
}

#el-a4d97d87 {
  padding: 16px 0 7px !important;
}

#el-71313757,
#el-aac13168,
#el-016dbbe3,
#el-1e5ef5cc,
#el-81eac40e,
#el-e3c35d95 {
  position: relative !important;
  display: flex !important;
  min-height: 124px !important;
  padding: 8px 14px 10px !important;
}

#el-71313757 .vce-col-inner,
#el-aac13168 .vce-col-inner,
#el-016dbbe3 .vce-col-inner,
#el-1e5ef5cc .vce-col-inner,
#el-81eac40e .vce-col-inner,
#el-e3c35d95 .vce-col-inner {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 7px !important;
  border-right: 0 !important;
  text-align: center !important;
}

#el-71313757::after,
#el-aac13168::after,
#el-016dbbe3::after,
#el-1e5ef5cc::after,
#el-81eac40e::after {
  content: "" !important;
  position: absolute !important;
  top: 8px !important;
  right: 0 !important;
  bottom: 8px !important;
  width: 1px !important;
  background: rgba(8, 13, 44, 0.08) !important;
}

#el-81994d77 .vce-single-image-container {
  margin: 0 auto 7px !important;
}

#el-81994d77 .vce-single-image-figure-inner {
  width: 40px !important;
  padding: 6px !important;
  border-radius: 11px !important;
}

#el-81994d77 .vce-text-block-wrapper {
  width: 100% !important;
  margin: 0 !important;
  text-align: center !important;
}

#el-81994d77 .vce-text-block p {
  width: 100% !important;
  font-size: 0.76rem !important;
  line-height: 1.38 !important;
  text-align: center !important;
}

/* ---------- Uproszczona sekcja organizatorów ---------- */

.ptg-organizers-section {
  padding: clamp(48px, 4.5vw, 66px) 0 !important;
  background: #ffffff !important;
}

.ptg-organizers-section::before {
  display: none !important;
}

.ptg-organizers-section .ptg-section-shell {
  display: grid !important;
  grid-template-columns: minmax(190px, 0.34fr) minmax(0, 1.66fr) !important;
  gap: clamp(24px, 4vw, 54px) !important;
  align-items: center !important;
}

.ptg-compact-heading {
  margin: 0 !important;
}

.ptg-compact-heading .ptg-section-eyebrow::before,
.ptg-compact-heading .ptg-section-eyebrow::after {
  display: none !important;
}

.mz-landing .ptg-compact-heading h2,
.ptg-compact-heading h2 {
  margin: 0 !important;
  font-family: var(--font-display, "Bebas Neue", "Arial Narrow", Arial, sans-serif) !important;
  font-size: clamp(2.7rem, 4vw, 3.8rem) !important;
  line-height: 0.94 !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-organizers-strip {
  display: grid !important;
  grid-template-columns: minmax(0, 1.16fr) 1px minmax(0, 0.84fr) !important;
  align-items: stretch !important;
  min-height: 174px !important;
  overflow: hidden !important;
  border: 1px solid rgba(8, 13, 44, 0.09) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 44px rgba(8, 13, 44, 0.075) !important;
}

.ptg-organizer-unit {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  min-width: 0 !important;
  padding: 24px 28px !important;
}

.ptg-organizer-unit--main {
  background: linear-gradient(135deg, rgba(91, 244, 226, 0.065), transparent 58%) !important;
}

.ptg-organizer-unit--office {
  background: linear-gradient(225deg, rgba(185, 102, 144, 0.055), transparent 58%) !important;
}

.ptg-organizers-divider {
  width: 1px !important;
  margin: 25px 0 !important;
  background: rgba(8, 13, 44, 0.09) !important;
}

.ptg-organizer-unit .ptg-organizer-role {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 0.64rem !important;
  letter-spacing: 0.16em !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-organizer-unit--office .ptg-organizer-role {
  color: #8d476f !important;
}

.ptg-organizer-unit .ptg-organizer-logo {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

.ptg-organizer-unit .ptg-organizer-logo--uml {
  max-width: min(94%, 390px) !important;
  max-height: 84px !important;
}

.ptg-organizer-unit .ptg-organizer-logo--sans {
  max-width: min(82%, 260px) !important;
  max-height: 76px !important;
}

.ptg-committees-section {
  padding-top: clamp(68px, 6vw, 86px) !important;
  padding-bottom: clamp(66px, 5.8vw, 84px) !important;
}

/* ---------- Program ---------- */

.ptg-program-section {
  position: relative !important;
  width: 100% !important;
  padding: clamp(76px, 7vw, 104px) 0 !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(91, 244, 226, 0.1), transparent 24%),
    radial-gradient(circle at 92% 92%, rgba(185, 102, 144, 0.075), transparent 27%),
    linear-gradient(180deg, #f7fafc 0%, #f2f6f9 100%) !important;
}

.ptg-program-card {
  overflow: hidden !important;
  border: 1px solid rgba(8, 13, 44, 0.09) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 26px 68px rgba(8, 13, 44, 0.1) !important;
}

.ptg-program-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(8, 13, 44, 0.09) !important;
  background: #f7f9fb !important;
}

.ptg-program-tab {
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  gap: 12px !important;
  align-items: center !important;
  min-height: 76px !important;
  margin: 0 !important;
  padding: 18px 26px !important;
  border: 0 !important;
  border-right: 1px solid rgba(8, 13, 44, 0.08) !important;
  background: transparent !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  text-align: left !important;
  color: var(--ptg-muted, #667085) !important;
  cursor: pointer !important;
}

.ptg-program-tab:last-child {
  border-right: 0 !important;
}

.ptg-program-tab::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  bottom: -1px !important;
  left: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #5bf4e2, #b96690) !important;
  transform: scaleX(0) !important;
  transition: transform 180ms ease !important;
}

.ptg-program-tab.is-active {
  background: #ffffff !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-program-tab.is-active::after {
  transform: scaleX(1) !important;
}

.ptg-program-tab span {
  padding: 5px 9px !important;
  border-radius: 999px !important;
  background: rgba(91, 244, 226, 0.13) !important;
  font-size: 0.64rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-program-tab strong {
  font-size: 1rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}

.ptg-program-tab small {
  font-size: 0.72rem !important;
  line-height: 1.2 !important;
  color: var(--ptg-muted, #667085) !important;
}

.ptg-program-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(270px, 0.65fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
}

.ptg-program-panel[hidden] {
  display: none !important;
}

.ptg-program-panel-main {
  padding: clamp(28px, 3.2vw, 42px) !important;
}

.ptg-program-status {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 0 22px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.66rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-program-status span {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #5bf4e2 !important;
  box-shadow: 0 0 0 5px rgba(91, 244, 226, 0.13) !important;
}

.ptg-program-timeline {
  position: relative !important;
  display: grid !important;
  gap: 0 !important;
}

.ptg-program-timeline::before {
  content: "" !important;
  position: absolute !important;
  top: 26px !important;
  bottom: 26px !important;
  left: 43px !important;
  width: 1px !important;
  background: rgba(15, 118, 110, 0.16) !important;
}

.ptg-program-row {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: start !important;
  min-height: 92px !important;
  padding: 17px 0 !important;
  border-bottom: 1px solid rgba(8, 13, 44, 0.07) !important;
}

.ptg-program-row:last-child {
  border-bottom: 0 !important;
}

.ptg-program-time {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 86px !important;
  min-height: 34px !important;
  border: 1px solid rgba(15, 118, 110, 0.15) !important;
  border-radius: 999px !important;
  background: #f4fbfa !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.05em !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-program-row strong {
  display: block !important;
  margin: 1px 0 6px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.94rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-program-row p {
  margin: 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.8rem !important;
  line-height: 1.55 !important;
  color: var(--ptg-muted, #667085) !important;
}

.ptg-program-note {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-width: 0 !important;
  padding: clamp(28px, 3vw, 40px) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(185, 102, 144, 0.25), transparent 48%),
    linear-gradient(145deg, #080d2c, #171b45) !important;
  color: #ffffff !important;
}

.ptg-program-note-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 0 22px !important;
  border: 1px solid rgba(91, 244, 226, 0.25) !important;
  border-radius: 14px !important;
  background: rgba(91, 244, 226, 0.09) !important;
  font-family: var(--font-display, "Bebas Neue", Arial, sans-serif) !important;
  font-size: 1.5rem !important;
  color: #5bf4e2 !important;
}

.mz-landing .ptg-program-note h3,
.ptg-program-note h3 {
  margin: 0 0 12px !important;
  font-family: var(--font-display, "Bebas Neue", Arial, sans-serif) !important;
  font-size: clamp(2rem, 2.6vw, 2.65rem) !important;
  line-height: 0.98 !important;
  font-weight: 400 !important;
  letter-spacing: 0.025em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.ptg-program-note p {
  margin: 0 0 24px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.8rem !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

.ptg-program-note-link {
  display: inline-flex !important;
  min-height: 42px !important;
  align-items: center !important;
  padding: 11px 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.69rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.62) !important;
}

/* ---------- Rejestracja ---------- */

.ptg-registration-section {
  position: relative !important;
  width: 100% !important;
  padding: clamp(78px, 7vw, 108px) 0 !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(91, 244, 226, 0.14), transparent 28%),
    radial-gradient(circle at 94% 86%, rgba(185, 102, 144, 0.18), transparent 30%),
    linear-gradient(145deg, #050a28 0%, #10153d 58%, #20173f 100%) !important;
}

.ptg-registration-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 0.86fr) minmax(300px, 0.74fr) !important;
  gap: clamp(32px, 6vw, 86px) !important;
  align-items: end !important;
  margin: 0 0 clamp(34px, 4vw, 50px) !important;
}

.ptg-registration-heading .ptg-section-eyebrow {
  color: #5bf4e2 !important;
}

.mz-landing .ptg-registration-heading h2,
.ptg-registration-heading h2 {
  margin: 0 !important;
  font-family: var(--font-display, "Bebas Neue", Arial, sans-serif) !important;
  font-size: clamp(3.1rem, 5.4vw, 5.2rem) !important;
  line-height: 0.9 !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.ptg-registration-heading > p {
  margin: 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.ptg-registration-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.16fr) minmax(0, 0.84fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.ptg-registration-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  padding: clamp(25px, 3vw, 36px) !important;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 24px 62px rgba(0, 0, 0, 0.22) !important;
}

.ptg-registration-card--professional {
  background: linear-gradient(145deg, rgba(91, 244, 226, 0.08), transparent 40%), #ffffff !important;
}

.ptg-registration-card--student {
  background: linear-gradient(145deg, rgba(185, 102, 144, 0.08), transparent 42%), #ffffff !important;
}

.ptg-registration-card-head {
  display: grid !important;
  grid-template-columns: 50px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: center !important;
  margin: 0 0 26px !important;
}

.ptg-registration-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 50px !important;
  border: 1px solid rgba(15, 118, 110, 0.15) !important;
  border-radius: 14px !important;
  background: rgba(91, 244, 226, 0.12) !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-registration-card--student .ptg-registration-icon {
  border-color: rgba(185, 102, 144, 0.16) !important;
  background: rgba(185, 102, 144, 0.09) !important;
  color: #8d476f !important;
}

.ptg-registration-card-head span:not(.ptg-registration-icon) {
  display: block !important;
  margin: 0 0 4px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.61rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-registration-card--student .ptg-registration-card-head span:not(.ptg-registration-icon) {
  color: #8d476f !important;
}

.mz-landing .ptg-registration-card h3,
.ptg-registration-card h3 {
  margin: 0 !important;
  font-family: var(--font-display, "Bebas Neue", Arial, sans-serif) !important;
  font-size: clamp(1.95rem, 2.7vw, 2.75rem) !important;
  line-height: 0.98 !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-registration-prices {
  display: grid !important;
  gap: 10px !important;
  margin: 0 0 22px !important;
}

.ptg-price-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  min-height: 82px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(8, 13, 44, 0.08) !important;
  border-radius: 13px !important;
  background: #f8fafc !important;
}

.ptg-price-row--featured {
  border-color: rgba(15, 118, 110, 0.18) !important;
  background: linear-gradient(90deg, rgba(91, 244, 226, 0.11), rgba(255, 255, 255, 0.9)) !important;
}

.ptg-registration-card--student .ptg-price-row--featured {
  border-color: rgba(185, 102, 144, 0.16) !important;
  background: linear-gradient(90deg, rgba(185, 102, 144, 0.09), rgba(255, 255, 255, 0.9)) !important;
}

.ptg-price-row span {
  display: block !important;
  margin: 0 0 4px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-price-row small {
  display: block !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.7rem !important;
  line-height: 1.4 !important;
  color: var(--ptg-muted, #667085) !important;
}

.ptg-price-row strong {
  flex: 0 0 auto !important;
  font-family: var(--font-display, "Bebas Neue", Arial, sans-serif) !important;
  font-size: clamp(2rem, 3vw, 2.8rem) !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-price-row sup {
  position: relative !important;
  top: -0.6em !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.48em !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-registration-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  margin: auto 0 0 !important;
  padding: 13px 18px !important;
  border-radius: 11px !important;
  background: var(--ptg-navy-900, #11183a) !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.73rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  opacity: 0.78 !important;
}

.ptg-registration-disclaimer {
  margin: 17px 0 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.72rem !important;
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, 0.61) !important;
}

.ptg-registration-disclaimer strong {
  color: #ffffff !important;
}

.ptg-registration-benefits {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  margin: 30px 0 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.12) !important;
}

.ptg-registration-benefits > div {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  gap: 4px 12px !important;
  padding: 21px 22px !important;
  background: rgba(255, 255, 255, 0.055) !important;
}

.ptg-registration-benefits span {
  grid-row: 1 / span 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 9px !important;
  background: rgba(91, 244, 226, 0.12) !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  color: #5bf4e2 !important;
}

.ptg-registration-benefits strong {
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  color: #ffffff !important;
}

.ptg-registration-benefits p {
  margin: 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.7rem !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.64) !important;
}

.ptg-registration-help {
  display: grid !important;
  grid-template-columns: minmax(220px, 0.58fr) minmax(0, 1.42fr) !important;
  gap: 28px !important;
  align-items: center !important;
  margin: 16px 0 0 !important;
  padding: 22px 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.11) !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

.ptg-registration-help span {
  display: block !important;
  margin: 0 0 5px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.6rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  color: #5bf4e2 !important;
}

.ptg-registration-help strong {
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.84rem !important;
  line-height: 1.4 !important;
  color: #ffffff !important;
}

.ptg-registration-help p {
  margin: 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.75rem !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.68) !important;
}

.ptg-registration-help a {
  font-weight: 900 !important;
  color: #ffffff !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(91, 244, 226, 0.55) !important;
  text-underline-offset: 3px !important;
}

/* ---------- Partnerzy ---------- */

.ptg-partners-section {
  width: 100% !important;
  padding: clamp(72px, 6.6vw, 96px) 0 !important;
  background: #ffffff !important;
}

.ptg-partners-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.55fr) !important;
  gap: clamp(30px, 6vw, 78px) !important;
  align-items: end !important;
  margin: 0 0 34px !important;
}

.mz-landing .ptg-partners-heading h2,
.ptg-partners-heading h2 {
  margin: 0 !important;
  font-family: var(--font-display, "Bebas Neue", Arial, sans-serif) !important;
  font-size: clamp(2.8rem, 4.4vw, 4.25rem) !important;
  line-height: 0.94 !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-partners-heading > p {
  margin: 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
  color: var(--ptg-muted, #667085) !important;
}

.ptg-partners-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.ptg-partner-placeholder {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 130px !important;
  border: 1px dashed rgba(8, 13, 44, 0.14) !important;
  border-radius: 15px !important;
  background: linear-gradient(145deg, #fafcfd, #f5f8fa) !important;
}

.ptg-partner-placeholder span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  margin: 0 0 10px !important;
  border-radius: 50% !important;
  background: rgba(91, 244, 226, 0.13) !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 1.1rem !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-partner-placeholder small {
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.64rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(8, 13, 44, 0.38) !important;
}

.ptg-partners-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  margin: 22px 0 0 !important;
  padding: 21px 24px !important;
  border-radius: 14px !important;
  background: #f6f9fa !important;
}

.ptg-partners-cta p {
  margin: 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: var(--ptg-text, #26324a) !important;
}

.ptg-partners-cta a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 42px !important;
  padding: 11px 16px !important;
  border-radius: 10px !important;
  background: var(--ptg-navy-900, #11183a) !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.69rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* ---------- Miejsce ---------- */

.ptg-venue-section {
  width: 100% !important;
  padding: clamp(80px, 7vw, 108px) 0 !important;
  background:
    radial-gradient(circle at 9% 12%, rgba(91, 244, 226, 0.095), transparent 27%),
    linear-gradient(180deg, #f6f9fb, #ffffff) !important;
}

.ptg-venue-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr) !important;
  min-height: 500px !important;
  overflow: hidden !important;
  border: 1px solid rgba(8, 13, 44, 0.09) !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 28px 70px rgba(8, 13, 44, 0.12) !important;
}

.ptg-venue-media {
  position: relative !important;
  min-width: 0 !important;
  min-height: 420px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #080d2c !important;
}

.ptg-venue-media::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 50%, rgba(5, 10, 40, 0.7)) !important;
  pointer-events: none !important;
}

.ptg-venue-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 500px !important;
  object-fit: cover !important;
  object-position: center !important;
}

.ptg-venue-media figcaption {
  position: absolute !important;
  right: 26px !important;
  bottom: 22px !important;
  left: 26px !important;
  z-index: 1 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.65rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

.ptg-venue-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-width: 0 !important;
  padding: clamp(34px, 4.2vw, 58px) !important;
}

.ptg-venue-content .ptg-section-eyebrow::before,
.ptg-venue-content .ptg-section-eyebrow::after,
.ptg-faq-heading .ptg-section-eyebrow::before,
.ptg-faq-heading .ptg-section-eyebrow::after {
  display: none !important;
}

.mz-landing .ptg-venue-content h2,
.ptg-venue-content h2 {
  margin: 0 !important;
  font-family: var(--font-display, "Bebas Neue", Arial, sans-serif) !important;
  font-size: clamp(3rem, 4.7vw, 4.55rem) !important;
  line-height: 0.9 !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-venue-content > p {
  margin: 20px 0 24px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.9rem !important;
  line-height: 1.68 !important;
  color: var(--ptg-muted, #667085) !important;
}

.ptg-venue-address {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  margin: 0 0 24px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.82rem !important;
  line-height: 1.55 !important;
  font-style: normal !important;
  color: var(--ptg-text, #26324a) !important;
}

.ptg-venue-pin {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(15, 118, 110, 0.15) !important;
  border-radius: 13px !important;
  background: rgba(91, 244, 226, 0.11) !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-venue-features {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin: 0 0 28px !important;
}

.ptg-venue-features span {
  padding: 7px 10px !important;
  border: 1px solid rgba(8, 13, 44, 0.08) !important;
  border-radius: 999px !important;
  background: #f7f9fb !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.63rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.055em !important;
  color: var(--ptg-text, #26324a) !important;
}

.ptg-venue-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 46px !important;
  padding: 12px 18px !important;
  border-radius: 11px !important;
  background: var(--ptg-navy-900, #11183a) !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* ---------- FAQ ---------- */

.ptg-faq-section {
  width: 100% !important;
  padding: clamp(76px, 6.6vw, 98px) 0 clamp(84px, 7.2vw, 112px) !important;
  border-top: 1px solid rgba(8, 13, 44, 0.06) !important;
  background: #ffffff !important;
}

.ptg-faq-shell {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.68fr) minmax(0, 1.32fr) !important;
  gap: clamp(42px, 7vw, 94px) !important;
  align-items: start !important;
}

.ptg-faq-heading {
  position: sticky !important;
  top: 100px !important;
}

.mz-landing .ptg-faq-heading h2,
.ptg-faq-heading h2 {
  margin: 0 !important;
  font-family: var(--font-display, "Bebas Neue", Arial, sans-serif) !important;
  font-size: clamp(3rem, 4.5vw, 4.4rem) !important;
  line-height: 0.92 !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-faq-heading p {
  margin: 20px 0 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.87rem !important;
  line-height: 1.68 !important;
  color: var(--ptg-muted, #667085) !important;
}

.ptg-faq-list {
  display: grid !important;
  gap: 10px !important;
}

.ptg-faq-list details {
  overflow: hidden !important;
  border: 1px solid rgba(8, 13, 44, 0.09) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  transition: border-color 160ms ease, box-shadow 160ms ease !important;
}

.ptg-faq-list details[open] {
  border-color: rgba(15, 118, 110, 0.2) !important;
  box-shadow: 0 14px 36px rgba(8, 13, 44, 0.065) !important;
}

.ptg-faq-list summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  min-height: 66px !important;
  padding: 18px 20px !important;
  list-style: none !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.86rem !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  color: var(--ptg-navy-900, #11183a) !important;
  cursor: pointer !important;
}

.ptg-faq-list summary::-webkit-details-marker {
  display: none !important;
}

.ptg-faq-list summary span {
  position: relative !important;
  flex: 0 0 auto !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 8px !important;
  background: rgba(91, 244, 226, 0.11) !important;
}

.ptg-faq-list summary span::before,
.ptg-faq-list summary span::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 10px !important;
  height: 1.5px !important;
  background: var(--ptg-teal-700, #0f766e) !important;
  transform: translate(-50%, -50%) !important;
}

.ptg-faq-list summary span::after {
  transform: translate(-50%, -50%) rotate(90deg) !important;
  transition: transform 160ms ease !important;
}

.ptg-faq-list details[open] summary span::after {
  transform: translate(-50%, -50%) rotate(0deg) !important;
}

.ptg-faq-list details > div {
  padding: 0 54px 20px 20px !important;
}

.ptg-faq-list p {
  margin: 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.8rem !important;
  line-height: 1.65 !important;
  color: var(--ptg-muted, #667085) !important;
}

@media (max-width: 1024px) {
  #el-81994d77 > .vce-row-content {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #el-016dbbe3::after,
  #el-e3c35d95::after {
    display: none !important;
  }

  #el-71313757,
  #el-aac13168,
  #el-016dbbe3 {
    border-bottom: 1px solid rgba(8, 13, 44, 0.07) !important;
  }

  .ptg-registration-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .ptg-registration-benefits {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 880px) {
  .ptg-organizers-section .ptg-section-shell,
  .ptg-registration-heading,
  .ptg-partners-heading,
  .ptg-faq-shell {
    grid-template-columns: 1fr !important;
  }

  .ptg-compact-heading {
    text-align: center !important;
  }

  .ptg-program-panel {
    grid-template-columns: 1fr !important;
  }

  .ptg-program-note {
    min-height: 270px !important;
  }

  .ptg-registration-grid {
    grid-template-columns: 1fr !important;
  }

  .ptg-partners-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ptg-venue-card {
    grid-template-columns: 1fr !important;
  }

  .ptg-venue-media,
  .ptg-venue-media img {
    min-height: 420px !important;
  }

  .ptg-faq-heading {
    position: static !important;
    max-width: 650px !important;
  }
}

@media (max-width: 640px) {
  .ptg-section-shell {
    width: min(calc(100% - 28px), 1180px) !important;
  }

  #el-81994d77 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #el-81994d77 > .vce-row-content {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 0 7px !important;
  }

  #el-71313757,
  #el-aac13168,
  #el-016dbbe3,
  #el-1e5ef5cc,
  #el-81eac40e,
  #el-e3c35d95 {
    min-height: 126px !important;
    padding: 8px 7px 10px !important;
  }

  #el-aac13168::after,
  #el-1e5ef5cc::after,
  #el-e3c35d95::after {
    display: none !important;
  }

  #el-71313757::after,
  #el-016dbbe3::after,
  #el-81eac40e::after {
    display: block !important;
  }

  #el-1e5ef5cc,
  #el-81eac40e {
    border-bottom: 1px solid rgba(8, 13, 44, 0.07) !important;
  }

  .ptg-organizers-strip {
    grid-template-columns: 1fr !important;
  }

  .ptg-organizers-divider {
    width: auto !important;
    height: 1px !important;
    margin: 0 24px !important;
  }

  .ptg-organizer-unit {
    min-height: 154px !important;
    padding: 23px 20px !important;
  }

  .ptg-program-tabs {
    grid-template-columns: 1fr !important;
  }

  .ptg-program-tab {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(8, 13, 44, 0.08) !important;
  }

  .ptg-program-tab:last-child {
    border-bottom: 0 !important;
  }

  .ptg-program-panel-main {
    padding: 24px 18px !important;
  }

  .ptg-program-row {
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .ptg-program-time {
    width: 70px !important;
  }

  .ptg-program-timeline::before {
    left: 35px !important;
  }

  .ptg-registration-card {
    padding: 23px 18px !important;
  }

  .ptg-price-row {
    align-items: flex-start !important;
  }

  .ptg-registration-help {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
  }

  .ptg-partners-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .ptg-partner-placeholder {
    min-height: 108px !important;
  }

  .ptg-partners-cta {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .ptg-venue-card {
    border-radius: 18px !important;
  }

  .ptg-venue-media,
  .ptg-venue-media img {
    min-height: 300px !important;
  }

  .ptg-venue-content {
    padding: 30px 22px 34px !important;
  }

  .ptg-faq-list summary {
    padding: 16px !important;
  }

  .ptg-faq-list details > div {
    padding: 0 46px 18px 16px !important;
  }
}

/* v1.5.1: starsze, zduplikowane moduły organizatorów/listu pozostawione w VC. */
#el-3681e1bf,
#el-14363791,
#el-e8138052 {
  display: none !important;
}

@media (max-width: 420px) {
  .ptg-program-tab {
    grid-template-columns: auto 1fr !important;
  }

  .ptg-program-tab small {
    grid-column: 2 !important;
  }

  .ptg-price-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .ptg-partners-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ptg-program-tab::after,
  .ptg-faq-list details,
  .ptg-faq-list summary span::after {
    transition: none !important;
  }
}

/* =========================================================
   PATOGENY 2027 — GLOBALNA WARSTWA TYPOGRAFII I AKCENTÓW
   ---------------------------------------------------------
   Zwiększona specyficzność pozwala zachować starszy HTML
   modułów przy jednoczesnym użyciu Bebas Neue + Lato.
   ========================================================= */

.mz-landing,
.mz-landing p,
.mz-landing li,
.mz-landing a,
.mz-landing button,
.mz-landing input,
.mz-landing textarea,
.mz-landing select,
.ss-header-menu,
.ss-footer-contact-form {
  font-family: var(--font-sans) !important;
}

.mz-landing h1,
.mz-landing h2,
.mz-landing h3,
.mz-landing .mz-display,
.mz-landing .mz-serif,
.mz-hero-title,
.mz-hero-title .mz-line,
.mz-meta-item,
.mz-countdown-number,
.mz-section-title,
.mz-price-value,
.mz-letter-title,
.mz-letter-card-head h3,
.mz-stay-heading h2,
.mz-stay-card-top h3,
.mz-stay-booking-card h3,
.mz-hotel-heading h2,
.mz-hotel-topline h3,
.mz-hotel-booking-card h3,
.mz-registration-card-head h2,
.mz-registration-invoice-content h3 {
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  letter-spacing: 0.012em !important;
}

.mz-hero-kicker,
.mz-hero-kicker span,
.mz-meta-icon,
.mz-countdown-top,
.mz-countdown-icon,
.mz-countdown-item-days .mz-countdown-number,
.mz-countdown-item-days .mz-countdown-label {
  color: var(--ptg-aqua-400) !important;
}

.mz-hero-kicker i,
.mz-hero-divider {
  background: linear-gradient(
    90deg,
    rgba(91, 244, 226, 0.9),
    rgba(91, 244, 226, 0.38) 55%,
    rgba(91, 244, 226, 0)
  ) !important;
}

.mz-countdown-box::after {
  background: linear-gradient(
    90deg,
    rgba(91, 244, 226, 0),
    rgba(91, 244, 226, 0.72),
    rgba(91, 244, 226, 0)
  ) !important;
}

.mz-countdown-separator {
  background: linear-gradient(
    180deg,
    rgba(91, 244, 226, 0),
    rgba(91, 244, 226, 0.48),
    rgba(91, 244, 226, 0)
  ) !important;
}

.mz-landing ::selection {
  background: var(--ptg-aqua-400) !important;
  color: var(--ptg-navy-950) !important;
}

@media (max-width: 767px) {
  .mz-hero-kicker i,
  .mz-hero-divider {
    background: linear-gradient(
      90deg,
      rgba(91, 244, 226, 0),
      rgba(91, 244, 226, 0.78) 50%,
      rgba(91, 244, 226, 0)
    ) !important;
  }
}

/* =========================================================
   PATOGENY 2027 — HERO / ODTWORZENIE KOMPOZYCJI KEY VISUALA
   ---------------------------------------------------------
   Oba obrazy tła są ustawiane na wierszu w Visual Composerze.
   Poniższy moduł odpowiada wyłącznie za tekst, znak i układ.
   ========================================================= */

.mz-hero-copy.ptg-hero-copy {
  --ptg-hero-aqua: var(--ptg-aqua-400, #5bf4e2);
  --ptg-hero-navy: var(--ptg-navy-950, #080d2c);
  --ptg-hero-white: #ffffff;

  position: relative !important;
  z-index: 2 !important;
  isolation: isolate !important;

  display: flex !important;
  align-items: center !important;

  width: 100% !important;
  max-width: 1320px !important;
  min-height: clamp(610px, 46vw, 820px) !important;
  margin: 0 auto !important;
  padding:
    clamp(54px, 5.2vw, 88px)
    clamp(20px, 3vw, 48px)
    clamp(58px, 5.5vw, 94px) !important;

  color: var(--ptg-hero-white) !important;
  text-align: left !important;
}

/* Wyłącza winietę odziedziczoną po poprzednim HERO. */
.mz-hero-copy.ptg-hero-copy::before {
  content: none !important;
  display: none !important;
}

.mz-hero-inner.ptg-hero-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: inherit !important;
}

.mz-landing .ptg-hero-eyebrow,
.ptg-hero-eyebrow {
  max-width: 66ch !important;
  margin: 0 0 clamp(18px, 1.8vw, 28px) !important;
  padding: 0 !important;

  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: clamp(1.15rem, 1.65vw, 2rem) !important;
  line-height: 1.18 !important;
  font-weight: 300 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;

  color: var(--ptg-hero-white) !important;
  text-shadow: 0 4px 22px rgba(0, 0, 0, 0.46) !important;
}

.ptg-hero-brand {
  display: grid !important;
  grid-template-columns: clamp(128px, 11vw, 205px) minmax(0, 1fr) !important;
  gap: clamp(20px, 2vw, 34px) !important;
  align-items: center !important;

  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ptg-hero-mark {
  display: block !important;
  width: 100% !important;
  max-width: 205px !important;
  height: auto !important;
  aspect-ratio: 1 !important;
  margin: 0 !important;
  object-fit: contain !important;

  filter:
    drop-shadow(0 12px 24px rgba(0, 0, 0, 0.44))
    drop-shadow(0 0 13px rgba(91, 244, 226, 0.16)) !important;
}

.mz-landing .ptg-hero-title,
.ptg-hero-title {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;

  font-family: var(--font-display, "Bebas Neue", "Arial Narrow", Arial, sans-serif) !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: uppercase !important;
  text-wrap: nowrap !important;

  color: var(--ptg-hero-white) !important;
}

.ptg-hero-title-main {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  gap: 0.17em !important;

  margin: 0 !important;
  padding: 0 !important;

  font-family: inherit !important;
  font-size: clamp(4.25rem, 5.6vw, 6.7rem) !important;
  line-height: 0.84 !important;
  font-weight: 400 !important;
  letter-spacing: 0.008em !important;
  white-space: nowrap !important;

  color: var(--ptg-hero-aqua) !important;
  text-shadow:
    0 8px 26px rgba(0, 0, 0, 0.48),
    0 0 24px rgba(91, 244, 226, 0.08) !important;
}

.ptg-hero-title-main > span {
  display: inline-block !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  white-space: nowrap !important;
  color: inherit !important;
}

.ptg-hero-title-sub {
  display: block !important;
  margin: clamp(8px, 0.75vw, 12px) 0 0 !important;
  padding: 0 !important;

  font-family: inherit !important;
  font-size: clamp(3.75rem, 4.9vw, 5.95rem) !important;
  line-height: 0.86 !important;
  font-weight: 400 !important;
  letter-spacing: 0.09em !important;
  white-space: nowrap !important;

  color: var(--ptg-hero-white) !important;
  text-shadow: 0 8px 28px rgba(0, 0, 0, 0.52) !important;
}

.ptg-hero-meta {
  display: grid !important;
  grid-template-columns: max-content max-content minmax(max-content, 1fr) !important;
  gap: clamp(14px, 1.45vw, 24px) !important;
  align-items: center !important;

  width: min(100%, 950px) !important;
  margin: clamp(22px, 2vw, 32px) 0 0 !important;
  padding: clamp(9px, 0.85vw, 13px) 0 !important;

  border-top: 1px solid rgba(91, 244, 226, 0.76) !important;
  border-bottom: 1px solid rgba(91, 244, 226, 0.76) !important;

  font-family: var(--font-display, "Bebas Neue", "Arial Narrow", Arial, sans-serif) !important;
  line-height: 0.9 !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  font-variant-numeric: lining-nums tabular-nums !important;

  color: var(--ptg-hero-white) !important;
  text-shadow: 0 6px 22px rgba(0, 0, 0, 0.52) !important;
}

.ptg-hero-date,
.ptg-hero-place {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;

  font: inherit !important;
  font-size: clamp(2.35rem, 3.25vw, 3.8rem) !important;
  line-height: 0.9 !important;
  white-space: nowrap !important;
  color: var(--ptg-hero-white) !important;
}

.ptg-hero-year {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 1.05em !important;
  margin: 0 !important;
  padding: 0.06em 0.28em 0.02em !important;

  background: var(--ptg-hero-aqua) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22) !important;

  font: inherit !important;
  font-size: clamp(2.35rem, 3.25vw, 3.8rem) !important;
  line-height: 0.9 !important;
  font-weight: 400 !important;
  white-space: nowrap !important;

  color: var(--ptg-hero-navy) !important;
  text-shadow: none !important;
}

/* Portretowy tablet i mniejsze ekrany korzystają z mobilnego KV. */
@media (max-width: 900px) {
  .mz-hero-copy.ptg-hero-copy {
    align-items: flex-start !important;
    max-width: none !important;
    min-height: 820px !important;
    min-height: clamp(760px, 108svh, 940px) !important;
    padding: 54px clamp(18px, 4.5vw, 38px) 34px !important;
    padding:
      clamp(44px, 6svh, 70px)
      clamp(18px, 4.5vw, 38px)
      34px !important;
    text-align: center !important;
  }

  .mz-hero-inner.ptg-hero-inner {
    max-width: 760px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  .mz-landing .ptg-hero-eyebrow,
  .ptg-hero-eyebrow {
    max-width: 34em !important;
    margin-right: auto !important;
    margin-bottom: clamp(17px, 2.8vw, 24px) !important;
    margin-left: auto !important;
    font-size: clamp(1rem, 2.65vw, 1.45rem) !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  .ptg-hero-brand {
    grid-template-columns: clamp(88px, 14vw, 118px) minmax(0, 1fr) !important;
    gap: clamp(16px, 2.8vw, 24px) !important;
    max-width: 720px !important;
    margin: 0 auto !important;
  }

  .ptg-hero-mark {
    max-width: 118px !important;
  }

  .ptg-hero-title-main {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
    font-size: clamp(3.35rem, 8.1vw, 4.75rem) !important;
    line-height: 0.84 !important;
  }

  .ptg-hero-title-sub {
    margin-top: 0.09em !important;
    font-size: clamp(2.85rem, 6.8vw, 4.05rem) !important;
    line-height: 0.88 !important;
    letter-spacing: 0.07em !important;
  }

  .ptg-hero-meta {
    width: min(100%, 700px) !important;
    margin: clamp(18px, 3vw, 25px) auto 0 !important;
    text-align: center !important;
  }

  .ptg-hero-date,
  .ptg-hero-place,
  .ptg-hero-year {
    font-size: clamp(2rem, 5.4vw, 3rem) !important;
  }
}

@media (max-width: 600px) {
  .mz-hero-copy.ptg-hero-copy {
    min-height: 760px !important;
    min-height: clamp(720px, 108svh, 900px) !important;
    padding: 42px clamp(16px, 4.6vw, 24px) 28px !important;
    padding:
      max(38px, 5svh)
      clamp(16px, 4.6vw, 24px)
      28px !important;
  }

  .mz-landing .ptg-hero-eyebrow,
  .ptg-hero-eyebrow {
    max-width: 27em !important;
    margin-bottom: 16px !important;
    font-size: clamp(0.85rem, 3.75vw, 1.05rem) !important;
    line-height: 1.27 !important;
  }

  .ptg-hero-brand {
    grid-template-columns: clamp(64px, 18vw, 86px) minmax(0, 1fr) !important;
    gap: clamp(10px, 3.2vw, 16px) !important;
    align-items: center !important;
  }

  .ptg-hero-mark {
    max-width: 86px !important;
  }

  .ptg-hero-title-main {
    font-size: clamp(2.3rem, 11.3vw, 3.65rem) !important;
    line-height: 0.85 !important;
    letter-spacing: 0.004em !important;
  }

  .ptg-hero-title-sub {
    margin-top: 0.1em !important;
    font-size: clamp(1.72rem, 8.2vw, 2.8rem) !important;
    line-height: 0.9 !important;
    letter-spacing: 0.052em !important;
  }

  .ptg-hero-meta {
    grid-template-columns: max-content max-content max-content !important;
    justify-content: center !important;
    gap: clamp(6px, 2.4vw, 12px) !important;
    width: 100% !important;
    margin-top: clamp(16px, 4.6vw, 22px) !important;
    padding: 9px 0 !important;
  }

  .ptg-hero-date,
  .ptg-hero-place,
  .ptg-hero-year {
    font-size: clamp(1.55rem, 7.2vw, 2.15rem) !important;
  }

  .ptg-hero-year {
    padding-right: 0.2em !important;
    padding-left: 0.2em !important;
  }
}

@media (max-width: 350px) {
  .mz-hero-copy.ptg-hero-copy {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  .ptg-hero-brand {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  .ptg-hero-mark {
    max-width: 60px !important;
  }

  .ptg-hero-title-main {
    font-size: clamp(2.15rem, 10.7vw, 2.35rem) !important;
  }

  .ptg-hero-title-sub {
    font-size: clamp(1.6rem, 8.15vw, 1.8rem) !important;
  }

  .ptg-hero-meta {
    gap: 5px !important;
  }

  .ptg-hero-date,
  .ptg-hero-place,
  .ptg-hero-year {
    font-size: 1.48rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ptg-hero-copy .mz-anim {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}

/* =========================================================
   PATOGENY 2027 — KOREKTY LIVE / WERSJA 1.3.0
   HERO + TIMER + ZAPROSZENIE + NAJWAŻNIEJSZE INFORMACJE
   ========================================================= */

/* Stary, osobny moduł CTA. Przyciski są od tej wersji częścią HERO. */
.vce-col-content:has(.ptg-hero-actions) #el-2ac5239c {
  display: none !important;
}

/* ---------- HERO ---------- */

.mz-hero-copy.ptg-hero-copy {
  min-height: clamp(550px, 42vw, 700px) !important;
  padding:
    clamp(58px, 5vw, 78px)
    clamp(20px, 3vw, 42px)
    clamp(42px, 3.8vw, 58px) !important;
}

.ptg-hero-brand {
  grid-template-columns: clamp(118px, 10vw, 178px) minmax(0, 1fr) !important;
  gap: clamp(18px, 1.8vw, 28px) !important;
}

.ptg-hero-mark {
  max-width: 178px !important;
}

.mz-landing .ptg-hero-eyebrow,
.ptg-hero-eyebrow {
  margin-bottom: clamp(16px, 1.5vw, 22px) !important;
  font-size: clamp(1.05rem, 1.5vw, 1.75rem) !important;
}

.ptg-hero-title-main {
  font-size: clamp(3.95rem, 5.15vw, 6.2rem) !important;
}

.ptg-hero-title-sub {
  margin-top: clamp(6px, 0.55vw, 9px) !important;
  font-size: clamp(3.4rem, 4.45vw, 5.4rem) !important;
}

.ptg-hero-meta {
  width: min(100%, 900px) !important;
  margin-top: clamp(16px, 1.6vw, 22px) !important;
  padding: clamp(8px, 0.72vw, 11px) 0 !important;
}

.ptg-hero-date,
.ptg-hero-place,
.ptg-hero-year {
  font-size: clamp(2.15rem, 3vw, 3.45rem) !important;
}

.ptg-hero-inner > .ptg-hero-actions {
  justify-content: flex-start !important;
  width: 100% !important;
  margin: clamp(20px, 1.8vw, 26px) 0 0 !important;
}

.ptg-hero-actions .mz-hero-btn {
  min-height: 52px !important;
  padding: 15px 26px !important;
}

@media (max-width: 900px) {
  .mz-hero-copy.ptg-hero-copy {
    min-height: 760px !important;
    min-height: clamp(720px, 100svh, 860px) !important;
    padding:
      clamp(42px, 5.5svh, 62px)
      clamp(18px, 4.5vw, 34px)
      34px !important;
  }

  .ptg-hero-brand {
    grid-template-columns: clamp(82px, 13vw, 108px) minmax(0, 1fr) !important;
    gap: clamp(14px, 2.4vw, 20px) !important;
  }

  .ptg-hero-title-main {
    font-size: clamp(3.1rem, 7.6vw, 4.4rem) !important;
  }

  .ptg-hero-title-sub {
    font-size: clamp(2.65rem, 6.35vw, 3.75rem) !important;
  }

  .ptg-hero-inner > .ptg-hero-actions {
    justify-content: center !important;
    margin-top: 20px !important;
  }
}

@media (max-width: 600px) {
  .mz-hero-copy.ptg-hero-copy {
    min-height: 700px !important;
    min-height: clamp(680px, 100svh, 820px) !important;
  }

  .ptg-hero-actions .mz-hero-btn {
    min-height: 48px !important;
    padding: 13px 18px !important;
  }
}

/* ---------- TIMER ---------- */

.mz-countdown-section.ptg-countdown-section {
  padding-right: 20px !important;
  padding-left: 20px !important;
}

.mz-countdown-box.ptg-countdown-box {
  display: grid !important;
  grid-template-columns: minmax(225px, 0.78fr) minmax(0, 1.55fr) !important;
  gap: clamp(24px, 3vw, 44px) !important;
  align-items: center !important;

  width: min(100%, 1080px) !important;
  min-height: 154px !important;
  padding: clamp(25px, 2.4vw, 34px) clamp(28px, 3.2vw, 46px) !important;

  overflow: hidden !important;
  border: 1px solid rgba(91, 244, 226, 0.22) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 95% 0%, rgba(185, 102, 144, 0.22), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(91, 244, 226, 0.12), transparent 34%),
    linear-gradient(135deg, #080d2c 0%, #11183a 62%, #21204b 100%) !important;
  box-shadow:
    0 24px 65px rgba(8, 13, 44, 0.2),
    0 1px 0 rgba(255, 255, 255, 0.08) inset !important;
}

.mz-countdown-box.ptg-countdown-box::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #5bf4e2 0%, #5bf4e2 42%, #b96690 100%) !important;
}

.mz-countdown-box.ptg-countdown-box::after {
  content: "" !important;
  position: absolute !important;
  right: -70px !important;
  bottom: -90px !important;
  width: 230px !important;
  height: 230px !important;
  border: 1px solid rgba(91, 244, 226, 0.1) !important;
  border-radius: 50% !important;
  background: transparent !important;
}

.ptg-countdown-intro {
  min-width: 0 !important;
  padding-right: clamp(24px, 2.8vw, 38px) !important;
  border-right: 1px solid rgba(91, 244, 226, 0.2) !important;
}

.ptg-countdown-kicker {
  display: block !important;
  margin: 0 0 13px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.68rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;
  color: var(--ptg-aqua-400, #5bf4e2) !important;
}

.ptg-countdown-box .mz-countdown-top {
  justify-content: flex-start !important;
  gap: 9px !important;
  margin: 0 !important;
}

.ptg-countdown-box .mz-countdown-date {
  font-size: clamp(0.78rem, 0.85vw, 0.94rem) !important;
  line-height: 1.35 !important;
  letter-spacing: 0.06em !important;
  color: #ffffff !important;
}

.ptg-countdown-box .mz-countdown-grid {
  position: relative !important;
  z-index: 2 !important;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) 1px minmax(0, 1fr) 1px minmax(0, 1fr) !important;
}

.ptg-countdown-box .mz-countdown-number {
  font-size: clamp(3rem, 4.2vw, 4.3rem) !important;
  line-height: 0.9 !important;
  letter-spacing: 0.015em !important;
}

.ptg-countdown-box .mz-countdown-label {
  margin-top: 9px !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.13em !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.ptg-countdown-box .mz-countdown-item-days .mz-countdown-number,
.ptg-countdown-box .mz-countdown-item-days .mz-countdown-label {
  color: var(--ptg-aqua-400, #5bf4e2) !important;
}

@media (max-width: 767px) {
  .mz-countdown-box.ptg-countdown-box {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    min-height: 0 !important;
    padding: 24px 20px 26px !important;
  }

  .ptg-countdown-intro {
    padding: 0 0 19px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(91, 244, 226, 0.2) !important;
    text-align: center !important;
  }

  .ptg-countdown-box .mz-countdown-top {
    justify-content: center !important;
  }

  .ptg-countdown-box .mz-countdown-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .ptg-countdown-box .mz-countdown-number {
    font-size: clamp(2.25rem, 10vw, 3.3rem) !important;
  }
}

/* ---------- ZAPROSZENIE ---------- */

.mz-invite-section.ptg-invite-section {
  padding: clamp(60px, 6vw, 82px) 20px clamp(58px, 5vw, 72px) !important;
  background:
    radial-gradient(circle at 72% 28%, rgba(91, 244, 226, 0.08), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
}

.mz-invite-wrap.ptg-invite-wrap {
  max-width: 1200px !important;
  grid-template-columns: minmax(0, 420px) minmax(270px, 330px) minmax(270px, 330px) !important;
  column-gap: clamp(28px, 3.2vw, 44px) !important;
}

.ptg-invite-section .mz-invite-kicker {
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-invite-section .mz-invite-title {
  font-size: clamp(2.8rem, 3vw, 3.6rem) !important;
  line-height: 0.96 !important;
  letter-spacing: 0.005em !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-invite-section .mz-invite-title .mz-gold {
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-invite-section .mz-invite-text p {
  font-size: clamp(0.96rem, 0.2vw + 0.92rem, 1.04rem) !important;
  line-height: 1.68 !important;
}

.ptg-invite-section .mz-invite-photo {
  max-width: 330px !important;
}

.ptg-invite-section .mz-invite-photo::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  right: 3% !important;
  bottom: 3% !important;
  width: 88% !important;
  aspect-ratio: 1 !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(91, 244, 226, 0.16), rgba(185, 102, 144, 0.05) 58%, transparent 72%) !important;
}

.ptg-invite-section .mz-invite-photo img {
  max-height: 500px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 26px 32px rgba(8, 13, 44, 0.14)) !important;
}

.mz-invite-quote.ptg-invite-focus {
  padding: clamp(30px, 3vw, 40px) !important;
  border: 1px solid rgba(91, 244, 226, 0.24) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(185, 102, 144, 0.22), transparent 42%),
    linear-gradient(145deg, #080d2c, #171b45) !important;
  box-shadow: 0 24px 60px rgba(8, 13, 44, 0.16) !important;
}

.ptg-invite-focus::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 32px !important;
  width: 74px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #5bf4e2, #b96690) !important;
}

.ptg-invite-focus-label {
  margin: 0 0 17px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.68rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--ptg-aqua-400, #5bf4e2) !important;
}

.mz-landing .ptg-invite-focus h3,
.ptg-invite-focus h3 {
  margin: 0 0 18px !important;
  font-family: var(--font-display, "Bebas Neue", "Arial Narrow", Arial, sans-serif) !important;
  font-size: clamp(2rem, 2.1vw, 2.55rem) !important;
  line-height: 0.98 !important;
  font-weight: 400 !important;
  letter-spacing: 0.025em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.ptg-invite-focus p {
  margin: 0 !important;
  font-size: 0.94rem !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.78) !important;
}

.ptg-invite-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin-top: 24px !important;
}

.ptg-invite-tags span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 29px !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(91, 244, 226, 0.2) !important;
  border-radius: 999px !important;
  background: rgba(91, 244, 226, 0.07) !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.66rem !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: #d9fffa !important;
}

.mz-invite-signature.ptg-invite-signature {
  gap: 12px !important;
  margin-top: 8px !important;
  margin-bottom: 26px !important;
}

.ptg-invite-signature-line {
  display: block !important;
  width: 74px !important;
  height: 2px !important;
  background: linear-gradient(90deg, #0f766e, rgba(15, 118, 110, 0.08)) !important;
}

.ptg-invite-signature .mz-invite-person strong {
  font-size: 0.95rem !important;
}

.ptg-invite-signature .mz-invite-person span {
  font-size: 0.8rem !important;
  line-height: 1.5 !important;
}

@media (max-width: 1050px) {
  .mz-invite-wrap.ptg-invite-wrap {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
    grid-template-areas:
      "copy photo"
      "sign photo"
      "quote quote" !important;
    column-gap: 38px !important;
  }

  .mz-invite-quote.ptg-invite-focus {
    justify-self: stretch !important;
    max-width: none !important;
    margin-top: 18px !important;
  }
}

@media (max-width: 767px) {
  .mz-invite-section.ptg-invite-section {
    padding: 52px 18px 58px !important;
  }

  .mz-invite-wrap.ptg-invite-wrap {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "copy"
      "photo"
      "sign"
      "quote" !important;
    row-gap: 24px !important;
  }

  .ptg-invite-section .mz-invite-copy,
  .ptg-invite-section .mz-invite-signature {
    text-align: center !important;
    align-items: center !important;
    justify-self: center !important;
  }

  .ptg-invite-section .mz-invite-title span {
    white-space: normal !important;
  }

  .ptg-invite-section .mz-invite-photo {
    max-width: min(270px, 76vw) !important;
  }

  .ptg-invite-section .mz-invite-photo img {
    max-height: 390px !important;
  }

  .mz-invite-quote.ptg-invite-focus {
    margin-top: 6px !important;
    text-align: left !important;
  }
}

/* ---------- NAJWAŻNIEJSZE INFORMACJE / WIERSZ VC ---------- */

#el-81994d77 {
  position: relative !important;
  z-index: 8 !important;
  width: min(100%, 1180px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 0 22px 24px !important;
  overflow: hidden !important;
  border: 1px solid rgba(8, 13, 44, 0.08) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow:
    0 24px 65px rgba(8, 13, 44, 0.12),
    0 1px 0 rgba(255, 255, 255, 0.9) inset !important;
}

#el-81994d77::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #5bf4e2 0%, #5bf4e2 48%, #b96690 100%) !important;
}

#el-81994d77 > .vce-row-content {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
}

#el-a4d97d87 {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  padding: 20px 0 12px !important;
}

#el-03455a72 p,
#el-03455a72 span {
  margin: 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.68rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

#el-71313757,
#el-aac13168,
#el-016dbbe3,
#el-1e5ef5cc,
#el-81eac40e,
#el-e3c35d95 {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 13px 16px 11px !important;
}

#el-71313757 .vce-col-inner,
#el-aac13168 .vce-col-inner,
#el-016dbbe3 .vce-col-inner,
#el-1e5ef5cc .vce-col-inner,
#el-81eac40e .vce-col-inner,
#el-e3c35d95 .vce-col-inner {
  height: 100% !important;
  border-right: 1px solid rgba(8, 13, 44, 0.08) !important;
}

#el-e3c35d95 .vce-col-inner {
  border-right: 0 !important;
}

#el-81994d77 .vce-single-image-container {
  margin-bottom: 10px !important;
}

#el-81994d77 .vce-single-image-figure-inner {
  width: 44px !important;
  padding: 7px !important;
  border: 1px solid rgba(15, 118, 110, 0.14) !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg, rgba(91, 244, 226, 0.13), rgba(185, 102, 144, 0.05)) !important;
}

#el-81994d77 .vce-single-image-inner {
  padding-bottom: 100% !important;
}

#el-81994d77 .vce-text-block p,
#el-81994d77 .vce-text-block span {
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  color: var(--ptg-text, #26324a) !important;
}

#el-81994d77 .vce-text-block p {
  margin: 0 !important;
  font-size: 0.79rem !important;
  line-height: 1.45 !important;
}

#el-81994d77 .vce-text-block p > span:first-child {
  font-size: 0.82rem !important;
  font-weight: 900 !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

@media (max-width: 1024px) {
  #el-81994d77 > .vce-row-content {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #el-71313757 .vce-col-inner,
  #el-aac13168 .vce-col-inner,
  #el-016dbbe3 .vce-col-inner,
  #el-1e5ef5cc .vce-col-inner,
  #el-81eac40e .vce-col-inner,
  #el-e3c35d95 .vce-col-inner {
    border-right: 0 !important;
  }
}

@media (max-width: 600px) {
  #el-81994d77 {
    width: calc(100% - 28px) !important;
    padding-right: 10px !important;
    padding-bottom: 16px !important;
    padding-left: 10px !important;
    border-radius: 15px !important;
  }

  #el-81994d77 > .vce-row-content {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #el-71313757,
  #el-aac13168,
  #el-016dbbe3,
  #el-1e5ef5cc,
  #el-81eac40e,
  #el-e3c35d95 {
    padding: 12px 8px !important;
  }

  #el-81994d77 .vce-text-block p {
    font-size: 0.73rem !important;
  }
}

/* =========================================================
   PATOGENY 2027 — KOREKTA MOBILE / WERSJA 1.3.1
   ========================================================= */

@media (min-width: 601px) and (max-width: 900px) {
  .mz-hero-copy.ptg-hero-copy {
    min-height: clamp(640px, 82svh, 740px) !important;
    padding-top: max(82px, 8svh) !important;
  }
}

@media (max-width: 600px) {
  .mz-hero-copy.ptg-hero-copy {
    min-height: clamp(560px, 78svh, 640px) !important;
    padding-top: max(88px, 10svh) !important;
    padding-right: clamp(14px, 4.2vw, 20px) !important;
    padding-bottom: 24px !important;
    padding-left: clamp(14px, 4.2vw, 20px) !important;
  }

  .mz-hero-inner.ptg-hero-inner {
    width: 100% !important;
    min-width: 0 !important;
  }

  .ptg-hero-brand {
    grid-template-columns: clamp(56px, 17vw, 74px) minmax(0, 1fr) !important;
    gap: clamp(8px, 2.8vw, 12px) !important;
    width: 100% !important;
  }

  .ptg-hero-mark {
    max-width: 74px !important;
  }

  .ptg-hero-title-main {
    font-size: clamp(2.08rem, 10.5vw, 3.15rem) !important;
    line-height: 0.86 !important;
  }

  .ptg-hero-title-sub {
    font-size: clamp(1.52rem, 7.8vw, 2.35rem) !important;
    line-height: 0.9 !important;
    letter-spacing: 0.045em !important;
  }

  .ptg-hero-meta {
    gap: clamp(4px, 1.8vw, 8px) !important;
  }

  .ptg-hero-date,
  .ptg-hero-place,
  .ptg-hero-year {
    font-size: clamp(1.3rem, 6.35vw, 1.82rem) !important;
  }

  .ptg-hero-inner > .ptg-hero-actions {
    margin-top: 17px !important;
  }
}

@media (max-width: 350px) {
  .ptg-hero-brand {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .ptg-hero-mark {
    max-width: 54px !important;
  }

  .ptg-hero-title-main {
    font-size: 2rem !important;
  }

  .ptg-hero-title-sub {
    font-size: 1.46rem !important;
  }

  .ptg-hero-date,
  .ptg-hero-place,
  .ptg-hero-year {
    font-size: 1.28rem !important;
  }
}

/* =========================================================
   PATOGENY 2027 — ORGANIZATORZY I KOMITETY / WERSJA 1.4.0
   Dwie jasne sekcje umieszczane pod „Najważniejszymi informacjami”.
   ========================================================= */

.ptg-organizers-section,
.ptg-committees-section,
.ptg-organizers-section *,
.ptg-committees-section * {
  box-sizing: border-box !important;
}

.ptg-organizers-section,
.ptg-committees-section {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  color: var(--ptg-text, #26324a) !important;
}

.ptg-organizers-section {
  padding: clamp(64px, 6.2vw, 92px) 20px clamp(70px, 6.5vw, 96px) !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 8% 16%, rgba(91, 244, 226, 0.09), transparent 25%),
    radial-gradient(circle at 94% 82%, rgba(185, 102, 144, 0.07), transparent 24%),
    #ffffff !important;
}

.ptg-organizers-section::before {
  content: "" !important;
  position: absolute !important;
  top: 42px !important;
  right: max(24px, calc((100vw - 1180px) / 2)) !important;
  width: 112px !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(91, 244, 226, 0), #5bf4e2 52%, #b96690) !important;
}

.ptg-section-shell {
  position: relative !important;
  z-index: 1 !important;
  width: min(100%, 1180px) !important;
  margin: 0 auto !important;
}

.ptg-section-heading {
  width: min(100%, 760px) !important;
  margin: 0 auto clamp(34px, 4vw, 52px) !important;
}

.ptg-section-heading--center {
  text-align: center !important;
}

.ptg-section-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 13px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.68rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-section-eyebrow::before,
.ptg-section-eyebrow::after {
  content: "" !important;
  display: block !important;
  width: 26px !important;
  height: 1px !important;
  background: linear-gradient(90deg, #5bf4e2, #b96690) !important;
}

.mz-landing .ptg-section-heading h2,
.ptg-section-heading h2 {
  margin: 0 !important;
  font-family: var(--font-display, "Bebas Neue", "Arial Narrow", Arial, sans-serif) !important;
  font-size: clamp(2.65rem, 4.2vw, 4.25rem) !important;
  line-height: 0.95 !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-section-heading p {
  max-width: 62ch !important;
  margin: 17px auto 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: clamp(0.94rem, 0.25vw + 0.89rem, 1.05rem) !important;
  line-height: 1.68 !important;
  font-weight: 400 !important;
  color: var(--ptg-muted, #667085) !important;
}

/* ---------- Organizator i biuro organizacyjne ---------- */

.ptg-organizers-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr) !important;
  gap: clamp(18px, 2.4vw, 30px) !important;
  align-items: stretch !important;
}

.ptg-organizer-card {
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto minmax(138px, 1fr) auto !important;
  min-width: 0 !important;
  min-height: 294px !important;
  padding: clamp(22px, 2.5vw, 32px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(8, 13, 44, 0.09) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow:
    0 22px 56px rgba(8, 13, 44, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.96) inset !important;
}

.ptg-organizer-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #5bf4e2 0%, #5bf4e2 62%, #b96690 100%) !important;
}

.ptg-organizer-card::after {
  content: "" !important;
  position: absolute !important;
  top: -92px !important;
  right: -76px !important;
  width: 228px !important;
  height: 228px !important;
  border: 1px solid rgba(15, 118, 110, 0.08) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(91, 244, 226, 0.11), transparent 66%) !important;
  pointer-events: none !important;
}

.ptg-organizer-card--primary {
  border-color: rgba(15, 118, 110, 0.16) !important;
  background:
    linear-gradient(145deg, rgba(91, 244, 226, 0.09), rgba(255, 255, 255, 0) 45%),
    #ffffff !important;
}

.ptg-organizer-card--office::before {
  background: linear-gradient(90deg, #b96690 0%, #5bf4e2 100%) !important;
}

.ptg-organizer-card--office::after {
  border-color: rgba(185, 102, 144, 0.09) !important;
  background: radial-gradient(circle, rgba(185, 102, 144, 0.1), transparent 66%) !important;
}

.ptg-organizer-card-top,
.ptg-organizer-card-foot,
.ptg-organizer-logo-wrap {
  position: relative !important;
  z-index: 1 !important;
}

.ptg-organizer-card-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.ptg-organizer-role {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 6px 11px !important;
  border: 1px solid rgba(15, 118, 110, 0.12) !important;
  border-radius: 999px !important;
  background: rgba(91, 244, 226, 0.1) !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.65rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.105em !important;
  text-transform: uppercase !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-organizer-card--office .ptg-organizer-role {
  border-color: rgba(185, 102, 144, 0.15) !important;
  background: rgba(185, 102, 144, 0.08) !important;
  color: #8d476f !important;
}

.ptg-organizer-index {
  font-family: var(--font-display, "Bebas Neue", "Arial Narrow", Arial, sans-serif) !important;
  font-size: 1.45rem !important;
  line-height: 1 !important;
  letter-spacing: 0.06em !important;
  color: rgba(8, 13, 44, 0.18) !important;
}

.ptg-organizer-logo-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: clamp(22px, 2.8vw, 36px) 10px !important;
}

.ptg-organizer-logo {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-height: 116px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

.ptg-organizer-logo--uml {
  max-width: min(92%, 390px) !important;
}

.ptg-organizer-logo--sans {
  max-width: min(78%, 285px) !important;
  max-height: 98px !important;
}

.ptg-organizer-card-foot {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding-top: 17px !important;
  border-top: 1px solid rgba(8, 13, 44, 0.08) !important;
}

.ptg-organizer-card-foot strong {
  flex: 0 1 auto !important;
  max-width: 58% !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.82rem !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-organizer-card-foot span {
  flex: 0 1 42% !important;
  max-width: 28ch !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.7rem !important;
  line-height: 1.45 !important;
  text-align: right !important;
  color: var(--ptg-muted, #667085) !important;
}

/* ---------- Komitety ---------- */

.ptg-committees-section {
  padding: clamp(70px, 6.7vw, 98px) 20px clamp(68px, 6.3vw, 92px) !important;
  overflow: hidden !important;
  border-top: 1px solid rgba(8, 13, 44, 0.055) !important;
  border-bottom: 1px solid rgba(8, 13, 44, 0.055) !important;
  background:
    radial-gradient(circle at 15% 0%, rgba(91, 244, 226, 0.12), transparent 27%),
    radial-gradient(circle at 92% 100%, rgba(185, 102, 144, 0.1), transparent 29%),
    linear-gradient(180deg, #f8fbfc 0%, #f4f7fb 100%) !important;
}

.ptg-committees-section::before {
  content: "" !important;
  position: absolute !important;
  top: -180px !important;
  left: 50% !important;
  width: 520px !important;
  height: 520px !important;
  border: 1px solid rgba(91, 244, 226, 0.08) !important;
  border-radius: 50% !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.ptg-committees-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(16px, 1.8vw, 24px) !important;
  align-items: stretch !important;
}

.ptg-committee-card {
  position: relative !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(8, 13, 44, 0.09) !important;
  border-radius: 19px !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 18px 45px rgba(8, 13, 44, 0.075) !important;
}

.ptg-committee-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 2 !important;
  height: 3px !important;
  background: #5bf4e2 !important;
}

.ptg-committee-card--organizing::before {
  background: linear-gradient(90deg, #5bf4e2, #8bded9) !important;
}

.ptg-committee-card--poster::before {
  background: linear-gradient(90deg, #5bf4e2, #b96690) !important;
}

.ptg-committee-card-head {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 15px !important;
  align-items: center !important;
  min-height: 122px !important;
  margin: 0 !important;
  padding: 24px 24px 21px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(185, 102, 144, 0.18), transparent 52%),
    linear-gradient(145deg, #080d2c, #171b45) !important;
}

.ptg-committee-card-icon {
  position: relative !important;
  width: 48px !important;
  height: 48px !important;
  border: 1px solid rgba(91, 244, 226, 0.22) !important;
  border-radius: 14px !important;
  background: rgba(91, 244, 226, 0.09) !important;
}

.ptg-committee-card-icon span {
  position: absolute !important;
  bottom: 11px !important;
  width: 13px !important;
  height: 9px !important;
  border-radius: 8px 8px 4px 4px !important;
  background: rgba(91, 244, 226, 0.82) !important;
}

.ptg-committee-card-icon span::before {
  content: "" !important;
  position: absolute !important;
  top: -8px !important;
  left: 50% !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: inherit !important;
  transform: translateX(-50%) !important;
}

.ptg-committee-card-icon span:nth-child(1) {
  left: 7px !important;
  opacity: 0.58 !important;
  transform: scale(0.82) !important;
}

.ptg-committee-card-icon span:nth-child(2) {
  left: 17px !important;
  z-index: 2 !important;
}

.ptg-committee-card-icon span:nth-child(3) {
  right: 6px !important;
  opacity: 0.58 !important;
  transform: scale(0.82) !important;
}

.ptg-committee-number {
  display: block !important;
  margin: 0 0 5px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.61rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  color: var(--ptg-aqua-400, #5bf4e2) !important;
}

.mz-landing .ptg-committee-card h3,
.ptg-committee-card h3 {
  margin: 0 !important;
  font-family: var(--font-display, "Bebas Neue", "Arial Narrow", Arial, sans-serif) !important;
  font-size: clamp(1.8rem, 2.15vw, 2.35rem) !important;
  line-height: 0.96 !important;
  font-weight: 400 !important;
  letter-spacing: 0.025em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.ptg-committee-status {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 11px 24px !important;
  border-bottom: 1px solid rgba(8, 13, 44, 0.07) !important;
  background: rgba(91, 244, 226, 0.055) !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.65rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.095em !important;
  text-transform: uppercase !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-committee-status > span {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #5bf4e2 !important;
  box-shadow: 0 0 0 4px rgba(91, 244, 226, 0.13) !important;
}

.ptg-committee-card--poster .ptg-committee-status > span {
  background: #b96690 !important;
  box-shadow: 0 0 0 4px rgba(185, 102, 144, 0.12) !important;
}

.ptg-committee-list {
  display: grid !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 8px 24px 14px !important;
  list-style: none !important;
}

.ptg-committee-list li {
  display: grid !important;
  grid-template-columns: 27px minmax(0, 1fr) !important;
  gap: 11px !important;
  align-items: center !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid rgba(8, 13, 44, 0.065) !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.8rem !important;
  line-height: 1.4 !important;
  color: var(--ptg-text, #26324a) !important;
}

.ptg-committee-list li:last-child {
  border-bottom: 0 !important;
}

.ptg-person-icon {
  position: relative !important;
  display: block !important;
  width: 25px !important;
  height: 25px !important;
  border: 1px solid rgba(15, 118, 110, 0.12) !important;
  border-radius: 8px !important;
  background: linear-gradient(145deg, rgba(91, 244, 226, 0.12), rgba(185, 102, 144, 0.055)) !important;
}

.ptg-person-icon::before {
  content: "" !important;
  position: absolute !important;
  top: 5px !important;
  left: 9px !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-person-icon::after {
  content: "" !important;
  position: absolute !important;
  right: 6px !important;
  bottom: 5px !important;
  left: 6px !important;
  height: 7px !important;
  border-radius: 7px 7px 4px 4px !important;
  background: var(--ptg-teal-700, #0f766e) !important;
}

.ptg-person-placeholder {
  display: block !important;
  width: 78% !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(8, 13, 44, 0.09), rgba(8, 13, 44, 0.035)) !important;
}

.ptg-committee-list li:nth-child(2n) .ptg-person-placeholder {
  width: 64% !important;
}

.ptg-committee-list li:nth-child(3n) .ptg-person-placeholder {
  width: 86% !important;
}

.ptg-person-name {
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.8rem !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  color: var(--ptg-navy-900, #11183a) !important;
}

.ptg-committees-note {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  max-width: 760px !important;
  margin: 24px auto 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.74rem !important;
  line-height: 1.5 !important;
  text-align: center !important;
  color: var(--ptg-muted, #667085) !important;
}

.ptg-committees-note > span {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: 21px !important;
  height: 21px !important;
  border: 1px solid rgba(15, 118, 110, 0.16) !important;
  border-radius: 50% !important;
  background: rgba(91, 244, 226, 0.1) !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.7rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  color: var(--ptg-teal-700, #0f766e) !important;
}

@media (max-width: 980px) {
  .ptg-organizers-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr) !important;
  }

  .ptg-organizer-card-foot {
    display: block !important;
  }

  .ptg-organizer-card-foot strong,
  .ptg-organizer-card-foot span {
    display: block !important;
    max-width: none !important;
    text-align: left !important;
  }

  .ptg-organizer-card-foot span {
    margin-top: 5px !important;
  }

  .ptg-committees-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ptg-committee-card--poster {
    grid-column: 1 / -1 !important;
    width: min(100%, calc(50% - 9px)) !important;
    justify-self: center !important;
  }
}

@media (max-width: 720px) {
  .ptg-organizers-section,
  .ptg-committees-section {
    padding-right: 17px !important;
    padding-left: 17px !important;
  }

  .ptg-organizers-grid,
  .ptg-committees-grid {
    grid-template-columns: 1fr !important;
  }

  .ptg-committee-card--poster {
    grid-column: auto !important;
    width: 100% !important;
  }

  .ptg-organizer-card {
    min-height: 270px !important;
  }

  .ptg-organizer-logo-wrap {
    min-height: 135px !important;
  }
}

@media (max-width: 480px) {
  .ptg-organizers-section {
    padding-top: 54px !important;
    padding-bottom: 60px !important;
  }

  .ptg-committees-section {
    padding-top: 60px !important;
    padding-bottom: 58px !important;
  }

  .ptg-section-heading {
    margin-bottom: 29px !important;
  }

  .mz-landing .ptg-section-heading h2,
  .ptg-section-heading h2 {
    font-size: clamp(2.35rem, 12vw, 3rem) !important;
  }

  .ptg-section-heading p {
    margin-top: 14px !important;
    font-size: 0.9rem !important;
    line-height: 1.62 !important;
  }

  .ptg-section-eyebrow::before,
  .ptg-section-eyebrow::after {
    width: 18px !important;
  }

  .ptg-organizer-card {
    grid-template-rows: auto minmax(112px, 1fr) auto !important;
    min-height: 248px !important;
    padding: 20px !important;
    border-radius: 17px !important;
  }

  .ptg-organizer-logo-wrap {
    min-height: 112px !important;
    padding: 20px 0 !important;
  }

  .ptg-organizer-logo--uml {
    max-width: min(96%, 330px) !important;
  }

  .ptg-organizer-logo--sans {
    max-width: min(78%, 250px) !important;
  }

  .ptg-organizer-card-foot strong {
    font-size: 0.78rem !important;
  }

  .ptg-organizer-card-foot span {
    font-size: 0.67rem !important;
  }

  .ptg-committee-card {
    border-radius: 16px !important;
  }

  .ptg-committee-card-head {
    grid-template-columns: 43px minmax(0, 1fr) !important;
    gap: 13px !important;
    min-height: 108px !important;
    padding: 21px 19px 18px !important;
  }

  .ptg-committee-card-icon {
    width: 43px !important;
    height: 43px !important;
  }

  .mz-landing .ptg-committee-card h3,
  .ptg-committee-card h3 {
    font-size: clamp(1.72rem, 8.5vw, 2rem) !important;
  }

  .ptg-committee-status {
    padding-right: 19px !important;
    padding-left: 19px !important;
  }

  .ptg-committee-list {
    padding-right: 19px !important;
    padding-left: 19px !important;
  }

  .ptg-committee-list li {
    min-height: 43px !important;
  }

  .ptg-committees-note {
    align-items: flex-start !important;
    text-align: left !important;
  }
}

/* =========================================================
   PATOGENY 2027 — KOŃCOWE NADPISANIA / WERSJA 1.5.0
   Muszą pozostać na końcu pliku ze względu na starsze reguły VC.
   ========================================================= */

.ptg-section-shell {
  width: min(calc(100% - 40px), 1180px) !important;
}

#el-81994d77 {
  padding: 0 0 12px !important;
}

#el-81994d77 > .vce-row-content {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 18px !important;
}

#el-a4d97d87 {
  padding: 16px 0 7px !important;
}

#el-71313757,
#el-aac13168,
#el-016dbbe3,
#el-1e5ef5cc,
#el-81eac40e,
#el-e3c35d95 {
  position: relative !important;
  display: flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 124px !important;
  padding: 8px 14px 10px !important;
}

#el-71313757 .vce-col-inner,
#el-aac13168 .vce-col-inner,
#el-016dbbe3 .vce-col-inner,
#el-1e5ef5cc .vce-col-inner,
#el-81eac40e .vce-col-inner,
#el-e3c35d95 .vce-col-inner {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 7px !important;
  border-right: 0 !important;
  text-align: center !important;
}

#el-71313757::after,
#el-aac13168::after,
#el-016dbbe3::after,
#el-1e5ef5cc::after,
#el-81eac40e::after {
  content: "" !important;
  position: absolute !important;
  top: 8px !important;
  right: 0 !important;
  bottom: 8px !important;
  width: 1px !important;
  background: rgba(8, 13, 44, 0.08) !important;
}

#el-81994d77 .vce-single-image-container {
  margin: 0 auto 7px !important;
}

#el-81994d77 .vce-single-image-figure-inner {
  width: 40px !important;
  padding: 6px !important;
  border-radius: 11px !important;
}

#el-81994d77 .vce-text-block-wrapper,
#el-81994d77 .vce-text-block p {
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  text-align: center !important;
}

#el-81994d77 .vce-text-block p {
  font-size: 0.76rem !important;
  line-height: 1.38 !important;
}

.ptg-organizers-section {
  padding: clamp(48px, 4.5vw, 66px) 0 !important;
  background: #ffffff !important;
}

.ptg-organizers-section::before {
  display: none !important;
}

.ptg-organizers-section .ptg-section-shell {
  display: grid !important;
  grid-template-columns: minmax(190px, 0.34fr) minmax(0, 1.66fr) !important;
  gap: clamp(24px, 4vw, 54px) !important;
  align-items: center !important;
}

.ptg-committees-section {
  padding-top: clamp(68px, 6vw, 86px) !important;
  padding-bottom: clamp(66px, 5.8vw, 84px) !important;
}

@media (max-width: 1024px) {
  #el-81994d77 > .vce-row-content {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #el-016dbbe3::after,
  #el-e3c35d95::after {
    display: none !important;
  }

  #el-71313757,
  #el-aac13168,
  #el-016dbbe3 {
    border-bottom: 1px solid rgba(8, 13, 44, 0.07) !important;
  }
}

@media (max-width: 880px) {
  .ptg-organizers-section .ptg-section-shell {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .ptg-section-shell {
    width: min(calc(100% - 28px), 1180px) !important;
  }

  #el-81994d77 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #el-81994d77 > .vce-row-content {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 0 7px !important;
  }

  #el-71313757,
  #el-aac13168,
  #el-016dbbe3,
  #el-1e5ef5cc,
  #el-81eac40e,
  #el-e3c35d95 {
    min-height: 126px !important;
    padding: 8px 7px 10px !important;
  }

  #el-aac13168::after,
  #el-1e5ef5cc::after,
  #el-e3c35d95::after {
    display: none !important;
  }

  #el-71313757::after,
  #el-016dbbe3::after,
  #el-81eac40e::after {
    display: block !important;
  }

  #el-1e5ef5cc,
  #el-81eac40e {
    border-bottom: 1px solid rgba(8, 13, 44, 0.07) !important;
  }
}

/* v1.5.2: czytelny nagłówek organizatorów i poprawne lądowanie kotwic. */
@media (min-width: 881px) {
  .ptg-organizers-section .ptg-section-shell {
    grid-template-columns: minmax(240px, 0.42fr) minmax(0, 1.58fr) !important;
  }

  .ptg-organizers-section .ptg-compact-heading h2 {
    font-size: clamp(2.75rem, 3.4vw, 3.5rem) !important;
    white-space: nowrap !important;
  }
}

.ptg-program-section,
.ptg-registration-section,
.ptg-partners-section,
.ptg-venue-section,
.ptg-faq-section {
  scroll-margin-top: 96px !important;
}

/* ================================================================
   PATOGENY 2027 — PARTNERZY / PUBLICZNA WERSJA SEKCJI (v1.5.3)
   ================================================================ */

.ptg-partners-section {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(64px, 6vw, 88px) 0 !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(79, 232, 216, 0.08), transparent 26%),
    radial-gradient(circle at 94% 88%, rgba(197, 77, 145, 0.07), transparent 28%),
    #ffffff !important;
}

.ptg-partners-section .ptg-section-shell {
  position: relative !important;
  z-index: 1 !important;
}

.ptg-partners-heading {
  display: block !important;
  max-width: 760px !important;
  margin: 0 auto clamp(28px, 3.4vw, 42px) !important;
  text-align: center !important;
}

.ptg-partners-heading .ptg-section-eyebrow {
  justify-content: center !important;
}

.mz-landing .ptg-partners-heading h2,
.ptg-partners-heading h2 {
  margin-top: 12px !important;
  font-size: clamp(2.75rem, 4.2vw, 4rem) !important;
  line-height: 0.96 !important;
}

.ptg-partners-cta {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(26px, 5vw, 72px) !important;
  margin: 0 !important;
  padding: clamp(28px, 3.4vw, 44px) clamp(24px, 4vw, 52px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(79, 232, 216, 0.18) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 82% 0%, rgba(197, 77, 145, 0.22), transparent 38%),
    linear-gradient(118deg, #080d2c 0%, #121945 58%, #282044 100%) !important;
  box-shadow: 0 24px 62px rgba(8, 13, 44, 0.16) !important;
}

.ptg-partners-cta::before {
  content: "" !important;
  position: absolute !important;
  width: 210px !important;
  height: 210px !important;
  right: 18% !important;
  bottom: -160px !important;
  border: 1px solid rgba(79, 232, 216, 0.16) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

.ptg-partners-cta-copy {
  position: relative !important;
  z-index: 1 !important;
  max-width: 760px !important;
}

.ptg-partners-cta-copy > span {
  display: block !important;
  margin: 0 0 9px !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.7rem !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--ptg-mint, #4fe8d8) !important;
}

.mz-landing .ptg-partners-cta h3,
.ptg-partners-cta h3 {
  margin: 0 0 8px !important;
  font-family: var(--font-display, "Bebas Neue", Arial, sans-serif) !important;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem) !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 0.025em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.ptg-partners-cta-copy p {
  max-width: 640px !important;
  margin: 0 !important;
  font-family: var(--font-sans, "Lato", Arial, sans-serif) !important;
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

.ptg-partners-cta > a {
  position: relative !important;
  z-index: 1 !important;
  flex: none !important;
  min-height: 50px !important;
  padding: 14px 20px !important;
  border: 1px solid rgba(79, 232, 216, 0.6) !important;
  border-radius: 10px !important;
  background: var(--ptg-mint, #4fe8d8) !important;
  color: #080d2c !important;
  box-shadow: 0 12px 28px rgba(79, 232, 216, 0.14) !important;
}

.ptg-partners-cta > a:hover,
.ptg-partners-cta > a:focus-visible {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #080d2c !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 760px) {
  .ptg-partners-section {
    padding: 56px 0 !important;
  }

  .ptg-partners-heading {
    margin-bottom: 24px !important;
  }

  .ptg-partners-cta {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 28px 22px !important;
    border-radius: 18px !important;
  }

  .ptg-partners-cta > a {
    width: 100% !important;
    justify-content: center !important;
  }
}
