/*
  Zudocs landing page styles. One accent (a deep teal, the colour of a
  well-kept index), a warm paper ground, system fonts so nothing is fetched.

  Used by index.html and 404.html; nothing else.
*/
:root {
  --paper: #fbfaf7;
  --ink: #1d2422;
  --muted: #5f6b68;
  --rule: #e2ddd2;
  --accent: #0f6b66;
  --accent-ink: #ffffff;
  --accent-soft: #e3f0ee;
}
* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color: var(--accent); }
.top { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 32px; border-bottom: 1px solid var(--rule); }
.brand { font-weight: 700; font-size: 20px; letter-spacing: -0.01em; color: var(--ink); text-decoration: none; }
.brand span { color: var(--accent); }
nav { display: flex; align-items: center; gap: 22px; }
nav a { color: var(--ink); text-decoration: none; font-size: 15px; }
nav a:hover, nav a:focus-visible { color: var(--accent); }
.cta, .button { background: var(--accent); color: var(--accent-ink) !important; padding: 9px 16px; border-radius: 6px; font-weight: 600; text-decoration: none; }
.cta:hover, .button:hover { filter: brightness(1.08); }
main { max-width: 1040px; margin: 0 auto; padding: 0 32px; }
.hero { padding: 88px 0 56px; max-width: 720px; }
.eyebrow { text-transform: uppercase; letter-spacing: 0.08em; font-size: 12px; font-weight: 600; color: var(--accent); margin: 0 0 10px; }
h1 { font-size: 46px; line-height: 1.1; margin: 0 0 18px; letter-spacing: -0.02em; text-wrap: balance; }
.lede { font-size: 19px; color: var(--muted); margin: 0 0 26px; }
.actions { display: flex; align-items: center; gap: 18px; margin: 0; }
.quiet { text-decoration: none; }
.three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; padding: 32px 0; border-top: 1px solid var(--rule); }
.three h2 { font-size: 18px; margin: 0 0 6px; }
.three p { margin: 0; color: var(--muted); }
.how { padding: 40px 0; border-top: 1px solid var(--rule); max-width: 760px; }
.how h2, .pricing h2 { font-size: 26px; margin: 0 0 12px; letter-spacing: -0.01em; }
.how p { margin: 0 0 12px; }
.pricing { padding: 40px 0 72px; border-top: 1px solid var(--rule); }
.plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.plan { border: 1px solid var(--rule); border-radius: 8px; padding: 20px; background: #fff; }
.plan.featured { border-color: var(--accent); background: var(--accent-soft); }
.plan h3 { margin: 0 0 4px; font-size: 16px; }
.price { font-size: 30px; font-weight: 700; margin: 0 0 8px; letter-spacing: -0.02em; }
.price span { font-size: 14px; font-weight: 500; color: var(--muted); }
.plan p:last-child { margin: 0; color: var(--muted); }
footer { border-top: 1px solid var(--rule); padding: 24px 32px; color: var(--muted); font-size: 14px; }
footer p { max-width: 760px; margin: 0; }
@media (max-width: 720px) {
  .top { flex-direction: column; align-items: flex-start; }
  nav { flex-wrap: wrap; gap: 14px; }
  .hero { padding: 48px 0 32px; }
  h1 { font-size: 34px; }
  .three, .plans { grid-template-columns: 1fr; }
}
