:root {
  --hn-forest: #0c3d2e;
  --hn-forest-deep: #08261d;
  --hn-north: #1a6b47;
  --hn-ink: #141a17;
  --hn-muted: #667068;
  --hn-line: #e7e4dc;
  --hn-paper: #ffffff;
  --hn-cream: #f5f3ee;
  --hn-amber: #f0a03c;
  --hn-amber-deep: #d8861c;
  --hn-shadow: 0 0 0 1px rgba(20, 26, 23, 0.06);
  --hn-wrap: 1220px;
  --hn-radius: 20px;
  --hn-sans: "Plus Jakarta Sans", "Segoe UI", sans-serif;
}

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

html { scroll-behavior: smooth; }

html,
body { margin: 0; padding: 0; }

body.hn-body {
  font-family: var(--hn-sans);
  color: var(--hn-ink);
  background: var(--hn-paper);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

a { color: inherit; }

button,
input {
  font: inherit;
}

.hn-skip {
  position: absolute;
  left: 12px;
  top: -40px;
  background: var(--hn-forest);
  color: #fff;
  padding: 8px 12px;
  z-index: 100;
}

.hn-skip:focus { top: 12px; }

.hn-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.hn-wrap {
  width: min(calc(100% - 48px), var(--hn-wrap));
  margin: 0 auto;
}

.hn-lock { overflow: hidden; }

/* Type */
h1, h2, h3 { margin: 0; letter-spacing: -0.035em; line-height: 1.08; }

h1 { font-size: clamp(36px, 4.8vw, 64px); font-weight: 750; }

h2 { font-size: clamp(30px, 3.4vw, 44px); font-weight: 720; }

h3 { font-size: 20px; font-weight: 680; }

.hn-lead {
  color: var(--hn-muted);
  font-size: 18px;
  max-width: 38rem;
}

.hn-kicker,
.hn-eyebrow {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hn-north);
}

.hn-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 28px;
}

.hn-section-head--center {
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.hn-text-link {
  color: var(--hn-forest);
  font-weight: 650;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.hn-text-link:hover { border-bottom-color: var(--hn-forest); }

.hn-center { text-align: center; margin-top: 28px; }

/* Buttons */
[hidden] { display: none !important; }

.hn-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 650;
  font-size: 14.5px;
  cursor: pointer;
  transition: 0.16s ease;
}

.hn-btn--green {
  background: var(--hn-forest);
  color: #fff;
}

.hn-btn--green:hover { background: #0a3326; }

.hn-btn--amber {
  background: var(--hn-amber);
  color: #1a1408;
}

.hn-btn--amber:hover { background: var(--hn-amber-deep); color: #fff; }

.hn-btn--ghost {
  background: #fff;
  border-color: var(--hn-line);
  color: var(--hn-forest);
}

.hn-btn--ghost:hover { border-color: var(--hn-forest); }

.hn-btn--danger {
  background: #8b3a32;
  color: #fff;
  border-color: #8b3a32;
}

.hn-btn--danger:hover { background: #6f2d27; }

.hn-btn--on-dark {
  background: transparent;
  border-color: rgba(255,255,255,0.28);
  color: #fff;
}

.hn-btn--on-dark:hover { background: rgba(255,255,255,0.08); }

.hn-btn--lg { min-height: 52px; padding: 0 24px; font-size: 16px; }

.hn-btn--block { width: 100%; }

.hn-btn svg {
  width: 16px;
  height: 16px;
  margin-left: 8px;
}

.hn-btn svg:first-child {
  margin-left: 0;
  margin-right: 8px;
}

.hn-btn--cta { padding: 0 18px 0 20px; white-space: nowrap; }

/* Header */
.hn-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(14px);
}

.hn-header.is-scrolled {
  border-bottom: 1px solid var(--hn-line);
}

.hn-header__bar {
  width: min(calc(100% - 40px), var(--hn-wrap));
  margin: 0 auto;
  min-height: 80px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}

.hn-header.is-fr .hn-header__bar { gap: 12px; }

.hn-header.is-fr .hn-logo__img { height: 50px; }

.hn-header.is-fr .hn-nav__list { gap: 10px; }

.hn-header.is-fr .hn-nav__list a { font-size: 13.5px; }

.hn-header.is-fr .hn-head-signin,
.hn-header.is-fr .hn-head-join,
.hn-header.is-fr .hn-head-guide { font-size: 13.5px; }

.hn-header.is-fr .hn-btn--cta {
  font-size: 13.5px;
  padding: 0 14px 0 16px;
}

.hn-header.is-fr .hn-btn--cta svg { margin-left: 6px; }

.hn-header.is-fr .hn-header__actions { gap: 4px; }

.hn-header__actions {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  min-width: 0;
}

.hn-header__auth { display: contents; }

.hp-modal,
.hp-menu,
.menu-item--user-login { display: none !important; }

.hn-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex: 0 0 auto;
}

.hn-logo__img {
  display: block;
  width: auto;
  height: 58px;
}

.hn-footer .hn-logo__img {
  height: 92px;
}

.hn-nav { display: flex; justify-content: center; min-width: 0; }

.hn-nav__list {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.hn-nav__list > li { position: relative; }

.hn-nav__list a {
  text-decoration: none;
  font-size: 14.5px;
  font-weight: 550;
  color: #3b433e;
}

.hn-nav__list > li > a {
  display: inline-block;
  padding: 22px 0;
  white-space: nowrap;
}

.hn-nav__list a:hover { color: var(--hn-forest); }

.hn-nav__list > li.is-here > a {
  color: var(--hn-ink);
  box-shadow: inset 0 -2px 0 var(--hn-forest);
}

.hn-nav__list .has-sub > a::after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-left: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
}

.hn-sub {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 220px;
  margin: 0;
  padding: 10px;
  list-style: none;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 14px;
  z-index: 20;
}

.has-sub:hover .hn-sub,
.has-sub:focus-within .hn-sub { display: grid; gap: 2px; }

.hn-sub a {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 14px;
}

.hn-sub a:hover { background: var(--hn-cream); }

.hn-icon-btn {
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  color: var(--hn-ink);
  display: grid;
  place-items: center;
  cursor: pointer;
}

.hn-icon-btn svg { width: 18px; height: 18px; }

.hn-locale-switch {
  position: relative;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.hn-locale-switch__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--hn-forest);
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.06em;
  cursor: pointer;
}

.hn-locale-switch__btn:hover,
.hn-locale-switch__btn[aria-expanded="true"] {
  background: var(--hn-cream);
  color: var(--hn-ink);
}

.hn-locale-switch__btn::after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  opacity: 0.7;
}

.hn-locale-switch__btn[aria-expanded="true"]::after {
  transform: rotate(225deg) translateY(1px);
}

.hn-locale-switch__btn:focus-visible {
  outline: 2px solid var(--hn-forest);
  outline-offset: 2px;
}

.hn-locale-switch__drop {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 176px;
  margin: 0;
  padding: 8px;
  display: grid;
  gap: 2px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 14px;
  z-index: 40;
}

.hn-locale-switch__drop[hidden] { display: none; }

.hn-locale-switch__drop a {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--hn-ink);
  text-decoration: none;
  font-size: 14px;
  font-weight: 550;
  letter-spacing: 0;
}

.hn-locale-switch__drop a b {
  color: var(--hn-muted);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.06em;
}

.hn-locale-switch__drop a:hover {
  background: var(--hn-cream);
}

.hn-locale-switch__drop a.is-active {
  background: #f3faf5;
  color: var(--hn-forest);
  font-weight: 650;
}

.hn-locale-switch__drop a.is-active b { color: var(--hn-forest); }

.hn-locale-switch__drop a.is-active::after {
  content: "";
  width: 6px;
  height: 10px;
  border-right: 1.8px solid var(--hn-forest);
  border-bottom: 1.8px solid var(--hn-forest);
  transform: rotate(40deg);
  margin-right: 2px;
}

.hn-locale-switch__label {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hn-muted);
}

.hn-locale-switch.is-list {
  display: grid;
  gap: 0;
}

.hn-locale-switch.is-list .hn-locale-switch__drop {
  position: static;
  min-width: 0;
  background: var(--hn-cream);
  border-color: transparent;
}

.hn-locale-switch.is-list .hn-locale-switch__drop a {
  background: transparent;
}

.hn-locale-switch.is-list .hn-locale-switch__drop a.is-active {
  background: #fff;
}

.hn-apply-hire {
  display: grid;
  gap: 10px;
  max-width: 320px;
  margin: 16px 0 0;
}

.hn-lang-note {
  margin: 0;
  padding: 10px 16px;
  background: #e8f3ec;
  color: var(--hn-forest);
  font-size: 13.5px;
  text-align: center;
}

.hn-head-signin,
.hn-head-join,
.hn-head-guide,
.hn-head-account {
  text-decoration: none;
  font-size: 14.5px;
  font-weight: 650;
  color: var(--hn-forest);
  white-space: nowrap;
}

button.hn-head-signin,
button.hn-head-account {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  padding: 6px 2px;
}

.hn-head-signin:hover,
.hn-head-join:hover,
.hn-head-guide:hover,
.hn-head-account:hover { color: var(--hn-ink); }

.hn-head-guide.is-here {
  color: var(--hn-ink);
  box-shadow: inset 0 -2px 0 var(--hn-forest);
  padding-bottom: 2px;
}

body.hn-auth-page .hn-header,
body.hn-auth-page .hn-drawer,
body.hn-auth-page .hn-footer,
body.hn-app-page .hn-header,
body.hn-app-page .hn-drawer,
body.hn-app-page .hn-footer,
body.hn-status .hn-header,
body.hn-status .hn-drawer,
body.hn-status .hn-footer { display: none !important; }

body.hn-app-page { background: #f6f7f5; }

.hn-burger {
  display: none;
  width: 48px;
  height: 48px;
  border: 0;
  background: transparent;
  padding: 0;
}

.hn-burger span {
  display: block;
  width: 18px;
  height: 1.5px;
  margin: 5px auto;
  background: var(--hn-ink);
}

.hn-drawer {
  position: fixed;
  inset: 76px 0 0;
  background: rgba(8, 38, 29, 0.28);
  z-index: 30;
}

.hn-drawer__panel {
  background: #fff;
  padding: 20px 24px 32px;
  display: grid;
  gap: 14px;
}

.hn-drawer__panel a { text-decoration: none; font-weight: 600; }

.hn-drawer__panel a.is-here { color: var(--hn-forest); }

.hn-drawer__label {
  margin: 0;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--hn-muted);
}

.hn-drawer__cta { display: grid; gap: 8px; margin-top: 8px; }

.hn-drawer__who {
  margin: 0 0 2px;
  font-size: 13px;
  font-weight: 650;
  color: var(--hn-muted);
}

/* Hero */
.hn-hero { padding: 28px 0 12px; }

.hn-cite {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--hn-line);
}
.hn-cite h2 {
  margin: 0 0 10px;
  font-size: 1.25rem;
}
.hn-cite__p {
  max-width: 72ch;
  margin: 0;
  color: var(--hn-muted);
}
.hn-cite__kicker {
  margin: 16px 0 0;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--hn-forest);
}
.hn-cite .hn-city-chips { margin-top: 8px; }
.hn-cite__updated {
  margin: 10px 0 0;
  font-size: 13px;
  color: var(--hn-muted);
}
.hn-footer .hn-city-chips { margin-top: 14px; }
.hn-footer .hn-city-chips a {
  color: #c9d4cc;
  border-color: rgba(255, 255, 255, 0.18);
}
.hn-footer .hn-city-chips a:hover,
.hn-footer .hn-city-chips a:focus-visible {
  color: #fff;
  border-color: #fff;
}

.hn-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 48px;
  align-items: center;
}

.hn-hero__copy h1 { margin-bottom: 16px; }

.hn-search {
  margin-top: 28px;
  display: grid;
  grid-template-columns: 1.4fr 0.9fr auto;
  gap: 8px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
  box-shadow: var(--hn-shadow);
}

.hn-search__field {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 12px;
}

.hn-search__field span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--hn-muted);
}

.hn-search__field input {
  border: 0;
  outline: 0;
  padding: 0;
  background: transparent;
  color: var(--hn-ink);
}

.hn-search__go { align-self: center; min-width: 128px; white-space: nowrap; }

.hn-place-chip {
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--hn-muted);
}

.hn-place-chip strong {
  color: var(--hn-ink);
  font-weight: 700;
}

.hn-place-chip a {
  color: var(--hn-north);
  font-weight: 700;
  text-decoration: none;
}

.hn-place-chip a:hover { text-decoration: underline; }

.hn-popular__note,
.hn-reviews__note {
  margin: 0 0 16px;
  color: var(--hn-muted);
  font-size: 14px;
  max-width: 68ch;
}

.hn-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.hn-chips button {
  border: 1px solid var(--hn-line);
  background: #fff;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  color: #3d4640;
  cursor: pointer;
}

.hn-chips button:hover { border-color: var(--hn-forest); color: var(--hn-forest); }

.hn-hero__photo {
  margin: 0;
  border-radius: 28px;
  overflow: hidden;
  background: var(--hn-cream);
}

.hn-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 5 / 4;
}

/* Categories */
.hn-cats { padding: 36px 0 16px; }

.hn-cats__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px 8px;
}

.hn-cat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 86px;
  text-align: center;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.25;
  color: #3c453f;
}

.hn-cat__icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--hn-cream);
  display: grid;
  place-items: center;
  color: var(--hn-forest);
}

.hn-cat__icon svg { width: 26px; height: 26px; }

.hn-cat:hover .hn-cat__icon { background: #e7efe8; }

.hn-cat--more {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  font: inherit;
}

.hn-cat--more .hn-cat__icon {
  background: #fff;
  border: 1.5px dashed #c5d0c8;
}

.hn-cat--more:hover .hn-cat__icon {
  background: #e7efe8;
  border-color: #9aafa0;
}

.hn-cats.is-open .hn-cat--more .hn-cat__icon {
  background: var(--hn-forest);
  color: #fff;
  border-color: var(--hn-forest);
  border-style: solid;
}

.hn-cat--more svg { transition: transform 0.2s ease; }

.hn-cats.is-open .hn-cat--more svg { transform: rotate(45deg); }

.hn-cats__panel {
  display: grid;
  grid-template-rows: 0fr;
  margin-top: 0;
  opacity: 0;
  pointer-events: none;
  transition: grid-template-rows 0.4s ease, opacity 0.22s ease, margin-top 0.3s ease;
}

.hn-cats.is-open .hn-cats__panel {
  grid-template-rows: 1fr;
  margin-top: 16px;
  opacity: 1;
  pointer-events: auto;
}

.hn-cats__panel-inner {
  overflow: hidden;
  min-height: 0;
}

.hn-cats__panel-box {
  padding: 18px 12px 10px;
  background: #f7f6f2;
  border-radius: 24px;
}

.hn-cats__kicker {
  margin: 0 8px 14px;
  text-align: center;
  font-size: 13px;
  line-height: 1.45;
  color: #5c6560;
}

.hn-cats__foot {
  margin: 10px 0 4px;
  text-align: center;
  font-size: 13.5px;
  font-weight: 650;
}

.hn-cats__foot a { color: var(--hn-forest); }

@media (prefers-reduced-motion: reduce) {
  .hn-cats__panel,
  .hn-cat--more svg { transition: none; }
}

.hn-cats__note {
  margin: 18px 0 0;
  text-align: center;
  font-size: 13.5px;
  line-height: 1.45;
  color: #5c6560;
}

.hn-cats__note a {
  font-weight: 600;
  color: var(--hn-forest);
}

/* Cards */
.hn-popular,
.hn-split,
.hn-how,
.hn-trust,
.hn-reviews,
.hn-map,
.hn-app,
.hn-guides { padding: 72px 0; }

.hn-cards {
  display: grid;
  gap: 18px;
}

.hn-cards--4 { grid-template-columns: repeat(4, 1fr); }
.hn-cards--3 { grid-template-columns: repeat(3, 1fr); }
.hn-cards--2 { grid-template-columns: repeat(2, 1fr); }

.hn-card {
  display: block;
  text-decoration: none;
  background: #fff;
  border-radius: var(--hn-radius);
  overflow: hidden;
  border: 1px solid var(--hn-line);
}

.hn-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.hn-card__body { padding: 16px 16px 18px; }

.hn-card__body p {
  margin: 8px 0 0;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-card:hover { border-color: #cfd6cf; }

.hn-card--story {
  position: relative;
  min-height: 420px;
}

.hn-card--story img {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
  height: 100%;
}

.hn-card--story .hn-card__overlay {
  position: relative;
  z-index: 1;
  height: 100%;
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 28px;
  color: #fff;
  background: linear-gradient(180deg, rgba(8,18,14,0) 28%, rgba(8,18,14,0.72) 100%);
}

.hn-card--story p { color: rgba(255,255,255,0.82); margin: 8px 0 16px; }

.hn-split__intro {
  max-width: 720px;
  margin: 0 auto 32px;
  text-align: center;
}

.hn-split__intro p { color: var(--hn-muted); font-size: 18px; }

/* How */
.hn-how { background: var(--hn-cream); }

.hn-steps,
.hn-trust__points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.hn-trust__points { grid-template-columns: repeat(4, 1fr); }

.hn-steps article,
.hn-trust__points article { text-align: left; }

.hn-steps p,
.hn-trust__points p {
  color: var(--hn-muted);
  margin: 8px 0 0;
}

.hn-step-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  color: var(--hn-forest);
  margin-bottom: 14px;
  border: 1px solid var(--hn-line);
}

.hn-step-icon svg { width: 22px; height: 22px; }

.hn-trust__audiences { margin-top: 40px; }

.hn-card--audience .hn-btn { margin-top: 16px; }

/* Reviews */
.hn-rating {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-rating span {
  font-size: 28px;
  font-weight: 760;
  color: var(--hn-ink);
  letter-spacing: -0.04em;
}

.hn-rating em,
.hn-quote footer em {
  color: var(--hn-amber);
  font-style: normal;
  letter-spacing: 1px;
}

.hn-quote {
  margin: 0;
  padding: 24px;
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-radius);
  background: #fff;
}

a.hn-quote {
  display: block;
  text-decoration: none;
  color: inherit;
}

.hn-quote > p {
  margin: 0 0 20px;
  font-size: 16px;
  letter-spacing: -0.02em;
}

.hn-quote footer {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 10px;
  align-items: center;
}

.hn-quote img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-quote strong { display: block; font-size: 14px; }

.hn-quote span { color: var(--hn-muted); font-size: 13px; }

/* Map */
.hn-map__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 40px;
  align-items: start;
}

.hn-cities {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
  display: grid;
  gap: 10px;
}

.hn-cities li {
  color: var(--hn-muted);
  padding-left: 16px;
  position: relative;
}

.hn-cities li::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c5cdc7;
  position: absolute;
  left: 0;
  top: 0.5em;
}

.hn-cities .is-live { color: var(--hn-ink); font-weight: 650; }

.hn-cities .is-live::before { background: var(--hn-north); }

.hn-cities a {
  color: inherit;
  text-decoration: none;
  display: block;
}

.hn-cities a:hover {
  color: var(--hn-forest);
  text-decoration: underline;
}

.hn-cover-areas__switch {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
}

.hn-cover-areas__switch button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid var(--hn-line);
  background: #fff;
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}

.hn-cover-areas__switch button.is-on {
  background: var(--hn-forest);
  border-color: var(--hn-forest);
  color: #fff;
}

.hn-cover-areas__switch button:focus-visible {
  outline: 2px solid var(--hn-amber);
  outline-offset: 2px;
}

.hn-cover-areas__now {
  margin: 18px 0 0;
  color: var(--hn-forest);
  font-size: 14px;
  font-weight: 650;
}

.hn-cover-areas .hn-cities {
  margin-top: 12px;
}

.hn-cover-areas__more {
  margin: 14px 0 0;
}

.hn-cover-areas__art {
  margin: 0;
  padding: 12px 8px 8px;
  background: #f7f6f2;
  border: 1px solid var(--hn-line);
  border-radius: 28px;
  box-shadow: var(--hn-shadow);
}

.hn-cover-areas__art .hn-areas-svg {
  width: 100%;
  height: auto;
  display: block;
}

.hn-cover-areas__hint {
  margin: 0;
  padding: 4px 16px 12px;
  text-align: center;
  color: var(--hn-muted);
  font-size: 13px;
  font-weight: 650;
}

.hn-map-svg { width: 100%; height: auto; }

.hn-map-svg__land { fill: #e4eee7; }

.hn-map-svg circle { fill: #b7c8bb; }

.hn-map-svg circle.is-live { fill: var(--hn-north); }

.hn-map-svg__label {
  fill: var(--hn-forest);
  font-size: 13px;
  font-family: var(--hn-sans);
  font-weight: 700;
}

.hn-cover-map {
  margin: 0;
  padding: 6px;
  background: #f4f7f4;
  border: 1px solid var(--hn-line);
  border-radius: 28px;
  box-shadow: var(--hn-shadow);
}

.hn-cover-map__svg {
  display: block;
  width: 100%;
  height: auto;
}

.hn-cover-map__sheet { fill: #eef4ef; }

.hn-cover-map__sheet,
.hn-cover-map__water,
.hn-cover-map__islet { pointer-events: none; }

.hn-cover-map__land {
  stroke: #f7f6f2;
  stroke-width: 2.5;
  stroke-linejoin: round;
}

.hn-cover-map__pin:hover .hn-cover-map__land,
.hn-cover-map__pin:focus-visible .hn-cover-map__land {
  fill: #a8c4b0;
}

.hn-cover-map__islet {
  fill: #a8c0b0;
  stroke: #f7f6f2;
  stroke-width: 1.5;
}

.hn-cover-map__hit { fill: transparent; }

.hn-cover-map__pulse {
  fill: none;
  stroke: var(--hn-north);
  stroke-width: 1.6;
  opacity: 0.5;
}

.hn-cover-map__dot {
  fill: var(--hn-north);
  stroke: #fff;
  stroke-width: 2.25;
  pointer-events: none;
}

.hn-cover-map__pulse,
.hn-cover-map__name { pointer-events: none; }

.hn-cover-map__name {
  fill: var(--hn-forest);
  font-size: 13px;
  font-family: var(--hn-sans);
  font-weight: 750;
  paint-order: stroke;
  stroke: #eef4ef;
  stroke-width: 5px;
  stroke-linejoin: round;
}

.hn-cover-map__kicker {
  fill: var(--hn-north);
  font-size: 11px;
  font-family: var(--hn-sans);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hn-cover-map__water-name {
  fill: #5f7f70;
  font-size: 11px;
  font-family: var(--hn-sans);
  font-weight: 650;
  letter-spacing: 0.08em;
  opacity: 0.7;
}

.hn-cover-map__north polygon { fill: var(--hn-forest); }

.hn-cover-map__north text {
  fill: var(--hn-forest);
  font-size: 11px;
  font-family: var(--hn-sans);
  font-weight: 750;
  text-anchor: middle;
}

.hn-cover-map__pin { text-decoration: none; cursor: pointer; }

.hn-cover-map__pin:hover .hn-cover-map__dot,
.hn-cover-map__pin:focus-visible .hn-cover-map__dot { fill: var(--hn-forest); }

.hn-cover-map__pin:focus-visible .hn-cover-map__dot {
  stroke: var(--hn-amber);
  stroke-width: 2.5;
}

.hn-cover-map__key circle { fill: var(--hn-north); }

.hn-cover-map__key text {
  fill: var(--hn-forest);
  font-size: 12px;
  font-family: var(--hn-sans);
  font-weight: 700;
}

@media (prefers-reduced-motion: no-preference) {
  .hn-cover-map__pulse {
    transform-box: fill-box;
    transform-origin: center;
    animation: hn-map-pin 2.4s ease-out infinite;
  }
}

@media (max-width: 1280px) {
  .hn-header.is-fr .hn-head-join { display: none; }
}

/* App */
.hn-app { background: var(--hn-cream); }

.hn-app__grid {
  display: grid;
  grid-template-columns: 0.9fr 1fr 0.9fr;
  gap: 28px;
  align-items: center;
}

.hn-phones {
  position: relative;
  height: 340px;
}

.hn-phone {
  position: absolute;
  width: 168px;
  height: 320px;
  border-radius: 28px;
  background: #111;
  padding: 10px;
  border: 3px solid #1c1c1c;
}

.hn-phone--back { left: 0; top: 28px; transform: rotate(-8deg); }

.hn-phone--front { left: 78px; top: 0; transform: rotate(6deg); }

.hn-phone__screen {
  height: 100%;
  border-radius: 20px;
  background: #f3f6f3;
  padding: 22px 16px;
  color: var(--hn-forest);
}

.hn-phone__screen p { margin: 0; font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; }

.hn-phone__screen b { display: block; margin: 12px 0 8px; font-size: 18px; letter-spacing: -0.03em; }

.hn-phone__screen span { color: var(--hn-muted); font-size: 13px; }

.hn-app__scene {
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
}

.hn-app__scene img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.hn-waitlist {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.hn-waitlist input {
  min-width: 220px;
  height: 48px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  padding: 0 16px;
  background: #fff;
}

.hn-form-note {
  width: 100%;
  margin: 4px 0 0;
  color: var(--hn-north);
  font-weight: 600;
}

/* Final */
.hn-final { padding: 0 0 72px; }

.hn-final__box {
  background: var(--hn-forest-deep);
  color: #fff;
  border-radius: 28px;
  padding: 48px 56px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

.hn-final__box p { color: rgba(255,255,255,0.72); margin: 10px 0 0; }

.hn-final__actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* Footer */
.hn-footer {
  background: #071910;
  color: #c9d4cc;
  padding: 64px 0 28px;
}

.hn-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  gap: 28px;
}

.hn-footer__brand p { max-width: 26ch; color: #9aa89e; }

.hn-footer__title {
  margin: 0 0 12px;
  color: #fff;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.hn-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }

.hn-footer a { text-decoration: none; color: #c9d4cc; }

.hn-footer a:hover { color: #fff; }

.hn-footer__base {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #8b978f;
  font-size: 13px;
}

.hn-locale { display: flex; gap: 14px; }

.hn-locale a { color: rgba(255, 255, 255, 0.62); text-decoration: none; }

.hn-locale .is-active { color: #fff; font-weight: 650; }

/* Inner pages */
.hn-page { padding: 48px 0 80px; }

.hn-page__inner { max-width: 760px; }

.hn-page__inner h1 { margin: 0 0 16px; }

.hn-prose p { color: var(--hn-muted); font-size: 18px; }

.hn-prose .hn-btn { margin-right: 8px; }

/* Services */
.hn-services { padding-bottom: 80px; }

.hn-crumbs {
  display: flex;
  gap: 8px;
  font-size: 13px;
  color: var(--hn-muted);
  margin-bottom: 18px;
}

.hn-crumbs a { text-decoration: none; }

.hn-crumbs a:hover { color: var(--hn-forest); }

.hn-svc-hero { padding: 28px 0 8px; }

.hn-svc-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 40px;
  align-items: end;
}

.hn-svc-hero h1 { margin-bottom: 12px; }

.hn-svc-points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 20px;
  list-style: none;
  padding: 0;
  margin: 28px 0 0;
}

.hn-svc-points li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #3d4640;
}

.hn-svc-points svg {
  width: 18px;
  height: 18px;
  color: var(--hn-forest);
  flex: 0 0 auto;
}

.hn-svc-hero__photo {
  margin: 0;
  border-radius: 0 0 0 8px;
  overflow: hidden;
}

.hn-svc-hero__photo img {
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
}

.hn-svc-grid-wrap { padding-top: 36px; }

.hn-svc-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.hn-svc-intro,
.hn-svc-card {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
  overflow: hidden;
}

.hn-svc-intro {
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  background: #f7f6f2;
  border-color: transparent;
}

.hn-svc-intro h2 { font-size: 26px; margin: 14px 0 10px; }

.hn-svc-intro p { color: var(--hn-muted); margin: 0 0 18px; }

.hn-svc-intro .hn-btn { margin-top: auto; align-self: start; }

.hn-svc-intro__icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  color: var(--hn-forest);
}

.hn-svc-intro__icon svg { width: 20px; height: 20px; }

.hn-svc-card__media img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #eef1ee;
}

.hn-svc-card__body { padding: 16px 16px 18px; }

.hn-svc-card h3 { font-size: 17px; }

.hn-svc-card p {
  margin: 8px 0 14px;
  color: var(--hn-muted);
  font-size: 13.5px;
}

.hn-svc-card__icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  color: var(--hn-forest);
  margin-bottom: 8px;
}

.hn-svc-card__icon svg { width: 18px; height: 18px; }

.hn-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 650;
  color: #3d4640;
}

.hn-more span {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid var(--hn-line);
  display: grid;
  place-items: center;
  font-size: 14px;
}

.hn-more:hover { color: var(--hn-forest); }

.hn-svc-card--chat,
.hn-svc-card--other {
  background: #f7f6f2;
  border-color: transparent;
  min-height: 220px;
}

.hn-svc-card--chat .hn-svc-card__body,
.hn-svc-card--other .hn-svc-card__body {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.hn-svc-card--chat .hn-more,
.hn-svc-card--other .hn-more { margin-top: auto; }

.hn-svc-card__dots {
  font-size: 28px;
  letter-spacing: 3px;
  color: var(--hn-forest);
  line-height: 1;
  margin-bottom: 10px;
}

.hn-svc-intro--wide {
  max-width: 720px;
  margin-bottom: 8px;
}

.hn-svc-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 22px 0 8px;
}

.hn-svc-jump a {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  background: #fff;
  color: #3d4640;
  text-decoration: none;
  font-size: 13px;
  font-weight: 650;
}

.hn-svc-jump a:hover {
  border-color: var(--hn-forest);
  color: var(--hn-forest);
}

.hn-svc-hub { padding: 40px 0 8px; scroll-margin-top: 96px; }

.hn-svc-hub__head {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 20px;
}

.hn-svc-hub__photo {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
}

.hn-svc-hub__photo img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}

.hn-svc-hub__head h2 { margin: 4px 0 8px; font-size: 28px; }

.hn-svc-hub__head p { margin: 0; color: var(--hn-muted); max-width: 62ch; }

.hn-svc-kids {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.hn-svc-kid {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 16px;
  padding: 16px 16px 18px;
  display: flex;
  flex-direction: column;
  scroll-margin-top: 96px;
}

.hn-svc-kid:target {
  border-color: var(--hn-forest);
  box-shadow: 0 0 0 3px rgba(12, 61, 46, 0.12);
}

.hn-svc-hub:target .hn-svc-hub__photo {
  box-shadow: 0 0 0 3px rgba(12, 61, 46, 0.12);
}

.hn-svc-kid h3 { font-size: 16px; }

.hn-svc-kid p {
  margin: 8px 0 12px;
  color: var(--hn-muted);
  font-size: 13.5px;
}

.hn-svc-kid__meta {
  margin: 0 0 12px !important;
  font-size: 12px !important;
  font-weight: 650;
}

.hn-svc-kid.is-live .hn-svc-kid__meta { color: var(--hn-forest); }

.hn-svc-kid__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: auto;
}

.hn-more--quiet { font-weight: 600; color: var(--hn-muted); }

.hn-svc-end {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding: 48px 0 0;
}

.hn-apply-svcs { display: grid; gap: 12px; }

.hn-apply-svcs__hint {
  margin: 0;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-apply-svcs__group {
  margin: 0;
  padding: 10px 12px 12px;
  border: 1px solid var(--hn-line);
  border-radius: 12px;
}

.hn-apply-svcs__group legend {
  font-size: 13px;
  font-weight: 700;
  padding: 0 4px;
}

.hn-apply-svcs__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 12px;
}

.hn-apply-svcs__more {
  border: 1px solid var(--hn-line);
  border-radius: 12px;
  padding: 10px 12px 12px;
}

.hn-apply-svcs__more summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 10px;
}

.hn-apply-svcs__more .hn-apply-svcs__group {
  margin-top: 10px;
}

/* Find a pro */
.hn-find { padding-bottom: 72px; }

.hn-find-hero { padding: 28px 0 8px; }

.hn-find-hero__grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 32px;
  align-items: center;
}

.hn-find-hero h1 { margin-bottom: 12px; }

.hn-find-search {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1.3fr 1fr 0.85fr auto;
  gap: 8px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
}

.hn-find-search__field {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  min-height: 48px;
}

.hn-find-search__field svg {
  width: 18px;
  height: 18px;
  color: var(--hn-muted);
  flex: 0 0 auto;
}

.hn-find-search input,
.hn-find-search select {
  border: 0;
  outline: 0;
  width: 100%;
  background: transparent;
}

.hn-find-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
  font-size: 13px;
  color: var(--hn-muted);
}

.hn-find-chips button {
  border: 1px solid var(--hn-line);
  background: #fff;
  border-radius: 999px;
  padding: 6px 12px;
  cursor: pointer;
  color: #3d4640;
}

.hn-find-chips button:hover { border-color: var(--hn-forest); color: var(--hn-forest); }

.hn-find-hero__photo { margin: 0; }

.hn-find-hero__photo img {
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: contain;
}

.hn-find-body { padding-top: 20px; }

.hn-find-layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr) minmax(320px, 400px);
  gap: 20px;
  align-items: start;
}

.hn-filters,
.hn-find-map__card,
.hn-find-cta,
.hn-pro {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
}

.hn-filters { padding: 18px 16px 22px; }

.hn-filters__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.hn-filters h2 { font-size: 18px; }

.hn-filters fieldset {
  border: 0;
  padding: 14px 0 0;
  margin: 12px 0 0;
  border-top: 1px solid var(--hn-line);
  display: grid;
  gap: 8px;
}

.hn-filters legend {
  font-size: 13px;
  font-weight: 700;
  padding: 0;
}

.hn-filters label {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 13.5px;
  color: #3d4640;
}

.hn-filters select,
.hn-results__tools select {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--hn-line);
  border-radius: 10px;
  padding: 0 10px;
  background: #fff;
}

.hn-filters input[type=range] { width: 100%; accent-color: var(--hn-forest); }

.hn-filters__loc {
  margin: 0;
  font-weight: 650;
  font-size: 14px;
}

.hn-filters__meta { margin: 0; font-size: 13px; color: var(--hn-muted); }

.hn-results__bar {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 14px;
}

.hn-results__bar p { margin: 0; color: var(--hn-muted); }

.hn-results__tools {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}

.hn-view {
  display: flex;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  overflow: hidden;
}

.hn-view button {
  border: 0;
  background: #fff;
  padding: 8px 12px;
  cursor: pointer;
  font-weight: 650;
}

.hn-view .is-on { background: var(--hn-forest); color: #fff; }

.hn-pro-list { display: grid; gap: 12px; }

.hn-pro {
  display: grid;
  grid-template-columns: 112px 1fr 150px;
  gap: 16px;
  padding: 16px;
}

.hn-pro > img {
  width: 112px;
  height: 112px;
  object-fit: cover;
  border-radius: 14px;
  background: #eef1ee;
}

.hn-pro__title {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.hn-pro__title h2 { font-size: 18px; }

.hn-badge {
  font-size: 11px;
  font-weight: 700;
  color: var(--hn-north);
  background: #e8f3ec;
  border-radius: 999px;
  padding: 3px 8px;
}
.hn-badge.is-catalog {
  color: #4a524c;
  background: #eef1ee;
}
.hn-svc-path {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 12px 0 0;
  font-size: 15px;
}
.hn-svc-path a {
  color: var(--hn-forest);
  font-weight: 650;
}

.hn-heart {
  margin-left: auto;
  border: 0;
  background: transparent;
  font-size: 18px;
  cursor: pointer;
  color: #9aa39c;
}

.hn-heart.is-on { color: var(--hn-forest); }

.hn-pro__title > .hn-post-act { margin-left: auto; }

.hn-post-act {
  display: inline-flex;
  margin: 0;
}

fieldset.hn-lock-set {
  border: 0;
  margin: 0;
  padding: 0;
  min-inline-size: 0;
}

button.hn-text-link {
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  cursor: pointer;
}

.hn-pro__rate,
.hn-pro__meta,
.hn-pro__tags {
  margin: 6px 0 0;
  font-size: 13.5px;
  color: var(--hn-muted);
}

.hn-pro__rate em { color: var(--hn-amber); font-style: normal; margin-right: 4px; }

.hn-pill {
  display: inline-block;
  margin-top: 10px;
  background: #e8f3ec;
  color: var(--hn-forest);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
}

.hn-pro__side {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  text-align: center;
}

.hn-pro__side p { margin: 0 0 4px; color: var(--hn-muted); font-size: 13px; }

.hn-pro__side strong { color: var(--hn-ink); font-size: 22px; letter-spacing: -0.04em; }

.hn-find-map { display: grid; gap: 16px; }

.hn-find-map__card { padding: 12px; overflow: hidden; }

.hn-find-map__label {
  margin: 4px 8px 8px;
  font-size: 13px;
  font-weight: 700;
}

.hn-find-map__art {
  background: #f7f6f2;
  border-radius: 16px;
  overflow: hidden;
  display: grid;
  place-items: center;
}

.hn-find-map .hn-map,
.hn-find-map .hn-map--areas {
  padding: 0;
  min-height: 0;
  width: 100%;
  max-width: 860px;
}

.hn-find-map .hn-areas-svg {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

.hn-find-map .hn-areas-svg__prov,
.hn-find-map .hn-areas-svg__live {
  cursor: default;
}

.hn-find-map .hn-areas-svg__code { font-size: 9px; }

.hn-find-map .hn-areas-svg__caption { font-size: 8px; }

.hn-find-map .hn-areas-svg__note { font-size: 8px; }

.hn-find-map .hn-map-pin {
  width: 20px;
  height: 20px;
  z-index: 2;
}

.hn-find-map .hn-map-pin i {
  width: 15px;
  height: 15px;
  background: var(--hn-forest);
  box-shadow: 0 0 0 2px #fff, 0 2px 6px rgba(20, 32, 24, 0.3);
}

.hn-find-map .hn-map-pin.is-live i {
  background: var(--hn-forest);
}

.hn-find-cta { overflow: hidden; }

.hn-find-cta img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.hn-find-cta div { padding: 16px; }

.hn-find-cta h2 { font-size: 20px; }

.hn-find-cta p { color: var(--hn-muted); font-size: 14px; }

.hn-find-cta ul {
  margin: 0 0 14px;
  padding-left: 16px;
  color: #3d4640;
  font-size: 13.5px;
}

body.hn-map-only .hn-pro-list { display: none; }
body.hn-map-only .hn-find-map { grid-column: 1 / -1; }

/* Pro profile */
.hn-profile { padding: 18px 0 0; background: #fff; }

.hn-profile__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.hn-profile .hn-crumbs { margin-bottom: 0; }

.hn-profile__tools { display: flex; gap: 8px; }

.hn-ghost-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 12px;
  border: 0;
  background: transparent;
  color: #3d4640;
  font: inherit;
  font-weight: 650;
  font-size: 14px;
  cursor: pointer;
}

.hn-ghost-btn svg { width: 16px; height: 16px; }

.hn-ghost-btn.is-on,
.hn-ghost-btn:hover { color: var(--hn-forest); }

.hn-profile__hero {
  position: relative;
  margin: 16px 0 0;
  border-radius: 22px;
  overflow: hidden;
  background: #111;
}

.hn-profile__hero img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: 20% 30%;
}

.hn-profile__hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 42%, rgba(12, 16, 14, 0.62) 78%);
  pointer-events: none;
}

.hn-profile__hero blockquote {
  position: absolute;
  right: 36px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  max-width: 16ch;
  color: #fff;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 500;
  font-style: italic;
  line-height: 1.25;
  letter-spacing: -0.03em;
  z-index: 1;
}

.hn-profile__intro {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: end;
  padding: 0 8px 8px;
}

.hn-profile__id {
  display: flex;
  align-items: end;
  gap: 22px;
}

.hn-avatar {
  width: 148px;
  height: 148px;
  margin-top: -74px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-shadow: 0 0 0 6px #fff;
  flex: 0 0 auto;
  text-align: center;
  padding: 12px;
}

.hn-avatar svg { width: 42px; height: 32px; }

.hn-avatar span {
  font-size: 12px;
  font-weight: 750;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.hn-profile__intro h1 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: clamp(28px, 3vw, 36px);
}

.hn-verified {
  width: 22px;
  height: 22px;
  color: var(--hn-north);
  display: grid;
  place-items: center;
}

.hn-verified svg { width: 22px; height: 22px; }

.hn-profile__kind,
.hn-profile__tag {
  margin: 6px 0 0;
  color: var(--hn-muted);
  font-size: 14.5px;
}

.hn-profile__rate {
  margin: 8px 0 0;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14.5px;
  color: var(--hn-muted);
}

.hn-profile__rate em { color: var(--hn-amber); font-style: normal; letter-spacing: 1px; }

.hn-profile__rate strong { color: var(--hn-ink); }

.hn-profile__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  font-size: 13.5px;
  color: #3d4640;
}

.hn-profile__facts li { display: flex; align-items: center; gap: 7px; }

.hn-profile__facts svg {
  width: 16px;
  height: 16px;
  color: var(--hn-forest);
}

.hn-profile__cta {
  display: grid;
  gap: 10px;
  min-width: 220px;
}

.hn-tabs {
  display: flex;
  gap: 22px;
  margin: 22px 0 24px;
  border-bottom: 1px solid var(--hn-line);
  overflow-x: auto;
}

.hn-tabs a {
  text-decoration: none;
  padding: 0 0 12px;
  font-size: 14.5px;
  font-weight: 650;
  color: var(--hn-muted);
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}

.hn-tabs a:hover,
.hn-tabs .is-on {
  color: var(--hn-ink);
  border-bottom-color: var(--hn-forest);
}

.hn-profile__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 20px;
  align-items: start;
}

.hn-profile__main,
.hn-profile__side { display: grid; gap: 16px; }

.hn-profile__side { position: sticky; top: 92px; }

.hn-panel {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 20px;
  padding: 22px;
  scroll-margin-top: 96px;
}

.hn-panel h2 { font-size: 22px; margin-bottom: 12px; }

.hn-panel p { margin: 0; color: var(--hn-muted); }

.hn-panel__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.hn-panel__head h2 { margin: 0; }

.hn-panel__split {
  display: grid;
  grid-template-columns: 1.3fr 0.8fr;
  gap: 28px;
}

.hn-checks {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.hn-checks li {
  position: relative;
  padding-left: 22px;
  color: #3d4640;
  font-size: 14.5px;
}

.hn-checks li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--hn-north);
  font-weight: 750;
}

.hn-stats { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }

.hn-stats li { display: flex; align-items: center; gap: 12px; }

.hn-stats__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #f3f6f3;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}

.hn-stats__icon svg { width: 18px; height: 18px; }

.hn-stats strong { font-size: 14.5px; }

.hn-offer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.hn-offer img {
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
  border-radius: 14px;
  background: #eef1ee;
}

.hn-offer h3 { font-size: 16px; margin: 12px 0 4px; }

.hn-offer p { font-size: 13.5px; }

.hn-offer .hn-more { margin-top: 10px; }

.hn-score {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 24px;
  align-items: center;
  margin-bottom: 20px;
}

.hn-score__num strong {
  display: block;
  font-size: 56px;
  letter-spacing: -0.05em;
  line-height: 1;
}

.hn-score__num em { color: var(--hn-amber); font-style: normal; letter-spacing: 1px; }

.hn-score__num p { margin-top: 6px; font-size: 13px; }

.hn-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }

.hn-bars li {
  display: grid;
  grid-template-columns: 64px 1fr 36px;
  gap: 10px;
  align-items: center;
  font-size: 13px;
  color: var(--hn-muted);
}

.hn-bars i {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: #eef1ee;
  overflow: hidden;
}

.hn-bars b {
  display: block;
  height: 100%;
  background: var(--hn-forest);
  border-radius: inherit;
}

.hn-quotes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}

.hn-quote {
  border: 1px solid var(--hn-line);
  border-radius: 16px;
  padding: 14px;
}

.hn-quote__who {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}

.hn-quote__who span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #eef3ef;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  font-weight: 750;
}

.hn-quote__who strong { display: block; font-size: 14px; }

.hn-quote__who p { font-size: 12px; }

.hn-quote__who em { color: var(--hn-amber); font-style: normal; font-size: 12px; }

.hn-quote > p { font-size: 13.5px; color: #3d4640; }

.hn-shots {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.hn-shots figure { margin: 0; position: relative; }

.hn-shots img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 14px;
}

.hn-shots .is-more span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(20, 26, 23, 0.42);
  color: #fff;
  font-size: 22px;
  font-weight: 750;
  border-radius: 14px;
}

.hn-book { display: grid; gap: 10px; }

.hn-book h2 { margin-bottom: 4px; }

.hn-book label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid var(--hn-line);
  border-radius: 12px;
}

.hn-book svg {
  width: 16px;
  height: 16px;
  color: var(--hn-muted);
  flex: 0 0 auto;
}

.hn-book input,
.hn-book select {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font: inherit;
}

.hn-book p {
  text-align: center;
  font-size: 13px;
}

.hn-profile-map {
  border-radius: 16px;
  overflow: hidden;
  height: 210px;
  background: #eef3ef;
  margin-bottom: 10px;
}

.hn-profile-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.hn-profile-map__meta {
  margin: 0 0 8px;
  font-size: 13.5px;
  color: #3d4640;
}

.hn-ask p { margin-bottom: 12px; }

.hn-ask__note { margin-top: 10px; font-size: 13px; }

.hn-shield {
  display: flex;
  gap: 12px;
  align-items: start;
  background: #f6f8f6;
  border-color: transparent;
}

.hn-shield__icon {
  width: 36px;
  height: 36px;
  color: var(--hn-forest);
  flex: 0 0 auto;
}

.hn-shield h2 { font-size: 16px; margin-bottom: 6px; }

.hn-shield p { font-size: 13.5px; margin-bottom: 8px; }

.hn-profile-trust {
  margin-top: 36px;
  padding: 28px 0;
  border-top: 1px solid var(--hn-line);
}

.hn-profile-trust__row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.hn-profile-trust p {
  margin: 0;
  display: grid;
  justify-items: start;
  gap: 6px;
}

.hn-profile-trust svg {
  width: 22px;
  height: 22px;
  color: var(--hn-forest);
}

.hn-profile-trust strong { font-size: 14px; }

.hn-profile-trust span { color: var(--hn-muted); font-size: 13px; }

.hn-propage {
  padding: 0;
}

.hn-propage__hero {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #111;
}

.hn-propage__hero img {
  width: 100%;
  height: 420px;
  object-fit: cover;
}

.hn-propage__hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 16, 12, 0.55) 0%, rgba(8, 16, 12, 0.18) 42%, transparent 68%);
  pointer-events: none;
}

.hn-propage__hero blockquote {
  position: absolute;
  left: max(24px, calc((100% - var(--hn-wrap)) / 2));
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  max-width: 13ch;
  color: #fff;
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 600;
  font-style: italic;
  line-height: 1.12;
  letter-spacing: -0.045em;
  z-index: 1;
}

.hn-propage__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 28px;
  align-items: start;
  margin-top: 0;
  padding-bottom: 64px;
  position: relative;
  z-index: 2;
}

.hn-propage__lead,
.hn-propage__rail {
  display: grid;
  gap: 16px;
  align-content: start;
  min-width: 0;
}

.hn-propage__rail { margin-top: -280px; }

.hn-propage__id {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 18px;
}

.hn-propage__face {
  width: 96px;
  height: 96px;
  margin-top: -48px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #fff;
  box-shadow: 0 10px 28px rgba(12, 61, 46, 0.14);
  background: #eef3ef;
}

.hn-propage__who h1 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: clamp(28px, 3vw, 36px);
  letter-spacing: -0.04em;
}

.hn-propage__who h1 em {
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
  color: var(--hn-forest);
  background: #e8f3ec;
  border-radius: 999px;
  padding: 3px 10px;
}

.hn-propage__tools {
  display: flex;
  gap: 8px;
  align-items: center;
  padding-bottom: 8px;
}

.hn-propage__crumbs { margin: 0; }

.hn-propage__chips {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hn-propage__chips li {
  padding: 5px 10px;
  border-radius: 999px;
  background: #f3f6f3;
  font-size: 13px;
  font-weight: 650;
}

.hn-propage__about {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 28px;
  align-items: start;
}

.hn-propage__marks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
}

.hn-propage__note {
  margin: 0;
  padding: 22px;
  border-radius: 18px;
  background: #f4f6f3;
}

.hn-propage__note p {
  margin: 0;
  color: var(--hn-ink);
  font-size: 20px;
  font-weight: 600;
  font-style: italic;
  letter-spacing: -0.03em;
  line-height: 1.35;
}

.hn-propage__note footer {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
}

.hn-propage__note img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-propage__note strong { display: block; font-size: 14px; }

.hn-propage__note small { color: var(--hn-muted); font-size: 12px; }

.hn-shots figcaption { margin-top: 8px; }

.hn-shots figcaption strong { display: block; font-size: 14px; }

.hn-shots figcaption small { color: var(--hn-muted); }

.hn-propage__offers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.hn-propage__offer {
  border: 1px solid var(--hn-line);
  border-radius: 16px;
  padding: 16px;
  background: #fff;
}

.hn-propage__offer i {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #eef3ef;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  margin-bottom: 12px;
}

.hn-propage__offer svg { width: 20px; height: 20px; }

.hn-propage__offer h3 { font-size: 16px; margin: 0 0 4px; }

.hn-propage__offer p { font-size: 13.5px; }

.hn-propage__offer .hn-more { margin-top: 10px; }

.hn-propage__cta { display: grid; gap: 10px; }

.hn-propage__cta .hn-text-link {
  justify-self: start;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font: inherit;
}

.hn-propage__trust {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  gap: 6px;
  font-size: 13.5px;
}

.hn-propage__trust li {
  position: relative;
  padding-left: 20px;
}

.hn-propage__trust li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--hn-forest);
  font-weight: 750;
}

.hn-propage__reach {
  list-style: none;
  margin: 12px 0 10px;
  padding: 0;
  display: grid;
  gap: 6px;
  font-size: 13.5px;
  color: #3d4640;
}

.hn-propage__creds {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
}

.hn-propage__creds li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--hn-line);
  font-size: 13.5px;
  color: #3d4640;
}

.hn-propage__creds em {
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
  color: var(--hn-north);
  white-space: nowrap;
}

.hn-propage--prices .hn-propage__hero img { height: 240px; }

.hn-propage--prices .hn-propage__hero blockquote { font-size: clamp(22px, 2.6vw, 34px); }

.hn-propage--prices > .hn-wrap { padding-bottom: 64px; }

.hn-prices {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr) 300px;
  gap: 24px;
  align-items: start;
}

.hn-prices__nav {
  display: grid;
  gap: 4px;
  align-content: start;
}

.hn-prices__nav > p {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 750;
  color: var(--hn-muted);
}

.hn-prices__nav > a {
  text-decoration: none;
  padding: 8px 10px;
  border-radius: 10px;
  color: #3d4640;
  font-size: 14px;
  font-weight: 600;
}

.hn-prices__nav > a.is-on,
.hn-prices__nav > a:hover {
  background: #eef3ef;
  color: var(--hn-forest);
}

.hn-prices__ask {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--hn-line);
  border-radius: 16px;
  background: #f6f7f4;
}

.hn-prices__ask p {
  margin: 6px 0 12px;
  font-size: 13px;
  color: var(--hn-muted);
}

.hn-prices__head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  margin-bottom: 18px;
}

.hn-prices__head h2 {
  font-size: clamp(26px, 3vw, 34px);
  margin: 0 0 6px;
}

.hn-prices__head p {
  margin: 0;
  color: var(--hn-muted);
  max-width: 54ch;
}

.hn-prices__list { display: grid; gap: 14px; }

.hn-prices__row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) 176px;
  gap: 18px;
  align-items: start;
  padding: 16px;
  border: 1px solid var(--hn-line);
  border-radius: 20px;
  background: #fff;
}

.hn-prices__row img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 14px;
}

.hn-prices__copy h3 { font-size: 20px; margin: 0 0 6px; }

.hn-prices__copy > p { margin: 0; color: var(--hn-muted); }

.hn-prices__pay {
  display: grid;
  gap: 4px;
  justify-items: start;
}

.hn-prices__pay strong {
  font-size: 12px;
  color: var(--hn-muted);
  font-weight: 650;
}

.hn-prices__pay b {
  font-size: 28px;
  letter-spacing: -0.04em;
  line-height: 1;
}

.hn-prices__pay small { color: var(--hn-muted); font-size: 12px; }

.hn-prices__pay .hn-btn { margin-top: 10px; }

.hn-prices__pay details { width: 100%; }

.hn-prices__pay summary {
  cursor: pointer;
  color: var(--hn-forest);
  font-size: 13.5px;
  font-weight: 650;
  margin-top: 6px;
}

.hn-prices__pay details p {
  margin: 8px 0 0;
  font-size: 13px;
  color: #3d4640;
}

.hn-prices__rail {
  display: grid;
  gap: 16px;
  align-content: start;
  position: sticky;
  top: 92px;
}

.hn-prices__quote p {
  margin: 0;
  font-size: 16px;
  font-style: italic;
  color: var(--hn-ink);
}

.hn-prices__quote footer { display: grid; margin-top: 12px; }

.hn-prices__quote small { color: var(--hn-muted); }

/* Post a job */
.hn-job {
  padding: 28px 0 72px;
  background: #faf9f6;
}

.hn-job__grid {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr) 250px;
  gap: 28px;
  align-items: start;
}

.hn-job__intro h1 { font-size: clamp(36px, 4vw, 52px); margin-bottom: 10px; }

.hn-job__intro .hn-lead { font-size: 16px; }

.hn-job__points {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  display: grid;
  gap: 16px;
}

.hn-job__points li { display: flex; gap: 12px; align-items: start; }

.hn-job__points span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #eef3ef;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}

.hn-job__points svg { width: 18px; height: 18px; }

.hn-job__points strong { display: block; font-size: 14.5px; }

.hn-job__points p { margin: 2px 0 0; font-size: 13px; color: var(--hn-muted); }

.hn-job__quote {
  margin: 28px 0 0;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
}

.hn-job__stars { margin: 0 0 8px; color: var(--hn-amber); letter-spacing: 1px; }

.hn-job__quote blockquote {
  margin: 0;
  font-size: 14.5px;
  color: #3d4640;
}

.hn-job__quote figcaption {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 13px;
  font-weight: 650;
}

.hn-job__quote img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-job__quote small {
  display: block;
  font-weight: 500;
  color: var(--hn-muted);
}

.hn-job__scene {
  margin: 22px 0 0;
  position: relative;
}

.hn-job__scene img {
  width: 100%;
  border-radius: 18px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.hn-job__scene figcaption {
  margin-top: 10px;
  font-style: italic;
  color: var(--hn-forest);
  font-weight: 600;
}

.hn-job__stage {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 24px;
  padding: 22px 24px 20px;
}

.hn-job-steps {
  list-style: none;
  margin: 0 0 28px;
  padding: 0 0 16px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid var(--hn-line);
}

.hn-job-steps li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 650;
  color: var(--hn-muted);
  cursor: pointer;
}

.hn-job-steps i {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eef1ee;
  font-style: normal;
  font-size: 12px;
}

.hn-job-steps .is-on,
.hn-job-steps .is-done { color: var(--hn-ink); }

.hn-job-steps .is-on i,
.hn-job-steps .is-done i {
  background: var(--hn-forest);
  color: #fff;
}

.hn-job-pane h2 { font-size: clamp(26px, 3vw, 34px); margin-bottom: 8px; }

.hn-job-pane > p { color: var(--hn-muted); margin: 0 0 22px; }

.hn-job-note {
  margin: -8px 0 18px;
  padding: 10px 12px;
  background: #eef6f1;
  border-radius: 12px;
  color: var(--hn-forest);
  font-size: 13.5px;
}

.hn-field { display: grid; gap: 8px; margin-bottom: 16px; }

.hn-field > span,
.hn-field legend {
  font-size: 14px;
  font-weight: 700;
  padding: 0;
}

.hn-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.hn-field select,
.hn-field textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--hn-line);
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
  font: inherit;
}

.hn-field textarea { min-height: 140px; resize: vertical; }

.hn-field small {
  justify-self: end;
  color: var(--hn-muted);
  font-size: 12px;
}

.hn-field__box {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--hn-line);
  border-radius: 12px;
  padding: 0 12px;
  min-height: 48px;
}

.hn-field__box input { border: 0; padding: 0; min-height: 0; }

.hn-field__box svg {
  width: 16px;
  height: 16px;
  color: var(--hn-muted);
  flex: 0 0 auto;
}

.hn-job-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: -4px 0 18px;
  font-size: 13px;
  color: var(--hn-muted);
}

.hn-job-chips button {
  border: 1px solid var(--hn-line);
  background: #fff;
  border-radius: 999px;
  padding: 6px 12px;
  cursor: pointer;
  color: #3d4640;
}

.hn-job-chips button:hover,
.hn-job-chips .is-on {
  border-color: var(--hn-forest);
  color: var(--hn-forest);
}

.hn-uploads { display: flex; gap: 10px; align-items: start; flex-wrap: wrap; }

.hn-drop {
  width: 168px;
  min-height: 112px;
  border: 1.5px dashed #cfd6cf;
  border-radius: 14px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 12px;
  cursor: pointer;
  color: var(--hn-muted);
  gap: 4px;
}

.hn-drop input { display: none; }

.hn-drop svg { width: 22px; height: 22px; color: var(--hn-forest); }

.hn-drop strong { font-size: 12px; font-weight: 650; color: #3d4640; }

.hn-drop em { font-size: 11px; font-style: normal; }

.hn-thumbs { display: flex; gap: 8px; flex-wrap: wrap; }

.hn-thumbs figure {
  margin: 0;
  position: relative;
  width: 88px;
  height: 88px;
}

.hn-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

.hn-thumbs button {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  line-height: 1;
}

.hn-job-split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.hn-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  margin-top: 6px;
}

.hn-check input[type="checkbox"],
.hn-check input[type="radio"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 0;
  margin: 0;
  flex: 0 0 18px;
  accent-color: var(--hn-forest);
}

.hn-review {
  margin: 0;
  display: grid;
  gap: 10px;
}

.hn-review div {
  display: grid;
  grid-template-columns: 140px 1fr auto;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--hn-line);
  font-size: 14px;
}

.hn-review dt { color: var(--hn-muted); font-weight: 650; }

.hn-review dd { margin: 0; }

.hn-review button {
  border: 0;
  background: none;
  color: var(--hn-forest);
  font-weight: 650;
  cursor: pointer;
}

.hn-job-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  padding-top: 16px;
}

.hn-job-actions div { display: flex; gap: 8px; }

.hn-job-actions--done { justify-content: start; padding-top: 8px; }

.hn-job-done { text-align: center; padding: 28px 8px 8px; }

.hn-job-done span {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
  font-size: 24px;
}

.hn-job__aside { display: grid; gap: 14px; position: sticky; top: 96px; }

.hn-tip,
.hn-progress,
.hn-help-card {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
  padding: 16px;
}

.hn-tip,
.hn-help-card,
.hn-progress { display: flex; gap: 12px; align-items: start; }

.hn-tip svg,
.hn-help-card svg {
  width: 20px;
  height: 20px;
  color: var(--hn-forest);
}

.hn-tip strong,
.hn-help-card strong { display: block; margin-bottom: 4px; }

.hn-tip p,
.hn-help-card p { margin: 0 0 8px; font-size: 13.5px; color: var(--hn-muted); }

.hn-progress { align-items: center; }

.hn-progress__ring {
  position: relative;
  width: 56px;
  height: 56px;
  flex: 0 0 auto;
}

.hn-progress__ring svg { width: 56px; height: 56px; transform: rotate(-90deg); }

.hn-progress__ring circle { fill: none; stroke: #e8eee9; stroke-width: 4; }

.hn-progress__ring [data-ring] {
  stroke: var(--hn-forest);
  stroke-linecap: round;
  stroke-dasharray: 113;
  stroke-dashoffset: 85;
}

.hn-progress__ring strong {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 13px;
}

.hn-progress p { margin: 0; font-weight: 750; }

.hn-progress small { color: var(--hn-muted); }

.hn-progress-list {
  list-style: none;
  margin: 0;
  padding: 4px 8px;
  display: grid;
  gap: 14px;
}

.hn-progress-list li {
  display: flex;
  gap: 10px;
  color: var(--hn-muted);
}

.hn-progress-list i {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid var(--hn-line);
  display: grid;
  place-items: center;
  font-style: normal;
  font-size: 12px;
  flex: 0 0 auto;
}

.hn-progress-list strong { display: block; font-size: 13.5px; color: var(--hn-ink); }

.hn-progress-list span { font-size: 12px; }

.hn-progress-list .is-on i,
.hn-progress-list .is-done i {
  background: var(--hn-forest);
  border-color: var(--hn-forest);
  color: #fff;
}

.hn-secure {
  display: flex;
  gap: 8px;
  align-items: start;
  margin: 0;
  font-size: 12.5px;
  color: var(--hn-muted);
}

.hn-secure svg {
  width: 16px;
  height: 16px;
  color: var(--hn-forest);
  flex: 0 0 auto;
}

.hn-field.is-bad input,
.hn-field.is-bad textarea,
.hn-field.is-bad .hn-field__box { border-color: #c45c4a; }

/* Checkout */
.hn-pay { padding: 20px 0 72px; background: #faf9f6; }

.hn-pay__track {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}

.hn-pay-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 0;
}

.hn-pay-steps li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 650;
  color: var(--hn-muted);
  cursor: pointer;
}

.hn-pay-steps li + li::before {
  content: "";
  width: 64px;
  height: 2px;
  margin: 0 14px 0 8px;
  background: #d8ddd8;
}

.hn-pay-steps i {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1px solid var(--hn-line);
  background: #fff;
  font-style: normal;
  font-size: 13px;
}

.hn-pay-steps .is-on { color: var(--hn-ink); }

.hn-pay-steps .is-on i,
.hn-pay-steps .is-done i {
  background: var(--hn-forest);
  border-color: var(--hn-forest);
  color: #fff;
}

.hn-pay-steps .is-done + li::before,
.hn-pay-steps .is-on + li::before { background: var(--hn-forest); }

.hn-pay__lock {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 13px;
  color: var(--hn-muted);
}

.hn-pay__lock svg { width: 16px; height: 16px; color: var(--hn-forest); }

.hn-pay__head { margin-bottom: 22px; }

.hn-pay__head h1 { font-size: clamp(36px, 4.4vw, 56px); }

.hn-pay__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  align-items: start;
}

.hn-pay-card {
  display: flex;
  gap: 16px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 20px;
  padding: 22px;
  margin-bottom: 16px;
}

.hn-pay-card__num {
  width: 28px;
  height: 28px;
  margin: 0;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 750;
  flex: 0 0 auto;
}

.hn-pay-card h2 { font-size: 22px; margin-bottom: 4px; }

.hn-pay-card > div > p { margin: 0 0 18px; color: var(--hn-muted); }

.hn-field .hn-phone {
  position: static;
  width: auto;
  height: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--hn-line);
  border-radius: 12px;
  padding: 0 12px;
  min-height: 48px;
  background: #fff;
  transform: none;
}

.hn-field .hn-phone span { font-weight: 650; white-space: nowrap; color: var(--hn-ink); }

.hn-field .hn-phone input { border: 0; min-height: 0; padding: 0; width: 100%; background: transparent; }

.hn-methods { display: grid; gap: 8px; margin-bottom: 16px; }

.hn-methods label {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 14px;
  border: 1px solid var(--hn-line);
  border-radius: 12px;
  cursor: pointer;
}

.hn-methods .is-on { border-color: var(--hn-forest); box-shadow: 0 0 0 3px rgba(12, 61, 46, 0.08); }

.hn-methods em { font-style: normal; font-size: 12px; color: var(--hn-muted); font-weight: 750; }

.hn-check--terms { margin: 8px 0 0; font-size: 13.5px; }

.hn-check.is-bad,
.hn-check--terms.is-bad { color: #c45c4a; }

.hn-check--terms a { color: var(--hn-forest); }

.hn-pay-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.hn-pay-done {
  flex-direction: column;
  text-align: center;
  align-items: center;
  padding: 40px 28px;
}

.hn-pay-done__mark {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 28px;
}

.hn-pay-done h2 { font-size: 36px; margin: 16px 0 8px; }

.hn-receipt {
  width: min(100%, 420px);
  margin: 20px 0;
  text-align: left;
}

.hn-receipt div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid var(--hn-line);
  font-size: 14.5px;
}

.hn-receipt dt { color: var(--hn-muted); }

.hn-receipt dd { margin: 0; font-weight: 650; }

.hn-pay-done__next { color: var(--hn-muted); }

.hn-pay__side { position: sticky; top: 96px; display: grid; gap: 14px; }

.hn-summary {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 20px;
  padding: 18px;
}

.hn-summary__pro {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}

.hn-summary__pro img {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  object-fit: cover;
}

.hn-summary__pro h2 { font-size: 18px; }

.hn-summary__pro p {
  margin: 4px 0 0;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--hn-muted);
}

.hn-summary__pro svg { width: 14px; height: 14px; flex: 0 0 auto; }

.hn-summary__meta { list-style: none; margin: 0; padding: 8px 0 0; display: grid; gap: 12px; }

.hn-summary__meta li { display: flex; gap: 10px; align-items: start; }

.hn-summary__meta svg {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  color: var(--hn-forest);
}

.hn-summary__meta strong { display: block; font-size: 13.5px; }

.hn-summary__meta span { font-size: 13px; color: var(--hn-muted); }

.hn-summary__total {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  margin: 18px 0 14px;
  padding-top: 14px;
  border-top: 1px solid var(--hn-line);
}

.hn-summary__total strong { display: block; }

.hn-summary__total p { margin: 4px 0 0; font-size: 12.5px; color: var(--hn-muted); max-width: 22ch; }

.hn-summary__total b { font-size: 22px; letter-spacing: -0.04em; white-space: nowrap; }

.hn-summary__legal {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--hn-muted);
  text-align: center;
}

.hn-pay-trust {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.hn-pay-trust li { text-align: center; }

.hn-pay-trust svg {
  width: 18px;
  height: 18px;
  color: var(--hn-forest);
  margin: 0 auto 6px;
}

.hn-pay-trust strong { display: block; font-size: 12.5px; }

.hn-pay-trust span { font-size: 11.5px; color: var(--hn-muted); }

.hn-pay__scene { margin: 0; position: relative; }

.hn-pay__scene img {
  width: 100%;
  border-radius: 18px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.hn-pay__scene figcaption {
  position: absolute;
  left: 16px;
  top: 16px;
  color: var(--hn-forest);
  font-style: italic;
  font-weight: 650;
  max-width: 12ch;
  line-height: 1.25;
}

/* How it works */
.hn-works-hero { padding: 36px 0 20px; }

.hn-works-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  gap: 48px;
  align-items: center;
}

.hn-works-hero h1 { margin-bottom: 14px; }

.hn-works-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
}

.hn-works-points li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.hn-works-points span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}

.hn-works-points svg { width: 16px; height: 16px; }

.hn-works-points strong {
  display: block;
  font-size: 14px;
}

.hn-works-points em {
  display: block;
  font-style: normal;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-works-find {
  margin-top: 28px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 8px 8px 16px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  box-shadow: var(--hn-shadow);
}

.hn-works-find__icon {
  color: var(--hn-muted);
  display: grid;
  place-items: center;
}

.hn-works-find svg { width: 18px; height: 18px; }

.hn-works-find input {
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  min-width: 0;
  padding: 10px 0;
}

.hn-works-find .hn-btn {
  flex-shrink: 0;
  min-width: 104px;
}

.hn-works-hero__photo {
  margin: 0;
  position: relative;
}

.hn-works-hero__photo img {
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  border-radius: 28px;
}

.hn-works-hero__photo figcaption {
  position: absolute;
  left: 22px;
  top: 22px;
  color: var(--hn-forest);
  font-style: italic;
  font-weight: 650;
  max-width: 10ch;
  line-height: 1.2;
  font-size: 22px;
}

.hn-works-stat {
  position: absolute;
  right: 18px;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--hn-forest);
  color: #fff;
  border-radius: 18px;
  padding: 14px 16px;
  min-width: 168px;
}

.hn-works-stat span {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  display: grid;
  place-items: center;
}

.hn-works-stat svg { width: 16px; height: 16px; }

.hn-works-stat em {
  display: block;
  font-style: normal;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
}

.hn-works-stat strong {
  display: block;
  font-size: 22px;
  letter-spacing: -0.03em;
}

.hn-works-home {
  padding: 64px 0 24px;
}

.hn-works-home__head {
  text-align: center;
  margin-bottom: 40px;
}

.hn-works-home__head .hn-lead {
  margin: 12px auto 0;
}

.hn-works-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
}

.hn-works-flow li { position: relative; }

.hn-works-flow li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 16px;
  left: 44px;
  right: -16px;
  height: 1px;
  background: var(--hn-line);
}

.hn-works-flow i {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  font-style: normal;
  position: relative;
  z-index: 1;
  margin-bottom: 14px;
}

.hn-works-flow h3 { font-size: 18px; margin-bottom: 6px; }

.hn-works-flow p {
  margin: 0;
  color: var(--hn-muted);
  font-size: 14.5px;
}

.hn-works-demos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.hn-works-demo {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 22px;
  padding: 18px;
  min-height: 260px;
  box-shadow: var(--hn-shadow);
}

.hn-works-demo__label {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 650;
}

.hn-works-demo form {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--hn-line);
  border-radius: 12px;
  padding: 10px 12px;
  margin-bottom: 12px;
}

.hn-works-demo form svg {
  width: 16px;
  height: 16px;
  color: var(--hn-muted);
}

.hn-works-demo form input {
  border: 0;
  outline: 0;
  width: 100%;
  background: transparent;
  font-size: 13.5px;
}

.hn-works-demo ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.hn-works-demo li a {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #3d4640;
  font-size: 14px;
  font-weight: 550;
}

.hn-works-demo li a:hover { color: var(--hn-forest); }

.hn-works-demo li svg {
  width: 14px;
  height: 14px;
  color: var(--hn-muted);
}

.hn-works-demo--quotes {
  display: grid;
  align-content: start;
  gap: 10px;
}

.hn-works-quote {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 2px;
  align-items: center;
  text-decoration: none;
  padding: 8px 0;
  border-bottom: 1px solid var(--hn-line);
}

.hn-works-quote:last-child { border-bottom: 0; }

.hn-works-quote img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  grid-row: 1 / span 2;
}

.hn-works-quote strong {
  font-size: 13.5px;
}

.hn-works-quote span {
  grid-column: 2;
  font-size: 11px;
  color: var(--hn-amber-deep);
}

.hn-works-quote b {
  grid-column: 3;
  grid-row: 1;
  font-size: 14px;
}

.hn-works-quote em {
  grid-column: 3;
  grid-row: 2;
  font-style: normal;
  font-size: 11px;
  color: var(--hn-north);
  font-weight: 650;
}

.hn-works-demo--photo {
  position: relative;
  padding: 0;
  overflow: hidden;
}

.hn-works-demo--photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 260px;
}

.hn-works-chat,
.hn-works-done {
  position: absolute;
  margin: 0;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(20, 26, 23, 0.12);
}

.hn-works-chat {
  right: 14px;
  bottom: 16px;
  left: 14px;
  padding: 12px 14px;
  font-size: 13.5px;
  line-height: 1.35;
}

.hn-works-chat time {
  display: block;
  margin-top: 6px;
  color: var(--hn-muted);
  font-size: 11px;
}

.hn-works-done {
  left: 16px;
  top: 16px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  font-size: 13.5px;
  font-weight: 650;
  max-width: 220px;
}

.hn-works-done span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}

.hn-works-done svg { width: 14px; height: 14px; }

.hn-works-done small {
  display: block;
  margin-top: 6px;
  font-weight: 500;
  font-size: 11px;
  color: var(--hn-muted);
}

.hn-works-script {
  text-align: center;
  font-style: italic;
  font-weight: 650;
  color: var(--hn-forest);
  font-size: 28px;
  letter-spacing: -0.03em;
  margin: 8px 0 8px;
}

.hn-works-split { padding: 28px 0 16px; }

.hn-works-split__grid {
  display: grid;
  grid-template-columns: 1.45fr 0.9fr;
  gap: 16px;
  align-items: stretch;
}

.hn-works-grow,
.hn-works-safe {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 28px;
  box-shadow: var(--hn-shadow);
}

.hn-works-grow {
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: 20px;
  padding: 32px 20px 20px 32px;
}

.hn-works-grow h2 { margin-bottom: 10px; }

.hn-works-grow__aside {
  margin: 0 0 18px;
  color: var(--hn-muted);
  font-weight: 650;
  line-height: 1.25;
}

.hn-works-grow ul,
.hn-works-safe ul {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: grid;
  gap: 10px;
}

.hn-works-grow li,
.hn-works-safe li {
  position: relative;
  padding-left: 26px;
  font-size: 14.5px;
  color: #3d4640;
}

.hn-works-grow li::before,
.hn-works-safe li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: var(--hn-forest);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'><path d='M20 6L9 17l-5-5'/></svg>");
  background-size: 10px;
  background-repeat: no-repeat;
  background-position: center;
}

.hn-works-grow figure {
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  background: var(--hn-cream);
}

.hn-works-grow img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 280px;
}

.hn-works-safe {
  position: relative;
  padding: 32px;
}

.hn-works-safe h2 { margin-bottom: 18px; }

.hn-works-safe__mark {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
  display: grid;
  place-items: center;
}

.hn-works-safe__mark svg { width: 20px; height: 20px; }

.hn-works-metrics { padding: 28px 0 48px; }

.hn-works-metrics ul {
  list-style: none;
  margin: 0;
  padding: 28px 12px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 24px;
}

.hn-works-metrics li {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 6px;
}

.hn-works-metrics span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
  display: grid;
  place-items: center;
}

.hn-works-metrics svg { width: 16px; height: 16px; }

.hn-works-metrics strong { font-size: 28px; letter-spacing: -0.04em; }

.hn-works-metrics em {
  font-style: normal;
  color: var(--hn-muted);
  font-size: 13.5px;
}

.hn-works-cta { padding: 0 0 72px; }

.hn-works-cta__box {
  background: var(--hn-forest-deep);
  color: #fff;
  border-radius: 32px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  min-height: 320px;
}

.hn-works-cta__box > div { padding: 48px 48px 44px; }

.hn-works-cta__kicker {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.hn-works-cta h2 { max-width: 16ch; }

.hn-works-cta p {
  color: rgba(255,255,255,0.72);
  max-width: 36ch;
}

.hn-works-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.hn-works-cta figure { margin: 0; }

.hn-works-cta img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Trust & safety */
.hn-safe-hero { padding: 36px 0 12px; }

.hn-safe-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 48px;
  align-items: center;
}

.hn-safe-hero h1 { margin-bottom: 14px; }

.hn-safe-hero__copy {
  max-width: 40rem;
  color: var(--hn-muted);
  font-size: 16px;
}

.hn-safe-hero__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.hn-safe-hero__link svg { width: 16px; height: 16px; }

.hn-safe-hero__photo {
  margin: 0;
  position: relative;
  background: var(--hn-cream);
  border-radius: 28px;
  min-height: 420px;
  overflow: hidden;
}

.hn-safe-hero__photo img {
  width: 72%;
  max-width: 420px;
  margin: 40px auto 0;
  object-fit: contain;
}

.hn-safe-hero__photo figcaption {
  position: absolute;
  left: 22px;
  bottom: 24px;
  color: var(--hn-forest);
  font-style: italic;
  font-weight: 650;
  line-height: 1.2;
  font-size: 20px;
}

.hn-safe-quote {
  position: absolute;
  right: 18px;
  top: 18px;
  width: min(280px, 70%);
  margin: 0;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 20px;
  padding: 18px 18px 14px;
  box-shadow: var(--hn-shadow);
}

.hn-safe-quote p {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.hn-safe-quote footer {
  margin-top: 12px;
  display: grid;
  gap: 2px;
}

.hn-safe-quote em {
  color: var(--hn-amber-deep);
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0.08em;
}

.hn-safe-quote cite {
  font-style: normal;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-safe-pillars { padding: 36px 0 8px; }

.hn-safe-pillars__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 32px;
}

.hn-safe-pillars article span {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  margin-bottom: 14px;
}

.hn-safe-pillars svg { width: 18px; height: 18px; }

.hn-safe-pillars h2 { font-size: 20px; margin-bottom: 6px; }

.hn-safe-pillars article > p {
  margin: 0 0 14px;
  color: var(--hn-muted);
}

.hn-safe-pillars ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.hn-safe-pillars li {
  position: relative;
  padding-left: 22px;
  font-size: 14.5px;
  color: #3d4640;
}

.hn-safe-pillars li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--hn-forest);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'><path d='M20 6L9 17l-5-5'/></svg>");
  background-size: 8px;
  background-repeat: no-repeat;
  background-position: center;
}

.hn-safe-verify { padding: 12px 0 48px; }

.hn-safe-verify__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.hn-safe-verify figure {
  margin: 0;
  position: relative;
  border-radius: 24px;
  overflow: hidden;
}

.hn-safe-verify figure img {
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
}

.hn-safe-verify aside {
  position: absolute;
  left: 20px;
  top: 20px;
  width: min(230px, 70%);
  background: var(--hn-forest);
  color: #fff;
  border-radius: 20px;
  padding: 22px 20px;
}

.hn-safe-verify aside span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  display: grid;
  place-items: center;
  margin-bottom: 12px;
}

.hn-safe-verify aside svg { width: 18px; height: 18px; }

.hn-safe-verify aside p {
  margin: 0;
  font-weight: 650;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.hn-safe-verify ol {
  list-style: none;
  margin: 24px 0 28px;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 16px;
  counter-reset: none;
}

.hn-safe-verify li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.hn-safe-verify i {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  font-style: normal;
  font-weight: 700;
  font-size: 14px;
  flex: 0 0 auto;
}

.hn-safe-verify strong { display: block; font-size: 15px; }

.hn-safe-verify li span {
  display: block;
  color: var(--hn-muted);
  font-size: 13.5px;
}

.hn-safe-lower { padding: 0 0 28px; }

.hn-safe-lower__grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 20px;
  align-items: stretch;
}

.hn-safe-faq__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-bottom: 16px;
}

.hn-safe-faq details {
  border-bottom: 1px solid var(--hn-line);
}

.hn-safe-faq summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 28px 16px 0;
  font-weight: 650;
  position: relative;
}

.hn-safe-faq summary::-webkit-details-marker { display: none; }

.hn-safe-faq summary::after {
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 1.8px solid var(--hn-ink);
  border-bottom: 1.8px solid var(--hn-ink);
  transform: translateY(-70%) rotate(45deg);
}

.hn-safe-faq details[open] summary::after {
  transform: translateY(-20%) rotate(225deg);
}

.hn-safe-faq p {
  margin: 0 0 16px;
  color: var(--hn-muted);
  max-width: 46ch;
}

.hn-safe-faq a { color: var(--hn-forest); }

.hn-safe-commit {
  background: var(--hn-forest-deep);
  color: #fff;
  border-radius: 28px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hn-safe-commit__kicker {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.hn-safe-commit h2 { max-width: 16ch; }

.hn-safe-commit p { color: rgba(255,255,255,0.72); }

.hn-safe-commit .hn-btn { margin-top: 8px; align-self: start; }

.hn-safe-commit__note {
  margin-top: 28px;
  font-style: italic;
  font-weight: 650;
  color: #fff;
}

.hn-safe-values { padding: 12px 0 72px; }

.hn-safe-values ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.hn-safe-values li,
.hn-safe-values a {
  display: grid;
  justify-items: start;
  gap: 6px;
  text-decoration: none;
}

.hn-safe-values span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
  display: grid;
  place-items: center;
}

.hn-safe-values svg { width: 16px; height: 16px; }

.hn-safe-values strong { font-size: 15px; }

.hn-safe-values em {
  font-style: normal;
  color: var(--hn-muted);
  font-size: 13.5px;
}

.hn-safe-values a:hover strong { color: var(--hn-forest); }

/* Join / Sign in */
.hn-gate {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.hn-gate__brand {
  background: var(--hn-cream);
  padding: 28px 48px 40px;
  display: flex;
  flex-direction: column;
}

.hn-gate__brand-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 36px;
}

.hn-gate__brand .hn-logo { margin-bottom: 0; }

.hn-gate__brand h1 {
  font-size: clamp(36px, 4.4vw, 56px);
  margin-bottom: 14px;
}

.hn-gate-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
}

.hn-gate-points li {
  display: grid;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 650;
}

.hn-gate-points span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
}

.hn-gate-points svg { width: 16px; height: 16px; }

.hn-gate__photo {
  margin: 28px 0 0;
  position: relative;
}

.hn-gate__photo img {
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
  border-radius: 24px;
}

.hn-gate__photo figcaption {
  position: absolute;
  left: 18px;
  top: 16px;
  color: var(--hn-forest);
  font-style: italic;
  font-weight: 650;
  font-size: 20px;
  line-height: 1.2;
}

.hn-gate__photo blockquote {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  margin: 0;
  background: #fff;
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 10px 30px rgba(20, 26, 23, 0.1);
}

.hn-gate__photo blockquote p {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 600;
}

.hn-gate__photo footer {
  display: flex;
  align-items: center;
  gap: 10px;
}

.hn-gate__photo footer img {
  width: 36px;
  height: 36px;
  aspect-ratio: 1;
  border-radius: 50%;
}

.hn-gate__photo footer strong { display: block; font-size: 13px; }

.hn-gate__photo footer span { color: var(--hn-muted); font-size: 12px; }

.hn-gate__photo footer em {
  margin-left: auto;
  color: var(--hn-amber-deep);
  font-style: normal;
  font-size: 11px;
}

.hn-gate__form {
  padding: 28px 56px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hn-gate__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px 20px;
  flex-wrap: wrap;
  margin: 0 0 28px;
}

.hn-gate__switch {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-gate .hn-locale-switch__btn {
  background: #fff;
  border: 1px solid var(--hn-line);
}

.hn-gate__form h2 {
  font-size: clamp(28px, 3vw, 40px);
  margin-bottom: 8px;
}

.hn-gate__lead {
  margin: 0 0 22px;
  color: var(--hn-muted);
}

.hn-gate-note {
  background: #f8e8e4;
  color: #8a3a2e;
  border-radius: 12px;
  padding: 10px 12px;
  margin: 0 0 16px;
  font-size: 14px;
}

.hn-gate-roles {
  border: 0;
  margin: 0 0 20px;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.hn-gate-role {
  position: relative;
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 6px;
  padding: 20px 14px 16px;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
  cursor: pointer;
}

.hn-gate-role input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.hn-gate-role:has(input:checked) {
  border-color: var(--hn-forest);
  background: #f3f7f4;
  box-shadow: 0 0 0 3px rgba(12, 61, 46, 0.08);
}

.hn-gate-role:has(input:checked)::after {
  content: "";
  position: absolute;
  top: 12px;
  right: 12px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: var(--hn-forest);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'><path d='M20 6L9 17l-5-5'/></svg>");
  background-size: 10px;
  background-repeat: no-repeat;
  background-position: center;
}

.hn-gate-role__icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
  display: grid;
  place-items: center;
}

.hn-gate-role svg { width: 20px; height: 20px; }

.hn-gate-role strong { font-size: 15px; }

.hn-gate-role em {
  font-style: normal;
  color: var(--hn-muted);
  font-size: 13px;
  max-width: 22ch;
}

.hn-gate-role b {
  font-size: 12px;
  font-weight: 650;
  color: var(--hn-north);
}

.hn-gate-form .hn-field small { justify-self: start; }

.hn-gate-forgot {
  margin: -8px 0 16px;
  text-align: right;
}

.hn-gate-forgot a {
  color: var(--hn-forest);
  font-size: 13.5px;
  font-weight: 650;
  text-decoration: none;
}

.hn-gate-or {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--hn-muted);
  font-size: 13px;
  margin: 20px 0 14px;
}

.hn-gate-or::before,
.hn-gate-or::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--hn-line);
}

.hn-gate-social {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.hn-gate-social .hn-btn svg {
  width: 18px;
  height: 18px;
  margin: 0 8px 0 0;
}

.hn-gate-soon {
  margin: 10px 0 0;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-gate-legal {
  margin: 18px 0 0;
  color: var(--hn-muted);
  font-size: 13px;
  text-align: center;
}

.hn-gate-legal a { color: var(--hn-forest); }

.hn-gate-trust {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.hn-gate-trust li { display: grid; gap: 4px; }

.hn-gate-trust svg {
  width: 18px;
  height: 18px;
  color: var(--hn-forest);
}

.hn-gate-trust strong { font-size: 13px; }

.hn-gate-trust span { color: var(--hn-muted); font-size: 12px; }

.hn-pro-next { padding: 64px 0 80px; }

.hn-pro-next__box { max-width: 720px; }

.hn-pro-next__steps {
  list-style: none;
  margin: 28px 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.hn-pro-next__steps li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.hn-pro-next__steps i {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  font-style: normal;
  font-weight: 700;
}

.hn-pro-next__steps span { display: block; color: var(--hn-muted); font-size: 14px; }

.hn-pro-next__actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* Become a pro */
.hn-apply-hero { padding: 36px 0 12px; }

.hn-apply-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}

.hn-apply-hero h1 { margin-bottom: 14px; }

.hn-apply-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
}

.hn-apply-points span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  margin-bottom: 8px;
}

.hn-apply-points svg { width: 16px; height: 16px; }

.hn-apply-points strong { display: block; font-size: 14px; }

.hn-apply-points em { font-style: normal; color: var(--hn-muted); font-size: 13px; }

.hn-apply-hero__photo {
  margin: 0;
  position: relative;
  background: linear-gradient(180deg, #eef3ef 0%, #f5f3ee 100%);
  border-radius: 28px;
  min-height: 420px;
  overflow: hidden;
}

.hn-apply-hero__photo img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  object-position: center top;
}

.hn-apply-hero__photo figcaption {
  position: absolute;
  left: 22px;
  bottom: 22px;
  color: var(--hn-forest);
  font-style: italic;
  font-weight: 650;
  font-size: 22px;
  line-height: 1.2;
  max-width: 12ch;
  background: rgba(245, 243, 238, 0.92);
  padding: 10px 14px;
  border-radius: 14px;
}

.hn-apply-hero__photo blockquote {
  position: absolute;
  right: 16px;
  top: 16px;
  width: min(260px, 68%);
  margin: 0;
  background: #fff;
  border-radius: 18px;
  padding: 16px;
  box-shadow: var(--hn-shadow);
}

.hn-apply-hero__photo blockquote p { margin: 0 0 10px; font-size: 14px; font-weight: 600; }

.hn-apply-hero__photo footer { display: grid; gap: 2px; }

.hn-apply-hero__photo cite { font-style: normal; color: var(--hn-muted); font-size: 13px; }

.hn-apply-hero__photo em { color: var(--hn-amber-deep); font-style: normal; font-size: 12px; }

.hn-apply-board {
  padding: 40px 0 20px;
  background: #f6f7f5;
}

.hn-apply-board__grid {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) 280px;
  gap: 24px;
  align-items: start;
}

.hn-apply-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.hn-apply-steps li {
  display: flex;
  gap: 10px;
  cursor: pointer;
  color: var(--hn-muted);
}

.hn-apply-steps i {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid var(--hn-line);
  display: grid;
  place-items: center;
  font-style: normal;
  font-weight: 700;
  font-size: 13px;
  flex: 0 0 auto;
}

.hn-apply-steps strong { display: block; font-size: 14px; color: var(--hn-ink); }

.hn-apply-steps span { font-size: 12px; }

.hn-apply-steps .is-on i,
.hn-apply-steps .is-done i {
  background: var(--hn-forest);
  border-color: var(--hn-forest);
  color: #fff;
}

.hn-apply-help { margin-top: 28px; color: var(--hn-muted); font-size: 14px; }

.hn-apply-main {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 24px;
  padding: 28px;
}

.hn-apply-pane__kicker {
  margin: 0 0 6px;
  color: var(--hn-north);
  font-size: 13px;
  font-weight: 700;
}

.hn-apply-pane h2 { font-size: 26px; margin-bottom: 6px; }

.hn-apply-pane__step { margin: 0 0 20px; color: var(--hn-muted); font-size: 13px; }

.hn-apply-nav { margin-top: 12px; display: grid; gap: 10px; }

.hn-apply-signin { text-align: center; color: var(--hn-muted); font-size: 14px; }

.hn-apply-signin a { color: var(--hn-forest); font-weight: 650; }

.hn-apply-review { margin: 0 0 18px; display: grid; gap: 10px; }

.hn-apply-review div {
  display: grid;
  grid-template-columns: 140px 1fr auto;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--hn-line);
}

.hn-apply-review dt { color: var(--hn-muted); font-size: 13px; }

.hn-apply-review button {
  border: 0;
  background: none;
  color: var(--hn-forest);
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}

.hn-apply-done { text-align: center; padding: 24px 8px; }

.hn-apply-done__mark {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
}

.hn-apply-done__mark svg { width: 24px; height: 24px; }

.hn-apply-done__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 20px; }

.hn-apply-card,
.hn-apply-safe,
.hn-apply-quote {
  border-radius: 20px;
  padding: 22px;
  margin-bottom: 14px;
}

.hn-apply-card { background: #f3f7f4; }

.hn-apply-card h2 { font-size: 20px; margin-bottom: 12px; }

.hn-apply-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }

.hn-apply-card li {
  position: relative;
  padding-left: 22px;
  font-size: 14px;
}

.hn-apply-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--hn-forest);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'><path d='M20 6L9 17l-5-5'/></svg>");
  background-size: 8px;
  background-repeat: no-repeat;
  background-position: center;
}

.hn-apply-safe {
  background: var(--hn-forest-deep);
  color: #fff;
}

.hn-apply-safe span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  display: grid;
  place-items: center;
  margin-bottom: 10px;
}

.hn-apply-safe svg { width: 18px; height: 18px; }

.hn-apply-safe p { color: rgba(255,255,255,0.72); }

.hn-apply-quote { background: #fff; border: 1px solid var(--hn-line); }

.hn-apply-quote img { width: 40px; height: 40px; border-radius: 50%; margin-bottom: 10px; }

.hn-apply-quote p { margin: 0 0 8px; font-weight: 600; }

.hn-apply-quote footer { color: var(--hn-muted); font-size: 13px; }

.hn-apply-docs { padding: 28px 0 16px; }

.hn-apply-docs ul {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.hn-apply-docs li {
  border: 1px solid var(--hn-line);
  border-radius: 18px;
  padding: 18px;
  display: grid;
  gap: 4px;
}

.hn-apply-docs i {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--hn-cream);
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  margin-bottom: 6px;
}

.hn-apply-docs svg { width: 18px; height: 18px; }

.hn-apply-docs span { color: var(--hn-muted); font-size: 14px; }

.hn-apply-docs em { font-style: normal; color: var(--hn-north); font-size: 13px; font-weight: 650; }

.hn-apply-cta { padding: 28px 0 72px; }

.hn-apply-cta__box {
  background: var(--hn-forest-deep);
  color: #fff;
  border-radius: 28px;
  padding: 36px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.hn-apply-cta p { margin: 0 0 6px; color: rgba(255,255,255,0.62); font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }

.hn-apply-cta h2 { font-size: clamp(26px, 3vw, 36px); }

/* Hire cabinet */
.hn-cabinet { min-height: 100vh; background: #f6f7f5; }

.hn-appbar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: auto minmax(0, 560px) auto;
  align-items: center;
  gap: 24px;
  min-height: 72px;
  padding: 0 28px;
  background: #fff;
  border-bottom: 1px solid var(--hn-line);
}

.hn-appbar__logo .hn-logo__img { height: 42px; }

.hn-appbar__search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  background: #f7f8f6;
}

.hn-appbar__search svg { width: 16px; height: 16px; color: var(--hn-muted); flex: 0 0 auto; }

.hn-appbar__search input {
  width: 100%;
  border: 0;
  background: transparent;
  min-height: 0;
  padding: 0;
}

.hn-appbar__actions { display: flex; align-items: center; gap: 12px; justify-self: end; }

.hn-appbar__find { display: none; }

.hn-appbar__pro {
  color: var(--hn-forest);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.hn-appbar__notes { position: relative; }

.hn-appbar__notes i,
.hn-appside em,
.hn-cab-inbox i,
.hn-cab-threads i {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #c45c4a;
  color: #fff;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  display: grid;
  place-items: center;
}

.hn-appbar__notes button i {
  position: absolute;
  top: 4px;
  right: 4px;
}

.hn-appbar__drop {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: 300px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(20, 26, 23, 0.08);
  padding: 12px;
  display: grid;
  gap: 6px;
  z-index: 40;
}

.hn-appbar__drop[hidden],
.hn-account__drop[hidden] { display: none; }

.hn-appbar__drop p { margin: 0 0 4px; font-size: 12px; color: var(--hn-muted); font-weight: 700; }

.hn-appbar__drop a,
.hn-appbar__drop button.hn-account__out {
  text-decoration: none;
  padding: 8px;
  border-radius: 10px;
  font-size: 13px;
}

.hn-appbar__drop a:hover,
.hn-appbar__drop button.hn-account__out:hover { background: #f6f7f5; }

.hn-appbar__who {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-weight: 650;
  font-size: 14px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  color: inherit;
  padding: 0;
}

.hn-appbar__who > span:not(.hn-account__name),
.hn-appbar__who img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 12px;
  object-fit: cover;
}

.hn-account { position: relative; }

.hn-account__btn { display: inline-flex; align-items: center; gap: 8px; }

.hn-account__btn::after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  margin-left: 2px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  opacity: 0.7;
}

.hn-account__btn[aria-expanded="true"]::after {
  transform: rotate(225deg) translateY(1px);
}

.hn-account__drop { width: min(248px, calc(100vw - 24px)); }

.hn-account__meta {
  padding: 4px 8px 10px;
  margin: 0 0 2px;
  border-bottom: 1px solid var(--hn-line);
}

.hn-account__meta strong {
  display: block;
  font-size: 14px;
  font-weight: 750;
  color: var(--hn-ink);
}

.hn-account__meta small {
  display: block;
  margin-top: 2px;
  color: var(--hn-muted);
  font-size: 12px;
  font-weight: 550;
}

.hn-appbar__drop a.hn-account__out,
.hn-appbar__drop button.hn-account__out {
  display: block;
  width: 100%;
  margin-top: 2px;
  color: var(--hn-muted);
  box-shadow: inset 0 1px 0 var(--hn-line);
  border-radius: 10px;
  border: 0;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.hn-appbar__drop a.hn-account__out:hover,
.hn-appbar__drop button.hn-account__out:hover {
  color: #8b3a32;
  background: #f8eeee;
}

.hn-logout { margin: 0; }

.hn-logout--link button {
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
  padding: 0;
}

.hn-cabinet__body {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr) 300px;
  gap: 22px;
  width: min(calc(100% - 40px), 1320px);
  margin: 0 auto;
  padding: 22px 0 48px;
  align-items: start;
}

.hn-cabinet:has(.hn-cabinet__body > .hn-cabinet__main:last-child) .hn-cabinet__body,
.hn-cabinet__body:not(:has(.hn-cab-rail)) { grid-template-columns: 240px minmax(0, 1fr); }

.hn-appside {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 18px;
}

.hn-appside nav { display: grid; gap: 4px; }

.hn-appside nav a,
.hn-appside nav button.hn-appside__out {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 12px;
  text-decoration: none;
  color: #3d4640;
  font-weight: 550;
  font-size: 14px;
}

.hn-appside nav a svg,
.hn-appside nav button.hn-appside__out svg { width: 18px; height: 18px; flex: 0 0 auto; }

.hn-appside nav a em { margin-left: auto; }

.hn-appside nav a:hover,
.hn-appside nav a.is-on {
  background: #fff;
  color: var(--hn-forest);
  font-weight: 650;
}

.hn-appside nav .hn-appside__out {
  margin-top: 6px;
  color: var(--hn-muted);
  box-shadow: inset 0 1px 0 var(--hn-line);
  border: 0;
  background: transparent;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
  width: 100%;
}

.hn-appside nav .hn-logout--side { margin: 0; }

.hn-appside nav .hn-appside__out:hover {
  color: #8b3a32;
  background: #f8eeee;
}

.hn-appside__help {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
  padding: 16px;
}

.hn-appside__help img {
  width: 100%;
  height: 88px;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 10px;
}

.hn-appside__help p { margin: 0 0 8px; font-weight: 650; }

.hn-appside__help .hn-text-link { display: inline-block; }

.hn-appside__help .hn-text-link + .hn-text-link { margin-top: 6px; }

.hn-cabinet__main { display: grid; gap: 16px; min-width: 0; }

.hn-appbar .hn-burger { display: none; }

.hn-cab-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(140px, 32%);
  align-items: center;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 22px;
  padding: 26px 210px 26px 28px;
  min-height: 176px;
}

.hn-cab-hero > div { position: relative; z-index: 1; max-width: 34ch; }

.hn-cab-hero h1 { font-size: clamp(26px, 2.5vw, 34px); margin-bottom: 6px; }

.hn-cab-hero > div p { color: var(--hn-muted); margin: 0; }

.hn-cab-hero__quote {
  position: relative;
  z-index: 1;
  align-self: end;
  margin: 0 0 4px;
  color: var(--hn-forest);
  font-style: italic;
  font-weight: 650;
  line-height: 1.25;
}

.hn-cab-hero img {
  position: absolute;
  inset: 0 0 0 42%;
  width: auto;
  height: 100%;
  object-fit: cover;
  mask-image: linear-gradient(90deg, transparent, #000 26%);
}

.hn-cab-hero .hn-btn {
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: 2;
  margin: 0;
}

.hn-cab-stats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.hn-cab-stats li {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 16px;
  padding: 16px;
  display: grid;
  gap: 2px;
}

.hn-cab-stats span {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #f3f7f4;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  margin-bottom: 8px;
}

.hn-cab-stats svg { width: 16px; height: 16px; }

.hn-cab-stats strong { font-size: 26px; letter-spacing: -0.04em; }

.hn-cab-stats em { font-style: normal; color: var(--hn-muted); font-size: 13px; }

.hn-cab-card {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 20px;
  padding: 20px;
}

.hn-cab-card__head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  margin-bottom: 14px;
}

.hn-cab-card__head h2 { font-size: 20px; }

.hn-cab-card__head p { margin: 4px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-cab-tabs { display: flex; gap: 16px; margin-bottom: 12px; }

.hn-cab-tabs a {
  text-decoration: none;
  color: var(--hn-muted);
  font-weight: 650;
  font-size: 14px;
  padding-bottom: 6px;
}

.hn-cab-tabs a.is-on { color: var(--hn-ink); box-shadow: inset 0 -2px 0 var(--hn-forest); }

.hn-cab-jobs { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }

.hn-cab-jobs li {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--hn-line);
}

.hn-cab-jobs li:last-child { border-bottom: 0; }

.hn-cab-jobs img {
  width: 72px;
  height: 56px;
  object-fit: cover;
  border-radius: 10px;
}

.hn-cab-jobs strong { display: block; }
.hn-cab-jobs strong a { text-decoration: none; }

.hn-cab-jobs span,
.hn-cab-jobs small { color: var(--hn-muted); font-size: 13px; }

.hn-cab-jobs em {
  font-style: normal;
  font-size: 13px;
  font-weight: 650;
  color: var(--hn-north);
  background: #eef6f1;
  border-radius: 999px;
  padding: 4px 10px;
}

.hn-cab-jobs em.is-quotes { color: #8a6a12; background: #fff6df; }

.hn-cab-jobs em.is-open { color: var(--hn-forest); }

.hn-cab-jobs em.is-completed { color: var(--hn-muted); background: #f3f3f0; }

.hn-cab-jobs em.is-draft { color: #667068; background: #f3f3f0; }

.hn-cab-recs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.hn-cab-pro {
  position: relative;
  border: 1px solid var(--hn-line);
  border-radius: 16px;
  padding: 16px;
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 4px;
}

.hn-cab-pro img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-cab-pro__heart {
  position: absolute;
  right: 12px;
  top: 12px;
  text-decoration: none;
  color: var(--hn-muted);
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.hn-cab-pro > .hn-post-act {
  position: absolute;
  right: 12px;
  top: 12px;
}

.hn-cab-pro > .hn-post-act .hn-cab-pro__heart { position: static; }

.hn-cab-pro__heart.is-on { color: #c45c4a; }

.hn-cab-pro__rate { margin: 6px 0 0; font-weight: 700; font-size: 13px; }

.hn-cab-pro__rate span { color: var(--hn-muted); font-weight: 500; }

.hn-cab-pro small { color: var(--hn-muted); font-size: 12px; }

.hn-cab-pro > div { display: flex; gap: 6px; margin-top: 10px; width: 100%; }

.hn-cab-pro > div .hn-btn { flex: 1; min-height: 38px; padding: 0 8px; font-size: 13px; }

.hn-cab-pro em {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 4px 0 0;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  color: var(--hn-forest);
  background: #eef6f1;
  border-radius: 999px;
  padding: 3px 8px;
}

.hn-cab-pro__heart svg { width: 18px; height: 18px; display: block; }

.hn-cab-pro.is-rich {
  background: #fff;
  padding: 20px 16px 16px;
  border-radius: 18px;
  gap: 6px;
}

.hn-cab-pro.is-rich img { width: 88px; height: 88px; }

.hn-cab-pro__blurb {
  margin: 6px 0 0;
  color: var(--hn-muted);
  font-size: 13px;
  line-height: 1.4;
}

.hn-cab-pro__chips {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}

.hn-cab-pro__chips li {
  background: #f4f7f5;
  color: #3d4640;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 650;
}

.hn-saved-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 28%);
  align-items: center;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 22px;
  padding: 26px 72px 26px 28px;
  min-height: 168px;
}

.hn-saved-hero > div { position: relative; z-index: 1; max-width: 36ch; }

.hn-saved-hero h1 { font-size: clamp(26px, 2.5vw, 34px); margin-bottom: 6px; }

.hn-saved-hero > div p { color: var(--hn-muted); margin: 0; }

.hn-saved-hero .hn-cab-hero__quote { z-index: 1; }

.hn-saved-hero img {
  position: absolute;
  inset: 0 0 0 48%;
  width: auto;
  height: 100%;
  object-fit: cover;
  mask-image: linear-gradient(90deg, transparent, #000 28%);
}

.hn-saved-hero__mark {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  box-shadow: 0 8px 20px rgba(20, 26, 23, 0.08);
}

.hn-saved-hero__mark svg { width: 18px; height: 18px; }

.hn-saved-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.hn-saved-cats { display: flex; flex-wrap: wrap; gap: 8px; }

.hn-saved-cats a {
  text-decoration: none;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--hn-line);
  background: #fff;
  color: #3d4640;
  font-size: 13px;
  font-weight: 650;
  display: inline-flex;
  align-items: center;
}

.hn-saved-cats a.is-on {
  background: var(--hn-forest);
  border-color: var(--hn-forest);
  color: #fff;
}

.hn-saved-sort label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--hn-muted);
  font-size: 13px;
  font-weight: 650;
}

.hn-saved-sort select {
  min-height: 36px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  background: #fff;
  padding: 0 12px;
}

.hn-saved-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.hn-saved-count { margin: 6px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-saved-points {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.hn-saved-points li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  font-size: 13px;
}

.hn-saved-points li::before {
  content: "✓";
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #e8f3ec;
  color: var(--hn-forest);
  font-size: 10px;
  font-weight: 800;
  display: grid;
  place-items: center;
}

.hn-saved-tip { background: #f4f7f5; }

.hn-rev-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 22px;
  padding: 26px 28px;
  min-height: 148px;
}

.hn-rev-hero h1 { font-size: clamp(26px, 2.5vw, 34px); margin-bottom: 6px; }

.hn-rev-hero > div p { margin: 0; color: var(--hn-muted); }

.hn-rev-hero .hn-cab-hero__quote { margin: 0; }

.hn-rev-hero .hn-btn { justify-self: end; }

.hn-rev-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.hn-rev-list li {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
  padding: 16px;
}

.hn-rev-list img {
  width: 88px;
  height: 72px;
  object-fit: cover;
  border-radius: 12px;
}

.hn-rev-list strong { display: block; font-size: 15px; }

.hn-rev-list strong span,
.hn-rev-list em,
.hn-rev-side time {
  color: var(--hn-muted);
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
}

.hn-rev-list em { display: block; margin-top: 2px; }

.hn-rev-list p { margin: 8px 0 0; font-size: 14px; line-height: 1.45; }

.hn-rev-score {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-weight: 700;
}

.hn-rev-score span { color: var(--hn-amber); letter-spacing: 1px; }

.hn-rev-list .hn-cab-pro__chips { justify-content: start; }

.hn-rev-side {
  display: grid;
  justify-items: end;
  gap: 8px;
}

.hn-rev-form h2 { font-size: 20px; }

.hn-rev-form > p { margin: 4px 0 14px; color: var(--hn-muted); }

.hn-rev-stars,
.hn-rev-tags {
  border: 0;
  margin: 0 0 14px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hn-rev-stars legend,
.hn-rev-tags legend {
  padding: 0;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 700;
}

.hn-rev-stars label,
.hn-rev-tags label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 650;
}

.hn-rev-form__acts { display: flex; align-items: center; gap: 14px; margin-top: 8px; }

.hn-rev-impact { background: #f4f7f5; }

.hn-rev-avg {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 0;
  color: var(--hn-amber);
}

.hn-rev-avg strong { color: var(--hn-ink); font-size: 36px; letter-spacing: -0.04em; }

.hn-rev-bars { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }

.hn-rev-bars li {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 16px;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  color: var(--hn-muted);
}

.hn-rev-bars i {
  height: 6px;
  border-radius: 999px;
  background: #eef1ee;
  display: block;
}

.hn-rev-bars b {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--hn-forest);
}

.hn-rev-bars em { font-style: normal; text-align: right; }

.hn-pay-hero { position: relative; overflow: hidden; grid-template-columns: minmax(0, 1fr) auto; padding-right: 200px; }

.hn-pay-hero img {
  position: absolute;
  inset: 0 0 0 50%;
  width: auto;
  height: 100%;
  object-fit: cover;
  mask-image: linear-gradient(90deg, transparent, #000 28%);
}

.hn-pay-tabs { margin-bottom: 4px; }

.hn-pay-stats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.hn-pay-stats li {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 16px;
  padding: 16px;
}

.hn-pay-stats span {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #f3f7f4;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  margin-bottom: 8px;
}

.hn-pay-stats svg { width: 16px; height: 16px; }

.hn-pay-stats strong { display: block; font-size: 24px; letter-spacing: -0.04em; }

.hn-pay-stats em,
.hn-pay-stats small { display: block; color: var(--hn-muted); font-size: 13px; font-style: normal; }

.hn-pay-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

.hn-pay-tools .hn-inbox__search { min-width: 200px; margin: 0; }

.hn-pay-tablewrap { overflow: auto; }

.hn-pay-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.hn-pay-table th {
  text-align: left;
  color: var(--hn-muted);
  font-weight: 650;
  padding: 10px 8px;
  border-bottom: 1px solid var(--hn-line);
}

.hn-pay-table td { padding: 12px 8px; border-bottom: 1px solid var(--hn-line); vertical-align: middle; }

.hn-pay-table td a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.hn-pay-table td img {
  width: 40px;
  height: 32px;
  object-fit: cover;
  border-radius: 8px;
}

.hn-pay-table td strong { display: block; }

.hn-pay-table td em { display: block; color: var(--hn-muted); font-style: normal; font-size: 12px; }

.hn-pay-pro img { width: 28px !important; height: 28px !important; border-radius: 50% !important; }

.hn-pay-table .is-completed {
  color: var(--hn-forest);
  background: #e8f3ec;
  border-radius: 999px;
  padding: 3px 8px;
  font-weight: 700;
}

.hn-pay-table .is-pending {
  color: #8a6a12;
  background: #fff6df;
  border-radius: 999px;
  padding: 3px 8px;
  font-weight: 700;
}

.hn-inbox__drop form { margin: 0; }

.hn-inbox__drop button {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 8px;
  border-radius: 10px;
  font: inherit;
  cursor: pointer;
}

.hn-inbox__drop button:hover { background: #f6f7f5; }

.hn-pay-more { margin: 12px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-pay-invoices { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 12px; }

.hn-pay-invoices li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--hn-line);
}

.hn-pay-invoices span,
.hn-pay-invoices small { display: block; color: var(--hn-muted); font-size: 13px; }

.hn-pay-methodcard article {
  margin: 14px 0;
  padding: 14px;
  border: 1px solid var(--hn-line);
  border-radius: 14px;
}

.hn-pay-secure {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 16px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
  padding: 18px 20px;
}

.hn-pay-secure p { margin: 4px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-pay-secure b { font-size: 22px; letter-spacing: -0.04em; color: var(--hn-forest); }

.hn-pay-chart {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 4px;
  align-items: end;
  min-height: 90px;
}

.hn-pay-chart li { display: grid; justify-items: center; gap: 4px; }

.hn-pay-chart b {
  width: 100%;
  max-width: 14px;
  border-radius: 6px 6px 2px 2px;
  background: var(--hn-forest);
}

.hn-pay-chart span { font-size: 9px; color: var(--hn-muted); }

.hn-pay-chart--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.hn-pay-table .is-quoted {
  color: var(--hn-muted);
  background: #f3f4f2;
  border-radius: 999px;
  padding: 3px 8px;
  font-weight: 700;
}

.hn-cab-banner {
  display: grid;
  grid-template-columns: 160px 1fr auto;
  gap: 18px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 22px;
  overflow: hidden;
  padding-right: 20px;
}

.hn-cab-banner img { width: 160px; height: 120px; object-fit: cover; }

.hn-cab-banner h2 { font-size: 22px; margin-bottom: 4px; }

.hn-cab-banner p { margin: 0; color: var(--hn-muted); }

.hn-cab-rail { display: grid; gap: 14px; position: sticky; top: 94px; }

.hn-cab-tips {
  background: var(--hn-forest-deep);
  color: #fff;
  border-radius: 20px;
  padding: 18px;
}

.hn-cab-tips__head { display: flex; justify-content: space-between; align-items: start; gap: 8px; }

.hn-cab-tips h2 { font-size: 18px; }

.hn-cab-tips button {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.hn-cab-tips ul { margin: 12px 0 0; padding: 0 0 0 18px; display: grid; gap: 8px; color: rgba(255,255,255,0.78); font-size: 13.5px; }

.hn-cab-inbox { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }

.hn-cab-inbox a,
.hn-cab-threads a {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 10px;
  align-items: start;
  text-decoration: none;
}

.hn-cab-inbox img,
.hn-cab-threads img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }

.hn-cab-inbox strong,
.hn-cab-threads strong { display: block; font-size: 13px; }

.hn-cab-inbox p,
.hn-cab-threads p { margin: 2px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-cab-inbox em,
.hn-cab-threads em { color: var(--hn-muted); font-size: 12px; font-style: normal; }

.hn-cab-threads { display: grid; gap: 14px; }

.hn-cab-threads a { grid-template-columns: 44px 1fr auto auto; padding: 6px 0; border-bottom: 1px solid var(--hn-line); }

.hn-cabinet:has(.hn-inbox) { background: #fff; }

.hn-cabinet:has(.hn-inbox) .hn-cabinet__body {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  gap: 0;
  grid-template-columns: 220px minmax(0, 1fr);
  align-items: stretch;
}

.hn-cabinet:has(.hn-inbox) .hn-cabinet__main { gap: 0; }

.hn-cabinet:has(.hn-inbox) .hn-appside {
  top: 72px;
  min-height: calc(100vh - 72px);
  padding: 18px 14px 28px;
  border-right: 1px solid var(--hn-line);
  background: #fff;
}

.hn-cabinet:has(.hn-inbox) .hn-appside nav a.is-on,
.hn-cabinet:has(.hn-inbox) .hn-appside nav a:hover {
  background: #eef6f1;
}

.hn-cabinet:has(.hn-inbox) .hn-appside__help {
  border: 0;
  padding: 8px 4px 0;
}

.hn-inbox {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr) 280px;
  min-height: calc(100vh - 72px);
  background: #fff;
  align-items: stretch;
}

.hn-inbox__list,
.hn-inbox__chat,
.hn-inbox__rail {
  min-width: 0;
  min-height: 0;
}

.hn-inbox__list {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--hn-line);
  padding: 20px 16px 12px;
}

.hn-inbox__list header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.hn-inbox__list h1 { font-size: 22px; }

.hn-inbox__new,
.hn-inbox__more { position: relative; }

.hn-inbox__drop {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 8;
  width: 240px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(20, 26, 23, 0.08);
  display: grid;
  gap: 4px;
}

.hn-inbox__drop p {
  margin: 0 0 4px;
  color: var(--hn-muted);
  font-size: 12px;
  font-weight: 700;
}

.hn-inbox__drop a {
  text-decoration: none;
  padding: 8px;
  border-radius: 10px;
  font-size: 13px;
}

.hn-inbox__drop a:hover { background: #f6f7f5; }

.hn-inbox__list .hn-cab-tabs { margin: 0 0 12px; }

.hn-inbox__search {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 12px;
  margin-bottom: 10px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  background: #f7f8f6;
}

.hn-inbox__search svg { width: 15px; height: 15px; color: var(--hn-muted); flex: 0 0 auto; }

.hn-inbox__search input {
  width: 100%;
  border: 0;
  background: transparent;
  min-height: 0;
  padding: 0;
}

.hn-inbox__list ul {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: auto;
  flex: 1;
}

.hn-inbox__list a[data-inbox-row] {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 4px 10px;
  align-items: start;
  padding: 10px 8px;
  border-radius: 14px;
  text-decoration: none;
}

.hn-inbox__list a[data-inbox-row]:hover,
.hn-inbox__list a[data-inbox-row].is-on { background: #f4f7f5; }

.hn-inbox__list a[data-inbox-row] img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  grid-row: 1 / span 2;
}

.hn-inbox__list a[data-inbox-row] strong { display: block; font-size: 14px; }

.hn-inbox__list a[data-inbox-row] span,
.hn-inbox__list a[data-inbox-row] p,
.hn-inbox__list a[data-inbox-row] em {
  color: var(--hn-muted);
  font-size: 12px;
  font-style: normal;
}

.hn-inbox__list a[data-inbox-row] p {
  margin: 2px 0 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hn-inbox__list a[data-inbox-row] em { justify-self: end; }

.hn-inbox__list a[data-inbox-row] i {
  grid-column: 3;
  justify-self: end;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #c45c4a;
  color: #fff;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  display: grid;
  place-items: center;
}

.hn-inbox__chat {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--hn-line);
}

.hn-inbox__head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 40px 40px 40px;
  align-items: center;
  gap: 10px;
  min-height: 76px;
  padding: 12px 18px;
  border-bottom: 1px solid var(--hn-line);
}

.hn-inbox__head img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-inbox__head strong { display: flex; align-items: center; gap: 8px; font-size: 15px; }

.hn-inbox__head strong em,
.hn-inbox-about i {
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  color: var(--hn-forest);
  background: #eef6f1;
  border-radius: 999px;
  padding: 2px 8px;
}

.hn-inbox__head span { display: block; color: var(--hn-muted); font-size: 12px; margin-top: 2px; }

.hn-inbox__back { display: none; }

a.hn-icon-btn { text-decoration: none; color: inherit; }

.hn-icon-btn:disabled { opacity: 0.35; cursor: default; }

.hn-inbox__thread {
  flex: 1;
  overflow: auto;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 22px 28px;
}

.hn-inbox__day {
  margin: 0;
  text-align: center;
  color: var(--hn-muted);
  font-size: 12px;
}

.hn-inbox__empty {
  display: grid;
  place-content: center;
  gap: 10px;
  min-height: 420px;
  text-align: center;
  padding: 40px;
}

.hn-bubble {
  display: grid;
  grid-template-columns: 32px minmax(0, min(72%, 520px));
  gap: 10px;
  align-items: end;
  justify-content: start;
}

.hn-bubble.is-me {
  grid-template-columns: minmax(0, min(72%, 520px)) 32px;
  justify-content: end;
  justify-items: end;
}

.hn-bubble img,
.hn-bubble b {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-bubble b {
  display: grid;
  place-items: center;
  background: var(--hn-forest);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
}

.hn-bubble > div {
  background: #f4f5f3;
  border-radius: 16px 16px 16px 6px;
  padding: 12px 14px;
}

.hn-bubble.is-me > div {
  background: #e8f3ec;
  border-radius: 16px 16px 6px 16px;
}

.hn-bubble p { margin: 0; font-size: 14px; line-height: 1.45; white-space: pre-wrap; }

.hn-bubble em {
  display: block;
  margin-top: 6px;
  color: var(--hn-muted);
  font-size: 11px;
  font-style: normal;
}

.hn-bubble.is-me em { text-align: right; }

.hn-bubble__shots {
  display: flex;
  gap: 6px;
  margin-top: 10px;
}

.hn-bubble__shots img {
  width: 92px;
  height: 68px;
  border-radius: 10px;
}

.hn-bubble__shots span {
  width: 92px;
  height: 68px;
  border-radius: 10px;
  background: #dfe6e1;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 14px;
}

.hn-chat-files {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hn-chat-files img {
  width: 92px;
  height: 68px;
  object-fit: cover;
  border-radius: 10px;
}

.hn-chat-files a {
  font-weight: 650;
}

.hn-inbox__compose {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 8px;
  padding: 14px 18px 18px;
}

.hn-inbox__compose input {
  min-height: 44px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  padding: 0 16px;
  background: #fff;
}

.hn-inbox__send {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 10px;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.hn-inbox__send svg { width: 16px; height: 16px; }

.hn-inbox__rail {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 16px;
  overflow: auto;
  background: #fafaf8;
}

.hn-inbox-job {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
  padding: 12px;
}

.hn-inbox-job img {
  width: 100%;
  height: 110px;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 10px;
}

.hn-inbox-job h2 { font-size: 16px; }

.hn-inbox-job p,
.hn-inbox-job em { margin: 2px 0 0; color: var(--hn-muted); font-size: 13px; font-style: normal; }

.hn-inbox-job em.is-progress { color: var(--hn-forest); font-weight: 700; }

.hn-inbox-job .hn-btn { margin-top: 12px; }

.hn-inbox__rail .hn-cab-card { padding: 14px; }

.hn-inbox__rail .hn-cab-card h2 { font-size: 15px; }

.hn-inbox-about {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.hn-inbox-about img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-inbox-about p,
.hn-inbox-about span { display: block; color: var(--hn-muted); font-size: 12px; margin-top: 2px; }

.hn-inbox-facts {
  list-style: none;
  margin: 12px 0 14px;
  padding: 0;
  display: grid;
  gap: 8px;
  color: #3d4640;
  font-size: 13px;
}

.hn-inbox-files { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }

.hn-inbox-files li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 10px;
  align-items: center;
}

.hn-inbox-files strong { font-size: 13px; }

.hn-inbox-files span { grid-column: 1; color: var(--hn-muted); font-size: 12px; }

.hn-inbox-files a {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #f4f7f5;
  color: var(--hn-forest);
  text-decoration: none;
  display: grid;
  place-items: center;
}

.hn-cab-support {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 20px;
  padding: 18px;
}

.hn-cab-support span {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #f3f7f4;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  margin-bottom: 8px;
}

.hn-cab-support svg { width: 18px; height: 18px; }

.hn-cab-support h2 { font-size: 18px; margin-bottom: 6px; }

.hn-cab-support p { color: var(--hn-muted); margin: 0 0 12px; }

.hn-cab-pagehead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.hn-cab-pagehead h1 { font-size: clamp(28px, 3vw, 36px); }

.hn-cab-empty { text-align: center; padding: 36px 20px; }

.hn-cab-empty-line { color: var(--hn-muted); }

.hn-cab-reviews,
.hn-cab-pay { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }

.hn-cab-reviews li,
.hn-cab-pay li {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--hn-line);
}

.hn-cab-reviews img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }

.hn-cab-reviews em { display: block; color: var(--hn-amber-deep); font-size: 13px; font-style: normal; }

.hn-cab-reviews p { margin: 6px 0 0; }

.hn-cab-pay li { grid-template-columns: 1fr auto auto; align-items: center; }

.hn-cab-pay span { color: var(--hn-muted); font-size: 13px; }

.hn-cab-pay em { font-style: normal; color: var(--hn-north); font-weight: 650; }

.hn-cab-settings .hn-text-link { display: inline-block; margin-top: 16px; }

.hn-set-hero { position: relative; overflow: hidden; grid-template-columns: minmax(0, 1fr) auto; padding-right: 200px; }

.hn-set-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  border-bottom: 1px solid var(--hn-line);
  margin: 4px 0 8px;
}

.hn-set-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 2px 14px;
  text-decoration: none;
  color: var(--hn-muted);
  font-size: 14px;
  font-weight: 650;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.hn-set-tabs svg { width: 16px; height: 16px; }

.hn-set-tabs a.is-on {
  color: var(--hn-forest);
  border-bottom-color: var(--hn-forest);
}

.hn-set-card > p { margin: 6px 0 16px; color: var(--hn-muted); }

.hn-set-card .hn-cab-card__head p { margin: 6px 0 0; color: var(--hn-muted); font-weight: 500; }

.hn-set-private { color: var(--hn-muted); pointer-events: none; }

.hn-set-photo {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.hn-set-photo__face {
  position: relative;
  width: 88px;
  height: 88px;
  flex: 0 0 auto;
}

.hn-set-photo__face img,
.hn-set-photo__face > span {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 28px;
  font-weight: 700;
}

.hn-set-photo__cam {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.hn-set-photo__cam svg { width: 14px; height: 14px; }

.hn-set-photo p { margin: 8px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-set-connect { list-style: none; margin: 0; padding: 0; display: grid; }

.hn-set-connect li {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid var(--hn-line);
}

.hn-set-connect li:first-child { border-top: 0; }

.hn-set-connect strong { display: block; }

.hn-set-connect em { font-style: normal; color: var(--hn-muted); font-size: 13px; }

.hn-set-brand {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--hn-line);
  display: grid;
  place-items: center;
  font-weight: 800;
  background: #fff;
}

.hn-set-brand svg { width: 16px; height: 16px; }

.hn-set-brand.is-google { color: #1a6b47; }

.hn-set-brand.is-fb { color: #1877f2; }

.hn-set-comm { list-style: none; margin: 0 0 16px; padding: 0; }

.hn-set-comm li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid var(--hn-line);
}

.hn-set-comm li:first-child { border-top: 0; }

.hn-set-comm--rail li { grid-template-columns: minmax(0, 1fr) auto; }

.hn-set-comm svg { width: 20px; height: 20px; color: var(--hn-forest); }

.hn-set-comm strong { display: block; font-size: 14px; }

.hn-set-comm em { display: block; font-style: normal; color: var(--hn-muted); font-size: 12px; margin-top: 2px; }

.hn-switch {
  position: relative;
  width: 44px;
  height: 26px;
  flex: 0 0 auto;
}

.hn-switch input {
  position: absolute;
  inset: 0;
  opacity: 0;
  margin: 0;
  cursor: pointer;
  z-index: 1;
}

.hn-switch i {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  background: #d7ddd8;
  transition: background 0.16s ease;
}

.hn-switch i::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(20, 26, 23, 0.18);
  transition: transform 0.16s ease;
}

.hn-switch input:checked + i { background: var(--hn-forest); }

.hn-switch input:checked + i::after { transform: translateX(18px); }

.hn-set-type .hn-btn { margin: 14px 0; }

.hn-set-offer {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid var(--hn-line);
}

.hn-set-offer img {
  width: 56px;
  height: 40px;
  object-fit: cover;
  border-radius: 8px;
}

.hn-set-offer p { margin: 0; color: var(--hn-muted); font-size: 13px; }

.hn-set-kill { border-color: #f0d8d4; background: #fbf6f5; }

.hn-set-kill h2,
.hn-set-kill .hn-text-link { color: #8b3a32; }

.hn-set-danger h2 { color: #8b3a32; }

.hn-set-acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }

.hn-set-card .hn-text-link { display: inline-block; margin-top: 16px; }

.hn-work-who {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  text-decoration: none;
  padding: 4px 4px 8px;
}

.hn-work-who img,
.hn-work-who > span {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
}

.hn-work-who strong,
.hn-work-who em,
.hn-work-who small { display: block; }

.hn-work-who em {
  color: var(--hn-north);
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
}

.hn-work-who small { color: var(--hn-muted); font-size: 12px; }

.hn-work-grow {
  background: var(--hn-forest);
  color: #fff;
  border-radius: 18px;
  padding: 18px;
}

.hn-work-grow p { margin: 0 0 8px; }

.hn-work-grow p:first-child { font-weight: 750; }

.hn-work-grow .hn-btn { margin-top: 10px; color: #fff; border-color: rgba(255,255,255,0.28); background: transparent; }

.hn-work-grow small { display: block; margin-top: 10px; opacity: 0.8; }

.hn-work-hero { padding-right: 200px; }

.hn-work-stats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.hn-work-stats li {
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
  padding: 16px 18px;
  display: grid;
  gap: 4px;
}

.hn-work-stats svg { width: 20px; height: 20px; color: var(--hn-forest); }

.hn-work-stats strong { font-size: 28px; letter-spacing: -0.04em; }

.hn-work-stats em { font-style: normal; color: var(--hn-muted); font-size: 13px; }

.hn-work-stats a { color: var(--hn-forest); font-weight: 650; text-decoration: none; font-size: 13px; }

.hn-work-stats small { display: block; color: var(--hn-muted); font-size: 12px; }

.hn-earn-hero { min-height: 0; }

.hn-earn-period label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 650;
  color: var(--hn-muted);
}

.hn-earn-period select {
  min-width: 220px;
  border: 1px solid var(--hn-line);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  background: #fff;
}

.hn-earn-stats small { margin-top: 2px; }

.hn-earn-legend {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-earn-legend i {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  margin-right: 6px;
}

.hn-earn-legend .is-rel { background: var(--hn-forest); }

.hn-earn-legend .is-hold { background: #b7d4c4; }

.hn-earn-chart {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
  min-height: 168px;
}

.hn-earn-chart li { display: grid; justify-items: center; gap: 8px; }

.hn-earn-chart span {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 136px;
}

.hn-earn-chart b {
  width: 14px;
  border-radius: 6px 6px 2px 2px;
}

.hn-earn-chart .is-rel { background: var(--hn-forest); }

.hn-earn-chart .is-hold { background: #b7d4c4; }

.hn-earn-chart em { font-style: normal; font-size: 12px; color: var(--hn-muted); }

.hn-earn-withdraw__sum {
  font-size: 28px;
  font-weight: 750;
  letter-spacing: -0.04em;
  margin: 8px 0 14px;
}

.hn-earn-withdraw .hn-btn[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}

.hn-earn-break {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
}

.hn-earn-break li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--hn-line);
  font-size: 14px;
}

.hn-earn-break span { color: var(--hn-muted); }

.hn-earn-break__note span,
.hn-earn-break__note strong { font-size: 13px; font-weight: 600; }

.hn-earn-break .is-net {
  border-bottom: 0;
  padding-top: 14px;
  font-weight: 750;
}

.hn-earn-break .is-net span { color: var(--hn-ink); }

.hn-earn-help .hn-btn { margin: 12px 0 8px; }

.hn-earn-table td:nth-child(5) { font-weight: 700; white-space: nowrap; }

.hn-payo-tabs { margin-top: 0; }

.hn-payo-pick {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 16px 0 12px;
}

.hn-payo-pick article {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  border: 1px solid var(--hn-line);
  border-radius: 16px;
  background: #fff;
}

.hn-payo-pick .is-on {
  border-color: var(--hn-forest);
  box-shadow: inset 0 0 0 1px var(--hn-forest);
}

.hn-payo-pick svg { width: 22px; height: 22px; color: var(--hn-forest); }

.hn-payo-pick em { font-style: normal; color: var(--hn-muted); font-size: 13px; }

.hn-payo-cad {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}

.hn-payo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}

.hn-payo-account { grid-column: 1 / -1; }

.hn-payo-account small { justify-self: start; }

.hn-payo-stripe em {
  font-style: normal;
  color: var(--hn-muted);
  font-size: 13px;
  font-weight: 650;
}

.hn-payo-ticks {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 8px;
}

.hn-payo-ticks li {
  position: relative;
  padding-left: 22px;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-payo-ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--hn-forest);
}

.hn-payo-saved { margin-bottom: 16px; }

.hn-payo-grid + .hn-check { margin: 4px 0 16px; }

.hn-veri-hero {
  min-height: 0;
  grid-template-columns: 1fr;
}

.hn-veri-meter {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 16px;
  max-width: 420px;
}

.hn-veri-progress {
  margin: 0;
  font-size: 14px;
  color: var(--hn-muted);
}

.hn-veri-progress strong {
  font-size: 22px;
  letter-spacing: -0.04em;
  color: var(--hn-ink);
}

.hn-veri-bar {
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: #e8eee9;
  overflow: hidden;
}

.hn-veri-bar b {
  display: block;
  height: 100%;
  background: var(--hn-forest);
  border-radius: inherit;
}

.hn-veri-card__top {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.hn-veri-card__top h2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  margin: 0;
}

.hn-veri-card__top p { margin: 4px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-veri-card__btns { display: flex; flex-wrap: wrap; gap: 8px; justify-content: end; }

.hn-veri-mark {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: none;
}

.hn-veri-mark svg { width: 16px; height: 16px; }

.hn-veri-mark.is-completed { color: #fff; background: var(--hn-forest); }

.hn-veri-mark.is-pending { color: #8a6a12; background: #fff6df; }

.hn-veri-mark.is-quoted { color: var(--hn-muted); background: #f3f4f2; }

.hn-veri-card h2 .is-completed,
.hn-veri-card h2 .is-pending,
.hn-veri-card h2 .is-quoted {
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.hn-veri-card h2 .is-completed { color: var(--hn-forest); background: #e8f3ec; }

.hn-veri-card h2 .is-pending { color: #8a6a12; background: #fff6df; }

.hn-veri-card h2 .is-quoted { color: var(--hn-muted); background: #f3f4f2; }

.hn-veri-body {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin-top: 16px;
}

.hn-veri-tile {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 4px;
  min-height: 108px;
  padding: 14px;
  border: 1px solid var(--hn-line);
  border-radius: 14px;
  background: #f7f8f6;
}

.hn-veri-tile img {
  width: 100%;
  height: 108px;
  object-fit: cover;
  border-radius: 10px;
}

.hn-veri-tile strong { font-size: 15px; }

.hn-veri-tile em { font-style: normal; color: var(--hn-muted); font-size: 12px; }

.hn-veri-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.hn-veri-doc,
.hn-veri-files { display: flex; flex-wrap: wrap; gap: 12px; margin: 10px 0 0; }

.hn-veri-files { list-style: none; padding: 0; display: grid; }

.hn-veri-files li { display: flex; justify-content: space-between; gap: 12px; }

.hn-veri-up { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--hn-line); }

.hn-veri-up small { justify-self: start; }

.hn-veri-up--drop { border-top: 0; padding-top: 8px; }

.hn-veri-drop {
  display: grid;
  justify-items: center;
  gap: 6px;
  border: 1px dashed var(--hn-line);
  border-radius: 14px;
  padding: 22px 16px;
  text-align: center;
  color: var(--hn-muted);
  font-size: 13px;
  margin-bottom: 12px;
}

.hn-veri-drop svg { width: 22px; height: 22px; color: var(--hn-ink); }

.hn-veri-drop strong { color: var(--hn-ink); font-size: 14px; }

.hn-veri-cta .hn-veri-mark { margin-bottom: 10px; }

.hn-veri-cta .hn-btn { margin: 12px 0 10px; }

.hn-veri-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }

.hn-veri-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  font-size: 14px;
  padding-left: 22px;
  position: relative;
}

.hn-veri-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 12px;
  height: 12px;
  border: 1px solid var(--hn-line);
  border-radius: 50%;
}

.hn-veri-list li.is-on { color: var(--hn-ink); }

.hn-veri-list li.is-on::before { background: var(--hn-forest); border-color: var(--hn-forest); }

.hn-veri-list em { font-style: normal; color: var(--hn-muted); font-size: 12px; font-weight: 700; }

.hn-note-hero { min-height: 0; }

.hn-note-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  margin: 0 0 16px;
}

.hn-note-tools__q {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--hn-line);
  border-radius: 12px;
  padding: 0 12px;
  background: #fff;
}

.hn-note-tools__q svg { width: 18px; height: 18px; color: var(--hn-muted); flex: none; }

.hn-note-tools__q input {
  border: 0;
  min-height: 42px;
  width: 100%;
  font: inherit;
  background: transparent;
}

.hn-note-tools select {
  border: 1px solid var(--hn-line);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  background: #fff;
  min-width: 140px;
}

.hn-note-group { padding: 16px 18px; }

.hn-note-group h2 {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--hn-muted);
  font-weight: 700;
}

.hn-note-group ul { list-style: none; margin: 0; padding: 0; }

.hn-note-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 10px;
  margin: 0 -10px;
  border-radius: 14px;
  text-decoration: none;
}

.hn-note-row:hover,
.hn-note-row.is-on { background: #f4f7f5; }

.hn-note-row strong { display: block; font-size: 15px; }

.hn-note-row em {
  display: block;
  margin-top: 2px;
  font-style: normal;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-note-row small { color: var(--hn-muted); font-size: 12px; white-space: nowrap; }

.hn-note-ico {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #eef3ef;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  position: relative;
}

.hn-note-ico svg { width: 18px; height: 18px; }

.hn-note-ico i {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c45c4a;
}

.hn-note-kicker {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--hn-muted);
}

.hn-sup-hero { min-height: 0; }

.hn-sup-ways {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.hn-sup-ways .hn-note-ico { margin-bottom: 10px; }

.hn-sup-ways h2 { font-size: 16px; margin: 0 0 6px; }

.hn-sup-ways p { margin: 0 0 14px; color: var(--hn-muted); font-size: 13px; }

.hn-sup-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.hn-sup-form .hn-field em { font-style: normal; font-weight: 500; color: var(--hn-muted); }

.hn-sup-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.hn-sup-topics { list-style: none; margin: 0; padding: 0; display: grid; }

.hn-sup-topics a {
  display: block;
  padding: 10px 0;
  border-bottom: 1px solid var(--hn-line);
  text-decoration: none;
  font-size: 14px;
}

.hn-sup-topics li:last-child a { border-bottom: 0; }

.hn-note-rail blockquote {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-left: 3px solid var(--hn-forest);
  background: #f4f7f5;
  border-radius: 0 12px 12px 0;
  color: var(--hn-ink);
  font-size: 14px;
}

.hn-work-checks em {
  display: block;
  font-style: normal;
  color: var(--hn-muted);
  font-size: 12px;
}

.hn-work-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.8fr);
  gap: 16px;
}

.hn-work-stack { display: grid; gap: 16px; align-content: start; }

.hn-work-leads ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }

.hn-work-leads li {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: 16px 0;
  border-top: 1px solid var(--hn-line);
}

.hn-work-leads li:first-child { border-top: 0; padding-top: 4px; }

.hn-work-leads img { width: 88px; height: 64px; object-fit: cover; border-radius: 10px; }

.hn-work-leads p { margin: 4px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-work-tags { font-size: 12px; }

.hn-work-lead__side { display: grid; justify-items: end; gap: 8px; text-align: right; }

.hn-work-lead__side em { font-style: normal; font-weight: 750; }

.hn-work-lead__side small { color: var(--hn-muted); font-size: 12px; }

.hn-work-pct { margin: 8px 0; }

.hn-work-pct strong { font-size: 36px; letter-spacing: -0.04em; }

.hn-work-checks { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 8px; }

.hn-work-checks li { color: var(--hn-muted); font-size: 14px; padding-left: 20px; position: relative; }

.hn-work-checks li::before { content: ""; position: absolute; left: 0; top: 5px; width: 12px; height: 12px; border: 1px solid var(--hn-line); border-radius: 50%; }

.hn-work-checks li.is-on { color: var(--hn-ink); }

.hn-work-checks li.is-on::before { background: var(--hn-forest); border-color: var(--hn-forest); }

.hn-work-bottom {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.hn-work-cal { display: flex; align-items: baseline; gap: 8px; color: var(--hn-muted); }

.hn-work-cal strong { font-size: 22px; color: var(--hn-ink); }

.hn-work-sked,
.hn-work-chats,
.hn-work-quick,
.hn-work-hours { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }

.hn-work-sked li {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.hn-work-sked em { font-style: normal; font-weight: 750; color: var(--hn-forest); }

.hn-work-sked span { display: block; color: var(--hn-muted); font-size: 13px; }

.hn-work-chats li {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.hn-work-chats span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
}

.hn-work-chats a { text-decoration: none; }

.hn-work-chats em,
.hn-work-chats small { display: block; color: var(--hn-muted); font-style: normal; font-size: 13px; }

.hn-work-chats i { font-style: normal; color: var(--hn-muted); font-size: 12px; }

.hn-work-quick a {
  display: block;
  text-decoration: none;
  padding: 10px 0;
  border-top: 1px solid var(--hn-line);
}

.hn-work-quick li:first-child a { border-top: 0; padding-top: 0; }

.hn-work-quick em { display: block; color: var(--hn-muted); font-style: normal; font-size: 13px; }

.hn-work-joblist { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }

.hn-work-joblist > li {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}

.hn-work-joblist img { width: 160px; height: 110px; object-fit: cover; border-radius: 12px; }

.hn-work-shots { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }

.hn-work-shots img { width: 160px; height: 110px; object-fit: cover; border-radius: 12px; }

.hn-work-meta {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.hn-work-meta span { display: block; color: var(--hn-muted); font-size: 12px; }

.hn-jobd {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.85fr);
  gap: 16px;
  align-items: start;
}

.hn-jobd-col { display: grid; gap: 16px; min-width: 0; }

.hn-jobd-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.hn-jobd-bar__acts { display: flex; gap: 16px; }

.hn-jobd-bar button {
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
}

.hn-jobd-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-jobd-kicker em {
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef4ef;
  color: var(--hn-forest);
  font-style: normal;
  font-weight: 750;
  font-size: 11px;
}

.hn-jobd-kicker em.is-featured { background: #fff6df; color: #8a6a12; }
.hn-jobd-kicker em.is-urgent { background: #fbf6f5; color: #8b3a32; }

.hn-jobd-hero h1 { font-size: clamp(28px, 3vw, 36px); letter-spacing: -0.04em; }

.hn-jobd-where { margin: 6px 0 10px; color: var(--hn-muted); }

.hn-jobd-shots {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) 160px;
  gap: 8px;
  margin-top: 16px;
}

.hn-jobd-shots:not(:has(div)) { grid-template-columns: 1fr; }

.hn-jobd-shots > img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  border-radius: 16px;
}

.hn-jobd-shots > div { display: grid; gap: 8px; }

.hn-jobd-shots span { position: relative; display: block; }

.hn-jobd-shots span img {
  width: 100%;
  height: 136px;
  object-fit: cover;
  border-radius: 14px;
}

.hn-jobd-shots i {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(12, 61, 46, 0.45);
  color: #fff;
  border-radius: 14px;
  font-style: normal;
  font-weight: 800;
}

.hn-jobd-shots__all {
  position: absolute;
  left: 16px;
  bottom: 16px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  min-height: 36px;
  padding: 0 12px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.hn-jobd-dialog {
  width: min(920px, 92vw);
  border: 0;
  border-radius: 20px;
  padding: 18px;
}

.hn-jobd-dialog::backdrop { background: rgba(20, 26, 23, 0.45); }

.hn-jobd-dialog__grid { display: grid; gap: 10px; margin-top: 12px; }

.hn-jobd-dialog__grid img {
  width: 100%;
  height: auto;
  border-radius: 14px;
}

.hn-jobd-facts { margin: 8px 0 0; }

.hn-jobd-facts div {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 16px;
  padding: 12px 0;
  border-top: 1px solid var(--hn-line);
}

.hn-jobd-facts div:first-child { border-top: 0; }

.hn-jobd-facts dt { color: var(--hn-muted); font-weight: 650; }

.hn-jobd-facts dd { margin: 0; }

.hn-jobd-map__bits {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-jobd-why {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-jobd-client {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.hn-jobd-client > span {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #e8eee9;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  font-weight: 800;
}

.hn-jobd-client em,
.hn-jobd-client small { display: block; color: var(--hn-muted); font-style: normal; font-size: 13px; }

.hn-jobd-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }

.hn-jobd-badges span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #f4f7f5;
  color: var(--hn-forest);
  font-size: 12px;
  font-weight: 700;
}

.hn-jobd-client + .hn-jobd-badges + blockquote,
.hn-jobd-badges + blockquote {
  margin: 14px 0 0;
  padding: 0 0 0 12px;
  border-left: 3px solid var(--hn-line);
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-jobd-near { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }

.hn-jobd-near li { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 10px; }

.hn-jobd-near img { width: 72px; height: 56px; object-fit: cover; border-radius: 10px; }

.hn-jobd-near a { text-decoration: none; font-weight: 750; }

.hn-jobd-near p,
.hn-jobd-near small { margin: 2px 0 0; color: var(--hn-muted); font-size: 12px; }

.hn-quot {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.85fr);
  gap: 16px;
  align-items: start;
}

.hn-quot-col { display: grid; gap: 16px; min-width: 0; }

.hn-quot-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.hn-quot-hand {
  margin: 0;
  color: var(--hn-north);
  font-style: italic;
  font-weight: 650;
}

.hn-quot-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  color: var(--hn-muted);
  font-size: 13px;
  font-weight: 700;
}

.hn-quot-steps li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hn-quot-steps li::before {
  content: counter(step);
  counter-increment: step;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eef1ee;
  color: var(--hn-muted);
  font-size: 12px;
}

.hn-quot-steps { counter-reset: step; }

.hn-quot-steps .is-on,
.hn-quot-steps .is-done { color: var(--hn-forest); }

.hn-quot-steps .is-on::before,
.hn-quot-steps .is-done::before {
  background: var(--hn-forest);
  color: #fff;
}

.hn-quot-intro h1 { font-size: clamp(28px, 3vw, 36px); }

.hn-quot-intro p { margin: 8px 0 0; color: var(--hn-muted); max-width: 58ch; }

.hn-quot-form { display: grid; gap: 16px; }

.hn-quot-tools {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
}

.hn-quot-tools button {
  width: 32px;
  height: 32px;
  border: 1px solid var(--hn-line);
  border-radius: 8px;
  background: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.hn-quot-letter {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid var(--hn-line);
  border-radius: 14px;
  background: #fafbf9;
  white-space: pre-wrap;
}

.hn-quot-table__head,
.hn-quot-line,
.hn-quot-sum div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px 64px;
  gap: 12px;
  align-items: center;
}

.hn-quot-table__head {
  color: var(--hn-muted);
  font-size: 12px;
  font-weight: 700;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--hn-line);
}

.hn-quot-line {
  padding: 12px 0;
  border-bottom: 1px solid var(--hn-line);
}

.hn-quot-line div { display: grid; gap: 6px; }

.hn-quot-line input[type="text"],
.hn-quot-line input[type="number"] {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--hn-line);
  border-radius: 10px;
  padding: 0 10px;
  background: #fff;
}

.hn-quot-line strong { display: block; }

.hn-quot-line span { color: var(--hn-muted); font-size: 13px; }

.hn-quot-line b { justify-self: end; }

.hn-quot-add { margin: 12px 0; }

.hn-quot-sum { margin: 16px 0 0; }

.hn-quot-sum div { justify-items: start; padding: 6px 0; }

.hn-quot-sum dt { color: var(--hn-muted); }

.hn-quot-sum dd { margin: 0; justify-self: end; grid-column: 2; font-weight: 750; }

.hn-quot-sum__total {
  border-top: 1px solid var(--hn-line);
  margin-top: 6px;
  padding-top: 12px;
  font-size: 18px;
}

.hn-quot-when {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.hn-quot-when p { margin: 0; }

.hn-quot-when span { display: block; color: var(--hn-muted); font-size: 12px; }

.hn-quot-eta {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: #eef6f1;
  color: var(--hn-forest);
}

.hn-quot-files { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }

.hn-quot-files li,
.hn-quot-picked li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--hn-line);
}

.hn-quot-files span,
.hn-quot-picked span { color: var(--hn-muted); font-size: 12px; }

.hn-quot-drop {
  display: grid;
  place-items: center;
  gap: 6px;
  margin-top: 14px;
  min-height: 140px;
  padding: 24px;
  border: 1px dashed var(--hn-line);
  border-radius: 16px;
  text-align: center;
  cursor: pointer;
}

.hn-quot-drop input { display: none; }

.hn-quot-drop small { color: var(--hn-muted); }

.hn-quot-job {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.hn-quot-job img { width: 72px; height: 56px; object-fit: cover; border-radius: 10px; }

.hn-quot-job em,
.hn-quot-job small { display: block; color: var(--hn-muted); font-style: normal; font-size: 13px; }

.hn-quot-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }

.hn-quot-facts li { display: flex; justify-content: space-between; gap: 12px; }

.hn-quot-facts span { color: var(--hn-muted); }

.hn-quot-desc { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--hn-line); }

.hn-quot-desc p { color: var(--hn-muted); }

.hn-quot-cta p { margin: 10px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-quot h2 em { font-style: normal; color: var(--hn-muted); font-weight: 600; font-size: 14px; }

.hn-prop {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.85fr);
  gap: 16px;
  align-items: start;
}

.hn-prop-col { display: grid; gap: 16px; min-width: 0; }

.hn-prop .hn-work-stack { position: sticky; top: 94px; }

.hn-prop-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 20px;
  align-items: start;
}

.hn-prop-hero img {
  width: 240px;
  height: 160px;
  object-fit: cover;
  border-radius: 16px;
}

.hn-prop-hero__title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 14px;
}

.hn-prop-hero h1 { font-size: clamp(28px, 3vw, 36px); letter-spacing: -0.04em; margin: 0; }

.hn-prop-badge {
  padding: 3px 10px;
  border-radius: 999px;
  background: #eef4ef;
  color: var(--hn-forest);
  font-style: normal;
  font-weight: 750;
  font-size: 12px;
}

.hn-prop-badge.is-in-progress { background: #eef4fb; color: #1a4f8b; }
.hn-prop-badge.is-completed { background: #e8f3ec; color: var(--hn-forest); }

.hn-prop-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}

.hn-prop-tools p { margin: 0; font-weight: 650; }

.hn-prop-tools label {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-prop-tools select {
  min-height: 40px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid var(--hn-line);
  background: #fff;
}

.hn-prop-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }

.hn-prop-card {
  display: grid;
  grid-template-columns: 22px 56px minmax(0, 1.2fr) auto minmax(150px, 190px);
  gap: 14px;
  align-items: center;
}

.hn-prop-check { display: grid; place-items: center; }

.hn-prop-face,
.hn-prop-card .hn-jobquotes__face {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-prop-card__who strong,
.hn-prop-one__who strong {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.hn-prop-card__who em,
.hn-prop-one__who em,
.hn-prop-cmp em {
  padding: 2px 8px;
  border-radius: 999px;
  background: #e8f3ec;
  color: var(--hn-forest);
  font-style: normal;
  font-size: 11px;
  font-weight: 750;
}

.hn-prop-card__who p { margin: 4px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-prop-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px !important; }

.hn-prop-badges span {
  padding: 2px 8px;
  border-radius: 999px;
  background: #f3f6f3;
  color: var(--hn-forest);
  font-size: 11px;
  font-weight: 700;
}

.hn-prop-shots { display: flex; gap: 8px; }

.hn-prop-shots img {
  width: 72px;
  height: 56px;
  object-fit: cover;
  border-radius: 10px;
}

.hn-prop-card__pay {
  display: grid;
  justify-items: end;
  gap: 4px;
  text-align: right;
}

.hn-prop-card__pay b { font-size: 20px; letter-spacing: -0.03em; }

.hn-prop-card__pay small,
.hn-prop-card__pay span { color: var(--hn-muted); font-size: 12px; }

.hn-prop-one { display: grid; gap: 14px; }

.hn-prop-one__who {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.hn-prop-one__who img,
.hn-prop-one__who .hn-jobquotes__face {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-prop-one__who b { font-size: 24px; letter-spacing: -0.03em; text-align: right; }

.hn-prop-one__who small { display: block; color: var(--hn-muted); font-size: 12px; font-weight: 600; }

.hn-prop-lines,
.hn-prop-sum { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }

.hn-prop-lines li,
.hn-prop-sum li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--hn-line);
}

.hn-prop-lines span,
.hn-prop-sum span { display: block; color: var(--hn-muted); font-size: 13px; }

.hn-prop-sum .is-total { border-bottom: 0; font-size: 16px; }

.hn-prop-cmp {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.hn-prop-cmp article { display: grid; gap: 6px; justify-items: start; }

.hn-prop-cmp img,
.hn-prop-cmp .hn-jobquotes__face {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-prop-cmp b { font-size: 22px; letter-spacing: -0.03em; }

.hn-prop-cmp small,
.hn-prop-cmp p { color: var(--hn-muted); font-size: 13px; margin: 0; }

.hn-prop-foot {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}

.hn-prop-foot p { margin: 4px 0 0; color: var(--hn-muted); }

.hn-prop-foot__faces { display: flex; }

.hn-prop-foot__faces img,
.hn-prop-foot__faces span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
  margin-left: -8px;
  background: #e8eee9;
}

.hn-prop-foot__faces :first-child { margin-left: 0; }

.hn-prop-foot__faces span {
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 800;
  color: var(--hn-forest);
}

.hn-qdet-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.hn-qdet-nav { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--hn-muted); }

.hn-qdet-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 20px;
}

.hn-qdet-letter {
  margin: 14px 0 0;
  padding: 0;
  color: var(--hn-muted);
  font-style: normal;
}

.hn-qdet-who { display: grid; justify-items: start; gap: 6px; }

.hn-qdet-who img,
.hn-qdet-who .hn-jobquotes__face {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-qdet-price { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 0; }

.hn-qdet-price li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--hn-line);
}

.hn-qdet-price span { color: var(--hn-muted); }

.hn-qdet-price .is-total {
  border-bottom: 0;
  font-size: 18px;
  padding-top: 14px;
}

.hn-qdet-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.hn-qdet .hn-wproj-line { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.hn-qdet-shots { flex-wrap: wrap; }

.hn-qdet-trust { color: var(--hn-muted); font-size: 13px; }

.hn-qdet-acts .hn-btn + .hn-btn { margin-top: 8px; }

.hn-hirec-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  color: var(--hn-muted);
  font-size: 13px;
  font-weight: 650;
}

.hn-hirec-steps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.hn-agree-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.hn-agree-banner__brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.hn-agree-banner__brand .hn-logo { max-width: 140px; }

.hn-agree-banner p { margin: 4px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-agree-parties {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.hn-agree-parties h2 { font-size: 14px; color: var(--hn-muted); }

.hn-agree-parties p { margin: 4px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-agree-hero {
  width: 100%;
  height: 140px;
  object-fit: cover;
  border-radius: 14px;
  margin-bottom: 14px;
}

.hn-agree-sign form { display: grid; gap: 16px; }

.hn-agree-ok { font-weight: 750; color: var(--hn-forest); }

.hn-agree-signs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding-top: 8px;
  border-top: 1px solid var(--hn-line);
}

.hn-agree-signs span,
.hn-agree-signs small { display: block; color: var(--hn-muted); font-size: 12px; }

.hn-agree-signs strong {
  display: block;
  margin: 8px 0 4px;
  font-family: "Times New Roman", Times, serif;
  font-size: 22px;
  font-weight: 500;
}

.hn-hirec-steps a { color: inherit; text-decoration: none; }

.hn-hirec-steps .is-on,
.hn-hirec-steps .is-done { color: var(--hn-forest); }

.hn-hirec-intro h1 { font-size: clamp(28px, 3vw, 36px); letter-spacing: -0.04em; }

.hn-hirec-intro p { margin: 6px 0 0; color: var(--hn-muted); }

.hn-hirec-pro {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.hn-hirec-pro img,
.hn-hirec-pro .hn-jobquotes__face {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-hirec-plan { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 12px; }

.hn-hirec-plan li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.hn-hirec-plan i {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e8f3ec;
  color: var(--hn-forest);
  font-style: normal;
  font-weight: 800;
  font-size: 12px;
}

.hn-hirec-plan span { display: block; color: var(--hn-muted); font-size: 13px; }

.hn-hirec-pay {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.9fr);
  gap: 20px;
  align-items: center;
}

.hn-hirec-pay strong { display: block; font-size: 28px; letter-spacing: -0.04em; }

.hn-hirec-pay small { display: block; margin-top: 6px; color: var(--hn-muted); }

.hn-hirec-pay form { display: grid; gap: 12px; }

.hn-done-block h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
}

.hn-done-block h2 span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  font-size: 13px;
}

.hn-done-block > p { margin: 6px 0 16px; color: var(--hn-muted); }

.hn-done-shots {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.hn-done-shots img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 14px;
}

.hn-done-pay {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.8fr);
  gap: 20px;
  align-items: start;
}

.hn-done-pay table { width: 100%; border-collapse: collapse; }

.hn-done-pay th,
.hn-done-pay td {
  padding: 10px 0;
  border-bottom: 1px solid var(--hn-line);
  text-align: left;
  font-weight: 600;
}

.hn-done-pay td { text-align: right; }

.hn-done-pay small {
  display: block;
  color: var(--hn-muted);
  font-weight: 500;
  font-size: 12px;
}

.hn-done-pay tr.is-paid td { color: var(--hn-forest); }

.hn-done-pay__now th,
.hn-done-pay__now td {
  border-bottom: 0;
  font-size: 16px;
  color: var(--hn-forest);
}

.hn-done-lock {
  margin: 0 0 12px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #f4f7f5;
  font-size: 13px;
  color: var(--hn-muted);
}

.hn-done-lock strong { display: block; color: var(--hn-ink); margin-bottom: 4px; }

.hn-done-confirm,
.hn-done-review { display: grid; gap: 16px; margin-top: 18px; }

.hn-done-confirm label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 600;
}

.hn-done-who {
  display: flex;
  align-items: center;
  gap: 12px;
}

.hn-done-who img,
.hn-done-who .hn-jobquotes__face {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-done-who small { display: block; color: var(--hn-muted); }

.hn-done-rates { display: grid; gap: 12px; }

.hn-done-rate {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 0;
  padding: 0;
  border: 0;
}

.hn-done-rate legend {
  float: left;
  width: auto;
  padding: 0;
  font-size: 14px;
  font-weight: 650;
}

.hn-done-stars {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 2px;
}

.hn-done-stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }

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

.hn-done-stars label {
  color: #d4cfc4;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.hn-done-stars input:checked ~ label,
.hn-done-stars label:hover,
.hn-done-stars label:hover ~ label { color: var(--hn-amber); }

.hn-done-read strong { font-size: 28px; letter-spacing: -0.04em; }

.hn-done-read blockquote {
  margin: 10px 0 0;
  color: var(--hn-muted);
}

.hn-done-thanks { background: #f4f7f5; }

.hn-done-thanks h2 { font-size: 22px; }

.hn-done-thanks .hn-btn { margin-top: 12px; }

.hn-rep-job {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) minmax(220px, 1.1fr);
  gap: 16px;
  align-items: center;
}

.hn-rep-job img {
  width: 88px;
  height: 72px;
  object-fit: cover;
  border-radius: 12px;
}

.hn-rep-job strong { display: block; font-size: 16px; }

.hn-rep-job small { display: block; color: var(--hn-muted); }

.hn-rep-job ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
}

.hn-rep-job li span { display: block; color: var(--hn-muted); font-size: 12px; }

.hn-rep-kinds {
  border: 0;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.hn-rep-kind {
  display: grid;
  gap: 4px;
  min-height: 92px;
  padding: 14px 12px;
  border: 1px solid var(--hn-line);
  border-radius: 16px;
  cursor: pointer;
}

.hn-rep-kind:has(input:checked) {
  border-color: var(--hn-forest);
  background: #f4f7f5;
}

.hn-rep-kind input { margin: 0 0 4px; }

.hn-rep-kind small { color: var(--hn-muted); }

.hn-rep-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}

.hn-rep-yesno,
.hn-rep-wants {
  border: 0;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.hn-rep-yesno legend {
  padding: 0;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 700;
}

.hn-rep-wants label,
.hn-rep-yesno label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
}

.hn-rep-drop {
  display: grid;
  place-items: center;
  gap: 6px;
  min-height: 140px;
  padding: 20px;
  border: 1px dashed var(--hn-line);
  border-radius: 16px;
  text-align: center;
  cursor: pointer;
}

.hn-rep-drop input { display: none; }

.hn-rep-drop small { color: var(--hn-muted); }

.hn-rep-files {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.hn-rep-files li {
  display: flex;
  align-items: center;
  gap: 10px;
}

.hn-rep-files img {
  width: 56px;
  height: 44px;
  object-fit: cover;
  border-radius: 8px;
}

.hn-rep-foot label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 600;
}

.hn-rep-acts {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 16px;
}

.hn-rep-case blockquote {
  margin: 12px 0;
  color: var(--hn-muted);
}

.hn-wproj {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.85fr);
  gap: 16px;
  align-items: start;
}

.hn-wproj-col { display: grid; gap: 16px; min-width: 0; }

.hn-wproj-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 16px;
  align-items: start;
}

.hn-wproj-hero__shot { position: relative; }

.hn-wproj-hero__shot img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 14px;
}

.hn-wproj-tabs { margin: 0; }

.hn-wproj-line {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.hn-wproj-line li { display: grid; gap: 6px; justify-items: start; }

.hn-wproj-line i {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eef1ee;
  color: var(--hn-muted);
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}

.hn-wproj-line .is-on i,
.hn-wproj-line .is-done i { background: var(--hn-forest); color: #fff; }

.hn-wproj-line span { color: var(--hn-muted); font-size: 12px; }

.hn-wproj-line--col { grid-template-columns: 1fr; }

.hn-wproj-tasks { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; }

.hn-wproj-tasks li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--hn-line);
}

.hn-wproj-tasks.is-done strong,
.hn-wproj-tasks .is-done strong { text-decoration: line-through; color: var(--hn-muted); }

.hn-wproj-tasks span { color: var(--hn-muted); font-size: 13px; }

.hn-wproj-add {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px auto;
  gap: 8px;
  align-items: end;
  margin-top: 12px;
}

.hn-wproj-add .hn-field { margin: 0; }

.hn-wproj-msgs { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 12px; }

.hn-wproj-msgs li {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
}

.hn-wproj-msgs span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #e8eee9;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 12px;
}

.hn-wproj-msgs--full li { grid-template-columns: 1fr; }

.hn-wproj-pay { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; }

.hn-wproj-pay li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--hn-line);
}

.hn-wproj-pay span { color: var(--hn-muted); font-size: 13px; grid-column: 1; }

.hn-wproj-pay b { grid-column: 2; grid-row: 1 / span 2; align-self: center; }

.hn-wproj-pay .is-paid strong { color: var(--hn-north); }

.hn-wproj-total { margin: 0; font-size: 28px; font-weight: 800; letter-spacing: -0.04em; }

.hn-wproj-contact { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }

.hn-wproj-up { position: relative; overflow: hidden; }

.hn-wproj-up input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

.hn-work-hours li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px 120px;
  gap: 10px;
  align-items: center;
}

.hn-avail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 20px;
  align-items: start;
}

.hn-avail__main,
.hn-avail__rail { display: grid; gap: 16px; align-content: start; }

.hn-avail__tabs { margin: 0 0 18px; }

.hn-avail__bar,
.hn-avail__nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.hn-avail__cal h2 { margin: 0; font-size: 22px; }

.hn-avail__tools,
.hn-avail__nav {
  flex-wrap: wrap;
}

.hn-avail__tools {
  display: flex;
  gap: 6px;
}

.hn-avail__tools a,
.hn-avail__nav a {
  text-decoration: none;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--hn-line);
  font-size: 13px;
  font-weight: 650;
  color: #3d4640;
}

.hn-avail__tools a.is-on,
.hn-avail__nav a:hover,
.hn-avail__tools a:hover {
  background: var(--hn-forest);
  border-color: var(--hn-forest);
  color: #fff;
}

.hn-avail__nav { margin: 14px 0; justify-content: flex-start; }

.hn-avail__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}

.hn-avail__grid > p {
  margin: 0;
  font-size: 11px;
  font-weight: 750;
  color: var(--hn-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.hn-avail__grid article {
  min-height: 92px;
  padding: 8px;
  border-radius: 12px;
  background: #f6f7f4;
  display: grid;
  align-content: start;
  gap: 2px;
}

.hn-avail__grid article b { font-size: 13px; }

.hn-avail__grid article.is-today b {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--hn-forest);
  color: #fff;
}

.hn-avail__grid article.is-out { background: transparent; color: #b0b6b1; }

.hn-avail__grid article.is-closed { background: #f3f3f1; }

.hn-avail__grid article.is-off {
  background: #f8eeee;
  color: #8b3a32;
}

.hn-avail__grid article.is-job { background: #e8f3ec; }

.hn-avail__grid article.is-open { background: #eef6f1; }

.hn-avail__grid article span,
.hn-avail__grid article a,
.hn-avail__grid article small {
  font-size: 11px;
  line-height: 1.3;
}

.hn-avail__grid article a { color: var(--hn-forest); font-weight: 700; }

.hn-avail__grid article small { color: var(--hn-muted); }

.hn-avail__grid.is-week article { min-height: 140px; }

.hn-avail__legend {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 13px;
  color: var(--hn-muted);
}

.hn-avail__legend li { position: relative; padding-left: 16px; }

.hn-avail__legend li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c5cbc6;
}

.hn-avail__legend .is-open::before { background: var(--hn-north); }
.hn-avail__legend .is-job::before { background: #2f6a4a; }
.hn-avail__legend .is-off::before { background: #c45c4a; }

.hn-avail__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }

.hn-avail__list li {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr) auto;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--hn-line);
}

.hn-avail__days {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: grid;
  gap: 10px;
}

.hn-avail__days li {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.hn-avail__days select,
.hn-avail__form input {
  min-height: 42px;
  border: 1px solid var(--hn-line);
  border-radius: 10px;
  padding: 0 10px;
  font: inherit;
  background: #fff;
}

.hn-avail__form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: end;
  margin: 12px 0;
}

.hn-avail__form label { display: grid; gap: 6px; font-size: 13px; font-weight: 650; }

.hn-avail__form label:last-of-type,
.hn-avail__form button { grid-column: 1 / -1; }

.hn-avail__split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.hn-avail__quick { display: grid; gap: 8px; }

.hn-avail__quick h2 { margin-bottom: 4px; }

.hn-avail__upcoming { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }

.hn-avail__upcoming li {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.hn-avail__upcoming em {
  font-style: normal;
  font-size: 12px;
  font-weight: 750;
  color: var(--hn-forest);
}

.hn-avail__upcoming span { display: block; color: var(--hn-muted); font-size: 12px; }

.hn-work-inbox {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 0;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
  overflow: hidden;
  min-height: 520px;
}

.hn-work-inbox .hn-inbox__list { padding: 20px 16px; border-right: 1px solid var(--hn-line); }

.hn-work-inbox .hn-inbox__list ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 6px; }

.hn-work-inbox .hn-inbox__list a {
  display: grid;
  gap: 2px;
  text-decoration: none;
  padding: 10px;
  border-radius: 12px;
}

.hn-work-inbox .hn-inbox__list a.is-on { background: #eef6f1; }

.hn-work-inbox .hn-inbox__list em,
.hn-work-inbox .hn-inbox__list small,
.hn-work-inbox .hn-inbox__list i { color: var(--hn-muted); font-style: normal; font-size: 12px; }

.hn-work-inbox .hn-inbox__thread {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 520px;
  padding: 18px;
}

.hn-work-inbox .hn-inbox__msgs {
  list-style: none;
  margin: 16px 0;
  padding: 0;
  display: grid;
  gap: 12px;
  align-content: start;
  overflow: auto;
}

.hn-work-inbox .hn-inbox__msgs li { max-width: 70%; }

.hn-work-inbox .hn-inbox__msgs li.is-me { justify-self: end; text-align: right; }

.hn-work-inbox .hn-inbox__compose {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
}

.hn-work-inbox .hn-inbox__compose textarea { min-height: 48px; }

.hn-work-inbox .hn-inbox__compose .hn-btn {
  width: auto;
  min-height: 40px;
  padding: 0 16px;
  white-space: nowrap;
}

.hn-opp-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  flex-wrap: wrap;
}

.hn-opp-toolbar .hn-set-tabs { flex: 1; margin: 0; }

.hn-opp-sort {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--hn-muted);
  font-size: 13px;
  font-weight: 650;
}

.hn-opp-sort select {
  min-height: 40px;
  border: 1px solid var(--hn-line);
  border-radius: 10px;
  padding: 0 12px;
  background: #fff;
  color: var(--hn-ink);
  font: inherit;
}

.hn-opp-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }

.hn-opp-card {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr) 168px;
  gap: 18px;
  align-items: center;
}

.hn-opp-card__media { position: relative; }

.hn-opp-card__media img {
  width: 100%;
  height: 118px;
  object-fit: cover;
  border-radius: 14px;
}

.hn-opp-card__media em,
.hn-proj-card .hn-opp-card__media em {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
}

.hn-opp-card__media em.is-new { color: var(--hn-forest); }
.hn-opp-card__media em.is-featured { color: #8a6a12; background: #fff6df; }
.hn-opp-card__media em.is-urgent { color: #8b3a32; background: #fbf6f5; }
.hn-opp-card__media em.is-quotes,
.hn-opp-card__media em.is-open { color: var(--hn-forest); }
.hn-opp-card__media em.is-progress { color: #1a4f8b; background: #eef4fb; }
.hn-opp-card__media em.is-completed { color: var(--hn-muted); }
.hn-opp-card__media em.is-draft { color: #8a6a12; background: #fff6df; }
.hn-opp-card__media em.is-cancelled { color: #8b3a32; background: #fbf6f5; }

.hn-opp-heart {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #fff;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.hn-opp-card__media > .hn-post-act {
  position: absolute;
  top: 10px;
  right: 10px;
}

.hn-opp-card__media > .hn-post-act .hn-opp-heart { position: static; }

.hn-opp-heart svg { width: 16px; height: 16px; }

.hn-opp-heart.is-on { color: #c45c4a; }

.hn-opp-card h2 { font-size: 20px; }

.hn-opp-card h2 a { text-decoration: none; }

.hn-opp-meta,
.hn-opp-card p { margin: 6px 0 0; color: var(--hn-muted); }

.hn-opp-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  font-size: 13px;
}

.hn-opp-card__side {
  display: grid;
  justify-items: end;
  align-content: start;
  gap: 10px;
  text-align: right;
}

.hn-opp-card__side strong { font-size: 18px; }

.hn-opp-card__side small { color: var(--hn-muted); }

.hn-opp-map {
  border: 1px solid var(--hn-line);
  border-radius: 16px;
  overflow: hidden;
  background: #f4f7f5;
  margin: 8px 0 12px;
}

.hn-opp-map svg { width: 100%; height: auto; display: block; }

.hn-opp-map--live iframe {
  width: 100%;
  height: 220px;
  border: 0;
  display: block;
}

.hn-jobd-map .hn-opp-map--live iframe { height: 240px; }

.hn-opp-keep { margin-top: 10px; }

.hn-work-hero .hn-btn { justify-self: end; }

.hn-proj-faces { display: grid; justify-items: end; gap: 6px; }

.hn-proj-faces span { display: flex; align-items: center; }

.hn-proj-faces img,
.hn-proj-hired img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  margin-left: -8px;
  border: 2px solid #fff;
}

.hn-proj-faces img:first-child,
.hn-proj-hired img { margin-left: 0; }

.hn-proj-faces i {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #eef1ee;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  margin-left: -8px;
}

.hn-proj-hired { margin: 0; font-size: 13px; color: var(--hn-muted); }

.hn-proj-hired a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--hn-ink);
  font-weight: 700;
  text-decoration: none;
}

.hn-proj-overview {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 12px;
}

.hn-proj-overview li { display: grid; gap: 2px; }

.hn-proj-overview svg {
  width: 20px;
  height: 20px;
  color: var(--hn-forest);
}

.hn-proj-overview strong { display: block; font-size: 28px; letter-spacing: -0.04em; }

.hn-proj-overview em { color: var(--hn-muted); font-size: 13px; font-style: normal; }

.hn-opp-card .hn-btn--ghost { min-height: 40px; }

.hn-cabinet__body:has(.hn-faq-shell) {
  grid-template-columns: 240px minmax(0, 1fr);
}

.hn-faq-page { padding: 28px 0 64px; }

.hn-faq-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 16px 22px;
  align-items: start;
}

.hn-faq-col { display: grid; gap: 16px; min-width: 0; }

.hn-faq-crumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-faq-crumb a { color: var(--hn-muted); text-decoration: none; }

.hn-faq-crumb a:hover,
.hn-faq-crumb span:last-child { color: var(--hn-ink); }

.hn-faq-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 6px 6px 6px 18px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
}

.hn-faq-search svg { width: 18px; height: 18px; color: var(--hn-muted); flex: 0 0 auto; }

.hn-faq-search input {
  flex: 1;
  border: 0;
  background: transparent;
  min-height: 0;
  padding: 0;
}

.hn-faq-search .hn-btn { border-radius: 999px; padding: 0 22px; }

.hn-faq-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hn-faq-cats a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--hn-line);
  color: var(--hn-muted);
  text-decoration: none;
  font-size: 13px;
  font-weight: 650;
}

.hn-faq-cats svg { width: 16px; height: 16px; }

.hn-faq-cats a.is-on,
.hn-faq-cats a:hover {
  color: var(--hn-forest);
  border-color: var(--hn-forest);
  background: #f4f7f5;
}

.hn-faq-board { padding: 8px 8px 12px; }

.hn-faq-board__head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  padding: 12px 14px 8px;
}

.hn-faq-board__head h2 { font-size: 20px; }

.hn-faq-board__head p { margin: 4px 0 0; color: var(--hn-muted); }

.hn-faq-board__head .hn-text-link {
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
}

.hn-faq-list details {
  border-top: 1px solid var(--hn-line);
  padding: 0 8px;
}

.hn-faq-list details[open] { background: #f4f7f5; border-radius: 14px; border-top-color: transparent; }

.hn-faq-list summary {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}

.hn-faq-list summary::-webkit-details-marker { display: none; }

.hn-faq-list summary::after {
  content: "";
  width: 10px;
  height: 10px;
  margin-left: auto;
  border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor;
  transform: rotate(45deg);
  flex: 0 0 auto;
}

.hn-faq-list details[open] summary::after { transform: rotate(-135deg); margin-top: 6px; }

.hn-faq-list summary i {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #e8eee9;
  color: var(--hn-forest);
  display: grid;
  place-items: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  flex: 0 0 auto;
}

.hn-faq-list details[open] summary i { background: var(--hn-forest); color: #fff; }

.hn-faq-list p {
  margin: 0 12px 16px 50px;
  color: var(--hn-muted);
  max-width: 68ch;
}

.hn-faq-list a { color: var(--hn-forest); }

.hn-faq-reach { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }

.hn-faq-reach li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; align-items: start; }

.hn-faq-reach svg { width: 20px; height: 20px; color: var(--hn-forest); }

.hn-faq-reach p { margin: 4px 0 0; color: var(--hn-muted); font-size: 13px; }

.hn-faq-banner {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 18px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 22px;
  padding: 18px 22px;
}

.hn-faq-banner__faces { display: flex; }

.hn-faq-banner__faces img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #fff;
  margin-left: -12px;
}

.hn-faq-banner__faces img:first-child { margin-left: 0; }

.hn-faq-banner h2 { font-size: 22px; }

.hn-faq-banner p { margin: 4px 0 0; color: var(--hn-muted); }

.hn-faq-banner__quote {
  margin: 0;
  color: var(--hn-forest);
  font-style: italic;
  font-weight: 650;
}

.hn-cab-pay a { text-decoration: none; }

.hn-jobtop {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  flex-wrap: wrap;
}

.hn-jobtop p { margin: 0; color: var(--hn-muted); font-size: 13px; }

.hn-jobtop__back { font-weight: 650; }

.hn-jobhead {
  display: grid;
  grid-template-columns: minmax(240px, 340px) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.hn-jobshots {
  display: grid;
  grid-template-columns: 1fr 100px;
  gap: 8px;
}

.hn-jobshots > img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  border-radius: 16px;
}

.hn-jobshots > div { display: grid; gap: 8px; }

.hn-jobshots > div img {
  width: 100%;
  height: 66px;
  object-fit: cover;
  border-radius: 12px;
}

.hn-jobshots span {
  display: grid;
  place-items: center;
  min-height: 58px;
  border-radius: 12px;
  background: #eef3ef;
  color: var(--hn-forest);
  font-size: 12px;
  font-weight: 700;
}

.hn-jobintro__row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

.hn-jobintro h1 { font-size: clamp(26px, 3vw, 34px); margin-bottom: 6px; }

.hn-jobintro__place { margin: 0 0 10px; color: var(--hn-muted); }

.hn-jobintro > p { margin: 0 0 16px; max-width: 62ch; }

.hn-jobfacts {
  list-style: none;
  margin: 0;
  padding: 16px 0 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  border-top: 1px solid var(--hn-line);
}

.hn-jobfacts span { display: block; color: var(--hn-muted); font-size: 12px; margin-bottom: 4px; }

.hn-job-edit { display: grid; gap: 10px; margin: 12px 0; }

.hn-hired {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 24px;
}

.hn-hired h2 { font-size: 18px; margin-bottom: 12px; }

.hn-hired__who {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  align-items: start;
}

.hn-hired__who img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }

.hn-hired__who strong { display: flex; align-items: center; gap: 8px; }

.hn-hired__who em {
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  color: var(--hn-north);
  background: #eef6f1;
  border-radius: 999px;
  padding: 2px 8px;
}

.hn-hired__who p { margin: 4px 0; font-size: 13px; }

.hn-hired__who span { display: block; color: var(--hn-muted); font-size: 13px; }

.hn-hired__acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

.hn-hired blockquote { margin: 0; }

.hn-hired blockquote p { margin: 0; color: var(--hn-muted); }

.hn-job-emptyhire p { color: var(--hn-muted); margin: 0 0 14px; }

.hn-jobline h2 { font-size: 18px; margin-bottom: 16px; }

.hn-jobline ol,
.hn-jobstat ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.hn-jobline li,
.hn-jobstat ol li {
  display: grid;
  gap: 4px;
  position: relative;
}

.hn-jobline i,
.hn-jobstat ol i {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--hn-line);
  background: #fff;
}

.hn-jobline li.is-done i,
.hn-jobline li.is-on i,
.hn-jobstat ol li.is-done i,
.hn-jobstat ol li.is-on i {
  background: var(--hn-forest);
  border-color: var(--hn-forest);
}

.hn-jobline strong,
.hn-jobstat ol strong { font-size: 13px; }

.hn-jobline span,
.hn-jobstat ol span { color: var(--hn-muted); font-size: 12px; }

.hn-jobfeed__tabs { flex-wrap: wrap; }

.hn-jobcompose {
  display: grid;
  grid-template-columns: 36px auto 1fr auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 16px;
}

.hn-jobcompose span,
.hn-jobchat > li > span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
}

.hn-jobcompose input {
  min-height: 44px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  padding: 0 16px;
}

.hn-jobchat { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }

.hn-jobchat > li { display: grid; grid-template-columns: 36px 1fr; gap: 10px; }

.hn-jobchat strong { display: block; font-size: 13px; }

.hn-jobchat em { color: var(--hn-muted); font-weight: 500; font-style: normal; margin-left: 6px; }

.hn-jobchat p { margin: 4px 0 0; }

.hn-jobchat__shots { display: flex; gap: 8px; margin-top: 8px; }

.hn-jobchat__shots img { width: 88px; height: 64px; object-fit: cover; border-radius: 10px; }

.hn-jobchat__empty { color: var(--hn-muted); }

.hn-jobfiles,
.hn-jobquotes,
.hn-jobact { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }

.hn-jobfiles li,
.hn-jobact li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--hn-line);
}

.hn-jobquotes li {
  display: grid;
  grid-template-columns: 44px 1fr auto auto;
  gap: 12px;
  align-items: center;
}

.hn-jobquotes img,
.hn-jobquotes__face {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}

.hn-jobquotes__face {
  display: grid;
  place-items: center;
  background: #e8eee9;
  color: var(--hn-forest);
  font-weight: 800;
  font-size: 12px;
}

.hn-jobcontract p { color: var(--hn-muted); }

.hn-jobstat__live {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 750;
  margin: 0 0 6px;
}

.hn-jobstat__live i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--hn-north);
}

.hn-jobstat > p { color: var(--hn-muted); margin: 0 0 14px; }

.hn-jobstat ol {
  grid-template-columns: 1fr;
  margin-bottom: 16px;
}

.hn-jobstat .hn-btn,
.hn-jobval .hn-btn,
.hn-jobrail .hn-btn { margin-top: 8px; }

.hn-jobstat .hn-text-link { display: inline-block; margin: 8px 0 0; }

.hn-jobval h2,
.hn-jobrail h2 { font-size: 18px; margin-bottom: 12px; }

.hn-jobval p {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 8px;
}

.hn-jobval__total { padding-top: 8px; border-top: 1px solid var(--hn-line); font-size: 16px; }

.hn-jobval .is-ok { color: var(--hn-north); }

.hn-jobsked { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 10px; }

.hn-jobsked li { display: grid; gap: 2px; }

.hn-jobsked small,
.hn-jobsked em { color: var(--hn-muted); font-size: 12px; font-style: normal; }

.hn-jobsked.is-paid b,
.hn-jobsked li.is-paid b { color: var(--hn-north); }

.hn-jobsked--wide li {
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 12px;
}

/* Responsive */
@media (max-width: 1180px) {
  .hn-nav { display: none; }
  .hn-burger { display: block; }
  .hn-header__actions { justify-self: end; }
  .hn-header__actions .hn-head-guide,
  .hn-header__actions .hn-head-join,
  .hn-header__actions .hn-locale-switch { display: none; }
  .hn-hero__grid,
  .hn-map__grid,
  .hn-app__grid,
  .hn-svc-hero__grid,
  .hn-find-hero__grid,
  .hn-find-layout,
  .hn-works-hero__grid,
  .hn-works-split__grid,
  .hn-works-grow,
  .hn-works-cta__box,
  .hn-safe-hero__grid,
  .hn-safe-verify__grid,
  .hn-safe-lower__grid,
  .hn-gate { grid-template-columns: 1fr; }
  .hn-gate__form { padding: 28px 24px 48px; }
  .hn-gate__brand { padding: 24px 24px 8px; }
  .hn-gate__top .hn-locale-switch { display: none; }
  .hn-apply-hero__grid,
  .hn-apply-board__grid { grid-template-columns: 1fr; }
  .hn-apply-docs ul { grid-template-columns: 1fr; }
  .hn-apply-cta__box { flex-direction: column; align-items: start; }
  .hn-works-flow,
  .hn-works-demos,
  .hn-works-metrics ul,
  .hn-safe-pillars__grid,
  .hn-safe-values ul { grid-template-columns: 1fr 1fr; }
  .hn-works-flow li:nth-child(2)::after { display: none; }
  .hn-works-grow { padding: 28px; }
  .hn-works-cta__box > div { padding: 36px 28px; }
  .hn-search,
  .hn-find-search { grid-template-columns: 1fr 1fr auto; }
  .hn-cards--4 { grid-template-columns: repeat(2, 1fr); }
  .hn-cats__row { justify-content: center; }
  .hn-trust__points { grid-template-columns: repeat(2, 1fr); }
  .hn-footer__grid { grid-template-columns: 1fr 1fr; }
  .hn-app__scene { display: none; }
  .hn-phones { height: 300px; margin-bottom: 12px; }
  .hn-svc-grid { grid-template-columns: repeat(2, 1fr); }
  .hn-svc-hub__head,
  .hn-svc-kids,
  .hn-svc-end,
  .hn-apply-svcs__grid { grid-template-columns: 1fr 1fr; }
  .hn-profile__grid,
  .hn-panel__split,
  .hn-score,
  .hn-offer-grid,
  .hn-quotes,
  .hn-profile-trust__row,
  .hn-propage__about,
  .hn-propage__offers { grid-template-columns: 1fr 1fr; }
  .hn-profile__side { position: static; }
  .hn-propage__body { grid-template-columns: 1fr; margin-top: 24px; }
  .hn-propage__rail,
  .hn-propage__id,
  .hn-propage__face { margin-top: 0; }
  .hn-propage__hero blockquote { left: 24px; }
  .hn-prices { grid-template-columns: 1fr; }
  .hn-prices__nav { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
  .hn-prices__nav > p { width: 100%; margin: 0; }
  .hn-prices__ask { width: 100%; }
  .hn-prices__rail { position: static; }
  .hn-prices__row { grid-template-columns: 140px minmax(0, 1fr) 150px; }
  .hn-shots { grid-template-columns: repeat(2, 1fr); }
  .hn-pro { grid-template-columns: 96px 1fr; }
  .hn-pro__side { grid-column: 1 / -1; flex-direction: row; align-items: center; text-align: left; }
  .hn-job__grid { grid-template-columns: 1fr; }
  .hn-pay__grid { grid-template-columns: 1fr; }
  .hn-pay__side { position: static; }
  .hn-job__aside { position: static; grid-template-columns: 1fr 1fr; }
  .hn-job__scene,
  .hn-progress-list { display: none; }
}

@media (max-width: 900px) {
  .hn-header__actions .hn-btn--cta { display: none; }
}

@media (max-width: 760px) {
  .hn-wrap { width: min(calc(100% - 32px), var(--hn-wrap)); }
  .hn-header__actions .hn-btn--cta,
  .hn-header__actions .hn-head-signin { display: none; }
  .hn-drawer .hn-locale-switch { display: grid; }
  .hn-search,
  .hn-find-search { grid-template-columns: 1fr; }
  .hn-results__bar { flex-direction: column; align-items: start; }
  .hn-svc-grid,
  .hn-svc-points,
  .hn-svc-hub__head,
  .hn-svc-kids,
  .hn-svc-end,
  .hn-apply-svcs__grid { grid-template-columns: 1fr; }
  .hn-cards--4,
  .hn-cards--3,
  .hn-cards--2,
  .hn-steps,
  .hn-works-points,
  .hn-works-flow,
  .hn-works-demos,
  .hn-works-metrics ul,
  .hn-safe-pillars__grid,
  .hn-safe-verify ol,
  .hn-safe-values ul,
  .hn-gate-roles,
  .hn-gate-points,
  .hn-gate-social,
  .hn-gate-trust,
  .hn-apply-points { grid-template-columns: 1fr; }
  .hn-safe-quote { position: static; width: auto; margin: 16px; }
  .hn-works-flow li::after { display: none; }
  .hn-works-stat { left: 16px; right: auto; }
  .hn-cats__row { gap: 14px 6px; }
  .hn-cat { width: 72px; font-size: 12px; }
  .hn-cat__icon { width: 58px; height: 58px; }
  .hn-popular, .hn-split, .hn-how, .hn-trust, .hn-reviews, .hn-map, .hn-app, .hn-guides { padding: 48px 0; }
  .hn-final__box { flex-direction: column; align-items: start; padding: 28px; }
  .hn-header__bar { min-height: 70px; }
  .hn-logo__img { height: 48px; }
  .hn-footer .hn-logo__img { height: 80px; }
  .hn-section-head { flex-direction: column; align-items: start; }
  .hn-hero__photo img { aspect-ratio: 16 / 11; }
  .hn-footer__base { flex-direction: column; }
  .hn-profile__intro,
  .hn-profile__id,
  .hn-profile__top,
  .hn-offer-grid,
  .hn-quotes,
  .hn-shots,
  .hn-profile-trust__row,
  .hn-score,
  .hn-panel__split { grid-template-columns: 1fr; }
  .hn-profile__id { flex-direction: column; align-items: start; }
  .hn-avatar { margin-top: -48px; width: 112px; height: 112px; }
  .hn-profile__hero img { height: 220px; }
  .hn-profile__hero blockquote { right: 16px; font-size: 18px; max-width: 14ch; }
  .hn-propage__hero img { height: 220px; }
  .hn-propage__hero blockquote { left: 16px; right: auto; font-size: 22px; max-width: 12ch; }
  .hn-propage__body,
  .hn-propage__id,
  .hn-propage__about,
  .hn-propage__offers,
  .hn-prices,
  .hn-prices__row,
  .hn-prices__head { grid-template-columns: 1fr; }
  .hn-propage__tools { padding-bottom: 0; }
  .hn-prices__head { display: grid; }
  .hn-profile__cta { width: 100%; }
  .hn-job-split,
  .hn-job__aside,
  .hn-review div { grid-template-columns: 1fr; }
  .hn-job-steps { flex-wrap: wrap; }
  .hn-job-actions { flex-direction: column; align-items: stretch; }
  .hn-pay__track,
  .hn-pay-nav { flex-direction: column; align-items: start; }
  .hn-pay-steps li + li::before { width: 24px; }
  .hn-pay-trust { grid-template-columns: 1fr; }
}

@media (min-width: 1181px) {
  .hn-drawer { display: none !important; }
}

@media (max-width: 1180px) {
  .hn-cabinet__body,
  .hn-cabinet__body:not(:has(.hn-cab-rail)),
  .hn-cabinet:has(.hn-cabinet__body > .hn-cabinet__main:last-child) .hn-cabinet__body,
  .hn-cabinet:has(.hn-inbox) .hn-cabinet__body,
  .hn-cabinet__body:has(.hn-faq-shell) {
    grid-template-columns: 220px minmax(0, 1fr);
  }
  .hn-inbox { grid-template-columns: 260px minmax(0, 1fr); }
  .hn-inbox__rail { display: none; }
  .hn-inbox__chat { border-right: 0; }
  .hn-cab-rail { grid-column: 2; }
  .hn-cab-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hn-cab-recs,
  .hn-saved-grid { grid-template-columns: 1fr 1fr; }
  .hn-cab-banner { grid-template-columns: 1fr auto; }
  .hn-jobhead,
  .hn-hired,
  .hn-jobline ol { grid-template-columns: 1fr; }
  .hn-jobfacts { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
  .hn-cabinet__body,
  .hn-cabinet__body:not(:has(.hn-cab-rail)),
  .hn-cabinet:has(.hn-cabinet__body > .hn-cabinet__main:last-child) .hn-cabinet__body,
  .hn-cabinet:has(.hn-inbox) .hn-cabinet__body,
  .hn-cabinet__body:has(.hn-faq-shell) {
    grid-template-columns: 1fr;
  }
  .hn-inbox { grid-template-columns: 1fr; min-height: calc(100vh - 72px); }
  .hn-inbox > .hn-inbox__list { display: none; }
  .hn-inbox.is-list > .hn-inbox__list { display: flex; }
  .hn-inbox.is-list .hn-inbox__chat { display: none; }
  .hn-work-inbox { grid-template-columns: 1fr; min-height: 0; }
  .hn-inbox__back { display: inline; font-size: 13px; font-weight: 650; text-decoration: none; grid-column: 1 / -1; }
  .hn-inbox__head { grid-template-columns: 44px minmax(0, 1fr) 40px 40px 40px; }
  .hn-cab-rail { grid-column: auto; }
  .hn-appbar { grid-template-columns: auto 1fr auto; }
  .hn-appbar .hn-burger { display: block; }
  .hn-account--app .hn-account__name { display: none; }
  .hn-appside {
    display: none;
    position: fixed;
    z-index: 40;
    top: 72px;
    left: 0;
    bottom: 0;
    width: min(280px, 88vw);
    padding: 16px;
    background: #f6f7f5;
    box-shadow: 18px 0 40px rgba(20, 26, 23, 0.12);
    overflow: auto;
  }
  .hn-appside.is-open { display: grid; }
  body.hn-cab-nav::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(20, 26, 23, 0.28);
    z-index: 35;
  }
  .hn-cab-hero {
    grid-template-columns: 1fr;
    padding: 22px;
  }
  .hn-cab-hero img,
  .hn-saved-hero img { display: none; }
  .hn-rev-hero,
  .hn-pay-hero { grid-template-columns: 1fr; padding-right: 22px; }
  .hn-rev-hero .hn-btn { justify-self: start; }
  .hn-pay-hero img,
  .hn-set-hero img,
  .hn-work-hero img { display: none; }
  .hn-set-hero { grid-template-columns: 1fr; padding-right: 22px; }
  .hn-set-tabs { gap: 4px 12px; }
  .hn-set-tabs a { font-size: 13px; }
  .hn-pay-stats,
  .hn-work-stats,
  .hn-earn-hero,
  .hn-veri-hero,
  .hn-note-hero,
  .hn-note-tools,
  .hn-sup-hero,
  .hn-sup-ways,
  .hn-sup-split,
  .hn-veri-card__top,
  .hn-veri-body,
  .hn-payo-pick,
  .hn-payo-grid,
  .hn-work-grid,
  .hn-work-bottom,
  .hn-work-joblist > li,
  .hn-work-leads li,
  .hn-avail,
  .hn-avail__split,
  .hn-avail__days li,
  .hn-avail__form,
  .hn-avail__list li,
  .hn-work-hours li,
  .hn-opp-card,
  .hn-jobd,
  .hn-quot,
  .hn-prop,
  .hn-prop-hero,
  .hn-prop-card,
  .hn-prop-one__who,
  .hn-prop-foot,
  .hn-qdet-head,
  .hn-qdet-split,
  .hn-hirec-pro,
  .hn-hirec-pay,
  .hn-hirec-steps,
  .hn-hirec-steps--5,
  .hn-agree-parties,
  .hn-agree-signs,
  .hn-agree-banner,
  .hn-done-pay,
  .hn-done-shots,
  .hn-done-rate,
  .hn-rep-job,
  .hn-rep-job ul,
  .hn-rep-kinds,
  .hn-rep-split,
  .hn-wproj,
  .hn-wproj-hero,
  .hn-wproj-line,
  .hn-wproj-tasks li,
  .hn-wproj-add,
  .hn-jobd-shots,
  .hn-jobd-facts div,
  .hn-jobd-map__bits,
  .hn-quot-when,
  .hn-quot-table__head,
  .hn-quot-line,
  .hn-quot-sum div { grid-template-columns: 1fr; }
  .hn-opp-card__side { justify-items: start; text-align: left; }
  .hn-work-hero { padding-right: 22px; }
  .hn-work-inbox { grid-template-columns: 1fr; }
  .hn-work-lead__side { justify-items: start; text-align: left; }
  .hn-pay-secure,
  .hn-pay-invoices li { grid-template-columns: 1fr; }
  .hn-rev-list li { grid-template-columns: 72px 1fr; }
  .hn-rev-side { grid-column: 2; justify-items: start; flex-direction: row; }
  .hn-cab-hero__quote { display: none; }
  .hn-saved-hero { padding: 22px; }
  .hn-cab-hero .hn-btn { position: static; margin-top: 16px; }
  .hn-cab-jobs li { grid-template-columns: 72px 1fr; }
  .hn-cab-jobs em,
  .hn-cab-jobs .hn-text-link { grid-column: 2; }
  .hn-cab-recs,
  .hn-saved-grid,
  .hn-saved-hero,
  .hn-cab-banner,
  .hn-jobshots,
  .hn-jobquotes li,
  .hn-jobsked--wide li { grid-template-columns: 1fr; }
  .hn-jobintro__row { flex-direction: column; }
  .hn-prop-tools label { margin-left: 0; }
  .hn-prop-card__pay { justify-items: start; text-align: left; }
  .hn-prop-hero img { width: 100%; height: 180px; }
  .hn-prop .hn-work-stack { position: static; }
  .hn-earn-chart b { width: 10px; }
  .hn-earn-period select { min-width: 0; width: 100%; }
}

@media (max-width: 640px) {
  .hn-appbar__search { display: none; }
  .hn-appbar__find { display: grid; }
  .hn-appbar { grid-template-columns: 1fr auto; }
  .hn-appbar__pro { display: none; }
}

@media (max-width: 900px) {
  .hn-faq-shell { grid-template-columns: 1fr; }
  .hn-faq-banner { grid-template-columns: 1fr; }
  .hn-faq-list p { margin-left: 12px; }
  .hn-faq-search { padding-right: 8px; }
}

/* Advice Hub */
.hn-nav__list { gap: 14px; }

.hn-header.is-fr .hn-nav__list { gap: 10px; }

.hn-hub { background: var(--hn-paper); }

.hn-hub-hero {
  position: relative;
  color: #fff;
  overflow: hidden;
  padding: 72px 0 56px;
}

.hn-hub-hero__media {
  position: absolute;
  inset: 0;
}

.hn-hub-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hn-hub-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 26, 20, 0.88) 0%, rgba(8, 26, 20, 0.62) 52%, rgba(8, 26, 20, 0.28) 100%);
}

.hn-hub-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.55fr);
  gap: 40px;
  align-items: end;
}

.hn-hub-kicker {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #d8e7df;
}

.hn-hub-hero h1 {
  color: #fff;
  margin-bottom: 14px;
}

.hn-hub-lead {
  margin: 0 0 28px;
  max-width: 36rem;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.82);
}

.hn-hub-search {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 560px;
  padding: 6px 6px 6px 16px;
  background: #fff;
  border-radius: 999px;
}

.hn-hub-search svg {
  width: 18px;
  height: 18px;
  color: var(--hn-muted);
  flex: 0 0 auto;
}

.hn-hub-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 10px 0;
}

.hn-hub-pops {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin: 18px 0 0;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
}

.hn-hub-pops a {
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}

.hn-hub-pops a:hover { border-bottom-color: #fff; }

.hn-hub-hero__card {
  justify-self: end;
  max-width: 260px;
  padding: 8px 0 4px;
}

.hn-hub-hero__card p {
  margin: 0 0 16px;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 750;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

.hn-hub-hero__card .hn-btn { margin: 0 8px 8px 0; }

.hn-hub-cats {
  border-bottom: 1px solid var(--hn-line);
  background: #fff;
}

.hn-hub-cats__row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 4px;
  padding: 18px 0;
}

.hn-hub-cats a {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 92px;
  padding: 10px 12px;
  border-radius: 16px;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 600;
  color: #3b433e;
  text-align: center;
}

.hn-hub-cats svg { width: 22px; height: 22px; }

.hn-hub-cats a:hover,
.hn-hub-cats a.is-on {
  background: var(--hn-cream);
  color: var(--hn-forest);
}

.hn-hub-banner {
  margin: 24px 0 0;
  padding: 14px 16px;
  border-radius: 14px;
  background: #f7f1e6;
  border: 1px solid #ead9b8;
}

.hn-hub-banner.is-ok {
  background: #eef6f1;
  border-color: #c9ddd2;
}

.hn-hub-board { padding: 48px 0 72px; }

.hn-hub-board__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 36px;
  align-items: start;
}

.hn-hub-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  margin: 0 0 22px;
}

.hn-hub-head h2 { font-size: clamp(26px, 3vw, 34px); }

.hn-hub-head p {
  margin: 8px 0 0;
  color: var(--hn-muted);
  font-size: 15px;
}

.hn-hub-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.hn-hub-tools select {
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  background: #fff;
  font: inherit;
}

.hn-hub-feat,
.hn-hub-latest {
  display: grid;
  gap: 18px;
  margin-bottom: 48px;
}

.hn-hub-feat { grid-template-columns: repeat(3, 1fr); }
.hn-hub-latest { grid-template-columns: repeat(2, 1fr); }

.hn-hub-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-radius);
  overflow: hidden;
}

.hn-hub-card img {
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
}

.hn-hub-card__body { padding: 16px 16px 18px; }

.hn-hub-card em {
  display: inline-block;
  margin-bottom: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--hn-cream);
  color: var(--hn-forest);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hn-hub-card h3 {
  font-size: 18px;
  margin: 0;
}

.hn-hub-card p {
  margin: 8px 0 12px;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-hub-card span {
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-hub-card:hover { border-color: #cfd6cf; }

.hn-hub-empty {
  padding: 28px;
  border: 1px dashed var(--hn-line);
  border-radius: 16px;
  color: var(--hn-muted);
}

.hn-hub-rail { display: grid; gap: 18px; }

.hn-hub-mail,
.hn-hub-trend,
.hn-hub-aside {
  padding: 22px;
  border: 1px solid var(--hn-line);
  border-radius: 20px;
  background: #fff;
}

.hn-hub-mail__icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--hn-cream);
  color: var(--hn-forest);
  margin: 0 0 12px;
}

.hn-hub-mail__icon svg { width: 20px; height: 20px; }

.hn-hub-mail h2,
.hn-hub-trend h2,
.hn-hub-aside h2 { font-size: 20px; margin-bottom: 8px; }

.hn-hub-mail p,
.hn-hub-aside p {
  margin: 0 0 16px;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-hub-mail input[type="email"] {
  width: 100%;
  min-height: 46px;
  margin-bottom: 10px;
  padding: 0 14px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
}

.hn-hub-mail small {
  display: block;
  margin-top: 10px;
  color: var(--hn-muted);
  font-size: 12px;
}

.hn-hub-trend ol { list-style: none; margin: 0; padding: 0; }

.hn-hub-trend li + li { border-top: 1px solid var(--hn-line); }

.hn-hub-trend a {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  text-decoration: none;
}

.hn-hub-trend img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 12px;
}

.hn-hub-trend strong { display: block; font-size: 14px; line-height: 1.3; }

.hn-hub-trend em {
  display: block;
  margin-top: 4px;
  color: var(--hn-muted);
  font-size: 12px;
  font-style: normal;
}

.hn-hub-aside { background: #f3faf5; border-color: #d7e6dc; }

.hn-hub-foot {
  background: var(--hn-forest-deep);
  color: #fff;
  padding: 36px 0;
}

.hn-hub-foot__row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 24px;
  align-items: center;
}

.hn-hub-foot h2 { font-size: clamp(22px, 2.4vw, 30px); color: #fff; }

.hn-hub-foot p { margin: 8px 0 0; color: rgba(255, 255, 255, 0.72); }

.hn-hub-flags {
  font-size: 13px;
  text-align: right;
}

.hn-hub-flags a { color: #fff; }

.hn-guide-answer {
  font-size: 18px;
  padding: 18px 20px;
  border-radius: 16px;
  background: var(--hn-cream);
  border-left: 4px solid var(--hn-north);
}

.hn-guide-faqs { margin: 0; }

.hn-guide-faqs div {
  padding: 14px 0;
  border-top: 1px solid var(--hn-line);
}

.hn-guide-faqs dt { font-weight: 700; margin-bottom: 6px; }

.hn-guide-faqs dd { margin: 0; color: var(--hn-muted); }

.hn-guide-more {
  padding: 20px;
  border: 1px solid var(--hn-line);
  border-radius: 20px;
  background: #fff;
}

.hn-guide-more h2 { font-size: 18px; margin-bottom: 8px; }

.hn-guide-more ul { list-style: none; margin: 0 0 14px; padding: 0; }

.hn-guide-more li + li { border-top: 1px solid var(--hn-line); }

.hn-guide-more a {
  text-decoration: none;
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
}

.hn-guide-more .hn-text-link {
  display: inline;
  grid-template-columns: none;
  padding: 0;
}

.hn-guide-more img {
  width: 72px;
  height: 56px;
  object-fit: cover;
  border-radius: 10px;
}

.hn-guide-more strong { display: block; font-size: 14px; line-height: 1.3; }

.hn-guide-more em {
  display: block;
  margin-top: 4px;
  color: var(--hn-muted);
  font-size: 13px;
  font-style: normal;
}

.hn-art-crumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 18px 0;
  font-size: 13px;
  color: var(--hn-muted);
}

.hn-art-crumb a { color: var(--hn-muted); text-decoration: none; }

.hn-art-crumb a:hover,
.hn-art-crumb span:last-child { color: var(--hn-ink); }

.hn-art-hero {
  position: relative;
  color: #fff;
  overflow: hidden;
  min-height: 420px;
  display: flex;
  align-items: end;
  padding: 56px 0 40px;
}

.hn-art-hero__media {
  position: absolute;
  inset: 0;
}

.hn-art-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hn-art-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 18, 14, 0.18) 0%, rgba(8, 18, 14, 0.78) 100%);
}

.hn-art-hero__copy {
  position: relative;
  z-index: 1;
  max-width: 820px;
}

.hn-art-hero em {
  display: inline-block;
  margin-bottom: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hn-art-hero h1 {
  color: #fff;
  max-width: 18rem;
  margin-bottom: 12px;
}

.hn-art-hero__copy > p {
  margin: 0 0 16px;
  max-width: 40rem;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.86);
}

.hn-art-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.72);
}

.hn-art-by {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 22px 0;
  border-bottom: 1px solid var(--hn-line);
}

.hn-art-by__who {
  display: flex;
  align-items: center;
  gap: 12px;
}

.hn-art-by__who img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid var(--hn-line);
}

.hn-art-by__who strong,
.hn-art-about strong { display: block; }

.hn-art-by__who em,
.hn-art-about em {
  color: var(--hn-muted);
  font-size: 13px;
  font-style: normal;
}

.hn-art-share {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 650;
  color: var(--hn-forest);
}

.hn-art-share svg { width: 16px; height: 16px; }

.hn-art-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 48px;
  padding: 36px 0 72px;
  align-items: start;
}

.hn-art-prose {
  font-size: 17px;
  line-height: 1.65;
}

.hn-art-prose h2 {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  font-size: 26px;
  margin: 36px 0 12px;
}

.hn-art-prose h2 span {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--hn-forest);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}

.hn-art-faqhead { display: block; }

.hn-art-faqhead span { display: none; }

.hn-art-prose p,
.hn-art-prose ul { margin: 0 0 16px; }

.hn-art-prose a { color: var(--hn-forest); font-weight: 600; }

.hn-art-keys {
  margin: 22px 0 28px;
  padding: 20px 22px;
  border-radius: 18px;
  background: #f3faf5;
}

.hn-art-keys h2 {
  display: block;
  margin: 0 0 12px;
  font-size: 18px;
}

.hn-art-keys ul { list-style: none; margin: 0; padding: 0; }

.hn-art-keys li {
  position: relative;
  padding: 6px 0 6px 28px;
}

.hn-art-keys li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--hn-north);
  box-shadow: inset 0 0 0 3px #f3faf5;
}

.hn-art-note {
  margin: 20px 0;
  padding: 16px 18px;
  border-radius: 16px;
  background: var(--hn-cream);
  color: #244136;
}

.hn-art-shots {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 18px 0 24px;
}

.hn-art-shots figure { margin: 0; }

.hn-art-shots img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 14px;
}

.hn-art-shots figcaption {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 650;
  color: var(--hn-ink);
}

.hn-art-res {
  margin: 18px 0 24px;
  padding: 18px 20px;
  border: 1px solid var(--hn-line);
  border-radius: 16px;
  background: #fff;
}

.hn-art-res p {
  margin: 0 0 10px;
  font-weight: 700;
}

.hn-art-res ul { list-style: none; margin: 0; padding: 0; }

.hn-art-res li + li { border-top: 1px solid var(--hn-line); }

.hn-art-res a {
  display: block;
  padding: 10px 0;
  text-decoration: none;
}

.hn-art-side {
  display: grid;
  gap: 16px;
  position: sticky;
  top: 96px;
}

.hn-art-about,
.hn-art-toc,
.hn-art-cta,
.hn-art-help {
  padding: 20px;
  border: 1px solid var(--hn-line);
  border-radius: 20px;
  background: #fff;
}

.hn-art-about > p:first-child,
.hn-art-toc > p {
  margin: 0 0 12px;
  font-weight: 700;
}

.hn-art-about .hn-art-by__who { margin-bottom: 12px; }

.hn-art-about p { color: var(--hn-muted); font-size: 14px; }

.hn-art-toc ol { list-style: none; margin: 0; padding: 0; }

.hn-art-toc a {
  display: block;
  padding: 7px 0;
  text-decoration: none;
  font-size: 14px;
  color: #3b433e;
}

.hn-art-toc a:hover { color: var(--hn-forest); }

.hn-art-cta { background: var(--hn-cream); }

.hn-art-cta h2,
.hn-art-help h2 { font-size: 18px; margin-bottom: 8px; }

.hn-art-cta p,
.hn-art-help p {
  margin: 0 0 14px;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-art-cta .hn-btn { margin-bottom: 8px; }

.hn-art-foot {
  position: relative;
  color: #fff;
  overflow: hidden;
  padding: 56px 0;
}

.hn-art-foot__media {
  position: absolute;
  inset: 0;
}

.hn-art-foot__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hn-art-foot__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(8, 26, 20, 0.72);
}

.hn-art-foot__row {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

.hn-art-foot h2 { color: #fff; font-size: clamp(24px, 3vw, 34px); }

.hn-art-foot p { margin: 8px 0 0; color: rgba(255, 255, 255, 0.78); }

@media (max-width: 1080px) {
  .hn-hub-hero__grid,
  .hn-hub-board__grid,
  .hn-art-grid,
  .hn-hub-foot__row { grid-template-columns: 1fr; }
  .hn-hub-hero__card { justify-self: start; max-width: none; }
  .hn-hub-feat { grid-template-columns: 1fr 1fr; }
  .hn-hub-flags { text-align: left; }
}

@media (max-width: 720px) {
  .hn-hub-hero { padding: 48px 0 36px; }
  .hn-hub-search { flex-wrap: wrap; border-radius: 20px; padding: 10px; }
  .hn-hub-search .hn-btn { width: 100%; }
  .hn-hub-feat,
  .hn-hub-latest { grid-template-columns: 1fr; }
  .hn-hub-head { flex-direction: column; align-items: start; }
  .hn-hub-cats a { min-width: 78px; }
  .hn-art-hero h1 { max-width: none; }
  .hn-art-shots { grid-template-columns: 1fr; }
  .hn-art-by,
  .hn-art-foot__row { flex-direction: column; align-items: start; }
  .hn-art-side { position: static; }
}

/* About */
.hn-about-hero { padding: 36px 0 8px; }

.hn-about-hero__grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 56px;
  align-items: center;
}

.hn-about-hero h1 { margin-bottom: 18px; }

.hn-about-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.hn-about-hero__photo {
  position: relative;
  margin: 0;
}

.hn-about-hero__photo img {
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  border-radius: 28px;
}

.hn-about-hero__photo figcaption {
  position: absolute;
  right: 22px;
  bottom: 22px;
  color: #fff;
  font-weight: 750;
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -0.045em;
  line-height: 1.05;
  text-align: right;
  text-shadow: 0 10px 28px rgba(8, 18, 14, 0.5);
}

.hn-about-pillars { padding: 40px 0 8px; }

.hn-about-pillars__row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

.hn-about-pillars article { padding: 4px 8px 8px 0; }

.hn-about-pillars span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
  margin-bottom: 14px;
}

.hn-about-pillars svg { width: 18px; height: 18px; }

.hn-about-pillars h2 { font-size: 18px; margin-bottom: 6px; }

.hn-about-pillars p,
.hn-about-facts p,
.hn-about-more p,
.hn-about-mission p,
.hn-about-people__head p { color: var(--hn-muted); }

.hn-about-story { padding: 56px 0 20px; }

.hn-about-story__grid {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 48px;
  align-items: start;
}

.hn-about-story figure {
  margin: 0;
  border-radius: 28px;
  overflow: hidden;
}

.hn-about-story img {
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
}

.hn-about-story__copy > h2 { margin-bottom: 14px; }

.hn-about-story__copy > p { margin: 0 0 12px; }

.hn-about-facts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 28px;
}

.hn-about-facts strong {
  display: block;
  font-size: clamp(28px, 3vw, 36px);
  letter-spacing: -0.045em;
  color: var(--hn-forest);
}

.hn-about-facts h3 { font-size: 14px; margin: 6px 0 4px; }

.hn-about-facts p { margin: 0; font-size: 13px; line-height: 1.4; }

.hn-about-more { margin-top: 36px; }

.hn-about-more > h3 {
  font-size: clamp(26px, 2.6vw, 34px);
  margin-bottom: 22px;
}

.hn-about-more > h3 em {
  font-style: normal;
  text-decoration: underline;
  text-decoration-color: var(--hn-north);
  text-decoration-thickness: 3px;
  text-underline-offset: 7px;
}

.hn-about-more article {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.hn-about-more span {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
}

.hn-about-more svg { width: 18px; height: 18px; }

.hn-about-more strong { display: block; margin-bottom: 4px; }

.hn-about-more p { margin: 0; font-size: 14px; }

.hn-about-mission { padding: 64px 0 48px; scroll-margin-top: 88px; }

.hn-about-mission__intro { max-width: 40rem; margin-bottom: 36px; }

.hn-about-mission__intro h2 { margin-bottom: 14px; }

.hn-about-mission__intro .hn-btn { margin-top: 8px; }

.hn-about-mission ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.hn-about-mission li span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
  margin-bottom: 14px;
}

.hn-about-mission svg { width: 18px; height: 18px; }

.hn-about-mission strong { display: block; margin-bottom: 6px; }

.hn-about-mission li p { margin: 0; font-size: 14px; }

.hn-about-people { padding: 28px 0 64px; }

.hn-about-people__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 32px;
}

.hn-about-people h2 { margin-bottom: 10px; }

.hn-about-people__head p { max-width: 36rem; }

.hn-about-people__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.hn-about-people a {
  text-decoration: none;
  display: block;
  text-align: center;
}

.hn-about-people img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: top center;
  border-radius: 50%;
  margin-bottom: 14px;
}

.hn-about-people strong { display: block; }

.hn-about-people em {
  display: block;
  margin-top: 4px;
  color: var(--hn-muted);
  font-style: normal;
  font-size: 14px;
}

.hn-about-commit {
  position: relative;
  color: #fff;
  overflow: hidden;
  padding: 88px 0;
}

.hn-about-commit__media { position: absolute; inset: 0; }

.hn-about-commit__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hn-about-commit__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 26, 20, 0.78) 0%, rgba(8, 26, 20, 0.55) 100%);
}

.hn-about-commit__row {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
}

.hn-about-commit .hn-eyebrow { color: #d8e7df; }

.hn-about-commit h2 { color: #fff; max-width: 14ch; }

.hn-about-commit__row > div > p {
  max-width: 34rem;
  color: rgba(255, 255, 255, 0.8);
}

.hn-about-commit__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  max-width: 22rem;
}

.hn-about-commit__cta > p {
  width: 100%;
  margin: 0 0 4px;
  color: #fff;
  font-weight: 750;
  font-size: clamp(22px, 2.2vw, 28px);
  letter-spacing: -0.04em;
  line-height: 1.15;
}

.hn-about-flags { padding: 48px 0 64px; }

.hn-about-flags__row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 18px;
}

.hn-about-flags span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  color: var(--hn-forest);
  margin-bottom: 10px;
}

.hn-about-flags svg { width: 22px; height: 22px; }

.hn-about-flags strong { display: block; margin-bottom: 6px; }

.hn-about-flags p { margin: 0; color: var(--hn-muted); }

.hn-about-flags a { color: var(--hn-forest); }

.hn-about-flags__links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 22px;
  margin-top: 28px;
  font-weight: 650;
}

.hn-about-flags__links a { text-decoration: none; }

@media (max-width: 1080px) {
  .hn-about-hero__grid,
  .hn-about-story__grid,
  .hn-about-people__head,
  .hn-about-commit__row { display: grid; grid-template-columns: 1fr; }
  .hn-about-pillars__row,
  .hn-about-facts,
  .hn-about-mission ul,
  .hn-about-people__grid,
  .hn-about-flags__row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .hn-about-hero { padding-top: 20px; }
  .hn-about-pillars__row,
  .hn-about-facts,
  .hn-about-mission ul,
  .hn-about-people__grid,
  .hn-about-flags__row { grid-template-columns: 1fr; }
}

/* Contact */
.hn-contact-hero { padding: 36px 0 8px; }

.hn-contact-hero__grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 56px;
  align-items: center;
}

.hn-contact-hero h1 { margin-bottom: 16px; }

.hn-contact-pills {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.hn-contact-pills li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.hn-contact-pills span {
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
}

.hn-contact-pills svg { width: 16px; height: 16px; }

.hn-contact-pills strong { display: block; font-size: 14px; }

.hn-contact-pills em {
  display: block;
  font-style: normal;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-contact-hero__photo { position: relative; margin: 0; }

.hn-contact-hero__photo img {
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  border-radius: 28px;
}

.hn-contact-hero__photo figcaption {
  position: absolute;
  left: 22px;
  top: 22px;
  color: var(--hn-forest);
  font-weight: 750;
  font-size: clamp(22px, 2.2vw, 28px);
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.hn-contact-hero__photo p {
  position: absolute;
  right: 22px;
  bottom: 22px;
  margin: 0;
  text-align: right;
  color: var(--hn-forest);
  font-weight: 650;
  font-size: 15px;
  line-height: 1.25;
}

.hn-contact-note {
  margin: 12px 0 0;
  padding: 14px 16px;
  border-radius: 14px;
  background: #eef6f1;
  color: var(--hn-forest);
  font-weight: 600;
}

.hn-contact-body { padding: 48px 0 24px; }

.hn-contact-body__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: start;
}

.hn-contact-body h2 { margin-bottom: 8px; }

.hn-contact-body > .hn-wrap > div > p,
.hn-contact-aside > p,
.hn-contact-map > p { color: var(--hn-muted); }

.hn-contact-form { margin-top: 22px; }

.hn-contact-form__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.hn-contact-form .hn-field em { font-style: normal; font-weight: 500; color: var(--hn-muted); }

.hn-contact-form .hn-btn { width: 100%; margin-top: 6px; }

.hn-contact-legal {
  margin: 12px 0 0;
  text-align: center;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-contact-legal a { color: var(--hn-forest); font-weight: 650; }

.hn-contact-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

.hn-contact-drop { position: relative; }

.hn-contact-ways {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 16px;
}

.hn-contact-ways li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.hn-contact-ways span {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
}

.hn-contact-ways svg { width: 18px; height: 18px; }

.hn-contact-ways strong { display: block; }

.hn-contact-ways a { color: var(--hn-forest); font-weight: 650; text-decoration: none; }

.hn-contact-ways em {
  display: block;
  font-style: normal;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-contact-map { margin-top: 36px; }

.hn-contact-map__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-bottom: 8px;
}

.hn-contact-map h3 { font-size: 22px; }

.hn-contact-map__frame {
  position: relative;
  margin-top: 16px;
  border-radius: 22px;
  overflow: hidden;
  min-height: 280px;
  background: var(--hn-cream);
}

.hn-contact-map iframe {
  width: 100%;
  height: 280px;
  border: 0;
  display: block;
}

.hn-contact-map__card {
  position: absolute;
  left: 16px;
  top: 16px;
  max-width: 220px;
  padding: 14px 16px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(8, 26, 20, 0.12);
}

.hn-contact-map__card p { margin: 6px 0 8px; font-size: 13px; color: var(--hn-muted); }

.hn-contact-offices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 20px;
}

.hn-contact-offices strong { display: block; margin-bottom: 6px; }

.hn-contact-offices p { margin: 0 0 8px; color: var(--hn-muted); font-size: 14px; }

.hn-contact-offices a { color: var(--hn-forest); font-weight: 650; text-decoration: none; }

.hn-contact-faq { padding: 48px 0; }

.hn-contact-faq__grid {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 40px;
  align-items: start;
}

.hn-contact-faq h2 { margin-bottom: 10px; }

.hn-contact-faq__grid > div > p { color: var(--hn-muted); margin-bottom: 18px; }

.hn-contact-faq__list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }

.hn-contact-faq details {
  border-bottom: 1px solid var(--hn-line);
  padding: 14px 0;
}

.hn-contact-faq summary {
  list-style: none;
  cursor: pointer;
  font-weight: 650;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.hn-contact-faq summary::-webkit-details-marker { display: none; }

.hn-contact-faq summary::after {
  content: "+";
  flex: 0 0 auto;
  color: var(--hn-forest);
  font-size: 20px;
  line-height: 1;
}

.hn-contact-faq details[open] summary::after { content: "–"; }

.hn-contact-faq details p {
  margin: 10px 0 0;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-contact-commit {
  position: relative;
  color: #fff;
  overflow: hidden;
  padding: 88px 0;
}

.hn-contact-commit__media { position: absolute; inset: 0; }

.hn-contact-commit__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hn-contact-commit__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 26, 20, 0.78) 0%, rgba(8, 26, 20, 0.55) 100%);
}

.hn-contact-commit__row {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
}

.hn-contact-commit h2 { color: #fff; max-width: 14ch; }

.hn-contact-commit__row > div > p {
  max-width: 34rem;
  color: rgba(255, 255, 255, 0.8);
}

.hn-contact-commit__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  max-width: 22rem;
}

.hn-contact-commit__cta > p {
  width: 100%;
  margin: 0 0 4px;
  color: #fff;
  font-weight: 750;
  font-size: clamp(22px, 2.2vw, 28px);
  letter-spacing: -0.04em;
  line-height: 1.15;
}

@media (max-width: 1080px) {
  .hn-contact-hero__grid,
  .hn-contact-body__grid,
  .hn-contact-faq__grid,
  .hn-contact-commit__row { display: grid; grid-template-columns: 1fr; }
  .hn-contact-pills,
  .hn-contact-ways,
  .hn-contact-offices,
  .hn-contact-faq__list { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .hn-contact-hero { padding-top: 20px; }
  .hn-contact-pills,
  .hn-contact-form__split,
  .hn-contact-ways,
  .hn-contact-offices,
  .hn-contact-faq__list { grid-template-columns: 1fr; }
  .hn-contact-map__card { position: static; max-width: none; margin: 12px; }
}

/* Empty / status screens */
body.hn-status { background: #fff; }

.hn-status-main {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: #fff;
}

.hn-status-bar {
  display: flex;
  align-items: center;
  gap: 28px;
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: 18px 28px 8px;
}

.hn-status-bar nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 28px;
  margin-left: auto;
}

.hn-status-bar nav a {
  text-decoration: none;
  color: var(--hn-ink);
  font-size: 14.5px;
  font-weight: 620;
}

.hn-status-bar nav a:hover { color: var(--hn-forest); }

.hn-status-bar__in {
  color: var(--hn-forest);
  font-weight: 700;
  text-decoration: none;
  font-size: 14.5px;
  flex: 0 0 auto;
}

.hn-status-bar__out {
  color: var(--hn-muted);
  font-weight: 620;
  font-size: 14.5px;
  text-decoration: none;
  background: none;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  padding: 0;
}

.hn-status-bar__out:hover { color: var(--hn-forest); }

.hn-status-bar .hn-logout { margin: 0; }

.hn-status-bar .hn-logo__img { height: 46px; }

.hn-status-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: 16px 28px 28px;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-status-foot .hn-logo__img { height: 36px; }

.hn-empty {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 0;
  padding: 48px 24px;
}

.hn-empty.is-page {
  flex: 1;
  align-content: center;
  padding: 48px 28px 64px;
}

.hn-empty.is-split {
  grid-template-columns: minmax(280px, 440px) minmax(220px, 280px);
  justify-content: center;
  justify-items: start;
  align-items: center;
  text-align: left;
  gap: 48px 72px;
}

.hn-empty.is-compact {
  padding: 56px 20px 48px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 24px;
}

.hn-cabinet__main > .hn-empty.is-compact,
.hn-pro-list > .hn-empty.is-compact,
.hn-cab-card .hn-empty.is-compact {
  width: 100%;
}

.hn-cab-card .hn-empty.is-compact {
  border: 0;
  padding: 28px 8px 16px;
}

.hn-empty__copy {
  display: grid;
  justify-items: center;
  gap: 12px;
  max-width: 38rem;
}

.hn-empty.is-split .hn-empty__copy { justify-items: start; }

.hn-empty__kicker {
  margin: 0;
  color: var(--hn-muted);
  font-size: 15px;
  font-weight: 650;
}

.hn-empty h1,
.hn-empty .hn-empty__title {
  font-size: clamp(30px, 3.2vw, 40px);
  letter-spacing: -0.045em;
}

.hn-empty .hn-empty__title {
  margin: 0;
  color: inherit;
  font-weight: 700;
}

.hn-empty.is-compact h1 { font-size: clamp(26px, 2.6vw, 32px); }

.hn-empty p {
  margin: 0;
  color: var(--hn-muted);
  font-size: 16px;
  line-height: 1.55;
}

.hn-empty-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 8px;
}

.hn-empty.is-split .hn-empty-cta { justify-content: flex-start; }

.hn-empty-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 4px;
}

.hn-empty-chips a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 620;
  background: #fff;
}

.hn-empty-chips a:hover { border-color: var(--hn-forest); color: var(--hn-forest); }

.hn-empty-hint {
  margin: 16px 0 0 !important;
  font-size: 14px !important;
}

.hn-empty-search {
  display: flex;
  align-items: center;
  gap: 10px;
  width: min(100%, 420px);
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  background: #fff;
}

.hn-empty-search svg {
  width: 18px;
  height: 18px;
  color: var(--hn-muted);
  flex: 0 0 auto;
}

.hn-empty-search input {
  border: 0;
  outline: 0;
  width: 100%;
  background: transparent;
  padding: 0;
}

.hn-empty-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px !important;
  padding: 8px 14px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  font-size: 13.5px !important;
  color: var(--hn-ink) !important;
}

.hn-empty-ico {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: #f3f1ea;
  color: var(--hn-north);
  display: grid;
  place-items: center;
  margin-bottom: 18px;
}

.hn-empty.is-compact .hn-empty-ico {
  width: 80px;
  height: 80px;
  margin-bottom: 12px;
}

.hn-empty-ico svg { width: 36px; height: 36px; }

.hn-empty-scene {
  display: grid;
  justify-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

.hn-empty-scene b {
  display: grid;
  place-items: center;
  width: 92px;
  height: 68px;
  border: 1px solid var(--hn-line);
  border-radius: 10px;
  background: #fff;
  color: var(--hn-ink);
  font-size: 28px;
  letter-spacing: -0.04em;
  box-shadow: 0 8px 20px rgba(20, 26, 23, 0.06);
}

.hn-empty-scene .hn-empty-ico { margin: 0; }

.hn-empty-sign { width: min(100%, 280px); }

.hn-empty-sign svg { width: 100%; height: auto; display: block; }

.hn-offline-layer {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: #fff;
  overflow: auto;
}

.hn-offline-layer .hn-status-main { min-height: 100%; }

body.hn-status .hn-offline-layer { display: none !important; }

@media (max-width: 820px) {
  .hn-empty.is-split {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 28px;
  }
  .hn-empty.is-split .hn-empty__copy,
  .hn-empty.is-split .hn-empty-cta { justify-items: center; justify-content: center; }
  .hn-status-bar,
  .hn-status-foot { padding-left: 20px; padding-right: 20px; }
  .hn-status-bar { flex-wrap: wrap; gap: 12px 20px; }
  .hn-status-bar nav { margin-left: 0; width: 100%; justify-content: flex-start; gap: 18px; }
}

/* Service areas */
.hn-areas-hero {
  position: relative;
  color: #fff;
  overflow: hidden;
  padding: 72px 0 0;
}

.hn-areas-hero__media {
  position: absolute;
  inset: 0;
}

.hn-areas-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hn-areas-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 18, 14, 0.72) 0%, rgba(6, 18, 14, 0.58) 48%, rgba(6, 18, 14, 0.88) 100%);
}

.hn-areas-hero__grid,
.hn-areas-hero__stats-row {
  position: relative;
  z-index: 1;
}

.hn-areas-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 32px;
  align-items: end;
  padding-bottom: 36px;
}

.hn-areas-hero .hn-eyebrow { color: rgba(255, 255, 255, 0.72); }

.hn-areas-hero h1 {
  color: #fff;
  max-width: 16ch;
  margin-bottom: 16px;
}

.hn-areas-hero .hn-lead {
  color: rgba(255, 255, 255, 0.82);
  max-width: 40rem;
}

.hn-areas-hero__quote {
  margin: 0;
  text-align: right;
  font-weight: 750;
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -0.04em;
  line-height: 1.1;
}

.hn-areas-search {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 28px 0 16px;
  padding: 6px 6px 6px 16px;
  background: #fff;
  border-radius: 999px;
  max-width: 560px;
}

.hn-areas-search svg {
  width: 18px;
  height: 18px;
  color: var(--hn-muted);
  flex: 0 0 auto;
}

.hn-areas-search input {
  border: 0;
  outline: 0;
  width: 100%;
  background: transparent;
  color: var(--hn-ink);
  min-height: 40px;
}

.hn-areas-popular {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
}

.hn-areas-popular a {
  color: #fff;
  font-weight: 650;
  text-decoration: none;
}

.hn-areas-popular a:hover { text-decoration: underline; }

.hn-areas-hero__stats {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding: 22px 0 28px;
}

.hn-areas-hero__stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.hn-areas-hero__stats article {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 2px 10px;
}

.hn-areas-hero__stats span {
  grid-row: 1 / 3;
  color: #d5e6db;
}

.hn-areas-hero__stats svg { width: 22px; height: 22px; }

.hn-areas-hero__stats strong {
  font-size: 22px;
  letter-spacing: -0.04em;
}

.hn-areas-hero__stats em {
  font-style: normal;
  font-weight: 650;
  font-size: 14px;
}

.hn-areas-hero__stats p {
  grid-column: 2;
  margin: 2px 0 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
}

.hn-areas-board { padding: 36px 0 20px; }

.hn-areas-switch {
  display: flex;
  gap: 8px;
  margin-bottom: 22px;
}

.hn-areas-switch a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid var(--hn-line);
  text-decoration: none;
  font-weight: 650;
}

.hn-areas-switch a.is-on {
  background: var(--hn-forest);
  border-color: var(--hn-forest);
  color: #fff;
}

.hn-areas-hit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin: 0 0 22px;
  padding: 18px 20px;
  border: 1px solid var(--hn-line);
  border-radius: 20px;
  background: var(--hn-cream);
}

.hn-areas-hit p { margin: 0; flex: 1 1 16rem; }

.hn-areas-explore {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.hn-areas-explore__label {
  margin: 0 0 10px;
  font-weight: 750;
  font-size: 18px;
}

.hn-areas-explore nav {
  display: grid;
  max-height: min(72vh, 680px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--hn-line);
  border-radius: 20px;
  background: #fff;
}

.hn-areas-explore nav a {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 8px;
  padding: 13px 16px;
  text-decoration: none;
  border-bottom: 1px solid var(--hn-line);
  font-weight: 620;
}

.hn-areas-explore nav a:last-child { border-bottom: 0; }

.hn-areas-explore nav a:hover,
.hn-areas-explore nav a.is-on { background: #f6f7f4; }

.hn-areas-explore nav em {
  font-style: normal;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--hn-north);
}

.hn-areas-explore nav svg { width: 16px; height: 16px; color: var(--hn-muted); }

.hn-areas-map {
  position: relative;
  min-height: 520px;
  border: 1px solid var(--hn-line);
  border-radius: 24px;
  background: #f7f6f2;
  overflow: hidden;
}

.hn-areas-map__bar {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  display: flex;
  gap: 8px;
}

.hn-areas-map__view,
.hn-areas-map__zoom {
  display: flex;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  overflow: hidden;
}

.hn-areas-map__view button,
.hn-areas-map__zoom button {
  border: 0;
  background: transparent;
  min-width: 44px;
  min-height: 36px;
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}

.hn-areas-map__view button.is-on {
  background: var(--hn-forest);
  color: #fff;
}

.hn-areas-map__art {
  min-height: 520px;
  display: grid;
  place-items: center;
  padding: 36px 20px 72px;
  transform-origin: 50% 40%;
}

.hn-areas-svg { width: min(100%, 860px); height: auto; display: block; }

.hn-areas-svg__us {
  fill: #ece9e2;
  stroke: #e4e1d8;
  stroke-width: 0.7;
  pointer-events: none;
}

.hn-areas-svg__prov {
  fill: #d7e4da;
  stroke: #f7f6f2;
  stroke-width: 1.15;
  stroke-linejoin: round;
  cursor: pointer;
  transition: fill 0.15s ease;
}

.hn-areas-svg__prov:hover { fill: #c5d4c8; }

.hn-areas-svg__prov.is-live { fill: #c5d4c8; }

.hn-areas-svg__prov.is-on,
.hn-areas-svg__prov.is-on:hover { fill: var(--hn-north); }

.hn-areas-svg__code {
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.04em;
  fill: #5b665f;
  font-family: var(--hn-sans);
  text-anchor: middle;
  dominant-baseline: middle;
  pointer-events: none;
  paint-order: stroke fill;
  stroke: #f7f6f2;
  stroke-width: 3;
}

.hn-areas-svg__code.is-on {
  fill: #fff;
  stroke: var(--hn-north);
}

.hn-areas-svg__live { cursor: pointer; }

.hn-areas-svg__pulse {
  fill: none;
  stroke: var(--hn-forest);
  stroke-width: 1.4;
  opacity: 0.45;
  transform-origin: center;
  transform-box: fill-box;
  animation: hn-map-pin 2.2s ease-out infinite;
}

.hn-areas-svg__dot {
  fill: var(--hn-forest);
  stroke: #fff;
  stroke-width: 2;
  pointer-events: none;
}

.hn-areas-svg__caption {
  font-size: 11px;
  font-weight: 700;
  fill: var(--hn-forest);
  font-family: var(--hn-sans);
  pointer-events: none;
}

.hn-areas-svg__note {
  fill: #8b948c;
  font-size: 12px;
  font-weight: 650;
  font-family: var(--hn-sans);
  text-anchor: middle;
  pointer-events: none;
}

@keyframes hn-map-pin {
  0% { transform: scale(1); opacity: 0.45; }
  100% { transform: scale(2.3); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .hn-areas-svg__pulse { animation: none; }
}

.hn-areas-card {
  position: absolute;
  left: 20px;
  right: auto;
  top: auto;
  bottom: 56px;
  width: min(260px, calc(100% - 40px));
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 0 16px 40px rgba(20, 26, 23, 0.08);
  z-index: 2;
}

.hn-areas-card > p {
  margin: 0 0 4px;
  font-weight: 750;
}

.hn-areas-card strong { display: block; margin-bottom: 8px; }

.hn-areas-card ul {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
}

.hn-areas-card li + li { border-top: 1px solid var(--hn-line); }

.hn-areas-card a { text-decoration: none; display: block; padding: 7px 0; }

.hn-areas-map__help {
  position: absolute;
  left: 20px;
  bottom: 16px;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #fff;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  font-size: 13px;
  color: var(--hn-muted);
}

.hn-areas-explore.is-list .hn-areas-map__art,
.hn-areas-explore.is-list .hn-areas-card { display: none; }

.hn-areas-explore.is-list .hn-areas-map { min-height: 0; padding: 64px 20px 20px; }

.hn-areas-cities { padding: 48px 0; }

.hn-areas-cities__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 16px 14px;
}

.hn-areas-city {
  display: grid;
  gap: 10px;
  text-decoration: none;
  color: inherit;
}

.hn-areas-city__media {
  position: relative;
  display: block;
  aspect-ratio: 1.35;
  border-radius: 16px;
  overflow: hidden;
  background: #0c3d2e;
}

.hn-areas-city__media img,
.hn-areas-city__media svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.hn-areas-city__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(12, 61, 46, 0) 42%, rgba(12, 61, 46, 0.28));
  pointer-events: none;
}

.hn-areas-city:hover .hn-areas-city__media img,
.hn-areas-city:hover .hn-areas-city__media svg {
  transform: scale(1.04);
}

.hn-areas-city strong { display: block; font-size: 15px; }

.hn-areas-city em {
  color: var(--hn-muted);
  font-style: normal;
  font-size: 13px;
}

.hn-areas-city.is-live em { color: var(--hn-north); font-weight: 650; }

.hn-areas-grow {
  padding: 28px 0 64px;
}

.hn-areas-grow__head {
  max-width: 40rem;
  margin-bottom: 28px;
}

.hn-areas-grow__head p { color: var(--hn-muted); }

.hn-areas-grow__grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr 0.85fr;
  gap: 20px;
}

.hn-areas-grow article {
  padding: 24px;
  border: 1px solid var(--hn-line);
  border-radius: 22px;
  background: #fff;
}

.hn-areas-grow article span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
  margin-bottom: 14px;
}

.hn-areas-grow svg { width: 18px; height: 18px; }

.hn-areas-grow h3 { font-size: 20px; margin-bottom: 8px; }

.hn-areas-grow p { color: var(--hn-muted); margin: 0 0 12px; }

.hn-areas-request { display: grid; gap: 10px; }

.hn-areas-request label { display: grid; gap: 4px; }

.hn-areas-request span { font-size: 13px; font-weight: 650; }

.hn-areas-request input {
  min-height: 44px;
  border: 1px solid var(--hn-line);
  border-radius: 12px;
  padding: 0 12px;
}

.hn-areas-commit {
  position: relative;
  color: #fff;
  overflow: hidden;
  padding: 88px 0;
}

.hn-areas-commit__media { position: absolute; inset: 0; }

.hn-areas-commit__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hn-areas-commit__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 26, 20, 0.78) 0%, rgba(8, 26, 20, 0.55) 100%);
}

.hn-areas-commit__row {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
}

.hn-areas-commit .hn-eyebrow { color: #d8e7df; }

.hn-areas-commit h2 { color: #fff; max-width: 14ch; }

.hn-areas-commit__row > div > p {
  max-width: 36rem;
  color: rgba(255, 255, 255, 0.8);
}

.hn-areas-commit__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  max-width: 22rem;
}

.hn-areas-commit__cta > p {
  width: 100%;
  margin: 0 0 4px;
  color: #fff;
  font-weight: 750;
  font-size: clamp(22px, 2.2vw, 28px);
  letter-spacing: -0.04em;
}

@media (max-width: 1080px) {
  .hn-areas-hero__grid,
  .hn-areas-explore,
  .hn-areas-grow__grid,
  .hn-areas-commit__row { display: grid; grid-template-columns: 1fr; }
  .hn-areas-hero__stats-row,
  .hn-areas-cities__grid { grid-template-columns: 1fr 1fr; }
  .hn-areas-hero__quote { text-align: left; }
  .hn-areas-card { position: static; width: auto; margin: 0 16px 16px; }
}

@media (max-width: 720px) {
  .hn-areas-hero { padding-top: 36px; }
  .hn-areas-search { flex-wrap: wrap; border-radius: 20px; padding: 10px; }
  .hn-areas-search .hn-btn { width: 100%; }
  .hn-areas-hero__stats-row,
  .hn-areas-cities__grid { grid-template-columns: 1fr; }
}

/* Pricing */
.hn-price-hero { padding: 40px 0 8px; }

.hn-price-hero__grid {
  display: grid;
  grid-template-columns: 0.94fr 1.06fr;
  gap: 56px;
  align-items: center;
}

.hn-price-hero h1 { max-width: 18ch; margin-bottom: 16px; }

.hn-price-thesis {
  margin: 18px 0 0;
  padding: 14px 16px;
  max-width: 34rem;
  border-radius: 16px;
  background: #e8f3ec;
  color: var(--hn-forest);
  font-weight: 750;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.hn-price-points {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 22px;
}

.hn-price-points li { display: grid; grid-template-columns: 36px 1fr; gap: 0 10px; }

.hn-price-points span {
  grid-row: 1 / span 2;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
}

.hn-price-points svg { width: 16px; height: 16px; }

.hn-price-points strong { font-size: 14.5px; }

.hn-price-points em {
  color: var(--hn-muted);
  font-style: normal;
  font-size: 13.5px;
}

.hn-price-hero__photo { position: relative; margin: 0; }

.hn-price-hero__photo img {
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  border-radius: 28px;
}

.hn-price-hero__photo figcaption {
  position: absolute;
  right: 22px;
  bottom: 22px;
  color: #fff;
  font-weight: 750;
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -0.045em;
  line-height: 1.05;
  text-align: right;
  text-shadow: 0 10px 28px rgba(8, 18, 14, 0.5);
}

.hn-price-board { padding: 48px 0 16px; }

.hn-price-switch {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.hn-price-switch__bill,
.hn-price-switch__fx {
  display: inline-flex;
  padding: 4px;
  border-radius: 999px;
  background: var(--hn-cream);
}

.hn-price-switch a {
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-weight: 650;
  font-size: 14px;
  color: var(--hn-muted);
}

.hn-price-switch a[aria-current="page"] {
  background: #fff;
  color: var(--hn-forest);
  box-shadow: var(--hn-shadow);
}

.hn-price-switch em {
  font-style: normal;
  color: var(--hn-north);
  font-size: 12.5px;
}

.hn-price-tax {
  margin: 0 0 28px;
  color: var(--hn-muted);
  font-size: 14px;
  max-width: 52rem;
}

.hn-price-tax--file {
  padding: 12px 16px;
  border-radius: 14px;
  background: #eef6f1;
  color: var(--hn-forest);
  max-width: none;
}

.hn-price-intro-hero {
  margin: 10px 0 0;
  max-width: 40rem;
  color: var(--hn-forest);
  font-weight: 650;
  font-size: 15.5px;
  letter-spacing: -0.02em;
}

.hn-price-intro {
  margin: 0 0 28px;
  padding: 22px 24px 20px;
  border-radius: 24px;
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(232, 201, 122, 0.22), transparent 42%),
    linear-gradient(135deg, #0c3d2e 0%, #164f3c 48%, #1f6a4e 100%);
  color: #fff;
  box-shadow: 0 18px 40px rgba(12, 61, 46, 0.16);
}

.hn-price-intro__kicker {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #e8c97a;
}

.hn-price-intro h2 {
  margin: 0 0 16px;
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -0.04em;
  color: #fff;
}

.hn-price-intro__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
}

.hn-price-intro__steps li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0;
  padding: 14px 14px 14px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.1);
}

.hn-price-intro__steps i {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e8c97a;
  color: #0c3d2e;
  font-style: normal;
  font-weight: 780;
  font-size: 13px;
}

.hn-price-intro__steps strong {
  display: block;
  font-size: 15.5px;
  letter-spacing: -0.02em;
}

.hn-price-intro__steps span {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 13.5px;
  line-height: 1.4;
}

.hn-price-intro__fine {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  line-height: 1.45;
  max-width: 62rem;
}

.hn-price-addons__note {
  margin: -4px 0 16px;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-price-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.hn-price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 28px 22px 24px;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--hn-shadow);
  border: 1px solid var(--hn-line);
}

.hn-price-card.is-popular {
  background: #f3faf5;
  border-color: var(--hn-north);
  box-shadow: 0 18px 40px rgba(12, 61, 46, 0.08);
}

.hn-price-card__badge {
  position: absolute;
  top: -12px;
  left: 22px;
  margin: 0;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--hn-north);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

.hn-price-card h2 { font-size: 26px; margin-bottom: 8px; }

.hn-price-card__blurb {
  margin: 0 0 18px;
  color: var(--hn-muted);
  font-size: 14px;
  min-height: 3.2em;
}

.hn-price-card__sum {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  margin: 0 0 4px;
}

.hn-price-card__now,
.hn-price-card__then {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
}

.hn-price-card__now {
  margin: 0 0 2px;
}

.hn-price-card__now strong {
  font-size: clamp(34px, 3vw, 42px);
  letter-spacing: -0.05em;
  font-weight: 780;
  color: var(--hn-north);
}

.hn-price-card__then {
  margin: 0 0 4px;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-price-card__then-kicker {
  font-weight: 750;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hn-north);
}

.hn-price-card.is-intro .hn-price-card__year {
  margin: 0 0 12px;
}

.hn-price-card__sum strong {
  font-size: clamp(34px, 3vw, 42px);
  letter-spacing: -0.05em;
  font-weight: 780;
}

.hn-price-card__sum span,
.hn-price-card__sum em,
.hn-price-card__now span,
.hn-price-card__now em,
.hn-price-card__then span,
.hn-price-card__then em,
.hn-price-card__year,
.hn-price-addons__sum span,
.hn-price-addons__sum em,
.hn-price-addons__sum small {
  color: var(--hn-muted);
  font-style: normal;
  font-size: 13.5px;
}

.hn-price-card__year { margin: 0 0 16px; }

.hn-price-card__year .hn-price-card__then-kicker {
  color: var(--hn-north);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hn-price-card .hn-btn { margin: 8px 0 8px; }

.hn-price-card__trial {
  margin: 0 0 16px;
  color: var(--hn-muted);
  font-size: 12.5px;
}

.hn-price-card ul {
  list-style: none;
  margin: auto 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--hn-line);
}

.hn-price-card li {
  display: flex;
  gap: 10px;
  align-items: start;
  margin: 0 0 10px;
  font-size: 13.5px;
}

.hn-price-card li span {
  width: 18px;
  flex: 0 0 18px;
  color: var(--hn-north);
  margin-top: 1px;
}

.hn-price-card li.is-off { color: #9aa39c; }

.hn-price-card li.is-off span { color: #c4c8c2; }

.hn-price-card svg { width: 18px; height: 18px; }

.hn-price-trust { padding: 36px 0 8px; }

.hn-price-trust__row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.hn-price-trust article { padding: 4px 8px 8px 0; }

.hn-price-trust span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
  margin-bottom: 12px;
}

.hn-price-trust svg { width: 18px; height: 18px; }

.hn-price-trust p { margin: 6px 0 0; color: var(--hn-muted); font-size: 14px; }

.hn-price-addons { padding: 48px 0; }

.hn-price-addons__grid {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: 48px;
  align-items: center;
}

.hn-price-phone {
  display: grid;
  place-items: center;
}

.hn-price-phone__frame {
  width: min(100%, 280px);
  padding: 28px 22px 22px;
  border-radius: 36px;
  background: #111814;
  color: #fff;
  box-shadow: 0 24px 50px rgba(8, 18, 14, 0.22);
}

.hn-price-phone__hello {
  margin: 0 0 10px;
  color: #9db5a8;
  font-size: 12px;
}

.hn-price-phone__frame > strong {
  display: block;
  font-size: 22px;
  letter-spacing: -0.04em;
  line-height: 1.15;
  margin-bottom: 10px;
}

.hn-price-phone__frame > p {
  margin: 0 0 16px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 13.5px;
}

.hn-price-phone__frame ul { list-style: none; margin: 0; padding: 0; }

.hn-price-phone__frame li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 13px;
}

.hn-price-phone__frame em { color: #9db5a8; font-style: normal; }

.hn-price-addons__list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }

.hn-price-addons__list article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 4px 12px;
  padding: 20px 18px 16px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--hn-line);
}

.hn-price-addons__list article > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
}

.hn-price-addons__list svg { width: 18px; height: 18px; }

.hn-price-addons__list h3 { font-size: 17px; margin-bottom: 4px; }

.hn-price-addons__list p { margin: 0; color: var(--hn-muted); font-size: 13.5px; }

.hn-price-addons__sum { margin-top: 10px !important; }

.hn-price-addons__sum strong { color: var(--hn-ink); font-size: 20px; }

.hn-price-addons__list .hn-btn {
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 38px;
  margin-top: 8px;
}

.hn-price-faq { padding: 24px 0 48px; }

.hn-price-faq__grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 48px;
}

.hn-price-faq h2 { max-width: 16ch; margin-bottom: 16px; }

.hn-price-faq details {
  border-bottom: 1px solid var(--hn-line);
  padding: 4px 0;
}

.hn-price-faq summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 28px 16px 0;
  font-weight: 680;
  position: relative;
}

.hn-price-faq summary::-webkit-details-marker { display: none; }

.hn-price-faq summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 14px;
  color: var(--hn-muted);
  font-size: 22px;
  font-weight: 400;
}

.hn-price-faq details[open] summary::after { content: "–"; }

.hn-price-faq details p {
  margin: 0 0 16px;
  color: var(--hn-muted);
  max-width: 42rem;
}

.hn-price-home { padding: 8px 0 56px; }

.hn-price-home__row {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
  padding: 32px;
  border-radius: 28px;
  background: var(--hn-cream);
}

.hn-price-home h2 { max-width: 16ch; margin-bottom: 10px; }

.hn-price-home p { max-width: 38rem; color: var(--hn-muted); }

.hn-price-home ol {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.hn-price-home li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 0 10px;
}

.hn-price-home i {
  grid-row: 1 / span 2;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--hn-forest);
  font-style: normal;
  font-weight: 750;
  font-size: 13px;
}

.hn-price-home span { color: var(--hn-muted); font-size: 14px; }

.hn-price-commit {
  position: relative;
  color: #fff;
  overflow: hidden;
  padding: 88px 0;
}

.hn-price-commit__media { position: absolute; inset: 0; }

.hn-price-commit__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hn-price-commit__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 26, 20, 0.78) 0%, rgba(8, 26, 20, 0.55) 100%);
}

.hn-price-commit__row {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
}

.hn-price-commit .hn-eyebrow { color: #d8e7df; }

.hn-price-commit h2 { color: #fff; max-width: 16ch; }

.hn-price-commit__row > div > p {
  max-width: 36rem;
  color: rgba(255, 255, 255, 0.8);
}

.hn-price-commit__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  max-width: 22rem;
}

.hn-price-commit__cta > p {
  width: 100%;
  margin: 0 0 4px;
  color: #fff;
  font-weight: 750;
  font-size: clamp(22px, 2.2vw, 28px);
  letter-spacing: -0.04em;
}

.hn-apply-plan {
  margin: 0 0 18px;
  padding: 14px 16px;
  border-radius: 16px;
  background: #e8f3ec;
}

.hn-apply-plan--intro {
  background:
    linear-gradient(180deg, #f7fbf8 0%, #e8f3ec 100%);
  border: 1px solid #cfe3d6;
}

.hn-apply-plan__now {
  display: inline-block;
  margin: 6px 0 4px;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--hn-north);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
}

.hn-apply-plan strong { display: block; color: var(--hn-forest); }

.hn-apply-plan p { margin: 4px 0 0; color: var(--hn-muted); font-size: 14px; }

@media (max-width: 1180px) {
  .hn-price-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1080px) {
  .hn-price-hero__grid,
  .hn-price-addons__grid,
  .hn-price-faq__grid,
  .hn-price-home__row,
  .hn-price-commit__row { display: grid; grid-template-columns: 1fr; }
  .hn-price-trust__row { grid-template-columns: 1fr 1fr; }
  .hn-price-hero__photo figcaption { text-align: left; left: 22px; right: auto; }
}

@media (max-width: 720px) {
  .hn-price-points,
  .hn-price-grid,
  .hn-price-trust__row,
  .hn-price-addons__list { grid-template-columns: 1fr; }
  .hn-price-home__row { padding: 22px; }
  .hn-price-switch__bill a em { display: none; }
  .hn-price-intro { padding: 18px 16px 16px; }
  .hn-price-intro__steps { grid-template-columns: 1fr; }
}

/* Legal + audience docs */
.hn-doc-hero { padding: 40px 0 8px; }

.hn-doc-hero h1 { max-width: 16ch; margin-bottom: 14px; }

.hn-doc-updated {
  margin: 16px 0 0;
  color: var(--hn-muted);
  font-size: 13.5px;
}

.hn-doc-body { padding: 28px 0 72px; }

.hn-doc-body__grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 48px;
  align-items: start;
}

.hn-doc-toc {
  list-style: none;
  margin: 0;
  padding: 18px;
  border-radius: 20px;
  background: var(--hn-cream);
  position: sticky;
  top: 96px;
}

.hn-doc-toc a {
  display: block;
  padding: 6px 0;
  text-decoration: none;
  color: var(--hn-forest);
  font-weight: 650;
  font-size: 14px;
}

.hn-doc-prose article { margin: 0 0 28px; }

.hn-doc-prose h2 { font-size: 22px; margin-bottom: 8px; }

.hn-doc-prose p { color: var(--hn-muted); max-width: 42rem; }

.hn-doc-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  padding-top: 12px;
  border-top: 1px solid var(--hn-line);
}

.hn-aud-steps {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.hn-aud-steps li {
  padding: 20px 18px;
  border-radius: 20px;
  background: var(--hn-cream);
}

.hn-aud-steps i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
  color: var(--hn-forest);
  font-style: normal;
  font-weight: 750;
  margin-bottom: 12px;
}

.hn-aud-steps p { color: var(--hn-muted); margin: 8px 0 12px; }

.hn-aud-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin-top: 28px;
}

.hn-aud-links a {
  color: var(--hn-forest);
  font-weight: 650;
  text-decoration: none;
}

@media (max-width: 1080px) {
  .hn-doc-body__grid,
  .hn-aud-steps { grid-template-columns: 1fr 1fr; }
  .hn-doc-toc { position: static; }
}

@media (max-width: 720px) {
  .hn-doc-body__grid,
  .hn-aud-steps { grid-template-columns: 1fr; }
}

.hn-meet-form { display: inline; margin: 0; }
.hn-attach {
  position: relative;
  overflow: hidden;
}
.hn-attach input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.hn-2fa-codes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
.hn-2fa-codes code,
.hn-2fa-secret code {
  font-size: 14px;
  letter-spacing: 0.04em;
}
.hn-2fa-secret { margin: 8px 0 16px; }

.hn-rbq {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--hn-muted);
}
.hn-rbq a { color: var(--hn-forest); }
.hn-rbq--card { margin-top: 8px; }
.hn-pro__pack {
  margin: 0 0 8px;
  font-size: 12px;
  color: var(--hn-muted);
}
.hn-change {
  margin: 0 0 16px;
  padding: 14px 16px;
  border-radius: 16px;
  background: var(--hn-cream);
}
.hn-change__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.hn-change.is-accepted { border-left: 3px solid var(--hn-north, #1a6b47); }
.hn-change.is-declined { opacity: 0.85; }
.hn-scope-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}
.hn-scope-grid img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 12px;
}
.hn-pack-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}
.hn-pack {
  padding: 18px;
  border-radius: 20px;
  background: var(--hn-cream);
}
.hn-pack__pay {
  display: grid;
  gap: 4px;
  margin: 12px 0;
}
.hn-pack__pay strong { font-size: 22px; letter-spacing: -0.04em; }
.hn-dispute__grid,
.hn-dispute-form { display: grid; gap: 16px; }
.hn-dispute-sla { margin: 0; padding-left: 18px; }
.hn-dispute-sla li { margin: 0 0 10px; }
.hn-invoice__bar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 0 20px; }
.hn-invoice__sheet header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
}
.hn-pwa-note {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  margin: 0 0 16px;
  font-size: 13px;
  color: var(--hn-muted);
}
.hn-noshow { margin-top: 12px; }
.hn-visit-ops { display: grid; gap: 10px; }
.hn-visit-ops__hold,
.hn-visit-ops__late,
.hn-visit-ops__miss {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f3f6f3;
  font-size: 14px;
}
.hn-visit-ops__hold strong,
.hn-visit-ops__late strong,
.hn-visit-ops__miss strong { display: block; margin-bottom: 2px; }
.hn-visit-ops__late { background: #fff6e8; }
.hn-visit-ops__miss { background: #f8eee8; }
.hn-visit-ops__acts { display: grid; gap: 10px; }
.hn-prop-grid {
  display: grid;
  grid-template-columns: minmax(110px, 140px) repeat(var(--hn-cmp, 2), minmax(0, 1fr));
  gap: 12px 16px;
  margin-top: 16px;
  align-items: start;
}
.hn-prop-grid__label {
  font-size: 12px;
  font-weight: 750;
  color: var(--hn-muted);
  padding-top: 8px;
}
.hn-prop-grid__who {
  display: grid;
  gap: 6px;
  justify-items: start;
}
.hn-prop-grid__who img,
.hn-prop-grid__who .hn-jobquotes__face {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
}
.hn-prop-grid__who strong { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.hn-prop-grid b { font-size: 20px; letter-spacing: -0.03em; }
.hn-prop-grid small { display: block; color: var(--hn-muted); font-size: 12px; }
.hn-prop-grid__scope ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.hn-prop-grid__scope img {
  width: 72px;
  height: 56px;
  object-fit: cover;
  border-radius: 10px;
}
.hn-rbq--cmp { display: grid; gap: 4px; font-size: 12px; margin: 0; }
.hn-quot-tpl {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
  margin: 0 0 14px;
}
.hn-quot-tpl .hn-field { flex: 1 1 180px; margin: 0; }
.hn-pack__inc {
  margin: 8px 0 0;
  padding-left: 18px;
  color: var(--hn-muted);
  font-size: 13px;
}
.hn-pack__inc li { margin: 0 0 4px; }
.hn-book-slots.is-bad { outline: 2px solid #c45c26; border-radius: 16px; }
@media (max-width: 720px) {
  .hn-prop-grid { grid-template-columns: 1fr; }
  .hn-prop-grid__label { padding-top: 16px; border-top: 1px solid var(--hn-line); }
}
@media print {
  .hn-header, .hn-footer, .hn-print-hide, .hn-skip, .hn-lang-note { display: none !important; }
  .hn-invoice { background: #fff; }
}

.hn-map { position: relative; min-height: 220px; }
.hn-map-svg { width: 100%; height: auto; display: block; }
.hn-map-svg circle.is-city { fill: #8aa48d; }
.hn-map-pins { position: absolute; inset: 0; pointer-events: none; }
.hn-map-pin {
  position: absolute;
  width: 18px;
  height: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translate(-50%, -100%);
  pointer-events: auto;
  cursor: pointer;
}
.hn-map-pin i {
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 50% 50% 50% 0;
  background: #6d7f70;
  transform: rotate(-45deg);
  box-shadow: 0 1px 4px rgba(20, 32, 24, 0.25);
  pointer-events: none;
}
.hn-map-pin.is-live i { background: var(--hn-north); }
.hn-map-pin.is-on i,
.hn-map-pin:focus i {
  background: var(--hn-forest);
  outline: 2px solid #fff;
}
.hn-map-empty {
  margin: 8px 4px 0;
  color: var(--hn-muted);
  font-size: 13px;
}
.hn-map--areas .hn-map-empty {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 8px;
  margin: 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(247, 246, 242, 0.94);
}
.hn-map-tip {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 24px rgba(20, 32, 24, 0.12);
  display: grid;
  gap: 2px;
}
.hn-map-tip p { margin: 0; color: var(--hn-muted); font-size: 13px; }
.hn-pro.is-pin { outline: 2px solid var(--hn-north); outline-offset: 2px; }
.hn-find-map .hn-map-tip {
  top: 8px;
  bottom: auto;
  padding: 8px 10px;
}
body.hn-map-only .hn-find-map__art { min-height: 420px; }
body.hn-map-only .hn-find-cta { display: none; }

.hn-slot-list { display: grid; gap: 8px; margin-top: 12px; }
.hn-slot {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid #d5ddd6;
  border-radius: 12px;
  cursor: pointer;
}
.hn-slot.is-on,
.hn-slot:has(input:checked) {
  border-color: var(--hn-north);
  background: #f3f8f4;
}
.hn-slot input { position: absolute; opacity: 0; pointer-events: none; }
.hn-slot strong { font-size: 14px; }
.hn-slot span { color: var(--hn-muted); font-size: 13px; }
.hn-book-catalog { margin: 0 0 16px; color: var(--hn-muted); font-size: 14px; }

.hn-cancel-progress {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #e4ebe6;
  display: grid;
  gap: 10px;
}
.hn-cancel-progress h3 { margin: 0; font-size: 16px; }
.hn-cancel-progress p { margin: 0; color: var(--hn-muted); font-size: 13px; }
.hn-cancel-progress fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 6px; }
.hn-cancel-progress legend { font-weight: 650; font-size: 13px; margin-bottom: 4px; }
.hn-cancel-progress.is-compact { margin-top: 18px; }

.hn-rev-shots {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}
.hn-rev-shots img {
  width: 120px;
  height: 90px;
  object-fit: cover;
  border-radius: 10px;
}
.hn-rev-reply {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f4f7f5;
}
.hn-rev-reply strong { display: block; font-size: 13px; }
.hn-rev-reply p { margin: 4px 0 0; }
.hn-rev-reply-form { margin-top: 12px; display: grid; gap: 8px; }

.hn-interest { display: grid; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--hn-line, #e4e8e5); }
.hn-interest h3 { margin: 0; font-size: 16px; }
.hn-interest p { margin: 0; color: var(--hn-muted); font-size: 13px; }
.hn-interest label { display: grid; gap: 4px; font-size: 13px; font-weight: 650; }
.hn-interest input[type="email"] {
  height: 44px;
  border-radius: 10px;
  border: 1px solid var(--hn-line, #d5ddd7);
  padding: 0 12px;
}
.hn-resched { display: grid; gap: 12px; }
.hn-resched__form { display: grid; gap: 12px; }
.hn-resched__form fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 6px; }
.hn-resched__form legend { font-weight: 650; font-size: 13px; }
.hn-watch-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.hn-watch-list li { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.hn-watch-list span { color: var(--hn-muted); }

.hn-plan-pick {
  display: grid;
  gap: 10px;
  margin: 12px 0 16px;
}
@media (min-width: 800px) {
  .hn-plan-pick { grid-template-columns: repeat(3, 1fr); }
}
.hn-plan-pick--apply {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.hn-plan-radio {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--hn-line, #d5ddd7);
  border-radius: 14px;
  cursor: pointer;
}
.hn-plan-radio.is-on,
.hn-plan-radio:has(input:checked) {
  border-color: var(--hn-forest);
  background: #f3faf5;
}
.hn-plan-radio input { margin: 0 0 4px; }
.hn-plan-radio strong { font-size: 16px; }
.hn-plan-radio span { font-weight: 650; color: var(--hn-forest); }
.hn-plan-radio em { color: var(--hn-muted); font-size: 13px; font-style: normal; }
.hn-plan-areas {
  border: 0;
  margin: 0 0 16px;
  padding: 0;
  min-width: 0;
}
.hn-plan-areas > legend {
  font-size: 14px;
  font-weight: 700;
  padding: 0;
  margin: 0 0 8px;
}
.hn-plan-areas > legend [data-area-hint] {
  font-weight: 500;
  color: var(--hn-muted);
}
.hn-plan-areas__list {
  display: grid;
  gap: 8px;
}
.hn-cab-card__head .hn-plan-areas__cap {
  margin: 0;
  text-align: right;
  color: var(--hn-ink);
  font-size: 14px;
  font-weight: 650;
  flex: 0 0 auto;
}
.hn-cab-card__head:has(.hn-plan-areas__cap) {
  align-items: center;
}
@media (max-width: 560px) {
  .hn-cab-card__head:has(.hn-plan-areas__cap) {
    flex-wrap: wrap;
    gap: 8px 16px;
  }
}
.hn-plan-areas__cap strong {
  display: block;
  font-size: 20px;
  letter-spacing: -0.03em;
}
.hn-plan-areas__cap em {
  font-style: normal;
  color: var(--hn-muted);
  font-size: 13px;
}
.hn-plan-city {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--hn-line, #d5ddd7);
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  font-weight: 500;
}
.hn-plan-city__mark,
.hn-plan-city__mark svg,
.hn-plan-city__text {
  pointer-events: none;
}
.hn-plan-city.is-on,
.hn-plan-city:has(input:checked) {
  border-color: var(--hn-forest);
  background: #f3faf5;
}
.hn-plan-city:has(input:focus-visible) {
  border-color: var(--hn-forest);
}
.hn-plan-city:has(input:disabled:not(:checked)) {
  opacity: 0.5;
  cursor: not-allowed;
}
.hn-plan-city__mark {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: grid;
  place-items: center;
  border: 1.5px solid var(--hn-line, #d5ddd7);
  border-radius: 6px;
  background: #fff;
  color: #fff;
}
.hn-plan-city.is-on .hn-plan-city__mark,
.hn-plan-city:has(input:checked) .hn-plan-city__mark {
  background: var(--hn-forest);
  border-color: var(--hn-forest);
}
.hn-plan-city__mark svg {
  width: 14px;
  height: 14px;
  opacity: 0;
}
.hn-plan-city.is-on .hn-plan-city__mark svg,
.hn-plan-city:has(input:checked) .hn-plan-city__mark svg {
  opacity: 1;
}
.hn-plan-city__text {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.hn-plan-city__text strong {
  font-size: 15px;
  font-weight: 700;
}
.hn-plan-city__text em {
  color: var(--hn-muted);
  font-size: 13px;
  font-style: normal;
}
.hn-plan-areas__keep {
  margin: 8px 0 0;
  color: var(--hn-muted);
  font-size: 13px;
}

.hn-apply-country {
  display: grid;
  gap: 8px;
  margin: 0 0 16px;
}

.hn-apply-country .hn-check { margin: 0; }

.hn-apply-country .hn-apply-areas__switch {
  margin: 0;
}

.hn-apply-areas__switch label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  background: #fff;
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}

.hn-apply-areas__switch label.is-on,
.hn-apply-areas__switch label:has(input:checked) {
  background: var(--hn-forest);
  border-color: var(--hn-forest);
  color: #fff;
}

.hn-apply-areas__note {
  margin: 0 0 12px;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-apply-areas__note--tight {
  margin: -4px 0 10px;
  font-size: 13px;
}

.hn-apply-areas__count {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 650;
}

.hn-apply-areas__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 12px;
}

.hn-apply-areas__chip {
  margin: 0;
  padding: 6px 10px;
  border: 1px solid var(--hn-forest);
  border-radius: 999px;
  background: #f3faf5;
  color: var(--hn-forest);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}

.hn-apply-areas__chip::after {
  content: " ×";
  font-weight: 700;
}

.hn-apply-areas__tools {
  display: grid;
  gap: 10px;
  margin: 0 0 14px;
}

.hn-apply-areas__switch {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hn-apply-areas__switch button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  background: #fff;
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}

.hn-apply-areas__switch button.is-on {
  background: var(--hn-forest);
  border-color: var(--hn-forest);
  color: #fff;
}

.hn-apply-areas__search { margin: 0; }

.hn-apply-areas__group {
  margin: 14px 0 8px;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--hn-muted);
}

.hn-apply-areas__pane {
  max-height: min(64vh, 560px);
  overflow: auto;
  padding-right: 4px;
  overscroll-behavior: contain;
}

.hn-apply-areas__region {
  margin: 0 0 8px;
  padding: 2px 8px 8px;
  border: 1px solid var(--hn-line, #d5ddd7);
  border-radius: 16px;
  background: #fff;
}

.hn-apply-areas__region > summary {
  cursor: pointer;
  list-style: none;
  padding: 10px 6px;
  font-weight: 700;
  font-size: 15px;
}

.hn-apply-areas__region > summary::-webkit-details-marker {
  display: none;
}

.hn-apply-areas__region > summary::after {
  content: "+";
  float: right;
  color: var(--hn-muted);
  font-weight: 650;
}

.hn-apply-areas__region[open] > summary::after {
  content: "–";
}

.hn-plan-areas__list--nested {
  margin-top: 8px;
}

.hn-plan-city--region {
  background: #f3faf5;
}

.hn-plan-areas__list--scroll {
  max-height: min(52vh, 420px);
  overflow: auto;
  padding-right: 4px;
  overscroll-behavior: contain;
}

.hn-apply-areas__empty {
  margin: 0 0 10px;
  color: var(--hn-muted);
  font-size: 14px;
}

.hn-apply-svcs__search { margin: 0 0 12px; }
.hn-plan-limits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}
@media (min-width: 720px) {
  .hn-plan-limits { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.hn-plan-limits strong { display: block; font-size: 18px; }
.hn-plan-limits em { font-style: normal; color: var(--hn-muted); font-size: 13px; }
.hn-plan-intro {
  background: #f3faf5;
  border-color: var(--hn-north, #1f6a4e);
}
.hn-plan-intro__clock {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}
@media (max-width: 720px) {
  .hn-plan-intro__clock { grid-template-columns: 1fr; }
}
.hn-plan-intro__clock li {
  padding: 12px 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--hn-line, #d5ddd7);
}
.hn-plan-intro__clock strong { display: block; font-size: 18px; letter-spacing: -0.03em; }
.hn-plan-intro__clock em { font-style: normal; color: var(--hn-muted); font-size: 13px; }
.hn-plan-addons { display: grid; gap: 4px; }
.hn-plan-addons article {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--hn-line, #e4e8e5);
}
.hn-plan-addons article:last-child { border-bottom: 0; }
.hn-plan-team {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 10px;
}
.hn-plan-team li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.hn-plan-team em { display: block; color: var(--hn-muted); font-style: normal; font-size: 13px; }
.hn-plan-mix { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.hn-plan-mix li { display: flex; justify-content: space-between; gap: 12px; }
.hn-plan-guides { margin: 8px 0 12px; padding-left: 18px; }
.hn-badge.is-feat {
  background: #fff6df;
  color: #8a6a12;
}

/* Why HandNorth map + hire/work plan */
html { scroll-padding-top: 96px; }
.hn-why {
  padding: 72px 0;
  background: var(--hn-cream);
}
.hn-why--compact { padding: 56px 0; }
.hn-why .hn-section-head--center .hn-lead {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}
.hn-why-map {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.hn-why-map li { scroll-margin-top: 100px; min-width: 0; }
.hn-why-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 168px;
  height: 100%;
  padding: 18px 16px 20px;
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-radius);
  background: #fff;
  color: var(--hn-ink);
  text-decoration: none;
}
.hn-why-cell:hover,
.hn-why-cell:focus-visible {
  border-color: var(--hn-forest);
}
.hn-why-cell i {
  font-style: normal;
  font-weight: 750;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--hn-north);
}
.hn-why-cell strong {
  display: block;
  margin-top: 10px;
  font-size: 15px;
  letter-spacing: -0.03em;
  line-height: 1.25;
}
.hn-why-cell p {
  margin: 8px 0 0;
  color: var(--hn-muted);
  font-size: 13.5px;
  line-height: 1.45;
}
.hn-why-map.is-compact .hn-why-cell { min-height: 132px; }
.hn-why-plan { padding: 72px 0; }
.hn-why-plan__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.hn-why-plan__grid article {
  padding: 28px 24px;
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-radius);
  background: #fff;
}
.hn-why-plan__grid h3 {
  margin: 6px 0 18px;
  letter-spacing: -0.03em;
}
.hn-why-plan__grid ol {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: grid;
  gap: 14px;
}
.hn-why-plan__grid li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.hn-why-plan__grid i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--hn-cream);
  color: var(--hn-forest);
  font-style: normal;
  font-weight: 750;
}
.hn-why-plan__grid p {
  margin: 4px 0 0;
  color: var(--hn-muted);
  font-size: 14px;
}
.hn-why-next {
  margin-top: 22px;
  padding: 22px 24px;
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-radius);
  background: var(--hn-cream);
}
.hn-why-next ul {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.hn-why-next p { margin: 6px 0 0; color: var(--hn-muted); font-size: 14px; }
.hn-why-links { padding: 0 0 72px; }
.hn-why-links h2 { margin: 0 0 8px; letter-spacing: -0.03em; }
.hn-aud .hn-why-fact__qa { padding: 0 0 72px; }
.hn-aud .hn-why-fact__qa .hn-wrap { max-width: 760px; }
.hn-why-fact__updated {
  margin: 10px 0 0;
  color: var(--hn-muted);
  font-size: 13px;
}
.hn-why-fact__grid {
  padding: 8px 0 64px;
}
.hn-why-fact__body {
  max-width: 760px;
}
.hn-why-fact__body h2 {
  margin: 32px 0 12px;
  letter-spacing: -0.03em;
  font-size: 22px;
}
.hn-why-fact__body p,
.hn-why-fact__body li {
  color: var(--hn-muted);
  font-size: 17px;
  line-height: 1.55;
}
.hn-why-fact__body ul {
  margin: 0 0 16px;
  padding-left: 20px;
  display: grid;
  gap: 8px;
}
.hn-why-answer {
  padding: 22px 24px;
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-radius);
  background: #f3faf5;
}
.hn-why-answer h2 { margin-top: 0; }
.hn-why-answer p {
  margin: 0;
  color: var(--hn-ink);
  font-size: 17px;
  line-height: 1.55;
}
.hn-why-fact__body a,
.hn-why-answer a {
  color: var(--hn-forest);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.hn-why-note {
  padding: 14px 16px;
  border: 1px solid var(--hn-line);
  border-radius: 14px;
  background: var(--hn-cream);
  color: var(--hn-ink);
  font-size: 15px;
}
.hn-why-table-wrap { overflow-x: auto; margin: 8px 0 16px; }
.hn-why-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.hn-why-table th,
.hn-why-table td {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid var(--hn-line);
  vertical-align: top;
}
.hn-why-table th {
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--hn-muted);
}
.hn-why-fact__qa details {
  border-bottom: 1px solid var(--hn-line);
  padding: 12px 0;
}
.hn-why-fact__qa summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--hn-ink);
}
.hn-why-fact__qa details p { margin: 8px 0 0; }
.hn-why-pager {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 36px;
}
.hn-why-pager a {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid var(--hn-line);
  border-radius: 14px;
  text-decoration: none;
  color: var(--hn-ink);
}
.hn-why-pager a:hover,
.hn-why-pager a:focus-visible { border-color: var(--hn-forest); }
.hn-why-pager span { color: var(--hn-muted); font-size: 13px; }
@media (max-width: 720px) {
  .hn-why-pager { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
  .hn-why-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .hn-why-plan__grid,
  .hn-why-next ul { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .hn-why-map { grid-template-columns: 1fr; }
  .hn-why-cell,
  .hn-why-map.is-compact .hn-why-cell { min-height: 0; }
}
.hn-city-hero-media {
  overflow: hidden;
  border-radius: 28px;
  background: #16382c;
  min-height: 240px;
}
.hn-city-hero-media svg {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 4;
  border-radius: 28px;
}
.hn-city-status { margin: 0 0 28px; }
.hn-city-geo { margin: 0 0 36px; }
.hn-city-geo__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
  margin: 0 0 18px;
}
.hn-city-geo__facts div {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--hn-line);
  border-radius: 14px;
}
.hn-city-geo__facts dt {
  margin: 0 0 4px;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--hn-mute, #5b6b63);
}
.hn-city-geo__facts dd {
  margin: 0;
  font-weight: 600;
}
.hn-city-job-hub { margin: 10px 0 0; }
.hn-city-hoods,
.hn-city-nearby {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  padding-left: 20px;
}
.hn-city-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
}
.hn-city-chips a {
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid var(--hn-line);
  border-radius: 999px;
  text-decoration: none;
  color: var(--hn-ink);
  font-size: 14px;
}
.hn-city-chips a:hover,
.hn-city-chips a:focus-visible {
  border-color: var(--hn-forest);
  color: var(--hn-forest);
}
@media (max-width: 720px) {
  .hn-city-hoods,
  .hn-city-nearby { grid-template-columns: 1fr; }
  .hn-city-geo__facts { grid-template-columns: 1fr; }
}
