/* Hallmark · shape: Index-First · genre: editorial · theme: Editorial (by request) · job: buy · draw: manual
 * hero: split, headline left, cover line right · nav: masthead bar · footer: colophon columns · imagery: the guides' own featured photographs · signature: the lead guide as a magazine cover line
 * axes: light/display-condensed/chromatic-green · posture: restrained · contrast: pass · fold: pass · v2.0.0 */
/* Hallmark · pre-emit critique: P3 H3 E3 S3 R2 V3 · weakest: R, the parent theme's components stay; their tokens are remapped and the loud ones restyled below */
/* Hallmark · answered F1 · the accent is the brand blue #0369A1 kept from the logo, in place of the theme's printer's green */

/* ---------- tokens (the accent is --color-brand: the customizer prints its own --color-accent on :root after this file) ---------- */
:root {
  color-scheme: light;
  --space-3xs: 2px; --space-2xs: 4px; --space-xs: 8px; --space-sm: 12px; --space-md: 16px; --space-lg: 24px; --space-xl: 40px; --space-2xl: 64px; --space-3xl: 96px; --space-4xl: 144px;
  --text-xs: 0.8125rem; --text-sm: 0.875rem; --text-md: 1rem; --text-lg: 1.25rem; --text-xl: 1.5625rem; --text-2xl: 1.953rem; --text-3xl: 2.441rem;
  --text-display-s: clamp(2rem, 3vw + 0.75rem, 3.25rem); --text-display: clamp(2.75rem, 4.2vw + 1rem, 4.75rem);
  --text-section: clamp(1.875rem, 2vw + 1rem, 3rem); --text-title: clamp(1.25rem, 0.75vw + 0.875rem, 1.625rem); --text-lead: clamp(1.125rem, 0.35vw + 1rem, 1.375rem);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-micro: 120ms; --dur-short: 220ms;
  --container: 1320px; --gutter: 48px; --gap-columns: 32px; --section-gap: 112px;
  --color-paper: oklch(97% 0.007 86); --color-paper-2: oklch(94% 0.010 86); --color-paper-3: oklch(91% 0.012 84);
  --color-ink: oklch(16% 0.012 280); --color-ink-2: oklch(29% 0.011 280); --color-muted: oklch(46% 0.010 75);
  --color-rule: oklch(85% 0.009 85); --color-rule-2: oklch(64% 0.010 80);
  --color-brand: #0369a1; --color-brand-ink: oklch(98% 0.005 88); --color-focus: #0369a1;
  --color-scrim: oklch(16% 0.012 280 / 0.82);
  --font-display: "Bricolage Grotesque", ui-sans-serif, sans-serif; --font-body: "Source Serif 4", ui-serif, Georgia, serif;
  --radius-card: 0; --rule-hair: 1px; --rule-heavy: 4px;
  --tracking-display: -0.012em; --display-weight: 800;
}
@media (max-width: 60rem) { :root { --gutter: 24px; --section-gap: 80px; } }
@media (max-width: 40rem) { :root { --gutter: 16px; --section-gap: 56px; --gap-columns: 16px; } }

/* the parent theme's tokens, pointed at ours so its components follow */
body.hm-editorial {
  --color-primary: var(--color-brand); --color-primary-rgb: 3, 105, 161; --color-primary-hover: var(--color-ink); --color-primary-dark: var(--color-ink); --color-primary-light: var(--color-paper-2);
  --color-accent: var(--color-brand); --color-accent-hover: var(--color-ink); --color-accent-light: var(--color-paper-2);
  --color-text: var(--color-ink); --color-text-secondary: var(--color-ink-2); --color-text-muted: var(--color-muted); --color-text-subtle: var(--color-muted);
  --color-bg: var(--color-paper); --color-bg-alt: var(--color-paper-2); --color-surface: var(--color-paper); --color-surface-raised: var(--color-paper); --color-surface-hover: var(--color-paper-2);
  --color-border: var(--color-rule); --color-border-subtle: var(--color-rule); --color-border-strong: var(--color-rule-2);
  --font-sans: var(--font-body);
  --radius-sm: 0; --radius-md: 0; --radius-lg: 0; --radius-xl: 0; --radius-2xl: 0; --radius-3xl: 0; --radius-full: 0;
  --shadow-xs: none; --shadow-sm: none; --shadow-md: none; --shadow-lg: none; --shadow-xl: none; --shadow-2xl: none; --shadow-primary: none; --shadow-accent: none;
}

/* ---------- base ---------- */
html, body { overflow-x: clip; }
html { scroll-padding-top: var(--space-3xl); scrollbar-color: var(--color-muted) var(--color-paper); }
body.hm-editorial { margin: 0; background: var(--color-paper); color: var(--color-ink-2); font-family: var(--font-body); font-size: 1.0625rem; line-height: 1.55; font-optical-sizing: auto; -webkit-font-smoothing: antialiased; }
.hm-editorial ::selection { background: color-mix(in oklab, var(--color-brand) 22%, transparent); }
.hm-editorial :focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; transition: none; }
.hm-editorial a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.hm-editorial h1, .hm-editorial h2, .hm-editorial h3 {
  font-family: var(--font-display); font-weight: var(--display-weight); font-variation-settings: "wdth" 75, "opsz" 96; font-synthesis: none;
  letter-spacing: var(--tracking-display); color: var(--color-ink); font-variant-numeric: lining-nums tabular-nums; overflow-wrap: break-word; min-width: 0; text-wrap: balance;
}
.hm-editorial h4, .hm-editorial h5 { font-family: var(--font-display); font-weight: 700; font-variation-settings: "wdth" 85, "opsz" 24; color: var(--color-ink); letter-spacing: 0; }
.hm-editorial .skip-link { background: var(--color-ink); color: var(--color-paper); font-family: var(--font-display); border-radius: 0; }
.hm-editorial .screen-reader-text, .hm-editorial .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hm-editorial .container { max-width: var(--container); padding-inline: var(--gutter); }

/* controls */
.hm-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 var(--space-lg); border: var(--rule-hair) solid var(--color-ink); border-radius: 0; font: 500 var(--text-md)/1 var(--font-display); font-variation-settings: "opsz" 12; text-decoration: none; transition: background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out); }
.hm-editorial .hm-btn--ink { background: var(--color-ink); color: var(--color-paper); }
.hm-editorial .hm-btn--ink:hover { background: var(--color-ink-2); }
.hm-btn:active, .hm-editorial .acms-btn.acms-btn--amazon:active, .hm-editorial .btn:active, .hm-icon-btn:active { background: var(--color-ink-2); color: var(--color-paper); }
.hm-editorial .hm-btn--outline { background: none; color: var(--color-ink); }
.hm-editorial .hm-btn--outline:hover { background: var(--color-paper-2); }
.hm-link { font: 500 var(--text-md)/1.3 var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-ink); text-decoration: underline; text-decoration-color: var(--color-rule-2); transition: text-decoration-color var(--dur-short) var(--ease-out); }
.hm-link:hover { text-decoration-color: var(--color-brand); }
.hm-tag { display: inline-block; padding: var(--space-3xs) var(--space-xs); background: var(--color-brand); color: var(--color-brand-ink); font: 500 var(--text-sm)/1.4 var(--font-display); font-variation-settings: "opsz" 12; }
.hm-icon-btn { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: none; color: var(--color-ink); cursor: pointer; }
.hm-icon-btn svg { fill: none; stroke: currentColor; stroke-width: 1.75; }
.hm-icon-btn:hover { background: var(--color-paper-2); }

/* ---------- masthead ---------- */
.hm-editorial .site-header.hm-masthead { position: sticky; top: 0; z-index: 300; background: var(--color-paper); border-bottom: var(--rule-hair) solid var(--color-ink); box-shadow: none; height: auto; }
.hm-masthead__inner { display: flex; align-items: center; gap: var(--space-lg); max-width: var(--container); margin-inline: auto; padding: var(--space-sm) var(--gutter); min-height: 72px; }
.hm-masthead__brand { flex: none; }
.hm-masthead__brand img { display: block; max-height: 40px; width: auto; }
.hm-masthead__nav { flex: 1 1 auto; min-width: 0; }
.hm-masthead__nav .header__menu { display: flex; flex-wrap: nowrap; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
.hm-masthead__nav .header__menu > li > a, .hm-masthead__nav .menu-item--more > button {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--space-sm); background: none; border: 0; border-radius: 0;
  font: 500 var(--text-md)/1 var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-ink); text-decoration: none; white-space: nowrap; letter-spacing: 0; text-transform: none;
}
.hm-masthead__nav .header__menu > li > a:hover, .hm-masthead__nav .header__menu > .current-menu-item > a, .hm-masthead__nav .header__menu > .current-menu-ancestor > a { text-decoration: underline; text-decoration-color: var(--color-brand); text-underline-offset: 0.3em; background: none; color: var(--color-ink); }
.hm-masthead__nav .sub-menu, .hm-masthead__nav .more-menu__dropdown { background: var(--color-paper); border: var(--rule-hair) solid var(--color-ink); border-radius: 0; box-shadow: none; }
.hm-masthead__nav .sub-menu a, .hm-masthead__nav .more-menu__dropdown a { font: 400 var(--text-md)/1.35 var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-ink); border-radius: 0; }
.hm-masthead__nav .sub-menu a:hover, .hm-masthead__nav .more-menu__dropdown a:hover { background: var(--color-paper-2); color: var(--color-ink); }
.hm-masthead__actions { display: flex; align-items: center; gap: var(--space-xs); margin-left: auto; flex: none; }
.hm-masthead__actions .mobile-menu-toggle { display: none; }
.hm-masthead__actions .mobile-menu-toggle .icon-close { display: none; }
.hm-masthead__actions .mobile-menu-toggle[aria-expanded="true"] .icon-menu { display: none; }
.hm-masthead__actions .mobile-menu-toggle[aria-expanded="true"] .icon-close { display: block; }
@media (max-width: 64rem) {
  .hm-masthead__nav, .hm-masthead__cta { display: none; }
  .hm-masthead__actions .mobile-menu-toggle { display: inline-grid; }
  .hm-masthead__inner { min-height: 60px; padding-block: var(--space-xs); }
  .hm-masthead__brand img { max-height: 32px; }
}

/* mobile drawer and search: hidden for real when closed, so nothing hangs off the edge */
.hm-editorial .mobile-nav { background: var(--color-paper); border-left: var(--rule-hair) solid var(--color-ink); max-width: min(320px, 100%); visibility: hidden; transition: transform 0.35s var(--ease-out), visibility 0s linear 0.35s; }
.hm-editorial .mobile-nav.is-open { visibility: visible; transition: transform 0.35s var(--ease-out), visibility 0s; }
.hm-editorial .mobile-nav__header { max-width: 100%; }
.hm-editorial .mobile-nav__link, .hm-editorial .mobile-nav__title { font-family: var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-ink); }
.hm-editorial .mobile-nav__close { transition: background-color var(--dur-short) var(--ease-out); }
.hm-editorial .mobile-nav-overlay { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--color-scrim); }
.hm-editorial .search-modal__content { border: var(--rule-hair) solid var(--color-ink); background: var(--color-paper); }
.hm-editorial .search-modal__input { font-family: var(--font-display); font-variation-settings: "opsz" 12; }

/* ---------- colophon ---------- */
.hm-editorial .site-footer.hm-colophon { margin-top: var(--section-gap); background: var(--color-ink); color: var(--color-paper); border: 0; padding: 0; }
.hm-colophon__inner { display: grid; grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)) minmax(0, 2fr); gap: var(--gap-columns); max-width: var(--container); margin-inline: auto; padding: var(--space-2xl) var(--gutter) var(--space-xl); }
.hm-colophon__wordmark { font: var(--display-weight) var(--text-section)/0.95 var(--font-display); font-variation-settings: "wdth" 75, "opsz" 96; letter-spacing: var(--tracking-display); color: var(--color-paper); text-decoration: none; }
.hm-colophon__brand p { margin: var(--space-md) 0 0; max-width: 46ch; color: var(--color-paper-3); }
.hm-editorial .hm-colophon h2 { margin: 0 0 var(--space-sm); font: 500 var(--text-md)/1.3 var(--font-display); font-variation-settings: "opsz" 12; letter-spacing: 0; color: var(--color-paper-3); }
.hm-colophon ul { margin: 0; padding: 0; list-style: none; }
.hm-colophon li + li { margin-top: var(--space-2xs); }
.hm-colophon a { color: var(--color-paper); text-decoration-color: color-mix(in oklab, var(--color-paper) 40%, transparent); }
.hm-colophon a:hover { text-decoration-color: var(--color-paper); }
.hm-colophon__col a { display: inline-block; padding-block: var(--space-2xs); font: 500 var(--text-md)/1.3 var(--font-display); font-variation-settings: "opsz" 12; text-decoration: none; }
.hm-colophon__col a:hover { text-decoration: underline; }
.hm-colophon__note p { margin: 0 0 var(--space-xs); font-size: var(--text-sm); color: var(--color-paper-3); max-width: 46ch; }
.hm-colophon__base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-md); max-width: var(--container); margin-inline: auto; padding: var(--space-md) var(--gutter) var(--space-xl); border-top: var(--rule-hair) solid color-mix(in oklab, var(--color-paper) 25%, transparent); }
.hm-colophon__policies { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-lg); }
.hm-colophon__policies a, .hm-colophon__social a { font: 400 var(--text-sm)/1.4 var(--font-display); font-variation-settings: "opsz" 12; }
.hm-colophon__social { display: flex; gap: var(--space-lg); }
.hm-editorial .hm-colophon .footer__copyright { margin: 0; font: 400 var(--text-sm)/1.4 var(--font-display); color: var(--color-paper-3); }
@media (max-width: 60rem) { .hm-colophon__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hm-colophon__brand, .hm-colophon__note { grid-column: 1 / -1; } }

/* ---------- home ---------- */
.hm-home { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.hm-home > section + section { margin-top: var(--section-gap); }
.hm-hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-2xl); align-items: end; padding-top: var(--space-2xl); }
.hm-hero h1 { margin: 0; font-size: var(--text-display); line-height: 0.92; max-width: 11ch; }
.hm-hero__lead { margin: var(--space-lg) 0 0; max-width: 34ch; font-size: var(--text-lead); line-height: 1.4; color: var(--color-ink); }
.hm-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-xl); }
.hm-editorial .hm-cover { display: grid; grid-template-rows: minmax(0, 1fr) auto; aspect-ratio: 4 / 3; overflow: hidden; background: var(--color-paper); border: var(--rule-hair) solid var(--color-ink); text-decoration: none; color: var(--color-paper); }
.hm-cover__img { width: 100%; height: 100%; min-height: 0; object-fit: contain; padding: var(--space-xl); }
.hm-cover__line { display: grid; gap: var(--space-xs); justify-items: start; padding: var(--space-lg); background: var(--color-ink); }
.hm-cover__title { font: var(--display-weight) var(--text-2xl)/1 var(--font-display); font-variation-settings: "wdth" 75, "opsz" 96; letter-spacing: var(--tracking-display); max-width: 26ch; overflow-wrap: break-word; min-width: 0; text-wrap: balance; }
.hm-cover:hover .hm-cover__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.12em; }

.hm-section-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-md); padding-top: var(--space-lg); border-top: var(--rule-heavy) solid var(--color-ink); }
.hm-section-head h2 { margin: 0; font-size: var(--text-section); line-height: 1; }

.hm-rows { margin: var(--space-xl) 0 0; padding: 0; list-style: none; }
.hm-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 5fr) minmax(0, 4fr) auto; gap: var(--gap-columns); align-items: baseline; padding-block: var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); }
.hm-row:last-child { border-bottom: var(--rule-hair) solid var(--color-rule); }
.hm-row__cat, .hm-row__date { font: 500 var(--text-sm)/1.4 var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-muted); }
.hm-row__date { font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.hm-row__title { margin: 0; font-size: var(--text-title); line-height: 1.05; max-width: none; }
.hm-row__title a { text-decoration: none; }
.hm-row__title a:hover { text-decoration: underline; text-decoration-color: var(--color-brand); text-decoration-thickness: 2px; }
.hm-row__dek { margin: 0; font-size: var(--text-md); color: var(--color-ink-2); max-width: 52ch; }

.hm-statement { padding-top: var(--space-lg); border-top: var(--rule-heavy) solid var(--color-ink); }
.hm-standfirst { margin: 0 0 var(--space-lg); max-width: 32ch; font: 400 var(--text-display-s)/1.18 var(--font-body); color: var(--color-ink); text-wrap: balance; }

.hm-shelves__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-xl) var(--gap-columns); margin-top: var(--space-xl); }
.hm-shelf { padding-top: var(--space-sm); border-top: var(--rule-hair) solid var(--color-rule-2); }
.hm-shelf__title { margin: 0 0 var(--space-sm); font-size: var(--text-xl); line-height: 1; }
.hm-shelf__title a { text-decoration: none; }
.hm-shelf__title a:hover { text-decoration: underline; text-decoration-color: var(--color-brand); }
.hm-shelf ul { margin: 0; padding: 0; list-style: none; }
.hm-shelf li { padding-block: var(--space-xs); border-top: var(--rule-hair) solid var(--color-rule); }
.hm-shelf li:first-child { border-top: 0; }
.hm-shelf li a { font-size: var(--text-md); line-height: 1.35; color: var(--color-ink); text-decoration-color: var(--color-rule-2); }
.hm-shelf li a:hover { text-decoration-color: var(--color-brand); }

.hm-figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: var(--color-ink); color: var(--color-paper); margin-inline: calc(var(--gutter) * -1); padding: var(--space-2xl) var(--gutter); }
.hm-figure { display: grid; gap: var(--space-xs); padding-inline: var(--space-lg); border-left: var(--rule-hair) solid color-mix(in oklab, var(--color-paper) 25%, transparent); }
.hm-figure:first-child { border-left: 0; padding-left: 0; }
.hm-figure__n { font: var(--display-weight) var(--text-display)/0.9 var(--font-display); font-variation-settings: "wdth" 75, "opsz" 96; letter-spacing: var(--tracking-display); font-variant-numeric: lining-nums tabular-nums; }
.hm-figure__l { font: 500 var(--text-md)/1.3 var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-paper-3); }
.hm-editorial .hm-home ~ .site-footer.hm-colophon { margin-top: 0; }

@media (max-width: 75rem) { .hm-shelves__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 60rem) {
  .hm-shelves__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hm-hero { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); padding-top: var(--space-xl); }
  .hm-row { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2xs) var(--space-md); }
  .hm-row__cat { grid-column: 1; grid-row: 1; }
  .hm-row__date { grid-column: 2; grid-row: 1; }
  .hm-row__title, .hm-row__dek { grid-column: 1 / -1; }
  .hm-figures { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .hm-figure { border-left: 0; padding-left: 0; padding-top: var(--space-lg); border-top: var(--rule-hair) solid color-mix(in oklab, var(--color-paper) 25%, transparent); }
  .hm-figure:first-child { border-top: 0; padding-top: 0; }
}
@media (max-width: 40rem) { .hm-shelves__grid { grid-template-columns: minmax(0, 1fr); } .hm-row__dek { display: none; } .hm-editorial .hm-cover { aspect-ratio: auto; grid-template-rows: auto auto; } .hm-cover__img { height: 240px; padding: var(--space-lg); } }

/* ---------- article ---------- */
.hm-editorial .page-header { background: none; padding: var(--space-2xl) 0 var(--space-lg); text-align: left; overflow: visible; }
.hm-editorial .page-header__background { display: none; }
.hm-editorial .page-header__content { max-width: none; margin: 0; padding-top: var(--space-lg); border-top: var(--rule-heavy) solid var(--color-ink); text-align: left; align-items: flex-start; }
.hm-editorial .page-header .breadcrumb, .hm-editorial .page-header .rank-math-breadcrumb { justify-content: flex-start; text-align: left; margin: 0 0 var(--space-lg); width: 100%; }
.hm-editorial .page-header__title { margin: 0; max-width: 20ch; font-size: var(--text-display); line-height: 0.95; text-align: left; color: var(--color-ink); background: none; -webkit-text-fill-color: currentColor; }
.hm-editorial .post-content ul li::marker { color: var(--color-ink); }
.hm-editorial .post-hero { background: none; padding: var(--space-2xl) 0 var(--space-xl); text-align: left; overflow: visible; }
.hm-editorial .post-hero__background { display: none; }
.hm-editorial .post-hero .container, .hm-editorial .page-header .container { max-width: calc(50rem + var(--gutter) * 2); margin-inline: auto; }
.hm-editorial .post-hero__content { max-width: none; margin: 0; padding-top: var(--space-lg); border-top: var(--rule-heavy) solid var(--color-ink); text-align: left; align-items: flex-start; }
.hm-editorial .post-hero .breadcrumb, .hm-editorial .post-hero .rank-math-breadcrumb, .hm-editorial .cat-header--centered .breadcrumb { justify-content: flex-start; text-align: left; margin: 0 0 var(--space-lg); width: 100%; }
.hm-editorial .rank-math-breadcrumb p { margin: 0; font: 500 var(--text-sm)/1.5 var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-muted); }
.hm-editorial .rank-math-breadcrumb a { color: var(--color-ink); text-decoration: underline; text-decoration-color: var(--color-rule-2); }
.hm-editorial .rank-math-breadcrumb a:hover { text-decoration-color: var(--color-brand); }
.hm-editorial .post-hero__title { margin: 0; max-width: 22ch; font-size: var(--text-display); line-height: 0.95; text-align: left; color: var(--color-ink); background: none; -webkit-text-fill-color: currentColor; }
.hm-editorial .post-hero__excerpt { margin: var(--space-lg) 0 0; max-width: 46ch; font: 400 var(--text-lead)/1.45 var(--font-body); color: var(--color-ink); text-align: left; }
.hm-editorial .post-hero__meta { justify-content: flex-start; flex-wrap: wrap; gap: var(--space-sm) var(--space-lg); margin-top: var(--space-xl); padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-rule); width: 100%; }
.hm-editorial .post-hero__meta, .hm-editorial .post-hero__meta a, .hm-editorial .post-hero__details { font: 500 var(--text-sm)/1.4 var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-ink-2); }
.hm-editorial .post-hero__author-avatar { border-radius: 0; width: 32px; height: 32px; }
.hm-editorial .post-hero__details .bi { display: none; }
.hm-editorial .post-hero__details { gap: var(--space-lg); justify-content: flex-start; }
.hm-editorial .post-hero__meta, .hm-editorial .post-hero__author { flex-direction: row; align-items: center; text-align: left; }
.hm-editorial .post-hero__views, .hm-editorial .post-hero__rating--empty { display: none; }

.hm-editorial .post-article .container { max-width: calc(50rem + var(--gutter) * 2); margin-inline: auto; }
.hm-editorial .post-content { max-width: none; margin-inline: 0; font-size: 1.125rem; line-height: 1.6; color: var(--color-ink-2); }
.hm-editorial .post-content p, .hm-editorial .post-content li { max-width: 68ch; }
.hm-editorial .post-content h2 { margin: var(--space-2xl) 0 var(--space-md); padding-top: var(--space-md); border-top: var(--rule-heavy) solid var(--color-ink); font-size: var(--text-section); line-height: 1; max-width: 24ch; }
.hm-editorial .post-content h3 { margin: var(--space-xl) 0 var(--space-sm); font-size: var(--text-xl); line-height: 1.05; max-width: 34ch; }
.hm-editorial .post-content a { color: var(--color-brand); text-decoration-color: color-mix(in oklab, var(--color-brand) 45%, transparent); }
.hm-editorial .post-content a:hover { text-decoration-color: var(--color-brand); }
.hm-editorial .post-content blockquote { margin: var(--space-xl) 0; padding: 0 0 0 var(--space-lg); border-left: var(--rule-heavy) solid var(--color-ink); font-style: italic; color: var(--color-ink); background: none; }
.hm-editorial .post-content table { border-collapse: collapse; width: 100%; font-size: var(--text-md); border-top: var(--rule-heavy) solid var(--color-ink); }
.hm-editorial .post-content th { font: 500 var(--text-sm)/1.3 var(--font-display); font-variation-settings: "opsz" 12; text-align: left; color: var(--color-ink); background: none; border-bottom: var(--rule-hair) solid var(--color-rule-2); text-transform: none; letter-spacing: 0; }
.hm-editorial .post-content td { border-bottom: var(--rule-hair) solid var(--color-rule); }
.hm-editorial .post-content figure img, .hm-editorial .post-content .wp-block-image img { border-radius: 0; }

/* table of contents: a well, not a card */
.hm-editorial .toc-expandable__card { background: var(--color-paper-2); border: 0; border-top: var(--rule-hair) solid var(--color-rule-2); border-radius: 0; box-shadow: none; }
.hm-editorial .toc-expandable__icon { display: none; }
.hm-editorial .toc-expandable__title { font-size: var(--text-lg); }
.hm-editorial .toc-expandable__meta-item, .hm-editorial .toc-expandable__link { font-family: var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-ink); }
.hm-editorial .toc-expandable__number, .hm-editorial .toc-bubble__number, .hm-editorial .toc-expandable__link--h3 .toc-expandable__number { min-width: 2.5em; height: auto; font-size: var(--text-xs); font-weight: 500; color: var(--color-muted); background: none; border-radius: 0; font-variant-numeric: lining-nums tabular-nums; transition: color var(--dur-short) var(--ease-out); }
.hm-editorial .toc-expandable__link { color: var(--color-ink); border-radius: 0; transition: background-color var(--dur-short) var(--ease-out); }
.hm-editorial .toc-expandable__link--h3 { font-size: var(--text-sm); color: var(--color-ink-2); }
.hm-editorial .toc-expandable__link:hover, .hm-editorial .toc-expandable__link.is-active { color: var(--color-ink); background: var(--color-paper-3); }
.hm-editorial .toc-expandable__link:hover .toc-expandable__number, .hm-editorial .toc-expandable__link.is-active .toc-expandable__number { color: var(--color-ink); background: none; }
.hm-editorial .toc-expandable__progress-bar, .hm-editorial .toc-bubble__progress-bar { background: var(--color-ink); }
.hm-editorial .toc-expandable__expand { font-family: var(--font-display); color: var(--color-ink); border-radius: 0; }
.hm-editorial .toc-bubble__trigger { border-radius: 0; background: var(--color-ink); color: var(--color-paper); box-shadow: none; }
.hm-editorial .toc-bubble__panel { border: var(--rule-hair) solid var(--color-ink); border-radius: 0; box-shadow: none; background: var(--color-paper); }

/* product picks */
.hm-editorial .acms-list { border-top: var(--rule-heavy) solid var(--color-ink); }
.hm-editorial .acms-list__item { position: relative; background: none; border: 0; border-bottom: var(--rule-hair) solid var(--color-rule); border-radius: 0; box-shadow: none; padding-block: var(--space-lg); margin: 0; }
.hm-editorial .acms-list__rank { background: var(--color-ink); color: var(--color-paper); border-radius: 0; font: var(--display-weight) var(--text-lg)/1 var(--font-display); font-variation-settings: "wdth" 75, "opsz" 96; font-variant-numeric: lining-nums tabular-nums; box-shadow: none; position: absolute; top: var(--space-lg); left: var(--space-xs); z-index: 2; display: grid; place-items: center; width: 32px; height: 32px; margin: 0; }
.hm-editorial .acms-list__image, .hm-editorial .acms-list__image img { border-radius: 0; background: var(--color-paper); }
.hm-editorial .acms-list__image { outline: 1px solid var(--color-rule); outline-offset: -1px; }
.hm-editorial .acms-list .acms-list__title, .hm-editorial .acms-list .acms-list__title a { margin: 0; font-size: var(--text-xl); line-height: 1.05; border: 0; padding: 0; }
.hm-editorial .acms-list .acms-list__title a { color: var(--color-ink); text-decoration: none; font-family: var(--font-display); font-weight: var(--display-weight); font-variation-settings: "wdth" 75, "opsz" 96; }
.hm-editorial .acms-list__title a:hover { text-decoration: underline; text-decoration-color: var(--color-brand); }
.hm-editorial .acms-list__brand, .hm-editorial .acms-list__toggle-label { text-transform: none; letter-spacing: 0; font: 500 var(--text-sm)/1.3 var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-ink-2); }
.hm-editorial .acms-list__brand .bi, .hm-editorial .acms-list__toggle-label .bi { color: var(--color-ink-2); }
.hm-editorial .acms-list__row--review { position: relative; z-index: 1; background: none; color: var(--color-ink-2); font-size: var(--text-md); line-height: 1.55; }
.hm-editorial .acms-list__row--toggle { position: relative; z-index: 1; border-top: var(--rule-hair) solid var(--color-rule); background: none; }
.hm-editorial .acms-list__row--details { position: relative; z-index: 1; background: var(--color-paper-2); }
.hm-editorial .acms-list__row--details:not(.is-expanded) { visibility: hidden; }
.hm-editorial .acms-btn.acms-btn--amazon { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-height: 48px; padding: 0 var(--space-lg); background: var(--color-ink); color: var(--color-paper); border: var(--rule-hair) solid var(--color-ink); border-radius: 0; box-shadow: none; font: 500 var(--text-md)/1 var(--font-display); font-variation-settings: "opsz" 12; text-decoration: none; transition: background-color var(--dur-short) var(--ease-out); }
.hm-editorial .acms-btn.acms-btn--amazon:hover { background: var(--color-brand); border-color: var(--color-brand); color: var(--color-brand-ink); transform: none; }
.hm-editorial .acms-btn.acms-btn--amazon span, .hm-editorial .acms-btn.acms-btn--amazon .bi { color: inherit; background: none; -webkit-text-fill-color: currentColor; }
.hm-editorial .acms-list__expand-toggle { min-height: 44px; padding: 0 var(--space-sm); background: none; border: var(--rule-hair) solid var(--color-rule-2); border-radius: 0; color: var(--color-ink); font: 500 var(--text-sm)/1 var(--font-display); font-variation-settings: "opsz" 12; }
.hm-editorial .acms-list__expand-toggle:hover { border-color: var(--color-ink); }
.hm-editorial .acms-list__pros h4, .hm-editorial .acms-list__cons h4 { font-size: var(--text-md); color: var(--color-ink); }
.hm-editorial .acms-list__pros h4 .bi { color: var(--color-success); }
.hm-editorial .acms-list__cons h4 .bi { color: var(--color-error); }
.hm-editorial .acms-list__pros li, .hm-editorial .acms-list__cons li { color: var(--color-ink-2); font-size: var(--text-md); }
.hm-editorial .acms-list__badges:empty { display: none; }

/* reviews and related */
.hm-editorial .comment-respond, .hm-editorial .comment-form, .hm-editorial .comment-form__compact { background: var(--color-paper-2); border: 0; border-top: var(--rule-hair) solid var(--color-rule-2); border-radius: 0; box-shadow: none; }
.hm-editorial .comment-form__input, .hm-editorial .comment-form__textarea, .hm-editorial .comment-form__rating-select { min-height: 52px; background: var(--color-paper); border: var(--rule-hair) solid var(--color-rule-2); border-radius: 0; color: var(--color-ink); }
.hm-editorial .comment-form__input:focus, .hm-editorial .comment-form__textarea:focus { border-color: var(--color-ink); box-shadow: none; }
.hm-editorial .btn, .hm-editorial .btn--primary, .hm-editorial .comment-form__submit, .hm-editorial .comment-form__compact-btn, .hm-editorial .load-more__btn { min-height: 48px; background: var(--color-ink); color: var(--color-paper); border: var(--rule-hair) solid var(--color-ink); border-radius: 0; box-shadow: none; font-family: var(--font-display); font-weight: 500; font-variation-settings: "opsz" 12; }
.hm-editorial .btn:hover, .hm-editorial .comment-form__submit:hover, .hm-editorial .load-more__btn:hover { background: var(--color-ink-2); transform: none; }
.hm-editorial .load-more__btn .load-more__text { color: var(--color-paper); }
.hm-editorial .comment-list__empty-text { color: var(--color-ink-2); }
.hm-editorial .section-divider { display: none; }
.hm-editorial .related-content { border-top: var(--rule-heavy) solid var(--color-ink); padding-top: var(--space-lg); background: none; }
.hm-editorial .related-content__title { font-size: var(--text-section); }
.hm-editorial .related-content__link { font-family: var(--font-display); font-weight: 500; color: var(--color-ink); }
.hm-editorial .related-slider { overflow: hidden; }
.hm-editorial .related-slider__arrow { border-radius: 0; background: var(--color-paper); border: var(--rule-hair) solid var(--color-ink); color: var(--color-ink); box-shadow: none; }

/* ---------- cards (archives, related) ---------- */
.hm-editorial .post-card { background: none; border: 0; border-top: var(--rule-hair) solid var(--color-rule-2); border-radius: 0; box-shadow: none; overflow: visible; }
.hm-editorial .post-card:hover { transform: none; box-shadow: none; }
.hm-editorial .post-card__image { position: relative; z-index: 0; border-radius: 0; overflow: hidden; margin-top: var(--space-sm); }
.hm-editorial .post-card__image img { border-radius: 0; transform: none; }
.hm-editorial .post-card__content { position: relative; z-index: 1; padding: var(--space-sm) 0 0; background: none; }
.hm-editorial .post-card__title { font-family: var(--font-display); font-weight: var(--display-weight); font-variation-settings: "wdth" 75, "opsz" 96; font-size: var(--text-xl); line-height: 1.05; letter-spacing: var(--tracking-display); }
.hm-editorial .post-card__title a { color: var(--color-ink); text-decoration: none; }
.hm-editorial .post-card__title a:hover { text-decoration: underline; text-decoration-color: var(--color-brand); }
.hm-editorial .post-card__excerpt { color: var(--color-ink-2); font-size: var(--text-md); }
.hm-editorial .post-card__footer-item, .hm-editorial .post-card__author-text { font: 500 var(--text-sm)/1.4 var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-muted); }
.hm-editorial .post-card__footer-item--views { display: none; }
.hm-editorial .post-card__footer-item .bi { display: none; }

/* ---------- category ---------- */
.hm-editorial .cat-header, .hm-editorial .archive-header { background: none; text-align: left; padding: var(--space-2xl) 0 var(--space-xl); }
.hm-editorial .cat-header--centered { background: none; border-bottom: 0; text-align: left; padding: var(--space-2xl) 0 var(--space-xl); }
.hm-editorial .cat-header--centered::before { display: none; }
.hm-editorial .cat-header--centered > .container { display: flex; flex-direction: column; align-items: flex-start; padding-top: var(--space-lg); border-top: var(--rule-heavy) solid var(--color-ink); }
.hm-editorial .cat-header--centered .breadcrumb { order: -1; }
.hm-editorial .cat-header--centered .cat-header__description { margin: var(--space-lg) 0 var(--space-md); }
.hm-editorial .cat-header--centered .cat-header__description p { margin: 0; }
.hm-editorial .cat-header--centered .cat-header__meta-item i { display: none; }
.hm-editorial .cat-header__icon { display: none; }
.hm-editorial .cat-header--centered .cat-header__title { margin: 0; font-size: var(--text-display); line-height: 0.95; text-align: left; max-width: 18ch; }
.hm-editorial .cat-header__description { margin: var(--space-lg) 0 0; max-width: 52ch; font: 400 var(--text-lead)/1.45 var(--font-body); color: var(--color-ink); text-align: left; }
.hm-editorial .cat-header__meta { justify-content: flex-start; }
.hm-editorial .cat-header__meta-item { font: 500 var(--text-sm)/1.4 var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-ink-2); background: none; border: 0; padding: 0; }
.hm-editorial .cat-children { justify-content: flex-start; width: 100%; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: 0 var(--gap-columns); }
.hm-editorial .cat-child { background: none; border: 0; border-top: var(--rule-hair) solid var(--color-rule); border-radius: 0; box-shadow: none; padding: var(--space-sm) 0; text-decoration: none; }
.hm-editorial .cat-child:hover { border-color: var(--color-ink); transform: none; background: none; }
.hm-editorial .cat-child:hover .cat-child__name { text-decoration: underline; text-decoration-color: var(--color-brand); }
.hm-editorial .cat-child__icon { display: none; }
.hm-editorial .cat-child__name { font-family: var(--font-display); font-weight: 500; font-variation-settings: "opsz" 12; color: var(--color-ink); }
.hm-editorial .cat-child__count { color: var(--color-muted); background: none; font: 500 var(--text-sm)/1.4 var(--font-display); font-variation-settings: "opsz" 12; }
.hm-editorial .posts-grid-v2 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); gap: var(--space-xl) var(--gap-columns); }
.hm-editorial .sidebar-widget { background: none; border: 0; border-top: var(--rule-heavy) solid var(--color-ink); border-radius: 0; box-shadow: none; padding: var(--space-md) 0 0; }
.hm-editorial .sidebar-widget__title, .hm-editorial .sidebar .wp-block-heading { font-family: var(--font-display); font-weight: var(--display-weight); font-variation-settings: "wdth" 75, "opsz" 96; font-size: var(--text-xl); color: var(--color-ink); text-transform: none; letter-spacing: var(--tracking-display); }
.hm-editorial .wp-block-search__input { min-height: 52px; background: var(--color-paper); border: var(--rule-hair) solid var(--color-muted); border-radius: 0; color: var(--color-ink); }
.hm-editorial .wp-block-search__input:focus { border-color: var(--color-ink); }
.hm-editorial .wp-block-search__button { min-height: 52px; background: var(--color-ink); color: var(--color-paper); border: 0; border-radius: 0; font-family: var(--font-display); }
.hm-editorial .wp-block-latest-posts__post-title { color: var(--color-ink); }

@media (prefers-reduced-motion: reduce) {
  .hm-editorial *, .hm-editorial *::before, .hm-editorial *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* ---------- home v2: picture-led (photos are the guides' product images, shown unaltered on white) ---------- */
.hm-home--v2 > * + * { margin-top: var(--section-gap); }
.hm-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-xl) var(--gap-columns); margin-top: var(--space-xl); }
.hm-card { display: grid; align-content: start; gap: var(--space-xs); }
.hm-card__photo, .hm-shelf__photo { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--color-paper); outline: 1px solid var(--color-rule); outline-offset: -1px; }
.hm-card__photo img, .hm-shelf__photo img { width: 100%; height: 100%; object-fit: contain; padding: var(--space-md); background: var(--color-paper); }
.hm-card__cat, .hm-card__date { font: 500 var(--text-sm)/1.4 var(--font-display); font-variation-settings: "opsz" 12; color: var(--color-muted); }
.hm-card__cat { margin-top: var(--space-xs); }
.hm-card__title { margin: 0; font-size: var(--text-title); line-height: 1.05; max-width: none; }
.hm-card__title a { text-decoration: none; }
.hm-card__title a:hover { text-decoration: underline; text-decoration-color: var(--color-brand); text-decoration-thickness: 2px; }
.hm-card__photo:hover, .hm-shelf__photo:hover { outline-color: var(--color-ink); }
.hm-home--v2 .hm-shelves__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hm-shelf__photo { margin-bottom: var(--space-md); }
.hm-home--v2 .hm-shelf { border-top: 0; padding-top: 0; }
.hm-latest .section, .hm-latest > section { padding-block: 0; background: none; }
.hm-latest .container { padding-inline: 0; max-width: none; }
.hm-editorial .hm-latest .section-header-v2 { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-xl); padding-top: var(--space-lg); border-top: var(--rule-heavy) solid var(--color-ink); background: none; border-radius: 0; text-align: left; }
.hm-editorial .hm-latest .section-header-v2__icon { display: none; }
.hm-editorial .hm-latest .section-header-v2__title { margin: 0; font-size: var(--text-section); line-height: 1; }
.hm-editorial .hm-latest .section-header-v2__subtitle { color: var(--color-ink-2); }
.hm-editorial .hm-latest .section-header-v2__link { font-family: var(--font-display); font-weight: 500; color: var(--color-ink); text-decoration: underline; text-decoration-color: var(--color-rule-2); }
.hm-editorial .post-card__image img { object-fit: contain; background: var(--color-paper); }
@media (max-width: 75rem) { .hm-cards, .hm-home--v2 .hm-shelves__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 60rem) { .hm-cards, .hm-home--v2 .hm-shelves__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .hm-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg) var(--space-md); } .hm-home--v2 .hm-shelves__grid { grid-template-columns: minmax(0, 1fr); } .hm-card__title { font-size: var(--text-lg); } }
.hm-editorial .toc-expandable { max-width: none; margin-inline: 0; padding-inline: 0; }

/* article and page heads: centred over the reading column (owner's call, 2026-11-04) */
.hm-editorial .post-hero__content, .hm-editorial .page-header__content { text-align: center; align-items: center; }
.hm-editorial .post-hero .breadcrumb, .hm-editorial .post-hero .rank-math-breadcrumb, .hm-editorial .post-hero .rank-math-breadcrumb p,
.hm-editorial .page-header .breadcrumb, .hm-editorial .page-header .rank-math-breadcrumb, .hm-editorial .page-header .rank-math-breadcrumb p { justify-content: center; text-align: center; }
.hm-editorial .post-hero__title, .hm-editorial .page-header__title { margin-inline: auto; text-align: center; }
.hm-editorial .post-hero__excerpt { margin-inline: auto; text-align: center; }
.hm-editorial .post-hero__meta, .hm-editorial .post-hero__details { justify-content: center; }
.hm-editorial .post-content p, .hm-editorial .post-content li { max-width: none; }
.hm-editorial .post-content ul:not([class*="acms"]):not([class*="toc"]) { list-style: disc; padding-left: 1.4em; margin: 0 0 var(--space-md); }
.hm-editorial .post-content ol:not([class*="acms"]):not([class*="toc"]) { list-style: decimal; padding-left: 1.4em; margin: 0 0 var(--space-md); }
.hm-editorial .post-content ul:not([class*="acms"]):not([class*="toc"]) > li, .hm-editorial .post-content ol:not([class*="acms"]):not([class*="toc"]) > li { display: list-item; margin-bottom: var(--space-2xs); }

/* headings use the full reading column: no character caps, so a head that fits on one line stays on one line (2026-11-04) */
.hm-editorial .post-content h2, .hm-editorial .post-content h3, .hm-editorial .post-content h4,
.hm-editorial .post-hero__title, .hm-editorial .page-header__title, .hm-editorial .post-hero__excerpt { max-width: none; }
.hm-editorial .post-content h2, .hm-editorial .post-content h3, .hm-editorial .post-content h4 { text-wrap: pretty; }
