html.pm-footer-loading body > footer.footer:not(.pm-site-footer) { opacity: 0; }

footer.footer.pm-site-footer {
  --pm-footer-ink: #032940;
  --pm-footer-surface: #093258;
  --pm-footer-bone: #f5f7f6;
  --pm-footer-copy: #a9bbc4;
  --pm-footer-dim: #7a8a96;
  --pm-footer-accent: #04e788;
  --pm-footer-line: rgba(255,255,255,.10);
  margin: 0;
  padding: 56px 32px 32px;
  color: var(--pm-footer-bone);
  background: var(--pm-footer-surface);
  border-top: 1px solid var(--pm-footer-line);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  text-align: left;
  transition: opacity .18s ease;
}
footer.footer.pm-site-footer * { box-sizing: border-box; }
footer.footer.pm-site-footer a { color: inherit; text-decoration: none; }
footer.footer.pm-site-footer .footer-inner { width: 100%; max-width: 1320px; margin: 0 auto; }
footer.footer.pm-site-footer .footer-top {
  display: grid;
  grid-template-columns: 1.5fr repeat(4,1fr);
  gap: 40px;
  padding: 0 0 48px;
  border-bottom: 1px solid var(--pm-footer-line);
}
footer.footer.pm-site-footer .footer-brand { grid-column: auto; }
footer.footer.pm-site-footer .footer-brand img { display: block; width: auto; height: 32px; margin: 0 0 18px; }
footer.footer.pm-site-footer .footer-brand p {
  max-width: 280px;
  margin: 16px 0 0;
  color: var(--pm-footer-copy);
  font-size: 14px;
  line-height: 1.55;
}
footer.footer.pm-site-footer .footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 20px; }
footer.footer.pm-site-footer .footer-contact a { display: inline-flex; align-items: center; gap: 9px; color: var(--pm-footer-bone); font-family: Manrope, Inter, sans-serif; font-size: 14px; font-weight: 650; }
footer.footer.pm-site-footer .footer-contact a::before { content: ""; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--pm-footer-accent); box-shadow: 0 0 10px rgba(4,231,136,.5); }
footer.footer.pm-site-footer .footer-contact a:hover { color: var(--pm-footer-accent); }
footer.footer.pm-site-footer .footer-col h4 { margin: 0 0 16px; color: var(--pm-footer-dim); font-family: Manrope, Inter, sans-serif; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
footer.footer.pm-site-footer .footer-col ul { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; list-style: none; }
footer.footer.pm-site-footer .footer-col li { margin: 0; color: var(--pm-footer-copy); font-size: 14px; line-height: 1.55; }
footer.footer.pm-site-footer .footer-col li a:hover { color: var(--pm-footer-bone); }
footer.footer.pm-site-footer .footer-trust {
  display: grid;
  grid-template-columns: minmax(260px,.9fr) minmax(420px,1.6fr);
  gap: 34px;
  align-items: center;
  width: 100%;
  padding: 30px 0;
  border-bottom: 1px solid var(--pm-footer-line);
}
footer.footer.pm-site-footer .cyber-badge { display: inline-flex; align-items: center; gap: 14px; width: fit-content; padding: 13px 16px; border: 1px solid rgba(4,231,136,.28); border-radius: 12px; background: linear-gradient(135deg,rgba(4,231,136,.1),rgba(4,231,136,.025)); }
footer.footer.pm-site-footer .cyber-mark { width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 46px; color: var(--pm-footer-ink); background: var(--pm-footer-accent); border-radius: 10px 10px 16px 16px; font-family: Manrope, Inter, sans-serif; font-size: 13px; font-weight: 800; }
footer.footer.pm-site-footer .cyber-badge strong { display: block; color: var(--pm-footer-bone); font-family: Manrope, Inter, sans-serif; font-size: 14px; }
footer.footer.pm-site-footer .cyber-badge small { display: block; margin-top: 4px; color: var(--pm-footer-dim); font-family: Manrope, Inter, sans-serif; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
footer.footer.pm-site-footer .payment-area { justify-self: end; }
footer.footer.pm-site-footer .payment-label { display: block; margin-bottom: 12px; color: var(--pm-footer-dim); font-family: Manrope, Inter, sans-serif; font-size: 9px; letter-spacing: .12em; text-align: right; text-transform: uppercase; }
footer.footer.pm-site-footer .payment-marks { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
footer.footer.pm-site-footer .payment-mark { min-width: 62px; height: 34px; padding: 0 11px; display: inline-flex; align-items: center; justify-content: center; color: #10233b; background: #fff; border: 1px solid rgba(255,255,255,.16); border-radius: 6px; font-family: Arial,sans-serif; font-size: 12px; font-weight: 800; letter-spacing: -.02em; box-shadow: 0 5px 15px rgba(0,0,0,.16); }
footer.footer.pm-site-footer .payment-mark.visa { color: #1434cb; font-style: italic; font-size: 15px; }
footer.footer.pm-site-footer .payment-mark.mastercard, footer.footer.pm-site-footer .payment-mark.discover, footer.footer.pm-site-footer .payment-mark.apple { color: #111; }
footer.footer.pm-site-footer .payment-mark.amex { color: #fff; background: #1677a6; }
footer.footer.pm-site-footer .payment-mark.apple { font-size: 13px; }
footer.footer.pm-site-footer .payment-mark.google { color: #3c4043; font-size: 12px; }
footer.footer.pm-site-footer .payment-mark.maestro { color: #111; font-size: 11px; }
footer.footer.pm-site-footer .payment-mark--clone { display: none; }
footer.footer.pm-site-footer .footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding: 32px 0 0; color: var(--pm-footer-dim); font-family: Manrope, Inter, sans-serif; font-size: 11px; line-height: 1.5; letter-spacing: .10em; text-transform: uppercase; }
footer.footer.pm-site-footer .footer-legal { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 9px; }
footer.footer.pm-site-footer .footer-legal a { color: var(--pm-footer-copy); }
footer.footer.pm-site-footer .footer-legal a:hover { color: var(--pm-footer-accent); }
footer.footer.pm-site-footer .footer-status { display: flex; align-items: center; gap: 10px; }
footer.footer.pm-site-footer .footer-status .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--pm-footer-accent); box-shadow: 0 0 10px var(--pm-footer-accent); }

@media (max-width: 900px) {
  footer.footer.pm-site-footer .footer-top { grid-template-columns: repeat(2,1fr); }
  footer.footer.pm-site-footer .footer-brand { grid-column: span 2; }
}
@media (max-width: 820px) {
  footer.footer.pm-site-footer .footer-trust { grid-template-columns: 1fr; }
  footer.footer.pm-site-footer .payment-area { justify-self: start; }
  footer.footer.pm-site-footer .payment-label { text-align: left; }
  footer.footer.pm-site-footer .payment-marks { justify-content: flex-start; }
}
@media (max-width: 540px) {
  footer.footer.pm-site-footer { padding: 48px 18px 26px; }
  footer.footer.pm-site-footer .footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 22px; }
  footer.footer.pm-site-footer .footer-brand { grid-column: 1 / -1; }
  footer.footer.pm-site-footer .cyber-badge { width: 100%; }
  footer.footer.pm-site-footer .payment-area { width: 100%; max-width: 100%; overflow: hidden; }
  footer.footer.pm-site-footer .payment-marks {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 8px;
    width: max-content;
    animation: pmPaymentMarquee 21s linear infinite;
    will-change: transform;
    -webkit-mask-image: linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
    mask-image: linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  }
  footer.footer.pm-site-footer .payment-mark { width: 76px; min-width: 76px; height: 30px; padding: 0 7px; flex: 0 0 76px; font-size: 10px; box-shadow: 0 4px 12px rgba(0,0,0,.14); }
  footer.footer.pm-site-footer .payment-mark.visa { font-size: 13px; }
  footer.footer.pm-site-footer .payment-mark.apple { font-size: 11px; }
  footer.footer.pm-site-footer .payment-mark.google { font-size: 10px; }
  footer.footer.pm-site-footer .payment-mark.maestro { font-size: 10px; }
  footer.footer.pm-site-footer .payment-mark--clone { display: inline-flex; }
  footer.footer.pm-site-footer .footer-bottom { align-items: flex-start; }
  footer.footer.pm-site-footer .footer-legal { justify-content: flex-start; }
}
@keyframes pmPaymentMarquee { to { transform: translateX(calc(-50% - 4px)); } }
@media (max-width: 540px) and (prefers-reduced-motion: reduce) {
  footer.footer.pm-site-footer .payment-area { overflow-x: auto; }
  footer.footer.pm-site-footer .payment-marks { animation: none; will-change: auto; }
}

/* Typography safety: preserve the descenders on multi-line display titles. */
:where(h1, h2, h3, h4) {
  line-height: 1.08 !important;
  overflow: visible !important;
  padding-bottom: .14em;
}

:where(h1, h2, h3, h4) :where(.grad, .gradient, .gradient-text, [class*="gradient"]) {
  line-height: inherit !important;
  overflow: visible !important;
  padding-bottom: .14em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

@media (max-width: 700px) {
  :where(h1, h2, h3, h4) {
    line-height: 1.12 !important;
    padding-bottom: .16em;
  }
}
