/* Shared styling for the legal / support pages. The landing page carries its own inlined
   stylesheet; these pages are text-first, so they load the fonts as files instead. */

@font-face {
  font-family: "Space Grotesk";
  src: url("/fonts/SpaceGrotesk.ttf") format("truetype");
  font-weight: 300 700;
  font-display: swap;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("/fonts/PlusJakartaSans.ttf") format("truetype");
  font-weight: 300 800;
  font-display: swap;
}

:root {
  --paper: #f6f4ef;
  --card: #fffefb;
  --surface: #efece4;
  --ink: #10231b;
  --muted: #5e6b63;
  --line: #e4e0d6;
  --green: #0d7a4f;
  --green-100: #e6f4ec;
  --green-deep: #06301f;
  --honey: #f7b733;
  --honey-tint: #fdf1d8;
  --honey-ink: #6a4a00;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #07130d;
    --card: #0f241a;
    --surface: #0c1d14;
    --ink: #eaf2ec;
    --muted: #9db1a6;
    --line: #1e3529;
    --green: #37b07e;
    --green-100: #12301f;
    --green-deep: #041f13;
    --honey-tint: #241e0f;
    --honey-ink: #f0c868;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.015em;
  text-wrap: balance;
  margin: 0;
}

h1 { font-size: clamp(32px, 5vw, 44px); }
h2 { font-size: 22px; margin-top: 38px; }
h3 { font-size: 17px; margin-top: 26px; }

p, li { color: var(--ink); }
a { color: var(--green); }

.wrap { width: min(720px, 90vw); margin-inline: auto; }

/* Header */
header {
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.nav {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 16px 0;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: var(--ink);
  text-decoration: none;
}
.brand svg { width: 26px; height: 26px; }
.nav-links { margin-left: auto; display: flex; gap: 20px; font-size: 15px; }
.nav-links a { color: var(--muted); text-decoration: none; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--ink); }

/* Content */
main { padding: 46px 0 70px; }
.updated {
  font-size: 14px;
  color: var(--muted);
  margin-top: 10px;
}
.lede { font-size: 19px; color: var(--muted); margin-top: 16px; }

.panel {
  background: var(--green-100);
  border-radius: 14px;
  padding: 18px 20px;
  margin: 28px 0;
}
.panel h2 { margin-top: 0; font-size: 18px; }
.panel p:last-child { margin-bottom: 0; }

table { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 16px; }
th, td { text-align: left; padding: 11px 0; border-bottom: 1px solid var(--line); }
th { font-family: "Space Grotesk", sans-serif; font-weight: 600; }
td:last-child, th:last-child { text-align: right; color: var(--green); font-weight: 600; }

.contact {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 20px;
  margin-top: 30px;
}

details {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 2px 18px;
  margin-bottom: 10px;
}
summary {
  cursor: pointer;
  list-style: none;
  padding: 15px 0;
  font-weight: 600;
  font-size: 16.5px;
}
summary::-webkit-details-marker { display: none; }
details p { margin: 0 0 16px; color: var(--muted); font-size: 15.5px; }

footer {
  border-top: 1px solid var(--line);
  background: var(--surface);
  font-size: 14px;
  color: var(--muted);
}
.foot { display: flex; flex-wrap: wrap; gap: 16px; padding: 26px 0; }
.foot-links { margin-left: auto; display: flex; gap: 20px; }
.foot-links a { color: var(--muted); text-decoration: none; }
.foot-links a:hover { color: var(--ink); }

@media (max-width: 620px) {
  .nav-links { display: none; }
  .foot-links { margin-left: 0; }
}
