/* ---- benjaminlawrie.com shared styles ---- */
:root {
  --cream: #faf8f4;
  --ink: #1c2026;
  --muted: #5f6368;
  --amber: #c48435;
  --amber-dark: #9c6a29;
  --line: #dedad2;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: 'Lora', Georgia, serif;
  line-height: 1.6;
}

.display {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  letter-spacing: -0.01em;
}

a { color: inherit; }

img { max-width: 100%; display: block; }

/* ---- site header ---- */
.site-header {
  border-bottom: 1px solid var(--line);
  padding: 22px 32px;
}
.site-header .inner {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.site-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 1.15rem;
  text-decoration: none;
}
.site-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
}
.site-nav a {
  text-decoration: none;
  color: var(--muted);
  font-size: 0.92rem;
}
.site-nav a:hover { color: var(--ink); }

@media (max-width: 640px) {
  .site-header .inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .site-nav { gap: 6px 18px; }
}

/* ---- footer ---- */
.site-footer {
  border-top: 1px solid var(--line);
  padding: 40px 32px;
  text-align: center;
  color: var(--muted);
  font-size: 0.88rem;
  margin-top: 80px;
}

/* ---- generic containers ---- */
.container {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 32px;
}
.container-narrow {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 32px;
}

/* ---- buttons ---- */
.btn {
  display: inline-block;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 15px 32px;
  border-radius: 3px;
  text-decoration: none;
  text-align: center;
  border: none;
  cursor: pointer;
}
.btn-primary { background: var(--amber); color: #fff; }
.btn-primary:hover { background: var(--amber-dark); }
.btn-dark { background: var(--ink); color: var(--cream); }
.btn-dark:hover { background: #000; }
.btn-outline {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--ink);
}
.btn-outline:hover { background: var(--ink); color: var(--cream); }

.eyebrow {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  color: var(--amber-dark);
}

hr.accent {
  border: none;
  border-top: 2px solid var(--amber);
  width: 70px;
  margin: 26px auto;
}
hr.accent.left { margin-left: 0; }

/* ---- resources, QR codes and mailing list ---- */
.signup{background:var(--ink);color:var(--cream);padding:64px 0;margin-top:60px}
.signup .cols{display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
.signup h2{font-size:1.9rem;margin:6px 0 12px;line-height:1.15}
.signup .eyebrow{color:var(--amber)}.signup ul{padding-left:20px}.signup li{margin-bottom:8px}
.signup .fine-light{font-size:.9rem;color:#c9ccd0}.signup .fine-light a{color:var(--amber)}
.signup form{background:var(--cream);color:var(--ink);padding:26px;border-radius:4px}
.signup label{display:block;font:700 .85rem Poppins,sans-serif;margin:0 0 4px}
.signup input[type=text],.signup input[type=email]{width:100%;padding:12px;border:1px solid var(--line);border-radius:3px;font:1rem Lora,serif;margin-bottom:14px;background:#fff}
.signup fieldset{border:0;padding:0;margin:0 0 12px}.signup legend{font:700 .85rem Poppins,sans-serif;margin-bottom:6px;padding:0}
.signup .chk{display:flex;gap:8px;align-items:flex-start;font:400 .95rem Lora,serif;margin:0 0 8px}.signup .chk input{margin-top:6px}
.signup .fine{font-size:.8rem;color:var(--muted);margin:12px 0 0}
.signup .msg{margin-top:12px;font:700 .85rem Poppins,sans-serif}.signup .msg.ok{color:#1e7b34}.signup .msg.err{color:#b03a2e}
.hp{position:absolute;left:-9999px}
.qr-row{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;margin:20px 0 8px}
.qr{margin:0;text-align:center}.qr img{background:#fff;padding:6px;border:1px solid var(--line);border-radius:4px;margin:0 auto}
.qr figcaption{font:700 .8rem Poppins,Arial,sans-serif;margin-top:6px;color:var(--muted)}
.qr-note{font-size:.88rem;color:var(--muted);text-align:center;margin:0}
.resource-teaser{text-align:center}.resource-teaser h2{font-size:1.5rem;margin-bottom:14px}.resource-teaser p{max-width:620px;margin:0 auto 20px}
.teaser-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
@media(max-width:720px){.site-nav a{margin-left:14px}}
