@font-face {
  font-family: "Ubuntu";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/ubuntu-regular-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Ubuntu";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/ubuntu-medium-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/montserrat-bold-latin.woff2") format("woff2");
}

:root {
  /* Canonical HelloMillions dark-theme color tokens. */
  --hm-base-0: #fe494a;
  --hm-base-5: #e54243;
  --hm-base-10: #ce3b3c;
  --hm-base-15: #b93536;
  --hm-base-20: #a73031;
  --hm-base-25: #962b2c;
  --hm-base-30: #792323;
  --hm-base-35: #621c1d;
  --hm-base-40: #3c0505;
  --hm-base-50: #201f1f;
  --hm-base-60: #343434;
  --hm-base-70: #333;
  --hm-base-80: #363636;
  --hm-base-90: #5c5c5c;
  --hm-base-100: #fff;
  --hm-accent-primary: #dcf254;
  --hm-accent-primary-75: #b2c444;
  --hm-accent-primary-50: #909f37;
  --hm-accent-primary-25: #75812d;
  --hm-accent-secondary: #fff;
  --hm-accent-secondary-75: #f2f2f2;
  --hm-accent-secondary-50: #e5e5e5;
  --hm-accent-secondary-25: #ccc;
  --hm-accent-gc: #ffe561;
  --hm-accent-sc: #95e759;
  --hm-system-error: #dd1717;
  --hm-system-success: #52ff82;
  --hm-system-info: #2a9cff;
  --hm-system-warning: #ffce1a;
  --hm-canvas: #000;
  --hm-modal-overlay: rgb(0 0 0 / 80%);
  --hm-modal-surface: var(--hm-base-50);

  /* Semantic surface and content roles. */
  --hm-text: var(--hm-base-100);
  --hm-text-secondary: var(--hm-accent-secondary-50);
  --hm-text-muted: var(--hm-accent-secondary-25);
  --hm-surface: var(--hm-base-50);
  --hm-surface-soft: var(--hm-base-60);
  --hm-surface-raised: var(--hm-base-80);
  --hm-border: var(--hm-base-60);
  --hm-border-strong: var(--hm-base-90);

  /* One-release compatibility aliases for the previous public tokens. */
  --hm-red: var(--hm-base-0);
  --hm-lime: var(--hm-accent-primary);
  --hm-ink: var(--hm-base-50);
  --hm-black: #000;
  --hm-white: #fff;
  --hm-paper: var(--hm-surface);
  --hm-mist: var(--hm-surface-soft);
  --hm-line: var(--hm-border);
  --hm-slate: var(--hm-text-muted);
  --hm-success: var(--hm-system-success);
  --hm-warning: var(--hm-system-warning);
  --hm-error: var(--hm-system-error);
  --hm-info: var(--hm-system-info);
  --hm-surface-muted: var(--hm-canvas);
  --hm-display: "Ubuntu", Helvetica, Arial, sans-serif;
  --hm-body: "Ubuntu", Helvetica, Arial, sans-serif;
  --hm-secondary: "Montserrat", Helvetica, Arial, sans-serif;
  --hm-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --hm-shadow-central-1: 0 0 12px rgb(0 0 0 / 30%);
  --hm-shadow-central-2: 0 0 32px rgb(0 0 0 / 50%);
  --hm-shadow-top-1: 0 -4px 8px rgb(0 0 0 / 30%);
  --hm-shadow-top-2: 0 -8px 16px rgb(0 0 0 / 50%);
  --hm-shadow-right-1: 4px 0 8px rgb(0 0 0 / 30%);
  --hm-shadow-right-2: 8px 0 16px rgb(0 0 0 / 50%);
  --hm-shadow-bottom-1: 0 4px 8px rgb(0 0 0 / 30%);
  --hm-shadow-bottom-2: 0 8px 16px rgb(0 0 0 / 50%);
  --hm-shadow-left-1: -4px 0 8px rgb(0 0 0 / 30%);
  --hm-shadow-left-2: -8px 0 16px rgb(0 0 0 / 50%);
  --hm-shadow-sm: var(--hm-shadow-central-1);
  --hm-shadow: var(--hm-shadow-bottom-1);
  --hm-shadow-lg: var(--hm-shadow-bottom-2);
  --hm-radius-none: 0;
  --hm-radius-xs: 2px;
  --hm-radius-sm: 8px;
  --hm-radius: 12px;
  --hm-radius-lg: 16px;
  --hm-radius-full: 200px;
  --hm-border-sm: 1px;
  --hm-border-md: 2px;
  --hm-border-lg: 4px;
  --hm-opacity-0: 0;
  --hm-opacity-10: 0.1;
  --hm-opacity-20: 0.2;
  --hm-opacity-30: 0.3;
  --hm-opacity-40: 0.4;
  --hm-opacity-50: 0.5;
  --hm-opacity-60: 0.6;
  --hm-opacity-70: 0.7;
  --hm-opacity-80: 0.8;
  --hm-opacity-90: 0.9;
  --hm-opacity-100: 1;
  --hm-space-2xs: 2px;
  --hm-space-xs: 4px;
  --hm-space-sm: 8px;
  --hm-space-md: 12px;
  --hm-space-lg: 16px;
  --hm-space-xl: 20px;
  --hm-space-2xl: 24px;
  --hm-space-3xl: 28px;
  --hm-space-4xl: 32px;
  --hm-space-5xl: 40px;
  --hm-space-6xl: 48px;
  --hm-space-7xl: 56px;
  --hm-space-8xl: 64px;
  --hm-space-9xl: 72px;
  --hm-space-10xl: 80px;
  --hm-space-1: 4px;
  --hm-space-2: 8px;
  --hm-space-3: 12px;
  --hm-space-4: 16px;
  --hm-space-5: 24px;
  --hm-space-6: 32px;
  --hm-space-7: 48px;
  --hm-space-8: 64px;
  --hm-page-gutter: 24px;
  --hm-page-gutter-tablet: 16px;
  --hm-page-gutter-mobile: 12px;
  --hm-container-wide: 1180px;
  --hm-container-frame: 1000px;
  --hm-container-content: 744px;
  --hm-layout-rail: 220px;
  --hm-layout-gap: 36px;
  --hm-grid-columns: 12;
  --hm-grid-gutter: 12px;
  --hm-grid-gap: 12px;
  --hm-font-2xs: 0.5rem;
  --hm-font-xs: 0.625rem;
  --hm-font-sm: 0.75rem;
  --hm-font-md: 0.875rem;
  --hm-font-lg: 1rem;
  --hm-font-xl: 1.25rem;
  --hm-font-2xl: 1.5rem;
  --hm-font-3xl: 2rem;
  --hm-font-4xl: 2.5rem;
  --hm-font-5xl: 3rem;
  --hm-font-body: var(--hm-font-lg);
  --hm-font-lead: var(--hm-font-xl);
  --hm-font-h1: var(--hm-font-4xl);
  --hm-font-article-title: var(--hm-font-4xl);
  --hm-font-h2: var(--hm-font-3xl);
  --hm-font-h3: var(--hm-font-2xl);
  --hm-font-h4: var(--hm-font-xl);
  --hm-font-h5: var(--hm-font-lg);
  --hm-font-h6: var(--hm-font-md);
  --hm-font-content-h2: var(--hm-font-h2);
  --hm-font-content-h3: var(--hm-font-h3);
  --hm-font-content-h4: var(--hm-font-h4);
  --hm-line-body: 1.4;
  --hm-line-heading: 1.2;
  --hm-line-tight: 1;
  /* Backwards-compatible aliases for existing components. */
  --hm-shell: var(--hm-container-wide);
  --hm-reading: var(--hm-container-frame);
  --hm-copy: var(--hm-container-content);
  --hm-header-height: 64px;
}

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

html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  min-width: 0;
  margin: 0;
  color: var(--hm-text);
  background: var(--hm-surface-muted);
  font-family: var(--hm-body);
  font-size: var(--hm-font-body);
  line-height: var(--hm-line-body);
  -webkit-font-smoothing: antialiased;
}

body.admin-bar {
  --hm-admin-bar: 32px;
}

::selection {
  color: var(--hm-base-35);
  background: var(--hm-accent-primary);
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

img {
  height: auto;
}

.hm-ui-icon {
  display: inline-grid;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  place-items: center;
  vertical-align: -0.125em;
}

.hm-ui-icon::before {
  display: block;
  width: 100%;
  height: 100%;
  background-color: currentcolor;
  content: "";
  mask: var(--hm-ui-icon-mask) center / contain no-repeat;
  -webkit-mask: var(--hm-ui-icon-mask) center / contain no-repeat;
}

.hm-ui-icon--arrow-right {
  --hm-ui-icon-mask: url("../img/icons/ui/arrow-right.svg");
}

.hm-ui-icon--chevron-right {
  --hm-ui-icon-mask: url("../img/icons/ui/chevron-right.svg");
}

.hm-ui-icon--search {
  --hm-ui-icon-mask: url("../img/icons/ui/search.svg");
}

.hm-ui-icon--close {
  --hm-ui-icon-mask: url("../img/icons/ui/close.svg");
}

.hm-ui-icon--chat {
  --hm-ui-icon-mask: url("../img/icons/ui/chat.svg");
}

.hm-help-center a > span,
.hm-about-policy a > span {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 3px;
  background-color: currentcolor;
  font-size: 0;
  mask: url("../img/icons/ui/arrow-right.svg") center / contain no-repeat;
  vertical-align: -3px;
  -webkit-mask: url("../img/icons/ui/arrow-right.svg") center / contain no-repeat;
}

figure {
  margin: 0;
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
}

button,
[type="button"],
[type="submit"] {
  cursor: pointer;
}

a {
  color: var(--hm-accent-primary);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

a:hover {
  text-decoration-thickness: 2px;
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 4px solid var(--hm-system-info);
  outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  color: var(--hm-text);
  font-family: var(--hm-display);
  font-style: normal;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  text-transform: none;
  text-wrap: wrap;
}

h1 {
  font-size: var(--hm-font-h1);
}

h2 {
  font-size: var(--hm-font-h2);
}

h3 {
  font-size: var(--hm-font-h3);
}

h4 {
  font-size: var(--hm-font-h4);
}

h5 {
  font-size: var(--hm-font-h5);
}

h6 {
  font-size: var(--hm-font-h6);
}

@media (min-width: 1024px) {
  /* Heading sizes remain fixed; this breakpoint only controls layout. */
}

p,
ul,
ol,
blockquote {
  margin-top: 0;
}

p {
  text-wrap: pretty;
}

strong,
b {
  font-weight: 500;
}

code,
kbd,
samp,
pre {
  font-family: var(--hm-mono);
}

summary {
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}

[hidden] {
  display: none !important;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus,
.hm-skip-link:focus,
.skip-link:focus {
  position: fixed !important;
  top: 12px;
  left: 12px;
  z-index: 100000;
  width: auto;
  height: auto;
  padding: 10px 16px;
  margin: 0;
  overflow: visible;
  clip: auto;
  color: var(--hm-base-35);
  background: var(--hm-lime);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-full);
  box-shadow: var(--hm-shadow-sm);
  font-family: var(--hm-display);
  font-size: 0.75rem;
  text-decoration: none;
  white-space: normal;
}

.hm-shell {
  width: min(100% - 48px, var(--hm-shell));
  margin-inline: auto;
}

.hm-shell--reading {
  max-width: var(--hm-reading);
}

.hm-shell--narrow {
  max-width: var(--hm-copy);
}

/* Shared page-frame system. Wide is reserved for the homepage/chrome, frame
   owns editorial/listing pages, and content owns single-column prose. */
.hm-container {
  width: 100%;
  padding-inline: var(--hm-page-gutter);
  margin-inline: auto;
}

.hm-container.hm-container--wide {
  max-width: calc(var(--hm-container-wide) + var(--hm-page-gutter) + var(--hm-page-gutter));
}

.hm-container.hm-container--frame {
  max-width: calc(var(--hm-container-frame) + var(--hm-page-gutter) + var(--hm-page-gutter));
}

.hm-container.hm-container--content {
  max-width: calc(var(--hm-container-content) + var(--hm-page-gutter) + var(--hm-page-gutter));
}

.hm-content-column {
  width: min(100%, var(--hm-container-content));
}

.site-main {
  min-height: 52vh;
}

.alignwide {
  width: min(100%, var(--hm-shell));
  max-width: var(--hm-shell);
}

.alignfull {
  width: 100%;
  max-width: none;
}

/* Header */
.site-header {
  position: sticky;
  top: var(--hm-admin-bar, 0);
  z-index: 100;
  background: var(--hm-canvas);
  border-bottom: var(--hm-border-md) solid var(--hm-border);
}

.hm-header__inner {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: var(--hm-header-height);
}

@media (min-width: 1024px) {
  .hm-header__inner {
    width: min(100% - 48px, 1320px);
  }
}

.hm-header__brand,
.hm-byline__details,
.hm-author-profile__content {
  min-width: 0;
}

.hm-brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-width: 0;
  text-decoration: none;
}

.hm-brand:hover {
  text-decoration: none;
}

.hm-brand picture {
  display: block;
  line-height: 0;
}

.hm-brand__logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.hm-brand__logo--horizontal {
  width: 190px;
  max-height: 46px;
  object-fit: contain;
}

.hm-brand__logo--header-stacked {
  width: 92px;
  max-height: 50px;
  object-fit: contain;
}

.hm-brand__logo[data-logo-variant="mark"] {
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.hm-brand__logo--stacked {
  width: 240px;
  max-height: 132px;
  object-fit: contain;
}

.hm-primary-nav {
  flex: 1 1 auto;
  min-width: 0;
}

.hm-primary-nav ul,
.hm-primary-nav .menu {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.hm-primary-nav li {
  min-width: 0;
}

.hm-primary-nav a {
  display: block;
  padding: 8px 10px;
  overflow: hidden;
  color: var(--hm-text);
  border-radius: var(--hm-radius-sm);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hm-primary-nav a:hover,
.hm-primary-nav .current-menu-item > a,
.hm-primary-nav .current_page_item > a {
  background: var(--hm-surface-soft);
  text-decoration: none;
}

.hm-header__actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
}

.hm-header__search,
.hm-menu-toggle,
.hm-search-toggle {
  display: inline-grid;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  padding: 0;
  place-items: center;
  color: var(--hm-text);
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-sm);
  text-decoration: none;
}

.hm-header__search:hover,
.hm-menu-toggle:hover,
.hm-search-toggle:hover,
.hm-header__search[aria-expanded="true"],
.hm-search-toggle[aria-expanded="true"] {
  color: var(--hm-base-35);
  background: var(--hm-lime);
  text-decoration: none;
}

.hm-menu-toggle {
  display: none;
}

.hm-search-toggle {
  display: none;
}

.js .hm-search-toggle {
  display: inline-grid;
}

.hm-menu-toggle__bars {
  display: block;
  width: 20px;
  height: 20px;
  background-color: currentcolor;
  mask: url("../img/icons/ui/menu.svg") center / contain no-repeat;
  transition: transform 160ms ease;
  -webkit-mask: url("../img/icons/ui/menu.svg") center / contain no-repeat;
}

.hm-menu-toggle[aria-expanded="true"] .hm-menu-toggle__bars {
  mask-image: url("../img/icons/ui/close.svg");
  -webkit-mask-image: url("../img/icons/ui/close.svg");
}

.hm-menu-toggle__line {
  display: block;
  width: 19px;
  height: 2px;
  background: currentcolor;
  border-radius: var(--hm-radius-full);
  transition: opacity 160ms ease, transform 160ms ease;
}

.hm-menu-toggle[aria-expanded="true"] .hm-menu-toggle__line:nth-of-type(2) {
  transform: translateY(6px) rotate(45deg);
}

.hm-menu-toggle[aria-expanded="true"] .hm-menu-toggle__line:nth-of-type(3) {
  opacity: 0;
}

.hm-menu-toggle[aria-expanded="true"] .hm-menu-toggle__line:nth-of-type(4) {
  transform: translateY(-6px) rotate(-45deg);
}

.hm-search-panel {
  position: absolute;
  inset: calc(100% + 2px) 0 auto;
  padding: 16px 24px;
  background: var(--hm-surface);
  border-bottom: var(--hm-border-md) solid var(--hm-border-strong);
  box-shadow: var(--hm-shadow-bottom-2);
}

.hm-search-panel form {
  display: flex;
  gap: 8px;
  width: min(100%, var(--hm-container-content));
  margin-inline: auto;
}

.hm-header-search {
  position: absolute;
  inset: calc(100% + 2px) 0 auto;
  padding-block: 15px;
  background: var(--hm-surface);
  border-bottom: var(--hm-border-md) solid var(--hm-border-strong);
  box-shadow: var(--hm-shadow-bottom-2);
}

.hm-header-search__inner {
  display: flex;
  align-items: center;
  gap: 10px;
}

.hm-header-search__inner .hm-search-form {
  flex: 1 1 auto;
}

.hm-header-search__close {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  padding: 0;
  place-items: center;
  color: var(--hm-text);
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-sm);
  font-size: 1.5rem;
  line-height: 1;
}

.hm-header-search__close:hover {
  color: var(--hm-base-35);
  background: var(--hm-lime);
}

.hm-header-search--noscript {
  position: static;
  border-top: 1px solid var(--hm-line);
  box-shadow: none;
}

.hm-search-form {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 5px 5px 5px 13px;
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius);
}

.hm-search-form:focus-within {
  border-color: var(--hm-info);
}

.hm-search-form__icon {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  color: var(--hm-slate);
}

.hm-search-toggle .hm-ui-icon,
.hm-header-search__close .hm-ui-icon {
  width: 18px;
  height: 18px;
}

.hm-search-form__field {
  flex: 1 1 auto;
  min-width: 0;
  border: 0 !important;
}

.hm-search-form__field:focus,
.hm-search-form__field:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}

.hm-search-form__submit {
  min-height: 40px !important;
  padding: 8px 16px !important;
  box-shadow: none !important;
  border-radius: var(--hm-radius-sm) !important;
}

/* Buttons and pills */
.hm-button,
.wp-element-button,
.wp-block-button__link,
button[type="submit"],
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4em;
  min-height: 42px;
  padding: 9px 17px;
  color: var(--hm-base-35);
  background: var(--hm-accent-primary);
  border: var(--hm-border-md) solid var(--hm-accent-primary);
  border-radius: var(--hm-radius-full);
  box-shadow: var(--hm-shadow-sm);
  font-family: var(--hm-display);
  font-size: var(--hm-font-md);
  font-weight: 500;
  letter-spacing: 0;
  line-height: var(--hm-line-tight);
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease, color 120ms ease;
}

.hm-button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background: var(--hm-accent-primary-75);
  border-color: var(--hm-accent-primary-75);
  box-shadow: var(--hm-shadow-central-1);
  text-decoration: none;
}

.hm-button--play,
.hm-button--support {
  color: var(--hm-base-35);
  background: var(--hm-accent-primary);
  border-color: var(--hm-accent-primary);
}

.hm-button--dark,
.hm-button--secondary {
  color: var(--hm-base-35);
  background: var(--hm-accent-secondary);
  border-color: var(--hm-accent-secondary);
}

.hm-button--ghost {
  color: var(--hm-text);
  background: transparent;
  border-color: var(--hm-text);
  box-shadow: none;
}

.hm-button:active,
.wp-element-button:active,
.wp-block-button__link:active,
button[type="submit"]:active,
input[type="submit"]:active {
  background: var(--hm-accent-primary-75);
  border-color: var(--hm-accent-primary-75);
  box-shadow: none;
}

.hm-button--dark:hover,
.hm-button--secondary:hover {
  background: var(--hm-accent-secondary-75);
  border-color: var(--hm-accent-secondary-75);
}

.hm-button--dark:active,
.hm-button--secondary:active {
  background: var(--hm-accent-secondary-50);
  border-color: var(--hm-accent-secondary-50);
}

.hm-button--ghost:hover {
  color: var(--hm-text);
  background: rgb(255 255 255 / 10%);
  border-color: var(--hm-text);
}

.hm-button--ghost:active {
  background: rgb(255 255 255 / 20%);
}

:where(.hm-button, .wp-element-button, .wp-block-button__link, button[type="submit"], input[type="submit"]):disabled,
:where(.hm-button, .wp-element-button, .wp-block-button__link)[aria-disabled="true"] {
  color: var(--hm-base-35);
  background: var(--hm-accent-primary-75);
  border-color: var(--hm-accent-primary-75);
  box-shadow: none;
  cursor: not-allowed;
}

.hm-button--ghost:disabled,
.hm-button--ghost[aria-disabled="true"] {
  color: rgb(255 255 255 / 60%);
  background: transparent;
  border-color: rgb(255 255 255 / 60%);
}

.hm-pill,
.hm-eyebrow {
  display: inline-block;
  padding: 5px 13px;
  color: var(--hm-base-35);
  background: var(--hm-lime);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-full);
  box-shadow: var(--hm-shadow-sm);
  font-family: var(--hm-display);
  font-size: var(--hm-font-sm);
  font-weight: 500;
  letter-spacing: 0;
  line-height: var(--hm-line-tight);
  text-transform: uppercase;
}

/* Forms */
input[type="search"],
input[type="text"],
input[type="email"],
input[type="url"],
textarea,
select {
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  color: var(--hm-text);
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-sm);
}

input::placeholder,
textarea::placeholder {
  color: var(--hm-text-muted);
  opacity: 1;
}

/* Dark brand heroes */
.hm-hero {
  padding: 50px 0 58px;
  color: var(--hm-text);
  background: var(--hm-surface);
  border-bottom: var(--hm-border-lg) solid var(--hm-base-0);
}

.hm-hero--compact {
  padding-block: 30px 36px;
}

.hm-hero--slim {
  padding-block: 18px;
}

.hm-hero h1,
.hm-hero h2,
.hm-hero p {
  color: inherit;
}

.hm-hero__inner {
  max-width: 900px;
}

.hm-hero__intro {
  max-width: 640px;
  margin: 10px 0 0;
  font-size: 1rem;
  line-height: 1.55;
}

.hm-hero__topic {
  display: flex;
  align-items: center;
  gap: 18px;
}

.hm-hero__icon,
.hm-pillar-card__icon {
  display: grid;
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  place-items: center;
  color: var(--hm-text);
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-lg);
  box-shadow: var(--hm-shadow);
}

.hm-pillar-icon {
  width: 26px;
  height: 26px;
}

.hm-pillar-hero__icon .hm-pillar-icon,
.hm-hero__icon .hm-pillar-icon {
  width: 30px;
  height: 30px;
}

.hm-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  color: rgb(255 255 255 / 85%);
  font-family: var(--hm-display);
  font-size: 0.6875rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.hm-breadcrumbs a {
  color: var(--hm-base-35);
  background: var(--hm-lime);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-full);
  padding: 3px 11px;
  text-decoration: none;
}

.hm-breadcrumbs a:hover {
  background: var(--hm-surface);
}

/* Home */
.hm-home-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  text-align: left;
  background-color: var(--hm-base-5);
  border-bottom-color: var(--hm-base-35);
}

.hm-home-hero::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  pointer-events: none;
  background-image: url("../img/hero/knowledge-base-campaign-hero-brand.webp");
  background-image: image-set(
    url("../img/hero/knowledge-base-campaign-hero-brand.webp") 1x,
    url("../img/hero/knowledge-base-campaign-hero-brand-2x.webp") 2x
  );
  background-position: right center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent calc(100% - 1320px),
    #000 calc(100% - 1080px)
  );
  mask-image: linear-gradient(
    to right,
    transparent calc(100% - 1320px),
    #000 calc(100% - 1080px)
  );
}

.hm-hero__badge {
  display: inline-block;
  padding: 5px 13px;
  margin: 0;
  color: var(--hm-base-35) !important;
  background: var(--hm-lime);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-full);
  box-shadow: var(--hm-shadow-sm);
  font-family: var(--hm-display);
  font-size: 0.6875rem;
  letter-spacing: 0.07em;
  line-height: 1.3;
  text-transform: uppercase;
}

.hm-hero__description {
  max-width: 640px;
  margin: 8px 0 0;
  color: inherit;
  font-size: 1rem;
  line-height: 1.55;
}

.hm-home-hero .hm-hero__inner {
  position: relative;
  z-index: 1;
  max-width: var(--hm-container-wide);
  margin-inline: auto;
}

.hm-home-hero h1 {
  max-width: 620px;
  margin: 20px 0 0;
}

.hm-home-hero .hm-hero__description {
  margin: 14px 0 0;
}

.hm-home-hero .hm-hero__intro,
.hm-home-hero > .hm-shell > p {
  max-width: 620px;
  margin: 14px 0 0;
  font-size: 1.125rem;
}

.hm-home-search {
  max-width: 620px;
  margin: 28px 0 0;
}

.hm-home-search form,
.hm-home-search .search-form {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-lg);
  box-shadow: var(--hm-shadow-bottom-2);
}

.hm-home-search label {
  flex: 1 1 auto;
  min-width: 0;
}

.hm-home-search input[type="search"] {
  min-width: 0;
  border: 0;
}

.hm-home-search .hm-search-form__icon {
  display: none;
}

.hm-home-search button,
.hm-home-search input[type="submit"] {
  min-height: 42px;
  padding-inline: 18px;
  box-shadow: none;
  border-radius: var(--hm-radius-sm);
}

.hm-popular-queries {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0;
  margin: 21px 0 0;
  list-style: none;
}

.hm-popular-queries__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.hm-popular-queries li:first-child,
.hm-popular-queries__label {
  color: var(--hm-text);
  font-size: 0.8125rem;
  font-weight: 500;
}

.hm-popular-queries a {
  display: inline-block;
  padding: 4px 12px;
  color: var(--hm-text);
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-full);
  font-size: 0.8125rem;
  text-decoration: none;
}

.hm-popular-queries a:hover {
  color: var(--hm-base-35);
  background: var(--hm-lime);
}

.hm-home-topics {
  padding-block: 52px 8px;
}

.hm-section-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-bottom: 26px;
}

.hm-section-heading h2 {
  padding: 7px 17px;
  color: var(--hm-base-35);
  background: var(--hm-lime);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-full);
  box-shadow: var(--hm-shadow);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hm-section-heading p {
  margin: 0;
  color: var(--hm-slate);
  font-size: 0.9375rem;
}

.hm-pillar-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--hm-grid-gap);
}

.hm-pillar-card,
.hm-guide-card,
.hm-result-card {
  display: flex;
  min-width: 0;
  color: var(--hm-text);
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-lg);
  box-shadow: var(--hm-shadow);
  text-decoration: none;
  transition: box-shadow 80ms ease, transform 80ms ease;
}

.hm-pillar-card {
  flex-direction: column;
  padding: 20px;
}

.hm-pillar-card:hover,
.hm-guide-card:hover,
.hm-result-card:hover {
  box-shadow: var(--hm-shadow-lg);
  text-decoration: none;
}

.hm-pillar-card__icon {
  width: 48px;
  height: 48px;
  margin-bottom: 14px;
  background: var(--hm-base-60);
  border-width: var(--hm-border-md);
  border-radius: var(--hm-radius);
  box-shadow: none;
}

.hm-pillar-card h3,
.hm-pillar-card__title {
  margin-bottom: 6px;
  font-family: var(--hm-display);
  font-size: 1rem;
  line-height: 1.3;
}

.hm-pillar-card p {
  flex: 1;
  margin-bottom: 12px;
  color: var(--hm-slate);
  font-size: 0.84375rem;
  line-height: 1.5;
}

.hm-pillar-card__description {
  flex: 1;
  margin-bottom: 12px;
  color: var(--hm-slate);
  font-size: 0.84375rem;
  line-height: 1.5;
}

.hm-pillar-card__count {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--hm-text);
  font-family: var(--hm-display);
  font-size: 0.75rem;
}

.hm-home-trust-wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: var(--hm-space-6);
  padding-block: 42px 56px;
}

.hm-home-trust-wrap .hm-trust-panel {
  width: 100%;
}

.hm-home-trust-wrap .hm-trust-panel p.hm-trust-panel__label {
  margin-bottom: var(--hm-space-4);
}

.hm-home-trust-wrap .hm-trust-panel__content p {
  margin-block: 0;
}

.hm-home-trust-wrap .hm-trust-panel__content p + p {
  margin-top: var(--hm-space-3);
}

.hm-home-trust-wrap .hm-trust-panel__link {
  margin-top: var(--hm-space-4);
}

.hm-home-trust-wrap .hm-promotion-cta-region--content {
  width: 100%;
  padding-block: 0;
}

.hm-home-trust-wrap--single {
  grid-template-columns: minmax(0, var(--hm-container-content));
  justify-content: center;
}

.hm-trust-panel {
  align-self: start;
  padding: 24px;
  color: var(--hm-text);
  background: var(--hm-surface-raised);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-lg);
  box-shadow: var(--hm-shadow-bottom-1);
}

.hm-trust-panel h2,
.hm-trust-panel h3,
.hm-trust-panel p,
.hm-trust-panel li {
  color: inherit;
}

.hm-trust-panel h2,
.hm-trust-panel h3,
.hm-trust-panel__label {
  display: inline-block;
  padding: 4px 10px;
  color: var(--hm-base-35);
  background: var(--hm-lime);
  border-radius: var(--hm-radius-full);
  font-family: var(--hm-display);
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hm-trust-panel__content p {
  margin: 14px 0 16px;
  font-size: 0.90625rem;
  line-height: 1.6;
  opacity: 0.92;
}

.hm-trust-panel p.hm-trust-panel__label {
  margin: 0 0 24px;
  color: var(--hm-base-35);
  font-size: 0.625rem;
  line-height: 1.2;
  opacity: 1;
}

.hm-trust-panel__label::selection {
  color: var(--hm-base-100);
  background: var(--hm-base-35);
}

.hm-trust-panel ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.hm-trust-panel li {
  position: relative;
  padding-left: 22px;
  font-size: 0.84375rem;
}

.hm-trust-panel li::before {
  position: absolute;
  left: 0;
  color: var(--hm-lime);
  content: "✓";
  font-weight: 500;
}

.hm-trust-panel a {
  color: var(--hm-lime);
  font-weight: 500;
}

.hm-trust-panel__link {
  display: inline-block;
  margin-top: 3px;
}

/* Pillar archives and cards */
.hm-archive-content,
.hm-results {
  padding-block: var(--hm-space-7) var(--hm-space-8);
}

.hm-listing-section {
  padding-block: var(--hm-space-7) var(--hm-space-8);
}

.hm-pillar-hero__content {
  display: flex;
  align-items: center;
  gap: 18px;
  width: min(100%, var(--hm-container-content));
}

.hm-pillar-content__intro {
  width: 100%;
}

.hm-pillar-hero__icon {
  display: grid;
  width: 62px;
  height: 62px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--hm-text);
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-lg);
  box-shadow: var(--hm-shadow);
}

.hm-pillar-hero__count {
  margin: 8px 0 0;
  color: rgb(255 255 255 / 86%);
  font-size: 0.8125rem;
  font-weight: 500;
}

.hm-start-here {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 100%;
  background: var(--hm-surface-raised);
  border: var(--hm-border-md) solid var(--hm-lime);
  border-radius: var(--hm-radius-lg);
  box-shadow: var(--hm-shadow-bottom-1);
}

.hm-pillar-guides {
  margin-top: 38px;
}

.hm-pillar-guides__intro + .hm-guide-grid {
  margin-top: var(--hm-space-lg);
}

.hm-pillar-content__after-guides {
  margin-top: var(--hm-space-7xl);
}

.hm-pillar-guides > h2 {
  margin-bottom: 18px;
}

.hm-start-here__label {
  display: inline-block;
  align-self: flex-start;
  padding: 4px 8px;
  color: var(--hm-base-40);
  background: var(--hm-lime);
  border-radius: var(--hm-radius-xs);
  font-family: var(--hm-display);
  font-size: var(--hm-font-xs);
  line-height: var(--hm-line-tight);
  text-transform: uppercase;
}

.hm-start-here h2 {
  display: -webkit-box;
  overflow: hidden;
  margin: var(--hm-space-md) 0 var(--hm-space-sm);
  color: var(--hm-text);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.hm-start-here__link {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: 20px;
  color: var(--hm-text);
  text-decoration: none;
}

.hm-start-here__link:hover {
  text-decoration: none;
}

.hm-start-here p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--hm-text-secondary);
  font-size: 0.84375rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.hm-pillar-card__arrow,
.hm-start-here__arrow,
.hm-guide-card__arrow {
  display: flex;
  flex: 0 0 auto;
  justify-content: flex-end;
  padding-top: 16px;
  margin-top: auto;
  color: var(--hm-lime);
}

.hm-pillar-card__arrow {
  padding-top: 0;
  margin-top: 0;
}

.hm-pillar-card__arrow .hm-ui-icon,
.hm-start-here__arrow .hm-ui-icon,
.hm-guide-card__arrow .hm-ui-icon {
  display: block;
  box-sizing: content-box;
  width: 18px;
  height: 18px;
  padding: 6px;
  background: var(--hm-surface-soft);
  border: var(--hm-border-sm) solid var(--hm-border-strong);
  border-radius: 50%;
  transition: color 80ms ease, background-color 80ms ease, border-color 80ms ease, transform 80ms ease;
}

.hm-pillar-card:hover .hm-pillar-card__arrow .hm-ui-icon,
.hm-start-here__link:hover .hm-start-here__arrow .hm-ui-icon,
.hm-guide-card__link:hover .hm-guide-card__arrow .hm-ui-icon {
  color: var(--hm-base-35);
  background: var(--hm-lime);
  border-color: var(--hm-lime);
  transform: translateX(2px);
}

.hm-guide-grid,
.hm-results-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--hm-grid-gap);
}

.hm-guide-card,
.hm-result-card {
  position: relative;
  flex-direction: column;
  padding: 20px;
  border-radius: var(--hm-radius-lg);
  box-shadow: var(--hm-shadow-bottom-1);
}

.hm-guide-card {
  padding: 0;
}

.hm-guide-card__link {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: 20px;
  color: var(--hm-text);
  text-decoration: none;
}

.hm-guide-card__link:hover {
  text-decoration: none;
}

.hm-guide-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 20px;
  margin-bottom: 8px;
}

.hm-guide-card__pillar {
  color: var(--hm-slate);
  font-family: var(--hm-display);
  font-size: 0.625rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.hm-guide-card__badge {
  display: inline-block;
  padding: 3px 6px;
  color: var(--hm-base-40);
  background: var(--hm-info);
  border-radius: var(--hm-radius-xs);
  font-family: var(--hm-display);
  font-size: 0.5625rem;
  line-height: 1.3;
  text-transform: uppercase;
}

.hm-guide-card__title {
  display: -webkit-box;
  overflow: hidden;
  margin-bottom: 8px;
  font-size: 1rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.hm-guide-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--hm-slate);
  font-size: 0.84375rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.hm-guide-card h2,
.hm-guide-card h3,
.hm-result-card h2,
.hm-result-card h3 {
  margin-bottom: 8px;
  font-size: 1rem;
  line-height: 1.3;
}

.hm-guide-card p,
.hm-result-card p {
  margin-bottom: 0;
  color: var(--hm-slate);
  font-size: 0.84375rem;
  line-height: 1.5;
}

.hm-top-issue {
  display: inline-block;
  align-self: flex-start;
  padding: 3px 6px;
  margin-bottom: 9px;
  color: var(--hm-base-40);
  background: var(--hm-info);
  border-radius: var(--hm-radius-xs);
  font-family: var(--hm-display);
  font-size: 0.5625rem;
  line-height: 1.3;
  text-transform: uppercase;
}

.hm-related-pillars {
  margin-top: 40px;
}

.hm-related-pillars h2,
.hm-related-pillars h3 {
  margin-bottom: 14px;
  color: var(--hm-slate);
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hm-related-pillars ul,
.hm-related-pillars__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.hm-related-pillars a {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  gap: 8px;
  padding: 7px 15px;
  color: var(--hm-text);
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-full);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
}

.hm-related-pillars__label {
  min-width: 0;
  overflow-wrap: anywhere;
}

.hm-related-pillars__arrow {
  display: inline-grid;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  place-items: center;
  color: var(--hm-lime);
  transition: color 80ms ease, transform 80ms ease;
}

.hm-related-pillars__arrow .hm-ui-icon {
  display: block;
  width: 16px;
  height: 16px;
}

.hm-related-pillars a:hover {
  color: var(--hm-base-35);
  background: var(--hm-lime);
  text-decoration: none;
}

.hm-related-pillars a:hover .hm-related-pillars__arrow {
  color: var(--hm-base-35);
  transform: translateX(2px);
}

/* Article and long-form reading */
.hm-article-band {
  color: var(--hm-text);
  background: var(--hm-surface);
  border-bottom: var(--hm-border-lg) solid var(--hm-base-0);
}

.hm-article__header .hm-breadcrumbs a:not(:first-child) {
  color: var(--hm-text);
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.hm-reading-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--hm-layout-rail);
  gap: var(--hm-layout-gap);
  padding-block: 34px 52px;
  background: var(--hm-surface);
}

.hm-article,
.hm-reading-layout > article {
  min-width: 0;
}

.hm-article__header {
  max-width: none;
  margin-bottom: 20px;
}

.hm-article__header h1 {
  max-width: none;
  margin-top: 10px;
  font-size: var(--hm-font-article-title);
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
  text-wrap: wrap;
}

.hm-pillar-article .hm-article__header h1 {
  margin-top: 0;
}

.hm-byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding-bottom: 20px;
  margin-top: 20px;
  border-bottom: 1px solid var(--hm-line);
  font-size: 0.84375rem;
  line-height: 1.45;
}

.hm-byline img,
.hm-byline__avatar,
.avatar {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  object-fit: cover;
  background: var(--hm-lime);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: 50%;
}

.hm-byline__avatar {
  display: block;
  width: 44px;
  height: 44px;
  overflow: visible;
  background: transparent;
  border: 0;
}

.hm-byline__avatar img {
  display: block;
  width: 42px;
  height: 42px;
  padding: 4px;
  object-fit: contain;
}

.hm-byline__updated {
  color: var(--hm-slate);
}

.hm-byline__meta {
  color: var(--hm-slate);
}

.hm-byline__meta strong,
.hm-byline__author {
  color: var(--hm-text);
}

.hm-quick-answer {
  max-width: none;
  padding: 16px 20px;
  margin: 20px 0 26px;
  background: var(--hm-surface-soft);
  border: 1px solid var(--hm-line);
  border-left: var(--hm-border-lg) solid var(--hm-lime);
  border-radius: 0;
}

.hm-quick-answer__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.hm-quick-answer h2,
.hm-quick-answer__label {
  font-family: var(--hm-display);
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.hm-quick-answer time,
.hm-quick-answer__date {
  color: var(--hm-slate);
  font-size: 0.71875rem;
}

.hm-quick-answer p {
  margin: 0;
  font-size: 1.03125rem;
  line-height: 1.6;
}

.hm-entry-content {
  max-width: none;
  overflow-wrap: anywhere;
}

.hm-entry-content :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--hm-display);
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}

.hm-entry-content > :first-child {
  margin-top: 0;
}

.hm-entry-content > :last-child {
  margin-bottom: 0;
}

.hm-entry-content > :where(h2, h3, h4) {
  scroll-margin-top: calc(var(--hm-header-height) + 38px);
  overflow-wrap: normal;
  text-wrap: wrap;
  word-break: normal;
}

.hm-entry-content > h2 {
  max-width: 100%;
  margin: var(--hm-space-7xl) 0 var(--hm-space-lg);
  font-size: var(--hm-font-content-h2);
  line-height: 1.2;
}

.hm-entry-content > h3 {
  max-width: none;
  margin: var(--hm-space-5xl) 0 var(--hm-space-md);
  color: var(--hm-text-secondary);
  font-size: var(--hm-font-content-h3);
  line-height: 1.2;
}

.hm-entry-content > h4 {
  max-width: none;
  margin: var(--hm-space-4xl) 0 var(--hm-space-sm);
  color: var(--hm-text-secondary);
  font-size: var(--hm-font-content-h4);
  line-height: 1.2;
}

.hm-entry-content p,
.hm-entry-content ul,
.hm-entry-content ol,
.hm-entry-content blockquote,
.hm-entry-content pre,
.hm-entry-content figure,
.hm-entry-content details {
  margin-bottom: 1.15rem;
}

.hm-entry-content ul,
.hm-entry-content ol {
  padding-left: 1.45rem;
}

.hm-entry-content li + li {
  margin-top: 0.45rem;
}

.hm-entry-content blockquote,
.wp-block-quote {
  padding: 16px 20px;
  margin-inline: 0;
  background: var(--hm-surface-soft);
  border-left: var(--hm-border-lg) solid var(--hm-info);
}

.hm-entry-content blockquote p:last-child,
.wp-block-quote p:last-child {
  margin-bottom: 0;
}

.hm-entry-content pre,
.wp-block-code {
  max-width: 100%;
  padding: 16px;
  overflow-x: auto;
  background: var(--hm-surface-soft);
  border: 1px solid var(--hm-line);
  border-radius: var(--hm-radius-sm);
  font-size: 0.875rem;
}

.wp-block-image img,
.hm-entry-content > img {
  border-radius: var(--hm-radius);
}

.wp-element-caption,
.wp-block-image figcaption,
.wp-block-table figcaption {
  margin-top: 7px;
  color: var(--hm-slate);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.wp-block-table,
.hm-table-scroll {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--hm-line);
  border-radius: var(--hm-radius);
}

.hm-table-scroll > .wp-element-caption {
  display: none;
}

.wp-block-table table,
.hm-entry-content table {
  width: 100%;
  min-width: 540px;
  border-spacing: 0;
  border-collapse: collapse;
  font-size: 0.9375rem;
}

.wp-block-table table.has-fixed-layout:has(tr:first-child > :nth-child(2):last-child) :where(th, td):first-child,
.hm-entry-content table.has-fixed-layout:has(tr:first-child > :nth-child(2):last-child) :where(th, td):first-child {
  width: 35%;
}

.wp-block-table th,
.hm-entry-content th {
  padding: 11px 15px;
  color: var(--hm-text);
  background: var(--hm-surface-raised);
  border: 0;
  font-family: var(--hm-display);
  font-size: 0.8125rem;
  font-weight: 400;
  text-align: left;
}

.wp-block-table td,
.hm-entry-content td {
  padding: 11px 15px;
  border: 0;
  border-top: 1px solid var(--hm-line);
  vertical-align: top;
}

.wp-block-table tbody tr:nth-child(even),
.hm-entry-content tbody tr:nth-child(even) {
  background: var(--hm-surface-soft);
}

.hm-toc {
  position: relative;
  min-width: 0;
}

.hm-toc__inner {
  position: sticky;
  top: calc(var(--hm-header-height) + var(--hm-admin-bar, 0px) + 36px);
}

.hm-toc__sticky {
  position: sticky;
  top: calc(var(--hm-header-height) + var(--hm-admin-bar, 0px) + 36px);
}

.hm-toc__title {
  margin-bottom: 12px;
  color: var(--hm-slate);
  font-family: var(--hm-display);
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.hm-toc__nav,
.hm-toc nav {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
  border-left: 2px solid var(--hm-line);
}

.hm-toc__nav ul,
.hm-toc nav ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.hm-toc__nav a,
.hm-toc nav a {
  display: block;
  padding: 7px 0 7px 14px;
  margin-left: -2px;
  color: var(--hm-slate);
  border-left: 2px solid transparent;
  font-size: 0.84375rem;
  line-height: 1.3;
  text-decoration: none;
}

.hm-toc__nav a:hover,
.hm-toc nav a:hover {
  color: var(--hm-text);
}

.hm-toc__nav a.is-active,
.hm-toc__nav a[aria-current="location"],
.hm-toc nav a.is-active,
.hm-toc nav a[aria-current="location"] {
  color: var(--hm-text);
  border-left-color: var(--hm-red);
  font-weight: 400;
}

.hm-toc-mobile {
  display: none;
  margin: 0 0 22px;
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius);
}

.hm-toc-mobile > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 15px;
  font-family: var(--hm-display);
  font-size: 0.75rem;
}

.hm-toc-mobile > summary::after {
  color: var(--hm-red);
  content: "+";
  font-family: var(--hm-display);
  font-size: 1.25rem;
}

.hm-toc-mobile[open] > summary::after {
  content: "−";
}

.hm-toc-mobile nav,
.hm-toc-mobile ul {
  padding: 0 15px 12px;
  margin: 0;
  list-style: none;
}

.hm-toc-mobile li + li {
  margin-top: 7px;
}

.hm-toc-mobile a {
  color: var(--hm-slate);
  font-size: 0.875rem;
}

/* Native pattern components */
.hm-callout,
.hm-help-center,
.hm-compliance,
.hm-support-exit {
  display: flex;
  gap: 13px;
  align-items: flex-start;
  padding: 16px 18px;
  margin: 26px 0;
  background: var(--hm-surface-soft);
  border: 2px solid var(--hm-line);
  border-radius: var(--hm-radius);
}

.hm-callout > :last-child,
.hm-help-center > :last-child,
.hm-compliance > :last-child,
.hm-support-exit > :last-child,
.hm-callout p:last-child,
.hm-help-center p:last-child,
.hm-compliance p:last-child,
.hm-support-exit p:last-child {
  margin-bottom: 0;
}

.hm-callout__content {
  flex: 1 1 auto;
  min-width: 0;
}

.hm-callout > .wp-block-group__inner-container,
.hm-callout__content > .wp-block-group__inner-container {
  min-width: 0;
}

.hm-callout h3,
.hm-callout__content h3 {
  margin: 0;
  font-size: 0.9375rem;
}

.hm-callout p,
.hm-callout__content p {
  margin: 3px 0 0;
  color: var(--hm-slate);
  font-size: 0.90625rem;
  line-height: 1.5;
}

.hm-callout__steps {
  padding-left: 1.25rem;
  margin: 8px 0 0;
  color: var(--hm-slate);
  font-size: 0.90625rem;
  line-height: 1.5;
}

.hm-callout__step + .hm-callout__step {
  margin-top: 5px;
}

.hm-callout--warning::before,
.hm-callout--info::before,
.hm-callout--steps::before {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  place-items: center;
  font-family: var(--hm-display);
  font-size: 0.875rem;
  line-height: 1;
}

.hm-callout--warning::before {
  color: var(--hm-warning);
  content: "!";
  border: 2px solid currentcolor;
  border-radius: 50%;
}

.hm-callout--info::before {
  background-color: currentcolor;
  border: 0;
  border-radius: 0;
  color: var(--hm-info);
  content: "";
  mask: url("../img/icons/ui/info.svg") center / contain no-repeat;
  -webkit-mask: url("../img/icons/ui/info.svg") center / contain no-repeat;
}

.hm-callout--steps::before {
  color: var(--hm-warning);
  content: "\26A1";
}

.hm-callout--warning {
  background: rgb(255 206 26 / 16%);
  border-color: var(--hm-warning);
}

.hm-callout--info {
  background: rgb(42 156 255 / 16%);
  border-color: var(--hm-info);
}

.hm-callout--steps,
.hm-help-center {
  background: rgb(220 242 84 / 12%);
  border-color: var(--hm-lime);
}

.hm-callout--compliance,
.hm-compliance {
  align-items: center;
  background: var(--hm-surface-soft);
  border-width: 1px;
  color: var(--hm-slate);
  font-size: 0.78125rem;
  letter-spacing: 0.01em;
}

.hm-callout--compliance::before,
.hm-compliance::before {
  flex: 0 0 auto;
  padding: 5px 8px;
  color: var(--hm-text);
  background: var(--hm-surface-raised);
  border-radius: 0;
  font-family: var(--hm-display);
  font-size: 0.75rem;
}

.hm-callout--compliance::before {
  content: "STATUS";
}

.hm-compliance::before {
  content: "21+";
}

.hm-compliance::before {
  display: none;
}

.hm-compliance__age {
  flex: 0 0 auto;
  padding: 5px 8px;
  color: var(--hm-text);
  background: var(--hm-surface-raised);
  border-radius: var(--hm-radius-sm);
  font-family: var(--hm-display);
  font-size: 0.75rem;
}

.hm-help-center h2,
.hm-support-exit h2 {
  margin: 0;
  font-size: 0.9375rem;
}

.hm-help-center p,
.hm-support-exit p {
  margin: 3px 0 0;
  color: var(--hm-slate);
  font-size: 0.90625rem;
  line-height: 1.5;
}

.hm-help-center__icon,
.hm-support-exit__icon {
  flex: 0 0 auto;
  font-size: 1.35rem;
}

/* Keep the Help Center action and arrow together at every article width. */
.hm-help-center > div {
  flex: 1 1 auto;
  min-width: 0;
}

.hm-help-center__icon {
  width: 24px;
  line-height: 1;
}

.hm-help-center p > a {
  display: flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.hm-help-center p > a > span {
  flex: 0 0 16px;
  margin-left: 0;
}

.hm-support-exit__icon {
  width: 24px;
  height: 24px;
  color: var(--hm-lime);
}

.hm-support-exit {
  align-items: center;
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-red);
  border-radius: var(--hm-radius-lg);
}

.hm-support-exit__content {
  flex: 1 1 auto;
}

.hm-support-exit .hm-button {
  margin-left: auto;
}

.hm-choice-grid,
.hm-choice-grid > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-block: 18px 32px;
}

.hm-choice-card,
.hm-choice-card > .wp-block-group__inner-container {
  display: grid;
  min-width: 0;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
}

.hm-choice-grid > .hm-choice-card,
.hm-choice-grid > .wp-block-group__inner-container > .hm-choice-card,
.hm-choice-card > .hm-choice-card__icon,
.hm-choice-card > .hm-choice-card__content,
.hm-choice-card > .wp-block-group__inner-container > .hm-choice-card__icon,
.hm-choice-card > .wp-block-group__inner-container > .hm-choice-card__content {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
}

.hm-choice-card {
  position: relative;
  padding: 18px;
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-lg);
  box-shadow: var(--hm-shadow-sm);
  transition: box-shadow 80ms ease, transform 80ms ease;
}

.hm-choice-card:hover {
  box-shadow: var(--hm-shadow);
}

.hm-choice-card:focus-within {
  outline: var(--hm-border-lg) solid var(--hm-info);
  outline-offset: 4px;
}

.hm-choice-card__icon {
  width: 48px;
  height: 48px;
  background-color: var(--hm-base-60);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px 24px;
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius);
}

.hm-choice-card__icon--map-pin {
  background-image: url("../img/icons/choice-map-pin.svg");
}

.hm-choice-card__icon--home {
  background-image: url("../img/icons/choice-home.svg");
}

.hm-choice-card__icon--suitcase {
  background-image: url("../img/icons/choice-suitcase.svg");
}

.hm-choice-card__icon--coins {
  background-image: url("../img/icons/choice-coins.svg");
}

.hm-choice-card__icon--mail {
  background-image: url("../img/icons/choice-mail.svg");
}

.hm-choice-card__icon--location {
  background-image: url("../img/icons/choice-location.svg");
}

.hm-choice-card__content,
.hm-choice-card__content > .wp-block-group__inner-container {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.hm-choice-card__title {
  width: 100%;
  max-width: none !important;
  margin: 0 0 7px !important;
  font-size: 1rem;
  line-height: 1.3;
}

.hm-choice-card__link {
  color: var(--hm-text);
  text-decoration: none;
}

.hm-choice-card__link::after {
  position: absolute;
  inset: 0;
  content: "";
  border-radius: inherit;
}

.hm-choice-card__link:hover {
  text-decoration: none;
}

.hm-choice-card__link:focus-visible {
  outline: none;
}

.hm-choice-card__description {
  margin: 0;
  color: var(--hm-slate);
  font-size: 0.875rem;
  line-height: 1.5;
}

.hm-choice-card__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: none !important;
  gap: 12px;
  padding-top: 12px;
  margin: auto 0 0 !important;
  color: var(--hm-lime);
  font-family: var(--hm-display);
  font-size: 0;
  line-height: 1.3;
  text-align: left;
}

.hm-choice-card__action > span {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  overflow: hidden;
  margin-left: auto;
  color: var(--hm-lime);
  background: var(--hm-surface-soft);
  border: var(--hm-border-sm) solid var(--hm-border-strong);
  border-radius: 50%;
  font-size: 0;
  line-height: 0;
  transition: color 80ms ease, background-color 80ms ease, border-color 80ms ease, transform 80ms ease;
}

.hm-choice-card__action > span::before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 18px;
  height: 18px;
  background-color: currentcolor;
  content: "";
  mask: url("../img/icons/ui/chevron-right.svg") center / contain no-repeat;
  transform: translate(-50%, -50%);
  -webkit-mask: url("../img/icons/ui/chevron-right.svg") center / contain no-repeat;
}

.hm-choice-card:hover .hm-choice-card__action > span,
.hm-choice-card:focus-within .hm-choice-card__action > span {
  color: var(--hm-base-35);
  background: var(--hm-lime);
  border-color: var(--hm-lime);
  transform: translateX(2px);
}

.hm-preflight {
  width: 100%;
  margin-block: 20px 30px;
  overflow: hidden;
  background: var(--hm-surface);
  border: 1px solid var(--hm-line);
  border-left: var(--hm-border-lg) solid var(--hm-lime);
  border-radius: 0;
}

.hm-preflight > .hm-preflight__list,
.hm-preflight > .hm-preflight__footer,
.hm-preflight > .wp-block-group__inner-container > .hm-preflight__list,
.hm-preflight > .wp-block-group__inner-container > .hm-preflight__footer {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
}

.hm-preflight__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0 18px;
  color: var(--hm-slate);
  counter-reset: hm-preflight-item;
  list-style: none;
}

.hm-preflight__item {
  position: relative;
  min-width: 0;
  min-height: 112px;
  padding: 21px 18px 21px 72px;
  border-top: 1px solid var(--hm-line);
  counter-increment: hm-preflight-item;
  font-size: 0.875rem;
  line-height: 1.5;
}

.hm-preflight__item:nth-child(-n + 2) {
  border-top: 0;
}

.hm-preflight__item:nth-child(odd) {
  border-right: 1px solid var(--hm-line);
}

.hm-preflight__item::before {
  position: absolute;
  top: 21px;
  left: 18px;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  color: var(--hm-base-35);
  background: var(--hm-lime);
  content: counter(hm-preflight-item, decimal-leading-zero);
  font-family: var(--hm-display);
  font-size: 0.8125rem;
  line-height: 1;
}

.hm-preflight__item > strong {
  display: block;
  margin-bottom: 5px;
  color: var(--hm-text);
  font-family: var(--hm-display);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.3;
}

.hm-preflight__footer,
.hm-preflight__footer > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 22px;
  align-items: center;
}

.hm-preflight__footer {
  padding: 16px 21px;
  color: var(--hm-text);
  background: var(--hm-surface-raised);
}

.hm-preflight__footer-title,
.hm-preflight__footer-copy {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
}

.hm-preflight__footer-title {
  color: var(--hm-text);
  font-size: 0.75rem;
  line-height: 1.25;
  text-transform: uppercase;
}

.hm-preflight__footer-copy {
  color: rgb(255 255 255 / 86%);
  font-size: 0.78125rem;
  line-height: 1.45;
}

.hm-timeline {
  display: grid;
  grid-template-columns: repeat(var(--hm-timeline-steps, 3), minmax(140px, 1fr));
  padding: 25px 21px 20px;
  margin-block: 22px 26px;
  overflow-x: auto;
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-lg);
  box-shadow: var(--hm-shadow);
  counter-reset: hm-timeline-step;
}

.hm-timeline--steps-2 {
  --hm-timeline-steps: 2;
}

.hm-timeline--steps-3 {
  --hm-timeline-steps: 3;
}

.hm-timeline--steps-4 {
  --hm-timeline-steps: 4;
}

.hm-timeline--steps-5 {
  --hm-timeline-steps: 5;
}

.hm-timeline--steps-6 {
  --hm-timeline-steps: 6;
}

.hm-timeline__track,
.hm-timeline__track > .wp-block-group__inner-container,
.hm-timeline > .wp-block-group__inner-container {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(var(--hm-timeline-steps, 3), minmax(140px, 1fr));
  width: 100%;
  min-width: calc(var(--hm-timeline-steps, 3) * 140px);
}

.hm-timeline .hm-timeline__step {
  width: 100%;
  max-width: none;
  margin: 0;
}

.hm-timeline__step {
  position: relative;
  padding: 51px 5px 0;
  counter-increment: hm-timeline-step;
  text-align: center;
}

.hm-timeline__step::before {
  position: absolute;
  top: 19px;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--hm-line);
  content: "";
}

.hm-timeline__step:first-child::before {
  left: 50%;
  width: 50%;
}

.hm-timeline__step:last-child::before {
  width: 50%;
}

.hm-timeline__step::after {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: 50%;
  content: counter(hm-timeline-step);
  font-family: var(--hm-display);
  font-size: 0.9375rem;
  transform: translateX(-50%);
}

.hm-timeline__step:first-child::after {
  color: var(--hm-base-35);
  background: var(--hm-lime);
}

.hm-timeline__number {
  position: relative;
  z-index: 1;
  display: grid;
  width: 40px;
  height: 40px;
  margin-inline: auto;
  place-items: center;
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: 50%;
  font-family: var(--hm-display);
  font-size: 0.9375rem;
}

.hm-timeline__step:first-child .hm-timeline__number {
  color: var(--hm-base-35);
  background: var(--hm-lime);
}

.hm-timeline__step h3,
.hm-timeline__label {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.25;
}

.hm-timeline__step p,
.hm-timeline__duration {
  margin: 5px 0 0;
  color: var(--hm-slate);
  font-size: 0.75rem;
  line-height: 1.35;
}

.hm-faq-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-block: 18px 30px;
}

.hm-faq-stack > .hm-faq {
  width: 100%;
  max-width: none;
  margin: 0;
}

.hm-faq,
.hm-entry-content details {
  overflow: clip;
  background: var(--hm-surface);
  border: 2px solid var(--hm-line);
  border-radius: var(--hm-radius);
}

.hm-faq > summary,
.hm-entry-content details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 14px 17px;
  color: var(--hm-text);
  font-size: 0.96875rem;
  font-weight: 500;
  line-height: 1.4;
}

.hm-faq > summary::after,
.hm-entry-content details > summary::after {
  flex: 0 0 auto;
  color: var(--hm-red);
  content: "+";
  font-family: var(--hm-display);
  font-size: 1.25rem;
}

.hm-faq[open] > summary::after,
.hm-entry-content details[open] > summary::after {
  content: "−";
}

.hm-faq > :not(summary),
.hm-entry-content details > :not(summary) {
  padding-inline: 17px;
}

.hm-faq > summary + *,
.hm-entry-content details > summary + * {
  margin-top: 0;
}

.hm-faq > :last-child,
.hm-entry-content details > :last-child {
  padding-bottom: 15px;
  margin-bottom: 0;
}

.hm-promotion-cta-region {
  padding-block: var(--hm-space-6) var(--hm-space-7);
}

.hm-promotion-cta-region--content {
  padding-block: var(--hm-space-6) 0;
  background: transparent;
}

.hm-promotion-cta-inline {
  margin-block: var(--hm-space-6);
}

.hm-promotion-cta {
  display: block;
  width: 100%;
  overflow: hidden;
  color: var(--hm-base-35);
  background: var(--hm-lime);
  border-radius: var(--hm-radius);
  text-decoration: none;
}

.hm-promotion-cta__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

.hm-promotion-cta__label {
  display: grid;
  min-height: 64px;
  padding: var(--hm-space-4);
  place-items: center;
  color: var(--hm-base-35);
  background: var(--hm-lime);
  font-family: var(--hm-display);
  font-size: var(--hm-font-2xl);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  text-transform: none;
  transition: background-color 120ms ease;
}

.hm-promotion-cta:hover,
.hm-promotion-cta:active {
  color: var(--hm-base-35);
  text-decoration: none;
}

.hm-promotion-cta:hover .hm-promotion-cta__label,
.hm-promotion-cta:active .hm-promotion-cta__label {
  background: var(--hm-accent-primary-75);
}

.hm-related-guides {
  margin-block: 34px 26px;
}

.hm-related-guides__grid,
.hm-related-guides > ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  margin: 16px 0 0;
  list-style: none;
}

.hm-related-guides a {
  display: flex;
  align-items: center;
  gap: 18px;
  height: 100%;
  padding: 18px 20px;
  color: var(--hm-text);
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius);
  text-decoration: none;
}

.hm-related-card {
  min-width: 0;
}

.hm-related-card__content {
  min-width: 0;
}

.hm-related-card h3 {
  margin: 0;
  font-family: var(--hm-body);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.45;
}

.hm-related-guides__pillar {
  display: block;
  margin-bottom: 7px;
  color: var(--hm-slate);
  font-family: var(--hm-body);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
}

.hm-related-card__arrow {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--hm-lime);
  background-color: currentcolor;
  font-size: 0;
  line-height: 1;
  mask: url("../img/icons/ui/arrow-right.svg") center / contain no-repeat;
  -webkit-mask: url("../img/icons/ui/arrow-right.svg") center / contain no-repeat;
}

.hm-related-guides a:hover {
  background: var(--hm-surface-soft);
  text-decoration: none;
}

/* General, legal, author, search, and 404 */
.hm-page.hm-shell--narrow {
  width: min(100% - 48px, var(--hm-copy));
  padding: 46px 40px 56px;
  background: var(--hm-surface);
  border-right: 1px solid var(--hm-line);
  border-left: 1px solid var(--hm-line);
}

.hm-page__lede {
  margin-bottom: 22px;
  font-size: 1.1875rem;
  line-height: 1.55;
}

.hm-page__updated {
  margin-bottom: 8px;
  color: var(--hm-slate);
  font-size: 0.875rem;
}

.hm-about-policy {
  padding: 19px 21px;
  margin-top: 30px;
  background: var(--hm-surface-soft);
  border: 2px solid var(--hm-line);
  border-left: var(--hm-border-lg) solid var(--hm-lime);
  border-radius: 0;
}

.hm-about-policy h2 {
  margin: 0 0 7px;
  color: var(--hm-slate);
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hm-about-policy p {
  margin-bottom: 7px;
  font-size: 0.9375rem;
}

.hm-about-policy a {
  font-size: 0.875rem;
  font-weight: 500;
}

.hm-page-links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 28px;
  font-weight: 500;
}

.hm-page-links a,
.hm-page-links > span {
  display: grid;
  min-width: 36px;
  min-height: 36px;
  padding: 5px 9px;
  place-items: center;
  color: var(--hm-text);
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-sm);
  text-decoration: none;
}

.hm-page-content {
  padding-block: 46px 56px;
  background: var(--hm-surface);
  border-right: 1px solid var(--hm-line);
  border-left: 1px solid var(--hm-line);
}

.hm-page-content .hm-entry-content {
  max-width: none;
}

.hm-author-profile {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  padding: 30px;
  margin-bottom: 36px;
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-lg);
  box-shadow: var(--hm-shadow);
}

.hm-author-hero {
  padding-block: 44px;
  background: var(--hm-surface);
  border-bottom: var(--hm-border-lg) solid var(--hm-base-0);
}

.hm-author-hero .hm-author-profile {
  margin-bottom: 0;
}

.hm-author-profile .avatar {
  width: 112px;
  height: 112px;
}

.hm-author-profile__avatar {
  line-height: 0;
}

.hm-listing-section > h2 {
  margin-bottom: 20px;
}

.hm-results-count {
  margin: 0 0 18px;
  color: var(--hm-slate);
  font-size: 0.875rem;
}

.hm-hero--search .hm-search-form,
.hm-hero--error .hm-search-form {
  max-width: 620px;
  margin-top: 24px;
  box-shadow: var(--hm-shadow);
}

.hm-error-code {
  margin: 0 0 8px;
  color: var(--hm-lime) !important;
  font-family: var(--hm-display);
  font-size: var(--hm-font-h1);
  line-height: 1;
}

main.hm-not-found {
  width: auto;
  padding: 0;
  margin: 0;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.hm-hero--error {
  display: flex;
  min-height: max(520px, 64vh);
  align-items: center;
}

.hm-hero--error .hm-button {
  margin-top: 24px;
}

.hm-empty-state,
.hm-not-found {
  width: min(100% - 48px, var(--hm-container-content));
  padding: 48px 36px;
  margin: 56px auto;
  text-align: center;
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-lg);
  box-shadow: var(--hm-shadow);
}

.hm-empty-state p,
.hm-not-found p {
  max-width: 560px;
  margin: 14px auto 22px;
  color: var(--hm-slate);
}

.hm-empty-state .search-form,
.hm-not-found .search-form {
  display: flex;
  gap: 8px;
  max-width: 540px;
  margin: 22px auto 0;
}

.hm-404 {
  padding-block: 64px 80px;
  background: var(--hm-canvas);
}

.hm-404__panel {
  width: min(100%, var(--hm-container-frame));
  margin-inline: auto;
  overflow: hidden;
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-lg);
  box-shadow: var(--hm-shadow-bottom-2);
}

.hm-404__intro {
  padding: 52px 40px 42px;
  text-align: center;
}

.hm-404__code {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 12px;
  margin: 0 0 22px;
  color: var(--hm-base-35);
  background: var(--hm-lime);
  border-radius: var(--hm-radius-full);
  font-family: var(--hm-secondary);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.hm-404__code span {
  padding-left: 7px;
  border-left: var(--hm-border-sm) solid rgb(98 28 29 / 38%);
}

.hm-404__intro h1 {
  max-width: 720px;
  margin: 0 auto;
  font-size: var(--hm-font-4xl);
}

.hm-404__lede {
  max-width: 650px;
  margin: 16px auto 0;
  color: var(--hm-text-secondary);
  font-size: 1rem;
  line-height: 1.55;
}

.hm-404__search {
  max-width: 640px;
  margin: 28px auto 0;
}

.hm-404__search .hm-search-form {
  box-shadow: var(--hm-shadow-bottom-1);
}

.hm-404__home {
  margin-top: 20px;
}

.hm-404__shortcuts {
  padding: 32px 36px 36px;
  background: var(--hm-surface-soft);
  border-top: var(--hm-border-md) solid var(--hm-border-strong);
}

.hm-404__shortcuts-heading {
  margin-bottom: 20px;
  text-align: center;
}

.hm-404__shortcuts-heading h2 {
  margin: 0;
  font-size: var(--hm-font-xl);
}

.hm-404__shortcuts-heading p {
  margin: 7px 0 0;
  color: var(--hm-text-muted);
  font-size: 0.875rem;
}

.hm-404__shortcut-grid {
  display: grid;
  max-width: 820px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-inline: auto;
}

.hm-404-shortcut {
  display: grid;
  min-width: 0;
  grid-template-columns: 44px minmax(0, 1fr) 32px;
  gap: 12px;
  align-items: center;
  padding: 14px;
  color: var(--hm-text);
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius);
  text-decoration: none;
  transition: background-color 80ms ease, border-color 80ms ease, box-shadow 80ms ease, transform 80ms ease;
}

.hm-404-shortcut:hover {
  background: var(--hm-surface-raised);
  border-color: var(--hm-lime);
  box-shadow: var(--hm-shadow-central-1);
  text-decoration: none;
  transform: translateY(-1px);
}

.hm-404-shortcut__icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: var(--hm-text);
  background: var(--hm-base-60);
  border: var(--hm-border-sm) solid var(--hm-border-strong);
  border-radius: var(--hm-radius);
}

.hm-404-shortcut__icon .hm-pillar-icon {
  width: 23px;
  height: 23px;
}

.hm-404-shortcut__copy {
  display: block;
  min-width: 0;
}

.hm-404-shortcut__copy strong,
.hm-404-shortcut__copy small {
  display: block;
}

.hm-404-shortcut__copy strong {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.25;
}

.hm-404-shortcut__copy small {
  margin-top: 4px;
  color: var(--hm-text-muted);
  font-size: 0.75rem;
  line-height: 1.3;
}

.hm-404-shortcut__arrow {
  display: grid;
  box-sizing: border-box;
  width: 32px;
  height: 32px;
  place-items: center;
  color: var(--hm-lime);
  background: var(--hm-surface-soft);
  border: var(--hm-border-sm) solid var(--hm-border-strong);
  border-radius: 50%;
  transition: color 80ms ease, background-color 80ms ease, border-color 80ms ease, transform 80ms ease;
}

.hm-404-shortcut__arrow .hm-ui-icon {
  width: 18px;
  height: 18px;
}

.hm-404-shortcut:hover .hm-404-shortcut__arrow {
  color: var(--hm-base-35);
  background: var(--hm-lime);
  border-color: var(--hm-lime);
  transform: translateX(2px);
}

@media (max-width: 599px) {
  .hm-404 {
    padding-block: 32px 44px;
  }

  .hm-404__panel {
    border-radius: var(--hm-radius);
  }

  .hm-404__intro {
    padding: 36px 18px 32px;
  }

  .hm-404__intro h1 {
    font-size: var(--hm-font-3xl);
  }

  .hm-404__search .hm-search-form {
    align-items: stretch;
    flex-direction: column;
    padding: 8px;
  }

  .hm-404__search .hm-search-form__icon {
    display: none;
  }

  .hm-404__search .hm-search-form__field {
    min-height: 42px;
    padding-inline: 10px;
  }

  .hm-404__home {
    width: 100%;
  }

  .hm-404__shortcuts {
    padding: 28px 16px 20px;
  }

  .hm-404__shortcut-grid {
    grid-template-columns: 1fr;
  }
}

.hm-pagination,
.navigation.pagination {
  margin-top: 34px;
}

.hm-pagination .nav-links,
.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
}

.hm-pagination a,
.hm-pagination span,
.navigation.pagination a,
.navigation.pagination span {
  display: grid;
  min-width: 38px;
  min-height: 38px;
  padding: 6px 10px;
  place-items: center;
  color: var(--hm-text);
  background: var(--hm-surface);
  border: var(--hm-border-md) solid var(--hm-border-strong);
  border-radius: var(--hm-radius-sm);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
}

.hm-pagination .current,
.navigation.pagination .current {
  color: var(--hm-base-35);
  background: var(--hm-lime);
}

/* Footer */
.site-footer {
  padding: 44px 0 30px;
  color: var(--hm-text);
  background: var(--hm-canvas);
  border-top: var(--hm-border-md) solid var(--hm-border);
}

.hm-footer-grid {
  display: grid;
  grid-template-columns: 1.3fr repeat(3, 1fr);
  gap: 28px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--hm-border);
}

.hm-footer-brand .hm-brand {
  width: min(100%, 160px);
}

.hm-footer-brand .hm-brand__logo--stacked {
  width: 160px;
  transform: translateX(-10%);
}

.hm-footer-brand p {
  max-width: 270px;
  margin-top: 12px;
  color: var(--hm-text-muted);
  font-size: 0.8125rem;
  line-height: 1.55;
}

.hm-footer-column h2,
.hm-footer-column h3,
.hm-footer-column__title {
  margin-bottom: 12px;
  color: var(--hm-text);
  font-size: 0.75rem;
}

.hm-footer-column ul,
.hm-footer-column .menu {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.hm-footer-menu {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.hm-footer-column a {
  color: var(--hm-text-secondary);
  font-size: 0.84375rem;
}

.hm-footer-legal {
  margin-top: 21px;
  color: var(--hm-text-muted);
  font-size: 0.75rem;
  letter-spacing: 0.01em;
  line-height: 1.55;
}

.hm-footer-legal p {
  margin: 0;
}

.hm-footer-legal p + p {
  margin-top: 7px;
  color: var(--hm-text-muted);
}

.hm-footer-legal a {
  color: var(--hm-text);
}

.site-footer a:focus-visible {
  outline-color: var(--hm-lime);
}

/* Responsive: compact desktop */
@media (max-width: 1280px) {
  .hm-home-hero::before {
    background-position: left center;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .hm-primary-nav a {
    padding-inline: 7px;
    font-size: 0.75rem;
  }

  .hm-button--play {
    max-width: 150px;
    padding-inline: 13px;
  }

  .hm-pillar-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Responsive: tablet/navigation */
@media (max-width: 1023px) {
  :root {
    --hm-page-gutter: var(--hm-page-gutter-tablet);
    --hm-grid-columns: 8;
    --hm-grid-gutter: 8px;
    --hm-grid-gap: 8px;
  }

  .hm-shell {
    width: min(100% - 32px, var(--hm-shell));
  }

  body.admin-bar {
    --hm-admin-bar: 32px;
  }

  .hm-header__inner {
    min-height: 66px;
  }

  .js .hm-menu-toggle {
    display: inline-grid;
  }

  .hm-primary-nav {
    position: absolute;
    inset: calc(100% + 2px) 0 auto;
    padding: 12px 24px 18px;
    background: var(--hm-surface);
    border-bottom: var(--hm-border-md) solid var(--hm-border-strong);
    box-shadow: var(--hm-shadow-bottom-2);
  }

  .js .hm-primary-nav:not(.is-open),
  .js .hm-primary-nav[aria-hidden="true"] {
    display: none;
  }

  .hm-primary-nav ul,
  .hm-primary-nav .menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    width: min(100%, var(--hm-shell));
    margin-inline: auto;
  }

  .hm-primary-nav a {
    padding: 10px 12px;
    overflow: visible;
    font-size: 0.875rem;
    text-overflow: clip;
    white-space: normal;
  }

  .hm-header__actions {
    margin-left: auto;
  }

  .hm-reading-layout {
    grid-template-columns: minmax(0, 1fr) var(--hm-layout-rail);
    gap: 30px;
  }

  .hm-guide-grid,
  .hm-results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hm-home-trust-wrap {
    grid-template-columns: minmax(0, var(--hm-container-content));
    justify-content: center;
  }
}

/* Responsive: reading layout switches before the TOC squeezes the article. */
@media (max-width: 1023px) {
  .hm-content-column {
    margin-inline: auto;
  }

  .hm-reading-layout {
    display: block;
    max-width: calc(var(--hm-container-content) + var(--hm-page-gutter) + var(--hm-page-gutter));
    padding-block: 32px 44px;
    border: 0;
  }

  .hm-reading-layout > .hm-toc {
    display: none;
  }

  .hm-toc-mobile {
    display: block;
  }

  .hm-related-guides__grid,
  .hm-related-guides > ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 782px) {
  body.admin-bar {
    --hm-admin-bar: 46px;
  }

  #wpadminbar {
    position: fixed;
  }

  .hm-button--play {
    display: none;
  }

  .hm-page-content {
    padding-block: 36px 46px;
  }

  .hm-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Responsive: mobile */
@media (max-width: 599px) {
  :root {
    --hm-header-height: 64px;
    --hm-page-gutter: var(--hm-page-gutter-mobile);
    --hm-grid-columns: 4;
    --hm-grid-gutter: 8px;
  }

  html {
    scroll-padding-top: calc(var(--hm-header-height) + var(--hm-admin-bar, 0px));
  }

  body {
    font-size: 16px;
    line-height: var(--hm-line-body);
  }

  .hm-shell {
    width: min(100% - 24px, var(--hm-shell));
  }

  .hm-header__inner {
    gap: 9px;
    min-height: var(--hm-header-height);
  }

  .hm-brand__logo--horizontal {
    width: 44px;
    height: 44px;
    object-fit: contain;
  }

  .hm-brand__logo--header-stacked {
    width: 44px;
    height: 44px;
    object-fit: contain;
  }

  .hm-header__actions {
    gap: 7px;
  }

  .hm-header__search,
  .hm-menu-toggle,
  .hm-search-toggle {
    width: 38px;
    height: 38px;
  }

  .hm-primary-nav {
    max-height: calc(100dvh - var(--hm-header-height) - var(--hm-admin-bar, 0px));
    padding: 10px 16px 16px;
    overflow-y: auto;
  }

  .hm-primary-nav ul,
  .hm-primary-nav .menu {
    display: block;
  }

  .hm-primary-nav li + li {
    border-top: 1px solid var(--hm-line);
  }

  .hm-primary-nav a {
    padding: 11px 8px;
  }

  .hm-search-panel {
    padding: 12px 16px;
  }

  .hm-search-panel form {
    align-items: stretch;
  }

  .hm-header-search__inner {
    gap: 8px;
  }

  .hm-header-search .hm-search-form {
    gap: 4px;
    padding: 4px;
  }

  .hm-header-search .hm-search-form__icon {
    display: none;
  }

  .hm-header-search .hm-search-form__field {
    min-height: 42px;
    padding-inline: 10px;
    font-size: 1rem;
  }

  .hm-header-search .hm-search-form__submit {
    min-width: 76px;
    padding-inline: 12px !important;
  }

  .hm-header-search__close {
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
  }

  .hm-hero {
    padding-block: 38px 44px;
  }

  .hm-hero--compact {
    padding-block: 24px 28px;
  }

  .hm-hero--slim {
    padding-block: 16px;
  }

  .hm-hero h1 {
    font-size: var(--hm-font-h1);
  }

  .hm-hero__topic {
    align-items: flex-start;
    gap: 14px;
  }

  .hm-hero__icon {
    width: 52px;
    height: 52px;
  }

  .hm-home-hero .hm-hero__intro,
  .hm-home-hero > .hm-shell > p {
    font-size: 1rem;
  }

  .hm-home-search form,
  .hm-home-search .search-form {
    display: grid;
    grid-template-areas:
      "field"
      "submit";
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    padding: 5px;
    box-shadow: var(--hm-shadow-bottom-1);
  }

  .hm-home-search label {
    min-width: 0;
  }

  .hm-home-search input[type="search"] {
    grid-area: field;
    padding-inline: 9px;
    font-size: 0.9375rem;
  }

  .hm-home-search button,
  .hm-home-search input[type="submit"] {
    grid-area: submit;
    width: 100%;
    min-width: 44px;
    padding-inline: 11px;
    font-size: 0.75rem;
  }

  .hm-popular-queries {
    gap: 7px;
  }

  .hm-popular-queries li:first-child,
  .hm-popular-queries__label {
    width: 100%;
  }

  .hm-home-topics {
    padding-top: 38px;
  }

  .hm-section-heading {
    align-items: flex-start;
    margin-bottom: 22px;
  }

  .hm-section-heading h2 {
    max-width: 100%;
    white-space: normal;
  }

  .hm-pillar-grid,
  .hm-guide-grid,
  .hm-results-grid,
  .hm-footer-grid {
    grid-template-columns: 1fr;
  }

  .hm-pillar-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 14px;
  }

  .hm-pillar-card__icon {
    grid-row: 1 / span 3;
    margin-bottom: 0;
  }

  .hm-pillar-card h3,
  .hm-pillar-card__title,
  .hm-pillar-card p,
  .hm-pillar-card__description,
  .hm-pillar-card__count {
    grid-column: 2;
  }

  .hm-home-trust-wrap {
    padding-block: 34px 44px;
  }

  .hm-archive-content,
  .hm-results {
    padding-block: 34px 44px;
  }

  .hm-related-guides__grid,
  .hm-related-guides > ul {
    grid-template-columns: 1fr;
  }

  .hm-article__header h1 {
    font-size: var(--hm-font-article-title);
  }

  .hm-toc-mobile > summary {
    font-size: 1rem;
  }

  .hm-toc-mobile > summary::after {
    font-size: 1.5rem;
  }

  .hm-pillar-article .hm-article__header h1 {
    font-size: var(--hm-font-article-title);
    letter-spacing: 0;
  }

  .hm-byline {
    align-items: flex-start;
  }

  .hm-quick-answer {
    padding: 16px 17px;
  }

  .hm-quick-answer__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .hm-quick-answer__header > span {
    display: none;
  }

  .hm-choice-grid,
  .hm-choice-grid > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .hm-preflight__list {
    grid-template-columns: 1fr;
    padding-inline: 14px;
  }

  .hm-preflight__item {
    min-height: 0;
    padding: 17px 8px 17px 58px;
  }

  .hm-preflight__item:nth-child(odd) {
    border-right: 0;
  }

  .hm-preflight__item:nth-child(2) {
    border-top: 1px solid var(--hm-line);
  }

  .hm-preflight__item::before {
    top: 17px;
    left: 8px;
    width: 36px;
    height: 36px;
  }

  .hm-preflight__footer,
  .hm-preflight__footer > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .hm-preflight__footer {
    padding: 15px 17px 16px;
  }

  .hm-timeline {
    grid-template-columns: 1fr;
    padding: 20px 18px 4px;
    overflow: visible;
    box-shadow: var(--hm-shadow-sm);
  }

  .hm-timeline__track,
  .hm-timeline__track > .wp-block-group__inner-container,
  .hm-timeline > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .hm-timeline__step {
    min-height: 58px;
    padding: 0 0 22px 52px;
    text-align: left;
  }

  .hm-timeline__step::before,
  .hm-timeline__step:first-child::before {
    top: 36px;
    left: 17px;
    width: 3px;
    height: calc(100% - 12px);
  }

  .hm-timeline__step:last-child::before {
    display: none;
  }

  .hm-timeline__step::after {
    top: 0;
    left: 0;
    width: 36px;
    height: 36px;
    transform: none;
  }

  .hm-timeline__step h3,
  .hm-timeline__label {
    margin: 0 0 2px;
  }

  .hm-timeline__step p,
  .hm-timeline__duration {
    margin-top: 0;
  }

  .hm-table-scroll > .wp-element-caption {
    position: sticky;
    left: 0;
    display: block;
    width: max-content;
    max-width: calc(100vw - 36px);
    padding: 7px 12px 8px;
    margin: 0;
    font-size: 0.75rem;
  }

  .wp-block-table :where(th, td):first-child,
  .hm-entry-content table :where(th, td):first-child {
    position: sticky;
    left: 0;
    z-index: 1;
  }

  .wp-block-table thead th:first-child,
  .hm-entry-content table thead th:first-child {
    z-index: 2;
    background: var(--hm-surface-raised);
  }

  .wp-block-table tbody tr:nth-child(odd) td:first-child,
  .hm-entry-content tbody tr:nth-child(odd) td:first-child {
    background: var(--hm-surface);
  }

  .wp-block-table tbody tr:nth-child(even) td:first-child,
  .hm-entry-content tbody tr:nth-child(even) td:first-child {
    background: var(--hm-surface-soft);
  }

  .hm-entry-content > h2 {
    margin-top: var(--hm-space-6xl);
  }

  .hm-promotion-cta__label {
    min-height: 56px;
    padding: var(--hm-space-3);
    font-size: var(--hm-font-xl);
  }

  .hm-support-exit {
    align-items: flex-start;
    flex-direction: column;
  }

  .hm-support-exit .hm-button {
    width: 100%;
    margin-left: 0;
  }

  .hm-author-profile {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 18px;
    padding: 22px;
  }

  .hm-author-profile .avatar {
    width: 76px;
    height: 76px;
  }

  .hm-author-profile__bio {
    grid-column: 1 / -1;
  }

  .hm-empty-state,
  .hm-not-found {
    width: calc(100% - 32px);
    padding: 36px 20px;
    margin-block: 38px;
  }

  .hm-empty-state .search-form,
  .hm-not-found .search-form {
    align-items: stretch;
    flex-direction: column;
  }

  .hm-page-content {
    width: 100%;
    border: 0;
  }

  .hm-page.hm-shell--narrow {
    width: 100%;
    padding: 36px 16px 46px;
    border: 0;
  }

  .site-footer {
    padding-top: 36px;
  }

  .hm-footer-grid {
    gap: 25px;
  }
}

/* XL keeps the 12-column frame centered inside the viewport. */
@media (min-width: 1600px) {
  .hm-container,
  .hm-shell {
    margin-inline: auto;
  }

  .hm-home-hero::before {
    --hm-home-hero-art-offset: clamp(0px, calc((100vw - 1440px) * 0.3), 320px);

    background-position: calc(100% - var(--hm-home-hero-art-offset)) center;
    -webkit-mask-image: linear-gradient(
      to right,
      transparent calc(100% - var(--hm-home-hero-art-offset) - 1320px),
      #000 calc(100% - var(--hm-home-hero-art-offset) - 1080px),
      #000 calc(100% - var(--hm-home-hero-art-offset) - 80px),
      transparent calc(100% - var(--hm-home-hero-art-offset))
    );
    mask-image: linear-gradient(
      to right,
      transparent calc(100% - var(--hm-home-hero-art-offset) - 1320px),
      #000 calc(100% - var(--hm-home-hero-art-offset) - 1080px),
      #000 calc(100% - var(--hm-home-hero-art-offset) - 80px),
      transparent calc(100% - var(--hm-home-hero-art-offset))
    );
  }
}

@media (max-width: 599px) {
  .hm-header__actions {
    gap: 5px;
  }

  .hm-home-search button,
  .hm-home-search input[type="submit"] {
    width: 100%;
  }

  .hm-pillar-card {
    display: block;
  }

  .hm-pillar-card__icon {
    margin-bottom: 13px;
  }

  .hm-choice-card {
    padding: 16px;
  }

  .hm-choice-card,
  .hm-choice-card > .wp-block-group__inner-container {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
  }

  .hm-choice-card__icon {
    width: 42px;
    height: 42px;
    background-size: 21px 21px;
  }

  .hm-callout,
  .hm-help-center,
  .hm-compliance,
  .hm-support-exit {
    padding: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media print {
  .site-header,
  .site-footer,
  .hm-toc,
  .hm-toc-mobile,
  .hm-support-exit,
  .hm-help-center {
    display: none !important;
  }

  body,
  .site-main,
  .hm-reading-layout,
  .hm-page-content {
    width: 100%;
    padding: 0;
    margin: 0;
    color: #000;
    background: #fff;
    border: 0;
  }

  .hm-reading-layout {
    display: block;
  }

  a {
    color: #000;
  }
}
