:root {
  --patronum-brand: #c62828;
  --patronum-brand-deep: #8e2428;
  --patronum-bg: #f5f2ec;
  --patronum-surface: #ffffff;
  --patronum-ink: #00000b;
  --patronum-muted: #65635e;
  --patronum-line: #cbc7bf;
  --patronum-max: 1440px;
  --patronum-section-heading: clamp(42px, 5vw, 72px);
  --patronum-section-highlight: clamp(220px, 34vw, 540px);
}

:root[data-theme="dark"] {
  --patronum-bg: #101016;
  --patronum-surface: #17171f;
  --patronum-ink: #f5f2ec;
  --patronum-muted: #aaa6a0;
  --patronum-line: #3b3a42;
}

html { scroll-behavior: smooth; }
body { background: var(--patronum-bg); color: var(--patronum-ink); }
a { transition: color .25s ease; }

.patronum-header {
  min-height: 88px;
  padding-inline: max(24px, calc((100vw - var(--patronum-max)) / 2 + 32px));
  position: relative;
  z-index: 50;
  border-bottom: 1px solid var(--patronum-line);
  background: color-mix(in srgb, var(--patronum-bg) 92%, transparent);
  backdrop-filter: blur(16px);
}

.patronum-footer {
  padding: clamp(64px, 8vw, 112px) max(24px, calc((100vw - var(--patronum-max)) / 2 + 32px)) 32px;
  border-top: 1px solid var(--patronum-line);
  background: var(--patronum-surface);
}

.patronum-footer > .wp-block-columns { gap: clamp(40px, 8vw, 120px); }

@media (max-width: 782px) {
  :root {
    --patronum-section-heading: clamp(38px, 11.5vw, 52px);
    --patronum-section-highlight: min(88vw, 430px);
  }

  .patronum-header { min-height: 72px; padding-inline: 20px; }
  .patronum-header > .wp-block-buttons { display: none; }
  .patronum-footer { padding-inline: 20px; }
}

