@font-face {
  font-family: "Cormorant Garamond";
  src: url("/fonts/cormorant-garamond-italic-latin.woff2") format("woff2");
  font-display: swap;
  font-style: italic;
  font-weight: 400 600;
}

@font-face {
  font-family: "Jost";
  src: url("/fonts/jost-latin.woff2") format("woff2");
  font-display: swap;
  font-weight: 300 500;
}

:root {
  color-scheme: dark;
  --fg-void: #080711;
  --fg-night: #0B0917;
  --fg-indigo: #171331;
  --fg-gold: #D8B97C;
  --fg-gold-lit: #EFD9A7;
  --fg-ivory: #EFEADB;
  --fg-ivory-72: rgba(233,228,216,.72);
  --fg-ivory-50: rgba(233,228,216,.5);
}

* { box-sizing: border-box; }

html { background: var(--fg-void); scroll-behavior: smooth; }

body {
  min-width: 320px;
  margin: 0;
  background: radial-gradient(140% 60% at 50% 4%, #171331 0%, #0B0917 45%, #080711 100%);
  color: var(--fg-ivory);
  font-family: "Jost", sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.75;
}

body::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  background: url("/stars.png") top center / 1024px auto repeat-y;
  content: "";
  opacity: .5;
  pointer-events: none;
}

a { color: var(--fg-gold); text-decoration: none; }
a:hover { color: var(--fg-gold-lit); }
:focus-visible { outline: 1px solid var(--fg-gold-lit); outline-offset: 3px; }

.legal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 900px;
  margin: 0 auto;
  padding: 28px 26px;
  border-bottom: .5px solid rgba(216,185,124,.25);
}

.brand {
  color: var(--fg-ivory);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 6px;
}

.legal-header nav { display: flex; gap: 20px; font-size: 9.5px; font-weight: 400; letter-spacing: 2.5px; }
.legal-header a { min-height: 44px; display: inline-flex; align-items: center; }

main {
  width: min(640px, calc(100% - 52px));
  min-height: 70vh;
  margin: 0 auto;
  padding: 72px 0 110px;
}

.eyebrow {
  margin: 0 0 18px;
  color: var(--fg-gold);
  font-size: 9.5px;
  font-weight: 400;
  letter-spacing: 3.5px;
  text-transform: uppercase;
}

h1,
h2 {
  color: var(--fg-ivory);
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 500;
  text-wrap: pretty;
}

h1 { margin: 0 0 34px; font-size: clamp(42px, 10vw, 58px); line-height: 1.04; }
h2 { margin: 48px 0 14px; font-size: 26px; line-height: 1.15; }

p,
li { color: var(--fg-ivory-72); }
p { margin: 0 0 20px; }
ul { margin: 0 0 20px; padding-left: 22px; }
li { margin: 8px 0; }

.contact-card {
  margin: 36px 0;
  padding: 24px;
  border: .5px solid rgba(216,185,124,.35);
  background: rgba(216,185,124,.04);
}

.contact-card p:last-child { margin-bottom: 0; }

.legal-footer {
  display: flex;
  max-width: 900px;
  margin: 0 auto;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 30px 26px 48px;
  border-top: .5px solid rgba(216,185,124,.25);
  color: var(--fg-ivory-50);
  font-size: 12px;
  text-align: center;
}

.legal-footer img { width: 48px; height: 48px; border-radius: 11px; }
.legal-footer nav { display: flex; gap: 20px; font-size: 9.5px; font-weight: 400; letter-spacing: 2.5px; }
.legal-footer nav a { min-height: 44px; display: inline-flex; align-items: center; }

@media (min-width: 768px) {
  .legal-header { padding-right: 44px; padding-left: 44px; }
  main { padding-top: 96px; }
  .legal-footer { flex-direction: row; justify-content: space-between; text-align: left; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
