/* Design tokens. Invitation Core reads the --inv-* names, so changing them here re-skins invitations too. */
:root {
  --inv-bg: #0b0b0c;
  --inv-surface: #151517;
  --inv-ink: #ffffff;
  --inv-muted: #c9c4ba;
  --inv-gold: #c8a96a;
  --inv-gold-soft: rgba(200, 169, 106, .45);
  --inv-line: #2b2a28;
  --inv-font-display: "Cormorant Garamond", Georgia, serif;
  --inv-font-body: "Lora", Georgia, serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--inv-bg);
  color: var(--inv-ink);
  font: 16px/1.7 var(--inv-font-body);
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

a { color: var(--inv-gold); text-underline-offset: 3px; }
a:hover { color: var(--inv-ink); }

h1, h2, h3, h4 {
  font-family: var(--inv-font-display);
  font-weight: 500;
  line-height: 1.15;
}

:focus-visible { outline: 2px solid var(--inv-gold); outline-offset: 3px; }

.skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  z-index: 100;
  padding: 8px 14px;
  background: var(--inv-gold);
  color: var(--inv-bg);
}

.skip-link:focus { top: 8px; }

.site-header { border-bottom: 1px solid var(--inv-line); }

.site-header__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px 24px;
  max-width: 1140px;
  margin: 0 auto;
  padding: 16px;
}

.site-title {
  color: var(--inv-ink);
  font: 500 26px/1 var(--inv-font-display);
  text-decoration: none;
}

.site-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--inv-ink);
  text-decoration: none;
}

.site-nav a:hover,
.site-nav .current-menu-item > a { color: var(--inv-gold); }

.site-main:focus { outline: none; }

.entry {
  max-width: 720px;
  margin: 0 auto;
  padding: 56px 16px;
}

.entry--center { text-align: center; }
.entry__eyebrow { margin: 0; color: var(--inv-gold); letter-spacing: .12em; }
.entry__title { margin: 0 0 16px; font-size: clamp(32px, 6vw, 48px); }
.entry__title a { color: inherit; text-decoration: none; }
.entry__content > * + * { margin-top: 1em; }

.button,
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 22px;
  border: 1px solid var(--inv-gold);
  background: transparent;
  color: var(--inv-gold);
  text-decoration: none;
  transition: background-color .3s, color .3s;
}

.button:hover,
.wp-block-button__link:hover { background: var(--inv-gold); color: var(--inv-bg); }

.site-footer {
  padding: 32px 16px;
  border-top: 1px solid var(--inv-line);
  color: var(--inv-muted);
  font-size: 14px;
  text-align: center;
}

.site-footer p { margin: 0; }

.nav-links { display: flex; gap: 16px; justify-content: center; padding: 24px 16px; }
