/* The hosted guide page. Long-form reading, not app UI.
   The quiz is sans and centred; the guide is serif and left-aligned, so the
   gift does not look like another screen of the funnel. No webfonts — the
   stack is the same one the mirror card uses, so page and card read as one
   artifact and neither costs a network request. */

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

:root {
  --bg: #fdf6f0;
  --sheet: #fffdfb;
  --text: #2d3436;
  --muted: #6b6560;
  --hair: #ece2d8;
  --radius: 12px;

  /* Per-type accent, overridden below. Default is the house pink. */
  --accent: #e84393;
  --deep: #7a1f4d;
  --wash: #fff4f8;
}

html[data-type="dog"] {
  --accent: #d8397f;
  --deep: #7a1f4d;
  --wash: #fff2f7;
}
html[data-type="squirrel"] {
  --accent: #c1502e;
  --deep: #6d2a15;
  --wash: #fdefe9;
}
html[data-type="cat"] {
  --accent: #7c5cbf;
  --deep: #3f2d73;
  --wash: #f4f1fc;
}
html[data-type="canary"] {
  --accent: #a8791a;
  --deep: #5c400a;
  --wash: #fdf6e3;
}
html[data-type="beaver"] {
  --accent: #2f7d63;
  --deep: #1b4436;
  --wash: #ebf5f1;
}

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

body {
  font-family:
    "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia,
    serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.75;
  padding: 24px 20px 56px;
  display: flex;
  justify-content: center;
}

.guide {
  width: 100%;
  max-width: 34rem;
}

/* --- head --- */

.guide-head {
  margin-bottom: 40px;
}

.guide-head .mark {
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 12px;
}

.guide h1 {
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--deep);
  margin-bottom: 10px;
}

.guide .subtitle {
  font-size: 1.15rem;
  color: var(--muted);
}

/* --- body --- */

.guide h2 {
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 44px 0 16px;
}

.guide p {
  font-size: 1.08rem;
  margin-bottom: 20px;
}

.guide strong {
  font-weight: 700;
}

/* The three lines she can actually say. Set apart because they are meant to be
   lifted off the page, not read past. */
.say-lines {
  list-style: none;
  margin: 0 0 20px;
  padding-left: 18px;
  border-left: 2px solid var(--accent);
}

.say-lines li {
  font-size: 1.08rem;
  margin-bottom: 10px;
}

.say-lines li:last-child {
  margin-bottom: 0;
}

/* The dismount — the last line of the guide, and the line the mirror card's
   first line is inherited from. */
.dismount {
  font-size: 1.22rem;
  line-height: 1.5;
  color: var(--deep);
  margin: 32px 0 0;
}

/* --- the mirror card --- */

.mirror-card {
  margin: 48px 0 0;
  text-align: center;
}

.mirror-card img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 420px;
  margin: 0 auto;
  border-radius: var(--radius);
  box-shadow: 0 18px 40px -22px rgba(45, 52, 54, 0.5);
}

.mirror-card figcaption {
  margin-top: 12px;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.82rem;
  color: var(--muted);
}

.mirror-card figcaption a {
  color: var(--muted);
}

/* --- the offer block (free-guides.md §8) ---
   She should SEE the boundary and never HEAR one: the block is visually
   separated, and there is no headline above the buttons. */

.offer-block {
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid var(--hair);
  display: flex;
  flex-direction: column;
  /* 20px, matching the Before You Go block's margin — two stacked cards need
     the separation a bare button pair did not. */
  gap: 20px;
}

/* One card per offer — eyebrow, line, button. */
.offer-card {
  background: var(--sheet);
  border: 1px solid var(--hair);
  border-radius: 20px;
  padding: 24px 22px;
  text-align: center;
}

/* ⛔ NOT var(--accent). That variable is overridden per animal, so an accent
   eyebrow would be a different colour on each of the five guides — and a
   transaction block is not the place to express which animal she got.
   ⭐ #b08214 is the Before You Go page's --gold, carried over deliberately so
   the two surfaces read as one business. */
.offer-eyebrow {
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #b08214;
  font-weight: 600;
}

/* ⭐ balance, not the default: at desktop width this line broke as
   "…hands you the / night." — a one-word orphan ⟨Scott, 08-20⟩. Balancing
   evens the two lines instead, and it keeps doing it for copy nobody has
   written yet, which a hand-placed break would not. */
.offer-line {
  margin: 0 0 18px;
  font-size: 1rem;
  text-wrap: balance;
}

/* ⭐ #c24a16 — the ratified transaction colour, the same one the Before You Go
   block and the blocked screens use. A buy button is never a brand colour, so
   this deliberately ignores --accent and --deep. */
.offer-button {
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  display: block;
  width: 100%;
  padding: 15px;
  background: #c24a16;
  border: 1px solid #c24a16;
  border-radius: 14px;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}

.offer-button:hover,
.offer-button:focus-visible {
  background: #a63f13;
  border-color: #a63f13;
}

/* --- foot --- */

.guide-foot {
  margin-top: 56px;
  padding-top: 24px;
  border-top: 1px solid var(--hair);
  text-align: center;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
}

.guide-foot a {
  color: var(--muted);
  text-decoration: none;
}

@media (min-width: 700px) {
  body {
    padding: 64px 24px 80px;
  }

  .guide h1 {
    font-size: 2.4rem;
  }

  .guide p,
  .say-lines li {
    font-size: 1.13rem;
  }
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
