/* The Tree Styling Method: shared brand tokens + base. Owner: lead. See BRAND.md. */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,700;1,500&family=Source+Sans+3:wght@400;600;700&display=swap');

:root {
  --evergreen: #1F3D2B;
  --evergreen-dark: #152B1E;
  --cranberry: #9E2B32;
  --cranberry-dark: #7F2128;
  --gold: #B8913A;
  --gold-soft: #E9DCBC;
  --cream: #FBF7EF;
  --paper: #FFFFFF;
  --ink: #2A2522;
  --ink-soft: #5B524C;
  --sage: #E7EDE6;
  --line: #E4DccF;
  --radius: 12px;
  --shadow: 0 6px 24px rgba(31, 61, 43, 0.10);
  --font-head: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Source Sans 3', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --max: 720px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 19px;
  line-height: 1.6;
}
h1, h2, h3 { font-family: var(--font-head); color: var(--evergreen); line-height: 1.2; margin: 0 0 .5em; }
h1 { font-size: clamp(30px, 6vw, 46px); }
h2 { font-size: clamp(25px, 4.6vw, 34px); }
h3 { font-size: clamp(21px, 3.6vw, 25px); }
p { margin: 0 0 1em; }
a { color: var(--cranberry); }
img { max-width: 100%; height: auto; display: block; }

.wrap { max-width: var(--max); margin: 0 auto; padding: 0 16px; }
.wrap-wide { max-width: 1080px; margin: 0 auto; padding: 0 16px; }

.btn {
  display: inline-block; width: 100%; max-width: 480px; text-align: center;
  background: var(--cranberry); color: #fff; text-decoration: none;
  font-family: var(--font-body); font-weight: 700; font-size: 20px;
  padding: 18px 24px; border: 0; border-radius: var(--radius); cursor: pointer;
  box-shadow: 0 4px 0 var(--cranberry-dark);
}
.btn:hover { background: var(--cranberry-dark); }
.btn-green { background: var(--evergreen); box-shadow: 0 4px 0 var(--evergreen-dark); }

.price-was { text-decoration: line-through; color: var(--ink-soft); }
.price-now { color: var(--cranberry); font-weight: 700; }
.tag { display: inline-block; background: var(--gold-soft); color: var(--evergreen); font-weight: 700;
  font-size: 14px; letter-spacing: .04em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; }
.card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 20px; }
.muted { color: var(--ink-soft); }
.small { font-size: 15px; }

.site-footer { padding: 32px 16px 48px; text-align: center; font-size: 14px; color: var(--ink-soft); }
.site-footer a { color: var(--ink-soft); margin: 0 6px; }
