/* ============================================================
   Blog: field notes (2026-10-29, Rank Week)
   Loaded only by /blog/ and its posts, after style.css. It adds no fonts and no colours:
   every value below is a style.css token. One post = one real customer question, answered
   from a real visit, so the page reads like a dated entry in a repair log, not a magazine.
   ============================================================ */

/* breadcrumb (Home › Blog › post): the visible twin of the BreadcrumbList JSON-LD */
.crumbs { font: 600 .95rem/1.4 var(--font-body); color: var(--ink-soft); margin: 0 0 20px; }
.crumbs a { color: var(--ink-soft); text-decoration: none; }
.crumbs a:hover { color: var(--rust); text-decoration: underline; }
.crumbs .sep { margin: 0 .5em; }

/* ---------- post header ---------- */
.post-hero { padding: 58px 0 48px; }
.post-hero h1 {
  font-size: min(clamp(2.2rem, 4.8vw, 3.5rem), 12vw);
  line-height: 1.08; max-width: 21ch; text-wrap: balance;
}
.byline { display: flex; align-items: center; gap: 14px; margin-top: 28px; }
/* the <picture> is the flex item: it must not shrink, or the photo squeezes to a sliver beside a long line */
.byline picture { flex: none; }
.byline img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.byline b { display: block; font: 700 1.02rem/1.3 var(--font-body); color: var(--espresso); }
.byline .meta { display: block; font-size: .95rem; line-height: 1.45; color: var(--ink-soft); }
.byline time { font-variant-numeric: tabular-nums; }
.from-visit { margin: 18px 0 0; font-size: .98rem; color: var(--ink-soft); max-width: 60ch; }

/* ---------- post body: long-form reading at a senior-legible size ---------- */
.post-wrap { padding-top: 54px; padding-bottom: 72px; }
.post-body { max-width: 68ch; font-size: 1.16rem; line-height: 1.7; }
.post-body > :first-child { margin-top: 0; }
.post-body h2 { font-size: clamp(1.55rem, 2.6vw, 2rem); margin: 1.7em 0 .5em; }
.post-body h3 { font-size: clamp(1.24rem, 1.9vw, 1.45rem); margin: 1.45em 0 .4em; }
.post-body p { margin: 0 0 1.05em; }
.post-body ul, .post-body ol { margin: 0 0 1.15em; padding-left: 1.35em; }
.post-body li + li { margin-top: .4em; }
.post-body li::marker { color: var(--rust); }
.post-body a { text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.post-body strong { color: var(--espresso); }

/* who wrote it: a real person with a real photo, under every post */
.author {
  display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 18px; align-items: start;
  max-width: 68ch; margin-top: 46px; padding: 24px 0;
  border-top: 1.5px solid var(--line); border-bottom: 1.5px solid var(--line);
}
.author img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.author b { display: block; font: 640 1.2rem/1.25 var(--font-disp); color: var(--espresso); margin-bottom: 4px; }
.author p { margin: 0; color: var(--ink-soft); }

/* the one ask at the end of a post */
.post-cta {
  max-width: 68ch; margin-top: 40px; padding: 28px 30px;
  background: var(--cream); border: 1.5px solid var(--tan); border-radius: 18px;
}
.post-cta h2 { font-size: clamp(1.4rem, 2.4vw, 1.75rem); margin-bottom: 8px; }
.post-cta p { margin-bottom: 18px; }
.post-cta .ctas { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- the field log: hub list and "more field notes" ---------- */
.log { list-style: none; margin: 30px 0 0; padding: 0; border-top: 1.5px solid var(--line); }
.log li { border-bottom: 1.5px solid var(--line); }
.log a {
  display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) auto; gap: 22px; align-items: baseline;
  padding: 24px 6px; text-decoration: none; color: inherit;
}
.log time {
  font: 700 .8rem/1.5 var(--font-body); letter-spacing: .12em; text-transform: uppercase;
  color: var(--rust); font-variant-numeric: tabular-nums;
}
.log .t { display: block; font: 640 1.42rem/1.25 var(--font-disp); color: var(--espresso); }
.log .d { display: block; color: var(--ink-soft); margin-top: 6px; }
.log .go { font: 800 1.4rem/1 var(--font-body); color: var(--rust); }
.log-empty { padding: 26px 6px; margin: 0; color: var(--ink-soft); }
@media (max-width: 700px) {
  .log a { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 14px; padding: 20px 2px; }
  .log time { grid-column: 1 / -1; }
  .log .t { font-size: 1.26rem; }
}
@media (hover: hover) and (pointer: fine) {
  .log a:hover .t { color: var(--rust); }
}
/* the arrow moves 3px toward the post on hover; a row is hovered often, so it is short and transform-only */
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .log .go { transition: transform .16s var(--ease); }
  .log a:hover .go { transform: translateX(3px); }
}

/* guides already on the site, listed under the log */
.guides { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 12px; }
.guides a { font: 700 1.08rem/1.4 var(--font-body); }
.guides span { display: block; color: var(--ink-soft); font-size: .98rem; }
