:root {
  --ivory: #fbf8f3;
  --paper: #fffdf9;
  --charcoal: #1f1d1b;
  --muted: #6f6860;
  --soft: #f3ece3;
  --line: #dccfbe;
  --brass: #a8895c;
  --brass-dark: #8c714b;
  --radius-xl: 34px;
  --shadow: 0 1px 2px rgb(31 29 27 / .04), 0 24px 70px -30px rgb(31 29 27 / .28);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 80% 0%, rgb(168 137 92 / .11), transparent 30rem),
    radial-gradient(circle at 10% 18%, rgb(229 219 205 / .72), transparent 28rem),
    var(--ivory);
  color: var(--charcoal);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image:
    linear-gradient(rgb(31 29 27 / .028) 1px, transparent 1px),
    linear-gradient(90deg, rgb(31 29 27 / .022) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, black, transparent 72%);
}
a { color: inherit; }
.wrap { width: min(1040px, calc(100% - 40px)); margin-inline: auto; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgb(251 248 243 / .88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgb(220 207 190 / .7);
}
.nav {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.brand { display: inline-flex; align-items: center; gap: .78rem; text-decoration: none; }
.brand-mark {
  height: 46px;
  width: 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #000;
  flex: 0 0 auto;
}
.brand-mark img { width: 100%; height: 100%; object-fit: contain; display: block; }
.brand-text { font: 600 1.16rem/1 Fraunces, Georgia, serif; letter-spacing: -.035em; }
.brand-text span { display: block; color: var(--brass-dark); font-style: italic; }
.nav-links { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; justify-content: flex-end; }
.nav-links a {
  text-decoration: none;
  border: 1px solid rgb(31 29 27 / .12);
  border-radius: 999px;
  padding: .75rem 1rem;
  font-weight: 800;
  color: var(--charcoal);
  background: rgb(255 253 249 / .58);
}
.hero { padding: 76px 0 24px; }
.eyebrow {
  color: var(--brass-dark);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
h1 {
  margin: .7rem 0 1rem;
  max-width: 880px;
  font: 500 clamp(3.2rem, 8vw, 6.6rem)/.86 Fraunces, Georgia, serif;
  letter-spacing: -.06em;
}
.hero p { max-width: 760px; color: var(--muted); font-size: 1.08rem; line-height: 1.75; }
.legal-card {
  margin: 36px 0 80px;
  padding: clamp(1.25rem, 3vw, 2.2rem);
  background: rgb(255 253 249 / .8);
  border: 1px solid rgb(220 207 190 / .8);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
}
.legal-card h2 {
  margin: 2rem 0 .65rem;
  font: 500 clamp(1.55rem, 3vw, 2.3rem)/1 Fraunces, Georgia, serif;
  letter-spacing: -.035em;
}
.legal-card h2:first-child { margin-top: 0; }
.legal-card p, .legal-card li { color: var(--muted); line-height: 1.75; }
.legal-card ul { padding-left: 1.15rem; }
.notice {
  margin: 1rem 0 0;
  padding: 1rem 1.1rem;
  border-radius: 20px;
  background: rgb(243 236 227 / .72);
  border: 1px solid rgb(220 207 190 / .72);
  color: var(--muted);
}
footer {
  padding: 46px 0 60px;
  background: #151312;
  color: rgb(251 248 243 / .7);
}
.foot-grid {
  display: grid;
  grid-template-columns: 1fr .8fr .7fr;
  gap: 2rem;
  margin-bottom: 2rem;
}
footer b { color: var(--ivory); }
footer p, footer small { line-height: 1.7; }
footer a { color: var(--ivory); font-weight: 800; text-decoration: none; border-bottom: 1px solid rgb(251 248 243 / .32); }
@media (max-width: 760px) {
  .wrap { width: min(100% - 28px, 1040px); }
  .nav { min-height: 72px; }
  .nav-links a { padding: .62rem .78rem; font-size: .9rem; }
  h1 { font-size: clamp(3rem, 16vw, 4.6rem); }
  .foot-grid { grid-template-columns: 1fr; }
}
