/* Nido public pages — one stylesheet, no external fonts or scripts.
   Colours are the app's tokens from Design/Nido.dc.html. */

:root {
  --bg: #f5ead8;
  --card: #fffaf4;
  --ink: #201e1d;
  --ink2: #645c50;
  --ink3: #8d8375;
  --acc: #c67139;
  --acc-ink: #8c491a;
  --acc-soft: #ffe1d0;
  --line: rgba(32, 30, 29, 0.1);
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #211d19;
    --card: #2e2822;
    --ink: #f7f0e4;
    --ink2: #c0b6a5;
    --ink3: #a19786;
    --acc: #f6a06b;
    --acc-ink: #ffc6a5;
    --acc-soft: #3a2a1f;
    --line: rgba(247, 240, 228, 0.12);
  }
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.7;
}

.page {
  max-width: 700px;
  margin: 0 auto;
  padding: 24px 20px 64px;
}

/* Top bar: wordmark at the start, language switch at the end. */
.top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 40px;
}

.brand {
  font-family: ui-serif, "New York", Georgia, "Times New Roman", serif;
  font-size: 1.75rem;
  color: var(--ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
}

.brand::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--acc);
}

.lang {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--acc-ink);
  font-weight: 700;
  font-size: 0.9375rem;
  text-decoration: none;
}

h1, h2 {
  font-family: ui-serif, "New York", Georgia, "Times New Roman", serif;
  font-weight: 400;
  line-height: 1.2;
}

h1 { font-size: 2.5rem; margin: 0 0 8px; }
h2 { font-size: 1.5rem; margin: 40px 0 8px; }
h3 { font-size: 1.0625rem; margin: 28px 0 4px; }

p, ul { margin: 0 0 16px; }
ul { padding-inline-start: 1.25em; }
li { margin-bottom: 6px; }

.lede { font-size: 1.1875rem; color: var(--ink2); }

.updated {
  color: var(--ink3);
  font-size: 0.875rem;
  margin-bottom: 32px;
}

a { color: var(--acc-ink); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, .lang:focus-visible, .brand:focus-visible {
  outline: 3px solid var(--acc);
  outline-offset: 3px;
  border-radius: 6px;
}

.card {
  background: var(--card);
  border-radius: 28px;
  padding: 24px;
  margin: 24px 0;
}

.card h2 { margin-top: 0; }

.email {
  font-size: 1.1875rem;
  font-weight: 700;
  word-break: break-word;
}

/* The links to the other pages: big, rounded, easy to tap. */
.nav-list {
  list-style: none;
  padding: 0;
  margin: 24px 0;
  display: grid;
  gap: 10px;
}

.nav-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  padding: 12px 20px;
  border-radius: 20px;
  background: var(--card);
  color: var(--ink);
  font-weight: 700;
  text-decoration: none;
}

.nav-list a::after { content: "→"; color: var(--acc); }
[dir="rtl"] .nav-list a::after { content: "←"; }

.faq h3 { font-size: 1.125rem; }

.footer {
  margin-top: 56px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  color: var(--ink3);
  font-size: 0.9375rem;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
}

.footer a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

@media (max-width: 480px) {
  h1 { font-size: 2rem; }
  .page { padding-top: 16px; }
  .top { margin-bottom: 28px; }
  .card { padding: 20px; border-radius: 24px; }
}
