/* Williams James Property — holding page (production branch, pre-launch) */

/* ===== Self-hosted fonts (SIL Open Font Licence; files from Fontsource) ===== */
@font-face {
  font-family: "Newsreader";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("/assets/fonts/newsreader-latin-opsz-normal.woff2") format("woff2-variations"), url("/assets/fonts/newsreader-latin-opsz-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/assets/fonts/hanken-grotesk-latin-wght-normal.woff2") format("woff2-variations"), url("/assets/fonts/hanken-grotesk-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --forest: #153D2D;
  --forest-deep: #0F2F22;
  --ivory: #F5F3EE;
  --brass: #C4A564;
  --serif: "Newsreader", "Iowan Old Style", Georgia, serif;
  --sans: "Hanken Grotesk", "Segoe UI", system-ui, sans-serif;
  --gutter: clamp(16px, 4vw, 40px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; min-height: 100vh; min-height: 100svh;
  display: flex; flex-direction: column;
  background: var(--forest); color: rgba(245, 243, 238, 0.86);
  font-family: var(--sans); font-size: 1.0625rem; line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; border-radius: 2px; }

.holding { flex: 1; display: flex; align-items: center; padding: clamp(56px, 10vh, 120px) var(--gutter); }
.holding-inner { width: 100%; max-width: 640px; margin: 0 auto; text-align: center; }
.holding-logo { width: clamp(200px, 30vw, 260px); margin: 0 auto; }
.holding-rule { display: block; width: 48px; height: 1px; background: var(--brass); margin: clamp(36px, 5vw, 48px) auto; }
.holding h1 {
  font-family: var(--serif); font-weight: 400; color: var(--ivory);
  font-size: clamp(1.9rem, 4vw, 2.6rem); line-height: 1.15; letter-spacing: -0.01em; margin: 0 0 18px;
}
.holding p { margin: 0 auto; max-width: 46ch; text-wrap: balance; }
.holding a { color: var(--ivory); text-decoration: underline; text-decoration-color: rgba(196, 165, 100, 0.7); text-underline-offset: 3px; overflow-wrap: anywhere; }
.holding a:hover { text-decoration-color: var(--ivory); }

.holding-footer { background: var(--forest-deep); padding: 22px var(--gutter) 26px; text-align: center; }
.holding-footer p { margin: 0 auto; max-width: 900px; font-size: 0.75rem; line-height: 1.6; color: rgba(245, 243, 238, 0.66); text-wrap: balance; }
