/* Jericho Guild — coming soon. Palette and type match the site prototype. */
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 500 700; font-display: swap; src: url(/assets/fonts/cormorant-garamond-latin.woff2) format("woff2"); }
@font-face { font-family: "EB Garamond"; font-style: normal; font-weight: 400 500; font-display: swap; src: url(/assets/fonts/eb-garamond-latin.woff2) format("woff2"); }
@font-face { font-family: "EB Garamond"; font-style: italic; font-weight: 400 500; font-display: swap; src: url(/assets/fonts/eb-garamond-italic-latin.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/assets/fonts/inter-latin.woff2) format("woff2"); }

:root {
  --navy-950: #0a1326; --navy-900: #0f1b33; --navy-800: #16264a; --navy-700: #22355f;
  --gold-300: #e3cc94; --gold-400: #d1b26f; --gold-500: #b8954f; --gold-600: #94743a;
  --ivory-50: #fbf8f1; --ivory-100: #f5efe2; --ivory-200: #ebe2cf;
  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --body: "EB Garamond", Georgia, "Times New Roman", serif;
  --sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; min-height: 100vh; min-height: 100dvh;
  display: flex; flex-direction: column;
  color: var(--ivory-100); font-family: var(--body); line-height: 1.55;
  background-color: var(--navy-900);
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 1px, transparent 1px 4px),
    radial-gradient(ellipse at 50% 0%, rgba(209,178,111,.16), transparent 65%),
    linear-gradient(180deg, var(--navy-900), var(--navy-950));
  background-attachment: fixed;
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.wrap {
  flex: 1; width: 100%; max-width: 46rem; margin: 0 auto;
  padding: max(2.5rem, env(safe-area-inset-top)) 1.25rem 2rem;
  display: flex; flex-direction: column; align-items: center; text-align: center;
}

.crest {
  width: 150px; height: 150px; border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(209,178,111,.55), 0 0 0 6px rgba(10,19,38,.9), 0 0 0 7px rgba(209,178,111,.28), 0 24px 60px -20px rgba(0,0,0,.8);
}
.eyebrow {
  margin: 1.75rem 0 0; font-family: var(--sans); font-size: .7rem; font-weight: 500;
  letter-spacing: .3em; text-transform: uppercase; color: var(--gold-400);
}
.wordmark {
  margin: .6rem 0 0; font-family: var(--serif); font-weight: 600;
  font-size: clamp(2.6rem, 11vw, 4.6rem); line-height: 1; letter-spacing: .08em;
  text-transform: uppercase; color: var(--gold-300);
  /* optical centering for letter-spacing */
  padding-left: .08em;
}

.hero { margin-top: 1.5rem; }
.tagline {
  margin: 0; font-family: var(--serif); font-weight: 500; font-style: normal;
  font-size: clamp(1.6rem, 6.2vw, 2.4rem); line-height: 1.18; color: var(--ivory-50);
  text-wrap: balance;
}
.sub {
  margin: 1rem auto 0; max-width: 34rem; font-size: clamp(1.05rem, 3.8vw, 1.2rem);
  color: rgba(245,239,226,.82); text-wrap: pretty;
}

.rule { width: min(18rem, 70%); height: 1px; margin: 2.25rem 0; background: linear-gradient(90deg, transparent, var(--gold-500), transparent); }

.dates dl { margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .9rem; }
.date {
  min-width: 9.5rem; padding: .9rem 1.4rem;
  border: 1px solid rgba(209,178,111,.4); border-radius: 2px;
  background: rgba(10,19,38,.45);
}
.date dt { font-family: var(--sans); font-size: .68rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--gold-400); }
.date dd { margin: .3rem 0 0; font-family: var(--serif); font-weight: 600; font-size: 1.5rem; line-height: 1.1; color: var(--ivory-50); }
.profiles { margin: 1.25rem 0 0; font-style: italic; font-size: 1.15rem; color: var(--gold-300); }

.social { margin-top: 2.25rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }
.social a {
  display: inline-flex; align-items: center; gap: .55rem; min-height: 44px; padding: .65rem 1.15rem;
  border: 1px solid rgba(245,239,226,.35); border-radius: 2px; color: var(--ivory-100); text-decoration: none;
  font-family: var(--sans); font-size: .76rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  transition: background-color .15s, border-color .15s, color .15s;
}
.social a:hover { background: rgba(184,149,79,.14); border-color: var(--gold-400); color: var(--gold-300); }
.social a:focus-visible { outline: 2px solid var(--gold-300); outline-offset: 3px; }
.social svg { flex: none; }

.warning {
  margin: 2rem 0 0; max-width: 32rem; padding: .7rem 1rem; font-family: var(--sans); font-size: .8rem; line-height: 1.5;
  color: rgba(245,239,226,.78); border-top: 1px solid rgba(209,178,111,.22); border-bottom: 1px solid rgba(209,178,111,.22);
}
.warning span { color: var(--gold-400); margin-right: .25rem; }

.foot { padding: 1.25rem 1.25rem max(1.5rem, env(safe-area-inset-bottom)); text-align: center; }
.foot p { margin: 0; font-family: var(--sans); font-size: .72rem; letter-spacing: .06em; color: rgba(245,239,226,.55); }
.foot a { color: var(--gold-300); }

/* 404 */
.notfound .tagline { margin-top: 1.5rem; }
.home-link { margin-top: 2rem; }

@media (min-width: 768px) {
  .wrap { padding-top: 4.5rem; justify-content: center; }
  .crest { width: 200px; height: 200px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
