/* Guides family only. Existing copy, SEO, media and interactions are unchanged. */
body:is(.guides-index,.guides-article) main {
  --guide-gutter:var(--pad,var(--gutter));
  color:var(--ink-800);
}
body.guides-index main .hero {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center;
  gap:var(--space-xl) var(--space-2xl);
  min-height:0;
  max-width:var(--width-wide);
  margin-inline:auto;
  padding:var(--section-y-tight) var(--guide-gutter) var(--space-l);
  background:var(--white);
  color:var(--ink-800);
  overflow:visible;
  /* v2-home.js reserves an absolute proof band inline; this band is in flow. */
  padding-bottom:var(--space-l) !important;
}
body.guides-index main .hero .hero__in { grid-column:1;grid-row:1;min-width:0; }
body.guides-index main .hero .hero__media {
  grid-column:2;grid-row:1;
  position:static;
  display:block;
  width:100%;height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
  opacity:1;transform:none;animation:none;will-change:auto;
  background:var(--ink-50);
}
body.guides-index main .hero .hero__scrim,
body.guides-index main .hero .rule--draw { display:none; }
body.guides-index main .hero.on-dark .hero__in > .eyebrow {
  margin:0 0 var(--space-m);
  color:var(--accent-text);
  font-family:Instrument,var(--font-heading);
  font-size:var(--step--1);
  font-weight:var(--weight-medium);
  letter-spacing:var(--tracking-widest);
  line-height:var(--leading-normal);
}
body.guides-index main .hero .hero__h1 {
  color:var(--ink-800);
  font-family:SourceSerif,var(--font-display);
  font-size:var(--step-5);
  font-weight:var(--weight-normal);
  line-height:var(--leading-snug);
  letter-spacing:var(--tracking-tight);
  margin:0;
  text-wrap:balance;
}
body.guides-index main .hero .hero__h1 .ln { display:inline;overflow:visible;padding:0;margin:0; }
body.guides-index main .hero .hero__h1 .ln > span { display:inline;transform:none;animation:none; }
body.guides-index main .hero .hero__tag {
  margin:var(--space-m) 0 0;
  max-width:var(--measure-narrow);
  color:var(--ink-600);
  font-family:Instrument,var(--font-heading);
  font-size:var(--step-0);
  font-style:normal;
  line-height:var(--leading-normal);
}
body.guides-index main .hero .hero__proof {
  position:static;
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-rows:auto auto;
  gap:var(--space-xs) var(--space-m);
  padding:var(--space-m) 0 0;
  margin:0;
  border:0;
  border-top:thin solid var(--ink-200);
  background:transparent;
  backdrop-filter:none;
}
body.guides-index main .hero .hero__proof > div { padding:0;min-width:0; }
body.guides-index main .hero .hero__proof span {
  color:var(--ink-800);
  font-family:SourceSerif,var(--font-display);
  font-size:var(--step--1);
  font-weight:var(--weight-normal);
  line-height:var(--leading-snug);
  letter-spacing:var(--tracking-normal);
}
body.guides-index main .hero .hero__proof p {
  margin:0;
  color:var(--ink-600);
  font-family:Instrument,var(--font-heading);
  font-size:var(--step--2);
  line-height:var(--leading-normal);
}
body.guides-index main .blog {
  max-width:var(--width-wide);
  margin-inline:auto;
  padding:var(--space-l) var(--guide-gutter) var(--section-y);
  background:var(--white);
}
body.guides-index main .blog__grid {
  margin:0;
  gap:var(--space-2xl) var(--space-l);
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body:is(.guides-index,.guides-article) main .next__card {
  min-width:0;
  padding:0 0 var(--space-m);
  background:transparent;
  border:0;
  border-bottom:thin solid var(--ink-200);
  border-radius:0;
  box-shadow:none;
  text-decoration:none;
}
body.guides-index main .blog__card .blog__ph {
  margin:0 0 var(--space-m);
  aspect-ratio:16/10;
  background:var(--ink-50);
}
body.guides-index main .blog__card .blog__ph :is(picture,img) {
  display:block;
  width:100%;height:100%;
}
body.guides-index main .blog__card .blog__ph img { object-fit:cover; }
body:is(.guides-index,.guides-article) main .next__card > span:not(.blog__ph):not(.blog__meta) {
  color:var(--accent-text);
  font-family:Instrument,var(--font-heading);
  font-size:var(--step--2);
  font-weight:var(--weight-medium);
  letter-spacing:var(--tracking-widest);
  line-height:var(--leading-normal);
}
body:is(.guides-index,.guides-article) main .next__card > b {
  margin:var(--space-xs) 0 0;
  color:var(--ink-800);
  font-family:SourceSerif,var(--font-display);
  font-size:var(--step-2);
  font-weight:var(--weight-normal);
  line-height:var(--leading-snug);
  letter-spacing:var(--tracking-tight);
  text-wrap:pretty;
}
body:is(.guides-index,.guides-article) main .next__card > p {
  margin:var(--space-s) 0;
  color:var(--ink-600);
  font-family:Instrument,var(--font-heading);
  font-size:var(--step--1);
  line-height:var(--leading-normal);
}
body:is(.guides-index,.guides-article) main .next__card > i { display:none; }
body:is(.guides-index,.guides-article) main .next__card:is(:hover,:focus-visible) > b {
  color:var(--accent-text);
  text-decoration:underline;
  text-decoration-color:var(--accent-500);
  text-underline-offset:var(--space-3xs);
}
body.guides-index main .blog__card .blog__meta { margin-top:auto;padding-top:var(--space-xs); }
body.guides-index main .blog__card .blog__meta b {
  color:var(--ink-600);
  font-family:Instrument,var(--font-heading);
  font-size:var(--step--2);
  font-weight:var(--weight-normal);
  line-height:var(--leading-normal);
  letter-spacing:var(--tracking-wide);
}
body.guides-index main .pager { gap:var(--space-xs);margin-top:var(--space-2xl); }
body.guides-index main .pager :is(a,span) {
  min-width:var(--space-xl);
  padding:var(--space-xs) var(--space-s);
  border:thin solid var(--ink-200);
  border-radius:0;
  color:var(--ink-700);
  background:var(--white);
  font-family:Instrument,var(--font-heading);
  font-size:var(--step--1);
  line-height:var(--leading-normal);
}
body.guides-index main .pager a:is(:hover,:focus-visible),
body.guides-index main .pager [aria-current="page"] { color:var(--ink-800);background:var(--accent-tint);border-color:var(--accent-500);transform:none; }
body.guides-index main .pager .pager__gap { display:none; }

/* Article furniture follows the same editorial rhythm; markdown is untouched. */
body.guides-article main > article { background:var(--white);color:var(--ink-800); }
body.guides-article main > article > :is(.pm,.post,.next,.faq) {
  max-width:var(--width-wide);
  margin-inline:auto;
  padding-inline:var(--guide-gutter);
  background:var(--white);
}
body.guides-article main article header.pm {
  position:static;z-index:auto;
  padding-block:var(--section-y-tight) 0;
  border:0;
  color:var(--ink-800);
}
body.guides-article main .pm .pm__meta {
  gap:var(--space-s);
  color:var(--ink-600);
  font-family:Instrument,var(--font-heading);
  font-size:var(--step--2);
  line-height:var(--leading-normal);
  letter-spacing:var(--tracking-wide);
}
body.guides-article main .pm .pm__cat { padding:0;background:transparent;color:var(--accent-text);font-weight:var(--weight-medium); }
body.guides-article main article .pm h1 {
  max-width:var(--measure-narrow);
  margin:var(--space-m) 0 0;
  color:var(--ink-800);
  font-family:SourceSerif,var(--font-display);
  font-size:var(--step-5);
  font-weight:var(--weight-normal);
  line-height:var(--leading-snug);
  letter-spacing:var(--tracking-tight);
  text-wrap:balance;
}
body.guides-article main .pm .pm__sub {
  max-width:var(--measure);
  margin:var(--space-m) 0 0;
  color:var(--ink-600);
  font-family:Instrument,var(--font-heading);
  font-size:var(--step-1);
  font-style:normal;
  line-height:var(--leading-normal);
}
body.guides-article main .pm .pm__by {
  gap:var(--space-xs) var(--space-l);
  margin:var(--space-l) 0 0;
  padding:0;
  color:var(--ink-600);
  font-family:Instrument,var(--font-heading);
  font-size:var(--step--2);
  line-height:var(--leading-normal);
}
body.guides-article main .pm .pm__by b { color:var(--ink-700);font-weight:var(--weight-medium); }
body.guides-article main .pm .pm__cover {
  margin-top:var(--space-l);
  background:var(--ink-50);
  border-radius:0;
  aspect-ratio:auto;
  overflow:visible;
}
body.guides-article main .pm .pm__cover img { display:block;width:100%;height:auto;object-fit:contain; }
body.guides-article main .post { padding-block:var(--space-2xl) var(--section-y); }
body.guides-article main .post .post__in {
  display:grid;
  grid-template-columns:minmax(0,calc(var(--space-3xl) * 2.5)) minmax(0,var(--width-text));
  justify-content:space-between;
  gap:var(--space-2xl);
  align-items:start;
}
body.guides-article main .post .post__in:not(:has(.post__toc)) { grid-template-columns:minmax(0,var(--width-text));justify-content:center; }
body.guides-article main .post .post__toc {
  position:sticky;
  top:calc(var(--header-h) + var(--space-m));
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--space-3xl) * 1.5)),1fr));
  gap:var(--space-2xs) var(--space-m);
  padding:var(--space-m);
  margin:0;
  min-width:0;
  background:var(--ink-50);
}
body.guides-article main .post .post__toc > b {
  grid-column:1/-1;
  padding:0 0 var(--space-xs);
  color:var(--ink-800);
  font-family:Instrument,var(--font-heading);
  font-size:var(--step--2);
  font-weight:var(--weight-semibold);
  letter-spacing:var(--tracking-widest);
}
body.guides-article main .post .post__toc a {
  padding:var(--space-2xs) 0;
  border:0;
  color:var(--ink-600);
  font-family:Instrument,var(--font-heading);
  font-size:var(--step--1);
  line-height:var(--leading-normal);
  text-decoration:none;
}
body.guides-article main .post .post__toc a:is(:hover,:focus-visible) { color:var(--accent-text);text-decoration:underline;text-underline-offset:var(--space-3xs); }
body.guides-article main .post .prose {
  width:100%;
  max-width:min(100%,var(--measure));
  min-width:0;
  font-size:var(--font-body-size);
  line-height:var(--leading-relaxed);
  color:var(--ink-800);
}
body.guides-article main .post .prose :is(h2,h3,h4) { color:var(--ink-800);scroll-margin-top:calc(var(--header-h) + var(--space-l)); }
body.guides-article main .post .prose h2 {
  margin-block:var(--space-xl) var(--space-s);
  font-family:SourceSerif,var(--font-display);
  font-weight:var(--weight-normal);
  font-size:var(--step-3);
  line-height:var(--leading-snug);
}
body.guides-article main .post .prose > :first-child { margin-top:0; }
body.guides-article main .post .prose :is(strong,a) { color:var(--ink-800); }
body.guides-article main .post .prose a { border:0;text-decoration:underline;text-decoration-color:var(--accent-500);text-underline-offset:var(--space-3xs); }
body.guides-article main .post .prose a:hover { color:var(--accent-text); }
body.guides-article main .post .prose :is(th,td,blockquote) { color:var(--ink-700); }
body.guides-article main .post .post__ask { padding:var(--space-m);gap:var(--space-m);background:var(--ink-50); }
body.guides-article main .post .post__ask p { margin:0;font-size:var(--step-1);line-height:var(--leading-normal);color:var(--ink-800); }
body.guides-article main .post .post__ask .btn { color:var(--ink-800);text-decoration:none;border:0;border-radius:0; }
body.guides-article main .post .post__ask .btn svg { display:none; }
body.guides-article main :is(.faq,.next) { padding-block:var(--section-y-tight); }
body.guides-article main .next .next__grid { gap:var(--space-l);margin-top:var(--space-l); }
body.guides-article main :is(.faq,.next) .eyebrow { color:var(--accent-text);font-family:Instrument,var(--font-heading);font-size:var(--step--2);letter-spacing:var(--tracking-widest); }
body.guides-article main :is(.faq,.next) .eyebrow .rule { display:none; }

/* Match the existing blog family's two responsive breakpoints. */
@media(max-width:60rem) {
  body.guides-index main .hero { column-gap:var(--space-l); }
  body.guides-index main .hero .hero__proof { grid-template-columns:repeat(3,minmax(0,1fr));row-gap:var(--space-s); }
  body.guides-index main .blog__grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl) var(--space-m); }
  body.guides-article main .post .post__in { grid-template-columns:minmax(0,1fr);gap:var(--space-l); }
  body.guides-article main .post .post__toc { position:static; }
  body.guides-article main .post .prose { width:100%;max-width:min(100%,var(--measure));margin-inline:auto; }
}
@media(max-width:45rem) {
  body.guides-index main .hero { grid-template-columns:minmax(0,1fr);gap:var(--space-l);padding-block:var(--space-l); }
  body.guides-index main .hero .hero__in { grid-column:1;grid-row:1; }
  body.guides-index main .hero .hero__media { grid-column:1;grid-row:2;aspect-ratio:16/10; }
  body.guides-index main .hero .hero__proof { grid-column:1;grid-row:3;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:var(--space-m); }
  body.guides-index main .hero .hero__h1,
  body.guides-article main article .pm h1 { font-size:var(--step-4); }
  body.guides-index main .hero.on-dark .hero__in > .eyebrow { margin-bottom:var(--space-xs); }
  body.guides-index main .hero .hero__tag { margin-top:var(--space-s); }
  body.guides-index main .blog { padding-top:var(--space-m); }
  body.guides-index main .blog__grid { grid-template-columns:minmax(0,1fr);gap:var(--space-xl); }
  body.guides-index main .blog__card .blog__ph { aspect-ratio:16/9;margin-bottom:var(--space-s); }
  body.guides-index main .pager { gap:var(--space-2xs);margin-top:var(--space-xl); }
  body.guides-index main .pager :is(a,span) { padding:var(--space-xs); }
  body.guides-article main article header.pm { padding-top:var(--space-l); }
  body.guides-article main .pm .pm__by { gap:var(--space-xs) var(--space-m);margin-top:var(--space-m); }
  body.guides-article main .pm .pm__cover { aspect-ratio:auto;margin-top:var(--space-m); }
  body.guides-article main .post { padding-block:var(--space-l); }
  body.guides-article main .post .post__toc { padding:var(--space-s); }
  body.guides-article main .post .prose h2 { font-size:var(--step-2);margin-top:var(--space-l); }
  body.guides-article main .post .post__ask { padding:var(--space-s); }
  body.guides-article main :is(.faq,.next) { padding-block:var(--space-l); }
}
