/* Neohunter 2026: design system tokens and components (variant B). */

@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/plus-jakarta-sans-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Geist Mono";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("../fonts/geist-mono-latin-ext-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Geist Mono";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("../fonts/geist-mono-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --nh-brand: #6c5fb2;
  --nh-brand-strong: #4a3c9e;
  --nh-ink: #1f2338;
  --nh-text: #4a4758;
  --nh-subtle: #6e6a7e;
  --nh-surface: #ffffff;
  --nh-tint: #f6f4fb;
  --nh-muted: #f1eff6;
  --nh-surface-brand: #eeebf8;
  --nh-line: #ece9f2;
  --nh-line-strong: #d9d5e4;
  --nh-control: #8c879e;
  --nh-band: #1f2338;
  --nh-band-accent: #b3aae6;
  --nh-band-muted: #cfcbe3;
  --nh-open: #1e7a4c;
  --nh-open-bg: #e3f4ea;
  --nh-paused: #8a5a00;
  --nh-paused-bg: #fff1d6;
  --nh-filled: #5e5878;
  --nh-filled-bg: #eeebf5;
  --nh-error: #b42318;
  --nh-error-bg: #fdecea;
  --nh-shadow-card: 0 1px 2px rgba(31, 35, 56, 0.06);
  --nh-shadow-raised: 0 8px 24px rgba(74, 60, 158, 0.1);
  --nh-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --nh-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --nh-gutter: clamp(16px, 4vw, 32px);
  --nh-section: clamp(48px, 7vw, 96px);
}

/* ---------- Page base (only on Neohunter 2026 templates) ---------- */

body.nh26 {
  margin: 0;
  background: var(--nh-surface);
  color: var(--nh-ink);
  font-family: var(--nh-sans);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.nh26 *,
body.nh26 *::before,
body.nh26 *::after { box-sizing: border-box; }
body.nh26 img { max-width: 100%; height: auto; }
body.nh26 h1, body.nh26 h2, body.nh26 h3, body.nh26 p, body.nh26 ul, body.nh26 ol, body.nh26 figure, body.nh26 blockquote { margin: 0; }
body.nh26 a { color: var(--nh-brand-strong); }
body.nh26 a:hover { color: var(--nh-ink); }
body.nh26 :focus-visible { outline: 2px solid var(--nh-brand-strong); outline-offset: 2px; }

.nh-sr {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.nh-skip { position: absolute; left: 16px; top: -60px; z-index: 1000; background: var(--nh-ink); color: #fff !important; padding: 10px 16px; border-radius: 999px; text-decoration: none; }
.nh-skip:focus { top: 12px; }

.nh-container { max-width: 1200px; margin: 0 auto; padding: 0 var(--nh-gutter); }
.nh-narrow { max-width: 760px; margin: 0 auto; padding: 0 var(--nh-gutter); box-sizing: content-box; }
.nh-section { padding: var(--nh-section) 0; }
.nh-section--tint { background: var(--nh-tint); }
.nh-section--tight-top { padding-top: 0; }
.nh-stack { display: flex; flex-direction: column; gap: 32px; }
.nh-head { display: flex; flex-direction: column; gap: 12px; max-width: 720px; }
.nh-head-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; }

.nh-h1 { font-size: clamp(36px, 5vw, 56px); line-height: 1.06; font-weight: 800; letter-spacing: -0.03em; color: var(--nh-ink); }
.nh-h2 { font-size: clamp(28px, 3.2vw, 36px); line-height: 1.15; font-weight: 800; letter-spacing: -0.02em; color: var(--nh-ink); }
.nh-h2--sm { font-size: 22px; line-height: 1.3; font-weight: 700; letter-spacing: 0; }
.nh-h3 { font-size: 20px; line-height: 1.3; font-weight: 700; color: var(--nh-ink); }
.nh-lead { font-size: clamp(17px, 1.6vw, 19px); line-height: 1.6; color: var(--nh-text); }
.nh-text { color: var(--nh-text); }
.nh-small { font-size: 14px; color: var(--nh-subtle); }
.nh-accent { color: var(--nh-brand); }
.nh-mono { font-family: var(--nh-mono); }

.nh-eyebrow {
  align-self: flex-start; display: inline-block;
  font-family: var(--nh-mono); font-size: 14px; line-height: 1.3;
  color: var(--nh-brand-strong); background: var(--nh-surface-brand);
  padding: 6px 14px; border-radius: 999px;
}

/* Tags and chips */
.nh-tag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--nh-mono); font-size: 13px; line-height: 1.3; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.nh-tag--brand { color: var(--nh-brand-strong); background: var(--nh-surface-brand); }
.nh-tag--open { color: var(--nh-open); background: var(--nh-open-bg); }
.nh-tag--paused { color: var(--nh-paused); background: var(--nh-paused-bg); }
.nh-tag--filled { color: var(--nh-filled); background: #ffffff; }
.nh-tag--no { color: var(--nh-error); background: var(--nh-error-bg); }
.nh-tag--outline { color: var(--nh-ink); background: #ffffff; border: 1px solid var(--nh-line-strong); font-size: 14px; padding: 6px 14px; }
.nh-chip { display: inline-flex; align-items: center; font-size: 14px; color: var(--nh-ink); background: var(--nh-muted); padding: 3px 10px; border-radius: 999px; }
.nh-status { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--nh-open); background: var(--nh-open-bg); padding: 3px 10px; border-radius: 999px; }
.nh-status::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: currentColor; }

/* Buttons */
.nh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 24px; border-radius: 999px;
  font-family: var(--nh-sans); font-size: 16px; font-weight: 700; line-height: 1.2;
  text-decoration: none !important; cursor: pointer; border: 0; text-align: center;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.nh-btn--primary { background: var(--nh-brand); color: #ffffff !important; }
.nh-btn--primary:hover { background: var(--nh-brand-strong); color: #ffffff !important; }
.nh-btn--outline { background: transparent; color: var(--nh-ink) !important; border: 1.5px solid var(--nh-ink); }
.nh-btn--outline:hover { background: var(--nh-ink); color: #ffffff !important; }
.nh-btn--ink { background: var(--nh-ink); color: #ffffff !important; min-height: 44px; padding: 0 20px; font-size: 15px; }
.nh-btn--ink:hover { background: var(--nh-brand-strong); }
.nh-btn--sm { min-height: 44px; padding: 0 20px; font-size: 15px; }
.nh-btn--block { display: flex; width: 100%; }
.nh-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--nh-brand-strong); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.nh-link:hover { color: var(--nh-ink); }
.nh-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }

/* Cards and grids */
.nh-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.nh-grid--2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.nh-grid--3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.nh-grid--4 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.nh-card { background: #ffffff; border-radius: 20px; box-shadow: var(--nh-shadow-card); padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.nh-card--line { box-shadow: none; border: 1px solid var(--nh-line); }
.nh-card--raised { border: 2px solid var(--nh-brand); box-shadow: var(--nh-shadow-raised); }
.nh-card--filled { background: var(--nh-filled-bg); box-shadow: none; padding: 24px; gap: 12px; }
.nh-card .nh-push { margin-top: auto; }
.nh-num { font-family: var(--nh-mono); font-weight: 500; letter-spacing: -0.02em; line-height: 1; color: var(--nh-ink); }

/* ---------- Header (also used on older pages) ---------- */

.nh26-header, .nh26-header * , .nh26-footer, .nh26-footer * { box-sizing: border-box; }
.nh26-header {
  position: -webkit-sticky; position: sticky; top: 0; z-index: 900; background: #ffffff; border-bottom: 1px solid var(--nh-line);
  font-family: var(--nh-sans); font-size: 16px; line-height: 1.5; color: var(--nh-ink);
}
.nh26-header__inner { max-width: 1200px; margin: 0 auto; padding: 12px var(--nh-gutter); display: flex; align-items: center; gap: 24px; }
.nh26-header__logo { display: inline-flex; align-items: center; min-height: 44px; flex: 0 0 auto; }
.nh26-header .nh26-header__logo img { height: 26px !important; width: auto !important; max-width: none !important; display: block; }
.nh26-footer .nh26-footer__col img { height: 24px !important; width: auto !important; max-width: none !important; }
.nh26-header__nav { flex: 1 1 auto; display: flex; justify-content: center; }
.nh26-header, .nh26-footer { text-align: left; letter-spacing: normal; text-transform: none; }
.nh26-header__nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; }
.nh26-header__nav li { margin: 0; padding: 0; list-style: none; float: none; display: block; border: 0; background: none; }
.nh26-header__nav li::before, .nh26-header__nav li::after { content: none; }
.nh26-header__nav a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 999px;
  color: var(--nh-ink) !important; font-family: var(--nh-sans); font-size: 15px; font-weight: 600;
  text-decoration: none !important; white-space: nowrap; background: transparent;
}
.nh26-header__nav a:hover { background: var(--nh-tint); }
.nh26-header__nav a[aria-current="page"] { color: var(--nh-brand-strong) !important; text-decoration: underline !important; text-underline-offset: 6px; }
.nh26-header__actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; margin-left: auto; }
.nh26-header__cta {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 999px;
  background: var(--nh-ink); color: #ffffff !important; font-family: var(--nh-sans); font-size: 15px; font-weight: 700;
  text-decoration: none !important; white-space: nowrap;
}
.nh26-header__cta:hover { background: var(--nh-brand-strong); }
.nh26-header__toggle {
  display: none; width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--nh-line-strong);
  background: #ffffff; align-items: center; justify-content: center; padding: 0; cursor: pointer; color: var(--nh-ink);
}
.nh26-header__toggle svg { display: block; }

/* Sticky header: below the WordPress admin bar for logged-in users. */
body.admin-bar .nh26-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .nh26-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .nh26-header { top: 0; } }
body.nh26 [id], body.nh26-chrome-page [id] { scroll-margin-top: 88px; }
.nh26-header.is-scrolled { box-shadow: 0 4px 16px rgba(31, 35, 56, 0.06); }

@media (max-width: 1023px) {
  .nh26-header__inner { gap: 8px; flex-wrap: wrap; }
  .nh26-header.is-open .nh26-header__nav { max-height: calc(100vh - 72px); max-height: calc(100dvh - 72px); overflow-y: auto; }
  .nh26-header .nh26-header__logo img { height: 22px !important; }
  .nh26-header__toggle { display: inline-flex; }
  .nh26-header__cta { font-size: 14px; padding: 0 16px; }
  .nh26-header__nav { order: 3; flex: 1 1 100%; display: none; justify-content: flex-start; }
  .nh26-header.is-open .nh26-header__nav { display: block; }
  .nh26-header__nav ul { flex-direction: column; gap: 0; padding: 8px 0 12px; }
  .nh26-header__nav a { width: 100%; border-radius: 12px; font-size: 17px; min-height: 48px; }
}
@media (max-width: 380px) {
  .nh26-header__cta { padding: 0 12px; }
}

/* ---------- Hero ---------- */

.nh-hero { background: var(--nh-tint); padding: var(--nh-section) 0 clamp(48px, 6vw, 80px); }
.nh-hero__copy { display: flex; flex-direction: column; gap: 20px; max-width: 820px; }
.nh-hero__copy .nh-lead { max-width: 640px; }
.nh-doors { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); margin-top: 40px; }
.nh-door { padding: clamp(20px, 3vw, 32px); gap: 16px; }
.nh-door__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.nh-door h2 { font-size: 24px; line-height: 1.25; font-weight: 800; letter-spacing: -0.01em; color: var(--nh-ink); }
.nh-search { display: flex; gap: 8px; flex-wrap: wrap; margin: 0; }
.nh-search input[type="search"] {
  flex: 1 1 200px; min-width: 0; min-height: 48px; padding: 0 20px; border-radius: 999px;
  border: 1px solid var(--nh-control); font-family: var(--nh-sans); font-size: 16px; color: var(--nh-ink); background: #ffffff;
}
.nh-search button { min-height: 48px; padding: 0 22px; border-radius: 999px; border: 1.5px solid var(--nh-ink); background: #ffffff; color: var(--nh-ink); font-family: var(--nh-sans); font-weight: 700; font-size: 16px; cursor: pointer; }
.nh-search button:hover { background: var(--nh-ink); color: #ffffff; }

/* Logos and stats */
.nh-proof { padding: clamp(40px, 5vw, 64px) 0; border-bottom: 1px solid var(--nh-line); }
.nh-logos { display: grid; gap: 8px; grid-template-columns: repeat(6, minmax(0, 1fr)); list-style: none; padding: 0; margin: 16px 0 0; }
@media (min-width: 1024px) { .nh-logos { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.nh-logos li { height: 60px; border-radius: 6px; background: #ffffff; display: flex; align-items: center; justify-content: center; padding: 0 12px; margin: 0; }
.nh-logos img { height: auto; max-height: var(--h, 30px); max-width: 100%; width: auto; object-fit: contain; filter: grayscale(1); opacity: 0.75; }
.nh-logos__more { margin-top: 8px; background: none; border: 0; padding: 0; font-family: var(--nh-sans); font-size: 16px; cursor: pointer; }
.nh-logos__more[hidden] { display: none; }
.nh-logos:not(.nh-logos--strip) li { box-shadow: inset 0 0 0 1px var(--nh-line); }
@media (min-width: 601px) { .nh-logos__more { display: none !important; } }
.nh-section--tint .nh-logos li, .nh-proof .nh-logos li { box-shadow: inset 0 0 0 1px var(--nh-line); }
.nh-stats { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin-top: 40px; }
.nh-stat { display: flex; flex-direction: column; gap: 6px; padding-top: 20px; border-top: 1px solid var(--nh-line-strong); }
.nh-stat .nh-num { font-size: clamp(36px, 4vw, 48px); }
.nh-stat p:last-child { color: var(--nh-text); }

/* NEOS band */
.nh-band { background: var(--nh-band); color: #ffffff; border-radius: 24px; padding: clamp(24px, 5vw, 64px); display: flex; flex-direction: column; gap: 40px; }
.nh-band__top { display: flex; flex-wrap: wrap; gap: 24px 64px; align-items: flex-end; }
.nh-band__top > div { flex: 1 1 460px; display: flex; flex-direction: column; gap: 16px; }
.nh-band__top > p { flex: 1 1 360px; color: var(--nh-band-muted); font-size: 17px; line-height: 1.6; }
.nh-band .nh-h2 { color: #ffffff; font-size: clamp(28px, 3.6vw, 40px); line-height: 1.12; }
.nh-band__label { align-self: flex-start; font-family: var(--nh-mono); font-size: 14px; color: var(--nh-band-accent); border: 1px solid var(--nh-band-accent); padding: 4px 12px; border-radius: 999px; }
.nh-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.nh-step { background: #ffffff; color: var(--nh-ink); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.nh-step__no { font-family: var(--nh-mono); font-size: 14px; color: var(--nh-brand); }
.nh-step h3 { font-size: 19px; line-height: 1.3; font-weight: 700; }
.nh-step > p { color: var(--nh-text); font-size: 15px; }
.nh-output { margin-top: auto; background: var(--nh-tint); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.nh-output__label { font-family: var(--nh-mono); font-size: 12px; color: var(--nh-subtle); }
.nh-output strong { font-size: 14px; }
.nh-output p { color: var(--nh-text); }
.nh-output .nh-tag { align-self: flex-start; font-size: 12px; }
.nh-band__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-top: 24px; border-top: 1px solid #3e3a50; }
.nh-band__foot p { color: var(--nh-band-muted); font-size: 15px; }
.nh-band__foot a { color: var(--nh-band-accent) !important; }

/* Services, callout */
.nh-service h3 { font-size: 22px; }
.nh-service .nh-meta { font-family: var(--nh-mono); font-size: 14px; color: var(--nh-ink); }
.nh-callout { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; background: #ffffff; border-radius: 16px; padding: 20px 24px; }
.nh-callout p { font-weight: 600; color: var(--nh-ink); }
.nh-callout--line { border: 1px solid var(--nh-line-strong); background: transparent; }
.nh-callout--line p { font-weight: 400; }
.nh-callout--line strong { display: block; font-weight: 700; color: var(--nh-ink); }

/* Jobs */
.nh-job { padding: 20px; gap: 12px; }
.nh-job__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.nh-job__id { font-family: var(--nh-mono); font-size: 13px; color: var(--nh-subtle); }
.nh-job h3 { font-size: 18px; line-height: 1.35; font-weight: 700; }
.nh-job h3 a { color: var(--nh-ink); text-decoration: none; }
.nh-job h3 a:hover { color: var(--nh-brand-strong); text-decoration: underline; }
.nh-job__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.nh-job__salary { padding-top: 12px; border-top: 1px solid var(--nh-line); font-family: var(--nh-mono); font-weight: 500; color: var(--nh-ink); }

/* Academy band and events */
.nh-soft { background: var(--nh-surface-brand); border-radius: 24px; padding: clamp(24px, 5vw, 56px); display: flex; flex-wrap: wrap; gap: 32px 64px; align-items: center; }
.nh-soft > div { display: flex; flex-direction: column; gap: 16px; }
.nh-soft__main { flex: 1 1 420px; }
.nh-soft__side { flex: 1 1 340px; gap: 12px !important; }
.nh-soft > .nh-actions { flex-direction: row; flex: 0 1 auto; }
.nh-soft > .nh-person { flex-direction: row; }
.nh-mini-event { background: #ffffff; border-radius: 16px; padding: 16px 20px; display: flex; gap: 20px; align-items: center; }
.nh-mini-event .nh-num { font-size: 22px; min-width: 72px; white-space: nowrap; }
.nh-event__date .nh-num { white-space: nowrap; }

@media (max-width: 600px) {
  .nh-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .nh-logos li { height: 52px; padding: 0 8px; }
  .nh-logos img { max-height: calc(var(--h, 30px) * 0.8); }
  .nh-logos.is-collapsed li:nth-child(n+13) { display: none; }
  .nh-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 28px; }
  .nh-stat { padding-top: 12px; }
  .nh-stat .nh-num { font-size: 30px; }
  .nh-stat p:last-child { font-size: 13px; }
  .nh-doors { grid-template-columns: minmax(0, 1fr); }
}
.nh-mini-event strong { display: block; }
.nh-mini-event span { font-size: 14px; color: var(--nh-text); }
.nh-event { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; padding: 20px 24px; border-radius: 20px; border: 1px solid var(--nh-line); }
.nh-event__date { min-width: 120px; }
.nh-event__date .nh-num { font-size: 28px; }
.nh-event__date p:last-child { margin-top: 6px; font-size: 14px; color: var(--nh-text); }
.nh-event__body { flex: 1 1 320px; }
.nh-event__body h3 { font-size: 19px; }
.nh-event__body p { margin-top: 4px; color: var(--nh-text); }
.nh-event__aside { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

/* Media row */
.nh-facts { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.nh-fact { border-top: 1px solid var(--nh-line-strong); padding-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.nh-fact p:first-child { font-family: var(--nh-mono); font-size: 14px; color: var(--nh-subtle); }
.nh-fact p:last-child { font-weight: 600; }

/* FAQ */
.nh-faq { display: flex; flex-direction: column; gap: 8px; }
.nh-faq details { background: #ffffff; border-radius: 16px; padding: 18px 22px; }
.nh-faq summary { cursor: pointer; font-weight: 700; min-height: 28px; color: var(--nh-ink); }
.nh-faq details p { margin-top: 12px; color: var(--nh-text); }

/* Final CTA */
.nh-person { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; }
.nh-person img { width: 96px; height: 96px; border-radius: 999px; object-fit: cover; background: var(--nh-line-strong); }
.nh-person strong { display: block; }
.nh-person span { font-size: 14px; color: var(--nh-text); }

/* Workshop */
.nh-split { display: flex; flex-wrap: wrap; gap: 40px 56px; align-items: flex-start; }
.nh-split__main { flex: 1 1 520px; display: flex; flex-direction: column; gap: 20px; }
.nh-split__side { flex: 1 1 340px; }
.nh-chiplist { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.nh-tagline { font-size: 22px; line-height: 1.4; font-weight: 700; color: var(--nh-ink); }
.nh-form { display: flex; flex-direction: column; gap: 14px; }
.nh-field { display: flex; flex-direction: column; gap: 6px; }
.nh-field label { font-weight: 700; font-size: 15px; color: var(--nh-ink); }
.nh-field input {
  min-height: 48px; width: 100%; padding: 0 16px; border-radius: 12px; border: 1px solid var(--nh-control);
  font-family: var(--nh-sans); font-size: 16px; color: var(--nh-ink); background: #ffffff;
}
.nh-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--nh-text); cursor: pointer; }
.nh-check input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--nh-brand); flex: 0 0 auto; }
.nh-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.nh-notice { border-radius: 12px; padding: 12px 14px; font-size: 15px; font-weight: 600; }
.nh-notice--ok { background: var(--nh-open-bg); color: var(--nh-open); }
.nh-notice--err { background: var(--nh-error-bg); color: var(--nh-error); }
.nh-pains { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); flex: 1 1 520px; }
.nh-pains li { background: #ffffff; border-radius: 16px; padding: 16px 18px; font-weight: 600; }
.nh-layers { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.nh-layers li { border-radius: 20px; border: 1px solid var(--nh-line); padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.nh-layers h3 { font-size: 21px; }
.nh-layers p { color: var(--nh-text); }
.nh-take .nh-num { font-size: 40px; color: var(--nh-brand); }
.nh-program { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.nh-program li { display: flex; gap: 24px; padding: 16px 0; border-top: 1px solid var(--nh-line); }
.nh-program li:last-child { border-bottom: 1px solid var(--nh-line); }
.nh-program time, .nh-program .nh-time { font-family: var(--nh-mono); color: var(--nh-subtle); min-width: 56px; }
.nh-program span:last-child { font-weight: 600; }
.nh-program .is-break span:last-child { font-weight: 400; color: var(--nh-text); }
.nh-aside { background: var(--nh-tint); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.nh-aside p { color: var(--nh-text); }
.nh-list { padding-left: 20px !important; margin: 0; display: flex; flex-direction: column; gap: 10px; color: var(--nh-ink); }
.nh-fit-yes { color: var(--nh-open); }
.nh-fit-no { color: var(--nh-filled); }
.nh-lector { display: flex; flex-wrap: wrap; gap: 32px 56px; align-items: center; }
.nh-lector__photo { flex: 0 0 auto; width: clamp(200px, 24vw, 300px); aspect-ratio: 4 / 5; border-radius: 24px; overflow: hidden; background: var(--nh-muted); }
.nh-lector__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nh-lector__body { flex: 1 1 460px; display: flex; flex-direction: column; gap: 16px; }
.nh-quote { margin-top: 8px !important; padding: 16px 20px; border-radius: 16px; background: var(--nh-tint); font-size: 18px; line-height: 1.5; font-weight: 600; color: var(--nh-ink); }

.nh26-footer__legal { max-width: 720px; }
.nh-output__strong { color: var(--nh-ink); }

/* ---------- Studio layout (homepage 1.4.0, RaaS 1.5.0): only inside main.nh-studio ---------- */
/* One loud moment (brand purple hero with one sample card), everything after it quiet and editorial. */

.nh-studio .nh-section { padding: clamp(72px, 10vw, 144px) 0; }
.nh-studio .nh-section--quiet { padding: clamp(56px, 7vw, 96px) 0; }
.nh-studio .nh-h2--sm { font-size: 22px; line-height: 1.3; letter-spacing: -0.01em; margin-bottom: 24px; }
.nh-display { font-size: clamp(34px, 4.6vw, 64px); line-height: 1.02; font-weight: 800; letter-spacing: -0.04em; color: var(--nh-ink); text-wrap: balance; }
.nh-split-head { display: grid; gap: 20px 64px; grid-template-columns: minmax(0, 1fr); align-items: end; margin-bottom: clamp(40px, 5vw, 64px); }
@media (min-width: 1024px) { .nh-split-head { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); } }
.nh-split-head .nh-lead { max-width: 46ch; }
.nh-split-head__side { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }

/* Hero: brand purple ground, ten faint columns (ten working days), the lighter brand purple glowing behind the mandate. */
.nh-hx { position: relative; z-index: 1; background: var(--nh-brand-strong); color: #ffffff; }
.nh-hx__bg { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.nh-hx__bg::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 100%; max-width: 1200px; transform: translateX(-50%);
  padding: 0 var(--nh-gutter); background-origin: content-box; background-clip: content-box;
  background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 10%);
  -webkit-mask-image: linear-gradient(180deg, #000 30%, transparent 100%); mask-image: linear-gradient(180deg, #000 30%, transparent 100%);
}
.nh-hx__bg::after {
  content: ""; position: absolute; right: -12%; bottom: -35%; width: 70%; max-width: 980px; aspect-ratio: 1.3;
  background: radial-gradient(closest-side, rgba(108, 95, 178, 0.95), rgba(108, 95, 178, 0));
}
.nh-hx__inner { position: relative; padding-top: clamp(48px, 7vw, 104px); padding-bottom: clamp(48px, 6vw, 88px); }
.nh-hx__title { margin-top: 0 !important; font-size: clamp(44px, 7.4vw, 108px); line-height: 0.98; font-weight: 800; letter-spacing: -0.045em; color: #ffffff; }
.nh-hx__line { display: block; }
.nh-hx__grid { display: grid; gap: 40px; grid-template-columns: minmax(0, 1fr); margin-top: clamp(32px, 4vw, 56px); padding-top: clamp(28px, 3vw, 40px); border-top: 1px solid rgba(255, 255, 255, 0.2); }
.nh-hx__copy { display: flex; flex-direction: column; gap: 28px; max-width: 560px; }
.nh-hx__lead { font-size: clamp(18px, 1.7vw, 21px); line-height: 1.55; color: #ffffff; }
.nh-hx__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
.nh-hx .nh-btn--light { min-height: 56px; padding: 0 28px; font-size: 17px; color: var(--nh-brand-strong) !important; }
.nh-hx .nh-btn--light:hover { background: var(--nh-surface-brand); color: var(--nh-ink) !important; }
.nh-hx :focus-visible { outline-color: #ffffff; }
@media (min-width: 1024px) {
  .nh-hx__grid { grid-template-columns: minmax(0, 1fr) 440px; gap: 64px; align-items: start; }
  /* The mandate hangs into the next section. */
  .nh-hx .nh-mandate { margin-bottom: -200px; }
}

/* The mandate card */
.nh-mandate { position: relative; padding: 16px 16px 16px 0; min-width: 0; }
.nh-mandate__back { position: absolute; top: 0; right: 0; left: 40px; bottom: 56px; border-radius: 24px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.14); }
.nh-mandate__card {
  position: relative; margin: 0; background: #ffffff; border-radius: 24px; padding: 22px;
  box-shadow: var(--nh-shadow-raised), var(--nh-shadow-card);
  display: flex; flex-direction: column; gap: 14px; color: var(--nh-ink); font-size: 16px; line-height: 1.5;
}
.nh-mandate__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.nh-mandate__sample { font-family: var(--nh-mono); font-size: 12px; color: var(--nh-subtle); background: var(--nh-muted); padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.nh-mandate__right { display: inline-flex; align-items: center; gap: 6px; }
.nh-mandate__state { display: grid; font-family: var(--nh-mono); font-size: 12px; font-weight: 500; }
.nh-mandate__state > span { grid-area: 1 / 1; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; justify-self: end; white-space: nowrap; }
.nh-mandate__state > span::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: currentColor; }
.nh-mandate__state-a { color: var(--nh-brand-strong); background: var(--nh-surface-brand); opacity: 0; }
.nh-mandate__state-b { color: var(--nh-open); background: var(--nh-open-bg); }
.nh-mandate__pause {
  display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0;
  border-radius: 999px; border: 1px solid var(--nh-line-strong); background: #ffffff; color: var(--nh-text); cursor: pointer;
}
.nh-mandate__pause[hidden] { display: none; }
.nh-mandate__pause:hover { color: var(--nh-ink); border-color: var(--nh-ink); }
.nh-mandate__pause:focus-visible, .nh-mandate__tab:focus-visible { outline: 2px solid var(--nh-brand-strong); outline-offset: 2px; }
.nh-mandate__ico-pause { display: inline-flex; }
.nh-mandate__ico-play, .nh-mandate.is-stopped .nh-mandate__ico-pause { display: none; }
.nh-mandate.is-stopped .nh-mandate__ico-play { display: inline-flex; }
.nh-mandate__ico-play .nh-icon { fill: currentColor; }

.nh-mandate__tabs { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; margin: 0 -4px; padding: 0 4px; }
.nh-mandate__tabs::-webkit-scrollbar { display: none; }
.nh-mandate__tab {
  -webkit-appearance: none; appearance: none; border: 0; margin: 0; cursor: pointer; flex: 0 0 auto; position: relative; overflow: hidden;
  min-height: 28px; padding: 5px 10px; border-radius: 999px; background: var(--nh-muted); color: var(--nh-text);
  font-family: var(--nh-mono); font-size: 12px; line-height: 1.3; transition: background-color 0.2s ease, color 0.2s ease;
}
.nh-mandate__tab:hover { background: var(--nh-surface-brand); color: var(--nh-ink); }
.nh-mandate__tab[aria-selected="true"] { background: var(--nh-brand); color: #ffffff; }
.nh-mandate__tab::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background: rgba(255, 255, 255, 0.6); transform: scaleX(0); transform-origin: left center; }
.nh-mandate.is-rotating .nh-mandate__tab[aria-selected="true"]::after { animation: nhTabBar var(--nh-step, 2600ms) linear forwards; }
.nh-mandate.is-paused .nh-mandate__tab[aria-selected="true"]::after { animation-play-state: paused; }
@keyframes nhTabBar { to { transform: scaleX(1); } }

.nh-mandate__time { display: flex; flex-direction: column; gap: 8px; }
.nh-mandate__labels { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; color: var(--nh-text); }
.nh-mandate__eta { font-family: var(--nh-mono); font-size: 14px; font-weight: 500; color: var(--nh-brand-strong); white-space: nowrap; }
.nh-mandate__track { position: relative; height: 10px; border-radius: 999px; background: var(--nh-line); overflow: hidden; }
.nh-mandate__fill { position: absolute; inset: 0; transform-origin: left center; }
.nh-mandate__fill-a { position: absolute; top: 0; bottom: 0; left: 0; width: 50%; background: var(--nh-band-accent); }
.nh-mandate__fill-b { position: absolute; top: 0; bottom: 0; left: 50%; right: 0; background: var(--nh-brand); }
.nh-mandate__ticks { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 calc(10% - 2px), #ffffff calc(10% - 2px) 10%); }
.nh-mandate__days { position: relative; display: flex; justify-content: space-between; font-family: var(--nh-mono); font-size: 12px; color: var(--nh-subtle); }
.nh-mandate__days span:nth-child(2) { position: absolute; left: 50%; transform: translateX(-50%); color: var(--nh-brand-strong); }
.nh-mandate__days span:nth-child(3) { color: var(--nh-brand-strong); }

.nh-mandate__slides { display: grid; }
.nh-mandate__slide { grid-area: 1 / 1; display: flex; flex-direction: column; gap: 12px; min-width: 0; opacity: 0; visibility: hidden; }
.nh-mandate__slide.is-active { opacity: 1; visibility: visible; }
.nh-mandate__role { font-size: 21px; line-height: 1.25; font-weight: 800; letter-spacing: -0.01em; }
.nh-mandate__role span { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; letter-spacing: 0; color: var(--nh-subtle); }
.nh-mandate__list { border-top: 1px solid var(--nh-line); padding-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.nh-mandate__list-head { display: flex; justify-content: space-between; font-size: 13px; font-weight: 700; }
.nh-mandate__list-head span:last-child { font-family: var(--nh-mono); font-weight: 400; color: var(--nh-subtle); }
.nh-mandate__list ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.nh-mandate__list li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 8px 12px; border-radius: 14px; background: var(--nh-tint); }
.nh-mandate__n { font-family: var(--nh-mono); font-size: 12px; color: var(--nh-brand); }
.nh-mandate__who { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.nh-mandate__who strong { font-size: 14px; }
.nh-mandate__who span { font-size: 12.5px; color: var(--nh-subtle); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nh-mandate__chip { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 4px; padding: 4px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; color: var(--nh-text); background: var(--nh-line); }
.nh-mandate__chip.is-ok { color: var(--nh-open); background: var(--nh-open-bg); }
.nh-mandate__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 12px; border-top: 1px solid var(--nh-line); font-size: 13px; color: var(--nh-text); }
.nh-mandate__foot > span { display: inline-flex; align-items: center; gap: 8px; }
.nh-mandate__neos { font-family: var(--nh-mono); font-size: 11px; letter-spacing: 0.04em; color: #ffffff; background: var(--nh-band); padding: 3px 8px; border-radius: 999px; }
.nh-mandate__foot img { width: 28px; height: 28px; border-radius: 999px; object-fit: cover; background: var(--nh-line-strong); }

/* The one orchestrated moment: headline, then the mandate, then the working days fill and the status flips. */
@media (prefers-reduced-motion: no-preference) {
  .nh-hx__line { animation: nhRise 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) 0.08s both; }
  .nh-hx__line + .nh-hx__line { animation-delay: 0.18s; }
  .nh-hx__copy { animation: nhFade 0.7s ease 0.4s both; }
  .nh-hx__grid { transition: none; }
  .nh-mandate__card { animation: nhRise 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) 0.55s both; }
  .nh-mandate__back { animation: nhFade 0.8s ease 0.75s both; }
  .nh-mandate__fill { animation: nhGrow 1.3s cubic-bezier(0.35, 0.6, 0.2, 1) 1s both; }
  .nh-mandate__eta, .nh-mandate__days { animation: nhFade 0.4s ease 2.1s both; }
  .nh-mandate__state-a { animation: nhOut 0.35s ease 3s both; }
  .nh-mandate__state-b { animation: nhIn 0.35s ease 3s both; }
  .nh-mandate__foot { animation: nhFade 0.5s ease 3s both; }
  .nh-mandate__slide { transform: translateY(6px); transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s linear 0.35s; }
  .nh-mandate__slide.is-active { transform: none; transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s; }
}
@keyframes nhRise { from { opacity: 0; transform: translateY(24px); } }
@keyframes nhFade { from { opacity: 0; } }
@keyframes nhGrow { from { transform: scaleX(0); } }
@keyframes nhOut { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(-6px); } }
@keyframes nhIn { from { opacity: 0; transform: translateY(6px); } }
@media (prefers-reduced-motion: reduce) {
  .nh-mandate__state > .nh-mandate__state-a { display: none; }
}

/* Phone: only the tabs, the working days line and the role, so the buttons stay close. */
@media (max-width: 767px) {
  .nh-mandate { padding: 0; }
  .nh-mandate__back, .nh-mandate__list, .nh-mandate__foot { display: none; }
  .nh-mandate__card { padding: 18px; }
  .nh-mandate__role { font-size: 17px; }
  .nh-mandate__tabs { gap: 3px; }
  .nh-mandate__tab { padding: 5px 7px; font-size: 11px; }
}

/* Clients and the three numbers side by side */
.nh-clients { padding: clamp(56px, 6vw, 88px) 0 clamp(72px, 10vw, 144px); }
.nh-clients__title { font-size: 18px; line-height: 1.3; font-weight: 700; color: var(--nh-ink); margin-bottom: 24px !important; }
.nh-logos--wall { gap: 1px; background: var(--nh-line); margin: 0; }
.nh-logos.nh-logos--wall li { box-shadow: none; border-radius: 0; height: 88px; background: #ffffff; padding: 0 16px; }
.nh-logos--wall img { opacity: 0.62; }
.nh-clients__stats { margin-top: clamp(48px, 6vw, 80px); }
.nh-clients__stats .nh-num { color: var(--nh-brand-strong); }

/* NEOS: full width, intro stays while the four steps pass. */
.nh-neos { background: var(--nh-band); color: #ffffff; padding: clamp(72px, 10vw, 144px) 0; }
.nh-neos__grid { display: grid; gap: 48px; grid-template-columns: minmax(0, 1fr); }
.nh-neos__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.nh-neos__title { text-wrap: balance; font-size: clamp(32px, 3.8vw, 52px); line-height: 1.02; font-weight: 800; letter-spacing: -0.04em; color: #ffffff; }
.nh-neos__text { font-size: 17px; line-height: 1.6; color: var(--nh-band-muted); max-width: 44ch; }
.nh-neos__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 8px; }
.nh-neos__foot .nh-btn--light { min-height: 56px; padding: 0 28px; font-size: 17px; color: var(--nh-brand-strong) !important; }
.nh-neos__foot .nh-btn--light:hover { background: var(--nh-band-accent); color: var(--nh-ink) !important; }
.nh-neos :focus-visible { outline-color: var(--nh-band-accent); }
.nh-neos__steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, 0.14); }
.nh-neos__step { margin: 0; display: grid; gap: 20px 32px; grid-template-columns: minmax(0, 1fr); padding: 32px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
.nh-neos__what { display: flex; flex-direction: column; gap: 10px; }
.nh-neos__no { font-family: var(--nh-mono); font-size: 14px; color: var(--nh-band-accent); }
.nh-neos__what h3 { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; color: #ffffff; }
.nh-neos__what p { color: var(--nh-band-muted); max-width: 40ch; }
.nh-neos .nh-output { margin-top: 0; background: #ffffff; color: var(--nh-ink); }
@media (min-width: 640px) { .nh-neos__step { grid-template-columns: minmax(0, 1fr) 260px; align-items: start; } }
@media (min-width: 1024px) {
  .nh-neos__grid { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 80px; align-items: start; }
  .nh-neos__intro { position: -webkit-sticky; position: sticky; top: 120px; }
  body.admin-bar .nh-neos__intro { top: 152px; }
}

/* Services as large rows: the whole row is one link */
.nh-offers { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--nh-ink); }
.nh-offer { position: relative; margin: 0; display: grid; gap: 10px 40px; grid-template-columns: 56px minmax(0, 1fr); grid-template-areas: "icon name" "text text" "meta meta"; align-items: center; padding: 32px 0; border-bottom: 1px solid var(--nh-line-strong); }
.nh-offer__icon { grid-area: icon; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 16px; background: var(--nh-surface-brand); color: var(--nh-brand-strong); }
.nh-offer__name { grid-area: name; }
.nh-offer__text { grid-area: text; }
.nh-offer__meta { grid-area: meta; }
.nh-offer:hover .nh-offer__icon { background: var(--nh-brand); color: #ffffff; }
.nh-offer__name { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: clamp(28px, 3.4vw, 48px); line-height: 1.05; font-weight: 800; letter-spacing: -0.035em; color: var(--nh-ink); }
.nh-offer__link { color: var(--nh-ink) !important; text-decoration: none; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.nh-offer__link::after { content: ""; position: absolute; inset: 0; }
.nh-offer:hover .nh-offer__link { color: var(--nh-brand-strong) !important; text-decoration: underline; }
.nh-offer__text { color: var(--nh-text); max-width: 52ch; }
.nh-offer__meta { font-family: var(--nh-mono); font-size: 14px; color: var(--nh-ink); }
@media (min-width: 1024px) {
  .nh-offer { grid-template-columns: 64px minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 0.55fr); grid-template-areas: "icon name text meta"; align-items: center; padding: 44px 0; }
  .nh-offer__icon { width: 64px; height: 64px; border-radius: 18px; }
  .nh-offer__meta { text-align: right; }
}
.nh-callout--home { margin-top: 40px; background: var(--nh-tint); border-radius: 20px; padding: 24px 28px; }

/* Filled roles as a ledger */
.nh-ledger { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--nh-ink); }
.nh-ledger__row {
  margin: 0; display: grid; gap: 6px 32px; padding: 24px 0; border-bottom: 1px solid var(--nh-line-strong); align-items: baseline;
  grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "year tag" "title title" "meta meta";
}
.nh-ledger__year { grid-area: year; font-family: var(--nh-mono); font-size: 14px; color: var(--nh-subtle); }
.nh-ledger__title { grid-area: title; font-size: clamp(19px, 1.8vw, 24px); line-height: 1.25; font-weight: 700; letter-spacing: -0.01em; color: var(--nh-ink); }
.nh-ledger__meta { grid-area: meta; color: var(--nh-text); }
.nh-ledger__tag { grid-area: tag; justify-self: end; }
@media (min-width: 900px) {
  .nh-ledger__row { grid-template-columns: 72px minmax(0, 1.4fr) minmax(0, 1fr) auto; grid-template-areas: "year title meta tag"; padding: 28px 0; }
}

/* Open jobs: the whole card is one link */
.nh-studio .nh-job { position: relative; border: 1px solid var(--nh-line); box-shadow: none; padding: 24px; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.nh-studio .nh-job:hover { border-color: var(--nh-brand); box-shadow: var(--nh-shadow-raised); }
.nh-job__link::after { content: ""; position: absolute; inset: 0; border-radius: 20px; }
.nh-job__more { margin-top: auto; display: inline-flex; align-items: center; min-height: 32px; font-weight: 700; color: var(--nh-brand-strong); text-decoration: underline; text-underline-offset: 3px; }
.nh-jobs-actions { margin-top: 40px; }

/* Academy with the next date set large */
.nh-academy { background: var(--nh-surface-brand); padding: clamp(72px, 10vw, 144px) 0; }
.nh-academy__grid { display: grid; gap: 48px 80px; grid-template-columns: minmax(0, 1fr); align-items: end; }
@media (min-width: 1024px) { .nh-academy__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } }
.nh-academy__main { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.nh-academy__main .nh-lead { max-width: 46ch; }
.nh-academy__brand { font-size: 16px; font-weight: 700; color: var(--nh-brand-strong); }
.nh-academy__event { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 2px solid var(--nh-ink); }
.nh-academy__label { font-size: 15px; font-weight: 600; color: var(--nh-text); }
.nh-academy__date { font-family: var(--nh-mono); font-weight: 500; font-size: clamp(64px, 9vw, 136px); line-height: 0.9; letter-spacing: -0.06em; word-spacing: -0.4em; color: var(--nh-brand-strong); white-space: nowrap; }
.nh-academy__where strong { display: block; font-size: 20px; color: var(--nh-ink); }
.nh-academy__where span { color: var(--nh-text); }
.nh-academy__more { display: flex; gap: 16px; align-items: baseline; padding-top: 12px; border-top: 1px solid var(--nh-line-strong); color: var(--nh-text); }
.nh-academy__more .nh-num { font-size: 18px; color: var(--nh-brand-strong); }
.nh-academy__more strong { color: var(--nh-ink); }

/* Press row */
.nh-section--quiet .nh-callout--line { margin-top: 24px; }

/* FAQ as a list with hairlines */
.nh-faq-wrap { display: grid; gap: 32px 64px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1024px) {
  .nh-faq-wrap { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); align-items: start; }
  .nh-faq-wrap > .nh-display { position: -webkit-sticky; position: sticky; top: 112px; }
  body.admin-bar .nh-faq-wrap > .nh-display { top: 144px; }
}
.nh-studio .nh-faq { gap: 0; border-top: 1px solid var(--nh-ink); }
.nh-studio .nh-faq details { background: transparent; border-radius: 0; padding: 0; border-bottom: 1px solid var(--nh-line-strong); }
.nh-studio .nh-faq summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 0; padding: 24px 0; font-size: 19px; line-height: 1.4; }
.nh-studio .nh-faq summary::-webkit-details-marker { display: none; }
.nh-studio .nh-faq summary:hover { color: var(--nh-brand-strong); }
.nh-studio .nh-faq summary::after {
  content: ""; flex: 0 0 auto; width: 32px; height: 32px; border-radius: 999px; border: 1px solid var(--nh-line-strong);
  background: linear-gradient(var(--nh-ink), var(--nh-ink)) center / 12px 1.5px no-repeat, linear-gradient(var(--nh-ink), var(--nh-ink)) center / 1.5px 12px no-repeat;
  transition: transform 0.2s ease;
}
.nh-studio .nh-faq details[open] summary::after { transform: rotate(45deg); }
.nh-studio .nh-faq details p { margin: 0 48px 24px 0; max-width: 60ch; }

/* Closing: the question set as large as the opening promise */
.nh-close { padding: clamp(80px, 11vw, 160px) 0 clamp(72px, 9vw, 120px); background: #ffffff; }
.nh-close__title { text-wrap: balance; max-width: 13ch; font-size: clamp(40px, 7vw, 104px); line-height: 0.98; font-weight: 800; letter-spacing: -0.045em; color: var(--nh-ink); }
.nh-close__row { margin-top: clamp(40px, 5vw, 64px); padding-top: 32px; border-top: 1px solid var(--nh-line-strong); display: grid; gap: 24px 48px; grid-template-columns: minmax(0, 1fr); align-items: center; }
@media (min-width: 1024px) { .nh-close__row { grid-template-columns: auto minmax(0, 1fr) auto; } }
.nh-close__person { margin: 0; display: flex; align-items: center; gap: 14px; }
.nh-close__person img { width: 72px; height: 72px; border-radius: 999px; object-fit: cover; background: var(--nh-line-strong); display: block; }
.nh-close__person figcaption { display: flex; flex-direction: column; font-size: 15px; color: var(--nh-text); }
.nh-close__person strong { color: var(--nh-ink); }
.nh-close__lead { font-size: 18px; line-height: 1.5; color: var(--nh-text); max-width: 36ch; }
.nh-close__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.nh-close__jobs { margin-top: 16px; }

@media (max-width: 600px) {
  .nh-logos.nh-logos--wall li { height: 64px; padding: 0 10px; }
  .nh-studio .nh-faq summary { font-size: 17px; }
  .nh-studio .nh-faq details p { margin-right: 0; }
  .nh-hx .nh-btn--light { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .nh-studio .nh-job, .nh-studio .nh-faq summary::after, .nh-mandate__tab { transition: none; }
}

/* ---------- RaaS 1.5.0: studio layout on a service page ---------- */

/* Hero without the ten day columns (they belong to the headhunting promise); the glow stays. */
.nh-hx--plain .nh-hx__bg::before { content: none; }
.nh-crumbs--light { color: rgba(255, 255, 255, 0.72); margin-bottom: clamp(20px, 3vw, 32px); }
.nh-crumbs--light a { color: #ffffff !important; }
.nh-hx__alt { display: inline-flex; align-items: center; min-height: 44px; color: #ffffff !important; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
.nh-hx__alt:hover { color: var(--nh-surface-brand) !important; }

/* Sample weekly report in the hero (the page card, filled like the mandate on the homepage) */
.nh-report__card { gap: 14px; }
.nh-report .nh-mandate__role { font-size: 21px; line-height: 1.25; font-weight: 800; letter-spacing: -0.01em; }
.nh-report .nh-mandate__role span { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; letter-spacing: 0; color: var(--nh-subtle); }
.nh-report .nh-mandate__foot { display: flex; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid var(--nh-line); font-size: 13px; color: var(--nh-text); }
.nh-report__week { font-family: var(--nh-mono); font-size: 12px; font-weight: 500; color: var(--nh-brand-strong); background: var(--nh-surface-brand); padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.nh-report__table { display: flex; flex-direction: column; border-top: 1px solid var(--nh-line); padding-top: 10px; gap: 4px; font-size: 13px; }
.nh-report__head, .nh-report__row { display: grid; grid-template-columns: minmax(0, 1fr) 52px 64px 80px; gap: 6px; align-items: center; }
.nh-report__head { font-family: var(--nh-mono); font-size: 10.5px; color: var(--nh-subtle); padding: 0 10px 4px; white-space: nowrap; }
.nh-report__head span:nth-child(2), .nh-report__head span:nth-child(3) { text-align: right; }
.nh-report__row { padding: 8px 10px; border-radius: 12px; background: var(--nh-tint); }
.nh-report__role { min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.nh-report__role strong { font-size: 14px; color: var(--nh-ink); }
.nh-report__role span { font-size: 12px; color: var(--nh-subtle); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nh-report__n { font-family: var(--nh-mono); font-size: 14px; font-weight: 500; color: var(--nh-ink); text-align: right; }
.nh-report__row .nh-tag { font-size: 11px; padding: 3px 8px; }
.nh-report__foot { justify-content: space-between; }
@media (prefers-reduced-motion: no-preference) {
  .nh-report .nh-report__row { animation: nhFade 0.5s ease both; }
  .nh-report .nh-report__row:nth-child(2) { animation-delay: 1s; }
  .nh-report .nh-report__row:nth-child(3) { animation-delay: 1.15s; }
  .nh-report .nh-report__row:nth-child(4) { animation-delay: 1.3s; }
  .nh-report .nh-report__row:nth-child(5) { animation-delay: 1.45s; }
  .nh-report .nh-report__foot { animation-delay: 1.9s; }
}
@media (max-width: 767px) {
  .nh-report .nh-mandate__foot { display: none; }
  /* Phone: the reached column goes, so the role keeps one line. */
  .nh-report__head, .nh-report__row { grid-template-columns: minmax(0, 1fr) 56px 82px; }
  .nh-report__role strong { font-size: 13px; }
  .nh-report__head > :nth-child(2), .nh-report__row > :nth-child(2), .nh-report__role span { display: none; }
}

/* Comparison as a ledger, no box around it */
.nh-studio .nh-table-wrap { border: 0; border-radius: 0; }
.nh-studio .nh-table { font-size: 16px; }
.nh-studio .nh-table th, .nh-studio .nh-table td { padding: 18px 16px; border-bottom: 1px solid var(--nh-line-strong); }
.nh-studio .nh-table th:first-child, .nh-studio .nh-table td:first-child { padding-left: 0; }
.nh-studio .nh-table thead th { background: transparent; border-bottom: 1px solid var(--nh-ink); font-size: 15px; }
.nh-studio .nh-table thead th { padding-top: 0; color: var(--nh-text); font-weight: 600; }
.nh-studio .nh-table tbody th { font-size: 17px; font-weight: 800; letter-spacing: -0.01em; width: 22%; }
.nh-studio .nh-table th, .nh-studio .nh-table td { padding: 22px 20px; vertical-align: middle; }
/* The RaaS column is a dark card standing on the table: ink header, brand tint body, hairlines inside. */
.nh-studio .nh-table thead th.is-us { background: var(--nh-ink); color: #ffffff; border-radius: 14px 14px 0 0; border-bottom-color: var(--nh-ink); padding: 18px 20px; }
.nh-studio .nh-table thead th.is-us .nh-table__us-head { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 800; }
.nh-studio .nh-table thead th.is-us .nh-table__us-head::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--nh-brand); box-shadow: 0 0 0 4px rgba(108, 95, 178, 0.35); }
.nh-studio .nh-table tbody td.is-us { background: var(--nh-surface-brand); color: var(--nh-ink); font-weight: 700; border-bottom-color: rgba(108, 95, 178, 0.25); box-shadow: inset 1px 0 0 rgba(108, 95, 178, 0.25), inset -1px 0 0 rgba(108, 95, 178, 0.25); }
.nh-studio .nh-table tbody tr:last-child td.is-us { border-radius: 0 0 14px 14px; border-bottom: 1px solid rgba(108, 95, 178, 0.25); box-shadow: inset 1px 0 0 rgba(108, 95, 178, 0.25), inset -1px 0 0 rgba(108, 95, 178, 0.25); }
.nh-table__us { display: inline-flex; align-items: center; gap: 10px; }
.nh-table__us svg { flex-shrink: 0; color: var(--nh-brand-strong); }
.nh-studio .nh-table tr:last-child th, .nh-studio .nh-table tr:last-child td { border-bottom: 1px solid var(--nh-line-strong); }

/* Phone: each comparison row becomes a small list, the Neohunter answer last and tinted. No sideways scroll. */
@media (max-width: 639px) {
  .nh-studio .nh-table-wrap--stack { overflow: visible; }
  .nh-studio .nh-table--stack { min-width: 0; display: block; }
  .nh-studio .nh-table--stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .nh-studio .nh-table--stack tbody, .nh-studio .nh-table--stack tr { display: block; }
  .nh-studio .nh-table--stack tr { padding: 20px 0; border-bottom: 1px solid var(--nh-line-strong); }
  .nh-studio .nh-table--stack tr:first-child { border-top: 1px solid var(--nh-ink); }
  .nh-studio .nh-table--stack th, .nh-studio .nh-table--stack td { display: block; padding: 0 !important; border: 0 !important; }
  .nh-studio .nh-table--stack tbody th { font-size: 19px; font-weight: 800; letter-spacing: -0.015em; margin-bottom: 12px; width: auto; }
  .nh-studio .nh-table--stack td { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; padding: 8px 0 !important; font-size: 15px; }
  .nh-studio .nh-table--stack td::before { content: attr(data-label); color: var(--nh-subtle); font-size: 14px; }
  .nh-studio .nh-table--stack td.is-us { margin-top: 6px; padding: 10px 12px !important; border-radius: 12px !important; box-shadow: none; }
  .nh-studio .nh-table--stack td.is-us::before { color: var(--nh-brand-strong); font-weight: 600; }
}

/* Steps in a row with the key step marked */
.nh-path { list-style: none; margin: 0; padding: 0; display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.nh-path__step { margin: 0; display: flex; flex-direction: column; gap: 10px; padding-top: 20px; border-top: 2px solid var(--nh-line-strong); }
.nh-path__step.is-key { border-top-color: var(--nh-brand); }
.nh-path__no { font-family: var(--nh-mono); font-size: 14px; color: var(--nh-brand-strong); }
.nh-path__step h3 { font-size: clamp(20px, 2vw, 24px); line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; color: var(--nh-ink); }
.nh-path__step p { color: var(--nh-text); max-width: 32ch; }
.nh-path--side { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 40px; }
@media (max-width: 600px) {
  .nh-path--side { grid-template-columns: minmax(0, 1fr); }
  .nh-path { gap: 0; }
  .nh-path__step { padding: 20px 0; border-top-width: 1px; }
  .nh-path__step.is-key { border-top-width: 2px; }
}

/* Closing on a service page carries the outline action too */
.nh-page-raas .nh-close__title { max-width: 16ch; }
.nh-page-raas .nh-close { border-top: 1px solid var(--nh-line-strong); }
@media (max-width: 600px) {
  .nh-page-raas .nh-close__actions .nh-btn { width: 100%; }
}

/* ---------- Service and company pages (1.2.0) ---------- */

.nh-hero__grid { display: grid; gap: 32px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1024px) { .nh-hero__grid { grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; } }
.nh-hero--service .nh-hero__copy { max-width: none; }
.nh-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--nh-mono); font-size: 14px; color: var(--nh-subtle); }
.nh-crumbs a { color: var(--nh-brand-strong); }
.nh-proofline { display: flex; flex-wrap: wrap; gap: 4px 10px; font-family: var(--nh-mono); font-size: 14px; color: var(--nh-subtle); }
.nh-proofline span:nth-child(odd) { color: var(--nh-ink); }
.nh-benefit { background: #ffffff; border-radius: 20px; box-shadow: var(--nh-shadow-card); padding: 24px; display: flex; flex-wrap: wrap; gap: 20px 32px; align-items: center; }
.nh-benefit > div:first-child { flex: 1 1 260px; }
.nh-benefit__label { font-family: var(--nh-mono); font-size: 13px; color: var(--nh-subtle); }
.nh-benefit__main { font-size: 22px; line-height: 1.3; font-weight: 800; color: var(--nh-ink); margin-top: 4px !important; }
.nh-benefit__stats { flex: 1 1 300px; display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nh-benefit__stats .nh-num { font-size: 28px; }
.nh-benefit__stats p:last-child { font-size: 14px; color: var(--nh-text); margin-top: 6px; }
.nh-benefit--feature { align-items: flex-start; }
.nh-eta { align-self: flex-start; position: relative; padding: 8px 16px 8px 32px; border-radius: 18px; background: var(--nh-open-bg); color: var(--nh-open); font-size: 15px; line-height: 1.45; font-weight: 600; }
.nh-eta::before { content: ""; position: absolute; left: 15px; top: 15px; width: 8px; height: 8px; border-radius: 999px; background: currentColor; }
.nh-eta span { white-space: nowrap; }
.nh-buy { background: #ffffff; border: 2px solid var(--nh-brand); box-shadow: var(--nh-shadow-raised); border-radius: 20px; padding: clamp(20px, 3vw, 28px); display: flex; flex-direction: column; gap: 14px; }
.nh-buy .nh-tag { align-self: flex-start; }
.nh-buy h2 { font-size: 22px; line-height: 1.25; font-weight: 800; color: var(--nh-ink); }
.nh-buy > p { color: var(--nh-text); }
.nh-buy .nh-link { align-self: flex-start; }
.nh-buy__events { border-top: 1px solid var(--nh-line); padding-top: 12px; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.nh-buy__events .nh-mono { color: var(--nh-brand-strong); margin-right: 6px; }
.nh-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.nh-checks li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--nh-text); margin: 0; }
.nh-checks .nh-icon { color: var(--nh-open); flex: 0 0 auto; margin-top: 1px; }

.nh-strip { padding: 24px 0; border-bottom: 1px solid var(--nh-line); }
.nh-strip .nh-small { margin-bottom: 4px; }
.nh-logos--strip { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 8px; }
@media (min-width: 768px) { .nh-logos--strip { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.nh-logos--strip li { background: transparent; box-shadow: none !important; }
.nh-logos--media { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin-top: 24px; }
.nh-logos--media li { height: 72px; background: transparent; box-shadow: none !important; justify-content: flex-start; padding: 0; }
.nh-logos--media img { opacity: 0.7; }
.nh-logos--media li:hover img { filter: none; opacity: 1; }
@media (min-width: 640px) { .nh-logos--media { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .nh-logos--media { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 16px 32px; } }
@media (max-width: 767px) { .nh-logos--strip li:nth-child(n+5) { display: none; } }

.nh-layout { display: grid; gap: 48px; grid-template-columns: minmax(0, 1fr); padding-top: var(--nh-section); padding-bottom: var(--nh-section); }
.nh-layout__main { display: flex; flex-direction: column; gap: clamp(56px, 7vw, 88px); min-width: 0; }
.nh-layout__side { display: none; }
@media (min-width: 1024px) {
  .nh-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 64px; }
  .nh-layout__side { display: block; }
}
.nh-aside-card { position: sticky; top: 96px; background: #ffffff; border: 1px solid var(--nh-line); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
body.admin-bar .nh-aside-card { top: 128px; }
.nh-aside-card .nh-link { align-self: flex-start; }
.nh-person--sm { gap: 12px; }
.nh-person--sm img { width: 56px; height: 56px; }
.nh-person--sm span { display: block; }
.nh-block { display: flex; flex-direction: column; gap: 24px; }

.nh-s20 { display: flex; flex-direction: column; gap: 10px; max-width: 680px; padding-left: 20px; border-left: 3px solid var(--nh-brand); }
.nh-s20 p { font-size: clamp(18px, 1.8vw, 20px); line-height: 1.45; font-weight: 600; color: var(--nh-ink); }
.nh-bignums { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.nh-bignums > div { border-top: 1px solid var(--nh-line-strong); padding-top: 16px; }
.nh-bignums .nh-num { font-size: clamp(32px, 3.4vw, 40px); white-space: nowrap; }
.nh-bignums p:last-child { margin-top: 8px; font-size: 15px; color: var(--nh-text); }

.nh-fit { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.nh-fit--4 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.nh-fit__item { background: var(--nh-tint); border-radius: 16px; padding: 20px; display: flex; gap: 14px; align-items: flex-start; }
.nh-fit__item .nh-icon { color: var(--nh-brand); flex: 0 0 auto; }
.nh-fit__item h3 { font-size: 18px; line-height: 1.35; font-weight: 700; color: var(--nh-ink); }
.nh-fit__item p { margin-top: 4px; font-size: 15px; color: var(--nh-text); }
.nh-note { color: var(--nh-text); }
.nh-note a { font-weight: 700; }

.nh-rows { margin: 0; display: flex; flex-direction: column; }
.nh-rows > div { display: grid; gap: 4px 32px; grid-template-columns: minmax(0, 1fr); padding: 18px 0; border-top: 1px solid var(--nh-line); }
.nh-rows > div:last-child { border-bottom: 1px solid var(--nh-line); }
@media (min-width: 768px) { .nh-rows > div { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); } }
.nh-rows dt { font-size: 17px; font-weight: 700; color: var(--nh-ink); }
.nh-rows dd { margin: 0; color: var(--nh-text); }

.nh-timeline { list-style: none; margin: 0; padding: 0 0 0 36px; position: relative; }
.nh-timeline::before { content: ""; position: absolute; left: 11px; top: 8px; bottom: 24px; width: 2px; background: var(--nh-line-strong); transform-origin: top; }
.nh-timeline li { position: relative; padding: 0 0 28px; margin: 0; }
.nh-timeline li:last-child { padding-bottom: 0; }
.nh-timeline li::before { content: ""; position: absolute; left: -31px; top: 3px; width: 14px; height: 14px; border-radius: 999px; background: #ffffff; border: 2px solid var(--nh-brand); }
.nh-timeline li.is-key::before { background: var(--nh-brand); box-shadow: 0 0 0 4px var(--nh-surface-brand); }
.nh-timeline__when { font-family: var(--nh-mono); font-size: 13px; color: var(--nh-brand-strong); }
.nh-timeline h3 { font-size: 18px; line-height: 1.35; font-weight: 700; color: var(--nh-ink); margin-top: 4px !important; }
.nh-timeline li > p:last-child:not(.nh-timeline__when) { margin-top: 4px; font-size: 15px; color: var(--nh-text); }
html.nh-motion .nh-timeline::before { transition: transform 0.9s ease; }
html.nh-motion .nh-timeline li { transition: opacity 0.4s ease, transform 0.4s ease; }
html.nh-motion .nh-timeline.is-pending::before { transform: scaleY(0); }
html.nh-motion .nh-timeline.is-pending li { opacity: 0; transform: translateY(8px); }
html.nh-motion .nh-timeline.is-in li:nth-child(2) { transition-delay: 0.12s; }
html.nh-motion .nh-timeline.is-in li:nth-child(3) { transition-delay: 0.24s; }
html.nh-motion .nh-timeline.is-in li:nth-child(4) { transition-delay: 0.36s; }
html.nh-motion .nh-timeline.is-in li:nth-child(5) { transition-delay: 0.48s; }

.nh-duo { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.nh-duo > div { border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.nh-duo__ai { border: 1px solid #3e3a50; color: var(--nh-band-muted); }
.nh-duo__ai h3 { color: #ffffff; }
.nh-duo__human { background: #ffffff; color: var(--nh-ink); }
.nh-duo h3 { font-size: 19px; font-weight: 700; }
.nh-duo ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }
.nh-tag--filled-soft { color: var(--nh-filled); background: var(--nh-filled-bg); }
.nh-card--plain { padding: 24px; gap: 12px; }

.nh-founder { background: var(--nh-tint); border-radius: 24px; padding: clamp(24px, 4vw, 48px); display: flex; flex-wrap: wrap; gap: 24px 40px; align-items: center; }
.nh-founder > img { width: 160px; height: 160px; border-radius: 24px; object-fit: cover; flex: 0 0 auto; }
.nh-founder > div { flex: 1 1 420px; display: flex; flex-direction: column; gap: 14px; }
.nh-h2--md { font-size: clamp(24px, 2.6vw, 28px); }
.nh-founder__by { color: var(--nh-text); }

.nh-mbar { display: none; }
@media (max-width: 1023px) {
  .nh-mbar { display: flex; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 950; background: #ffffff; border-top: 1px solid var(--nh-line); box-shadow: 0 -8px 24px rgba(74, 60, 158, 0.1); padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); }
  .nh-mbar .nh-btn { min-height: 48px; padding: 0 16px; font-size: 15px; }
  .nh-mbar .nh-btn--primary { flex: 1 1 auto; }
  .nh-mbar .nh-btn--outline { flex: 0 0 auto; }
  body.nh-service-page { padding-bottom: 76px; }
}

.nh-table-wrap { overflow-x: auto; border-radius: 16px; border: 1px solid var(--nh-line); }
.nh-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 15px; }
.nh-table th, .nh-table td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--nh-line); color: var(--nh-text); }
.nh-table tr:last-child th, .nh-table tr:last-child td { border-bottom: 0; }
.nh-table thead th { background: var(--nh-tint); color: var(--nh-ink); font-weight: 700; }
.nh-table tbody th { color: var(--nh-ink); font-weight: 600; }
.nh-table .is-us { background: var(--nh-surface-brand); color: var(--nh-brand-strong); font-weight: 700; }

/* Contact: shared form pieces (also the studio page below) */
.nh-form--card { background: #ffffff; border-radius: 24px; box-shadow: var(--nh-shadow-raised); padding: clamp(20px, 3vw, 36px); gap: 18px; }
.nh-choice { border: 0; padding: 0; margin: 0; min-width: 0; }
.nh-choice legend { font-weight: 700; font-size: 15px; color: var(--nh-ink); padding: 0; margin-bottom: 10px; }
.nh-choice > div { display: flex; flex-wrap: wrap; gap: 8px; }
.nh-choice label { position: relative; cursor: pointer; }
.nh-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nh-choice span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--nh-line-strong); background: #ffffff; font-size: 15px; font-weight: 600; color: var(--nh-ink); }
.nh-choice input:checked + span { background: var(--nh-brand); border-color: var(--nh-brand); color: #ffffff; }
.nh-choice input:focus-visible + span { outline: 2px solid var(--nh-brand-strong); outline-offset: 2px; }
.nh-fields { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.nh-field textarea { width: 100%; min-height: 120px; padding: 12px 16px; border-radius: 12px; border: 1px solid var(--nh-control); font-family: var(--nh-sans); font-size: 16px; line-height: 1.5; color: var(--nh-ink); background: #ffffff; resize: vertical; }
.nh-opt { font-weight: 400; color: var(--nh-subtle); }
.nh-form__submit { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }

/* ---------- Contact 1.5.0: studio layout, only inside main.nh-contact-studio ---------- */
/* Same language as the homepage: brand purple hero with one white card hanging into the next section, then quiet editorial rows. */

.nh-hx--contact .nh-hx__title { font-size: clamp(42px, 6.6vw, 96px); }
.nh-ct__eyebrow { font-size: 16px; line-height: 1.4; font-weight: 600; color: var(--nh-band-muted); margin-bottom: 18px !important; }
.nh-hx__grid--contact { gap: 40px; }
.nh-ct__to-form { display: none; align-items: center; min-height: 44px; color: #ffffff !important; font-weight: 700; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.55); text-underline-offset: 5px; }
.nh-ct__to-form:hover { text-decoration-color: #ffffff; }
.nh-ct__person { margin: 0; display: flex; align-items: center; gap: 14px; }
.nh-ct__person img { width: 56px; height: 56px; border-radius: 999px; object-fit: cover; background: rgba(255, 255, 255, 0.2); display: block; flex: 0 0 auto; }
.nh-ct__person figcaption { display: flex; flex-direction: column; font-size: 15px; line-height: 1.4; color: var(--nh-band-muted); }
.nh-ct__person strong { color: #ffffff; }
.nh-ct__form { position: relative; min-width: 0; scroll-margin-top: 96px; }
.nh-ct__card { color: var(--nh-ink); box-shadow: var(--nh-shadow-raised), var(--nh-shadow-card); }
.nh-ct__card :focus-visible { outline-color: var(--nh-brand-strong); }
.nh-ct__card-head { display: flex; flex-direction: column; gap: 6px; }
.nh-ct__card-title { font-size: 24px; line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; color: var(--nh-ink); }
.nh-ct__card .nh-small { color: var(--nh-subtle); }

/* What happens next: three hairline rows in the hero, white on purple. */
.nh-ct__after { display: flex; flex-direction: column; gap: 20px; max-width: 520px; }
.nh-ct__after-title { font-size: 18px; line-height: 1.3; font-weight: 700; color: #ffffff; }
.nh-ct__steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, 0.35); }
.nh-ct__steps li { margin: 0; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 16px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2); align-items: baseline; }
.nh-ct__steps p { font-size: 16px; line-height: 1.5; color: #ffffff; }
.nh-ct__no { font-family: var(--nh-mono); font-size: 13px; color: var(--nh-band-accent); }

@media (min-width: 1024px) {
  .nh-hx__grid--contact { grid-template-columns: minmax(0, 1fr) 520px; grid-template-rows: auto 1fr; gap: 48px 64px; align-items: start; }
  .nh-hx--contact .nh-hx__copy { grid-column: 1; grid-row: 1; max-width: 520px; }
  .nh-hx--contact .nh-ct__after { grid-column: 1; grid-row: 2; }
  /* The form spans both rows and hangs into the next section like the mandate on the homepage. */
  .nh-hx--contact .nh-ct__form { grid-column: 2; grid-row: 1 / 3; margin-bottom: -360px; }
}
@media (max-width: 1023px) {
  .nh-ct__to-form { display: inline-flex; }
}
@media (prefers-reduced-motion: no-preference) {
  .nh-ct__eyebrow { animation: nhFade 0.6s ease 0s both; }
  .nh-ct__card { animation: nhRise 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) 0.55s both; }
  .nh-ct__after { animation: nhFade 0.7s ease 0.6s both; }
}

/* Candidates: a quiet band, kept left of the hanging form. Height follows the hanging form (about 274px below the hero), not a fixed box. */
.nh-ct__cand { padding: clamp(56px, 7vw, 96px) 0; border-bottom: 1px solid var(--nh-line); }
.nh-ct__cand-inner { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; max-width: 560px; }
@media (min-width: 1024px) { .nh-ct__cand { padding: 104px 0 64px; } .nh-ct__cand-inner { max-width: calc(100% - 584px); min-height: 200px; } }
.nh-ct__h2 { font-size: clamp(26px, 2.8vw, 36px); line-height: 1.12; font-weight: 800; letter-spacing: -0.025em; color: var(--nh-ink); text-wrap: balance; }
.nh-ct__text { font-size: 17px; line-height: 1.6; color: var(--nh-text); max-width: 52ch; }

.nh-clients--contact { padding: clamp(56px, 6vw, 88px) 0; border-bottom: 1px solid var(--nh-line); }
/* 12 logos: 3, 4 or 6 per row, so the wall always ends on a full row. */
.nh-clients--contact .nh-logos--wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 601px) { .nh-clients--contact .nh-logos--wall { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .nh-clients--contact .nh-logos--wall { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* Offices as a ledger */
.nh-ct__places { padding: clamp(72px, 10vw, 144px) 0; }
.nh-ct__places-grid { display: grid; gap: 32px 80px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1024px) { .nh-ct__places-grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); } }
.nh-ct__offices { display: flex; flex-direction: column; gap: 24px; }
.nh-ct__places-head { display: flex; flex-direction: column; gap: 32px; }
.nh-ct__photos { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); max-width: 440px; }
@media (min-width: 640px) and (max-width: 1023px) { .nh-ct__photos { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; } }
.nh-ct__photo { margin: 0; display: flex; flex-direction: column; gap: 8px; }
body.nh26 .nh-ct__photo img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; border-radius: 12px; background: var(--nh-tint); }
.nh-ct__photo figcaption { display: flex; justify-content: space-between; gap: 12px; font-family: var(--nh-mono); font-size: 13px; color: var(--nh-text); }
.nh-ct__credit { color: var(--nh-subtle); }
.nh-ct__ledger { margin: 0; border-top: 1px solid var(--nh-ink); }
.nh-ct__ledger > div { display: grid; gap: 6px 24px; grid-template-columns: minmax(0, 1fr); padding: 20px 0; border-bottom: 1px solid var(--nh-line-strong); }
@media (min-width: 640px) { .nh-ct__ledger > div { grid-template-columns: 120px minmax(0, 1fr) auto; align-items: baseline; } }
.nh-ct__ledger dt { font-size: 17px; font-weight: 700; color: var(--nh-ink); }
.nh-ct__ledger dd { margin: 0; color: var(--nh-text); }
.nh-ct__ledger address { font-style: normal; }
.nh-ct__ledger a { color: var(--nh-ink); font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; min-height: 32px; }
.nh-ct__ledger a:hover { color: var(--nh-brand-strong); text-decoration: underline; text-underline-offset: 3px; }
.nh-ct__ledger a.nh-mono { font-weight: 500; }
.nh-ct__quiet { font-size: 14px; color: var(--nh-subtle); }
@media (prefers-reduced-motion: reduce) {
  .nh-ct__card, .nh-ct__after, .nh-ct__eyebrow { animation: none; }
}

/* About */
.nh-stats--4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
@media (max-width: 600px) { .nh-stats--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; } }
.nh-story { display: grid; gap: 32px 56px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 900px) { .nh-story { grid-template-columns: 300px minmax(0, 1fr); } }
.nh-story__photo { margin: 0; max-width: 300px; }
.nh-story__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 24px; background: var(--nh-muted); display: block; }
.nh-story__photo figcaption { margin-top: 12px; display: flex; flex-direction: column; font-size: 15px; color: var(--nh-text); }
.nh-story__photo strong { color: var(--nh-ink); }
.nh-story__text { display: flex; flex-direction: column; gap: 16px; max-width: 700px; }
.nh-story__text p { font-size: 18px; line-height: 1.65; color: var(--nh-text); }
.nh-team .nh-person span { font-size: 14px; color: var(--nh-text); }
.nh-team__num { font-size: 44px; color: var(--nh-brand); }
.nh-person .nh-avatar, .nh-avatar { width: 64px; height: 64px; border-radius: 999px; background: var(--nh-surface-brand); color: var(--nh-brand-strong); font-family: var(--nh-mono); font-size: 20px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.nh-how { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.nh-how > div { border-top: 2px solid var(--nh-brand); padding-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.nh-how h3 { font-size: 18px; line-height: 1.35; font-weight: 700; color: var(--nh-ink); }
.nh-how p { color: var(--nh-text); }
.nh-seen__label { font-family: var(--nh-mono); font-size: 13px; color: var(--nh-subtle); }
.nh-seen strong { display: block; color: var(--nh-ink); }
.nh-seen div p { color: var(--nh-text); font-size: 15px; }
.nh-seen ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-weight: 600; color: var(--nh-ink); }
.nh-seen .nh-seen__logos { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding-bottom: 16px; border-bottom: 1px solid var(--nh-line); }
.nh-seen .nh-seen__logos:last-child { border-bottom: 0; padding-bottom: 0; }
.nh-seen__logos li { display: flex; align-items: center; height: 44px; }
body.nh26 .nh-seen__logos img { height: var(--h, 36px); max-height: var(--h, 36px); width: auto; max-width: 150px; object-fit: contain; filter: grayscale(1); opacity: 0.75; }
.nh-seen__logos li:hover img { filter: none; opacity: 1; }

/* Academy */
.nh-three { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.nh-three p { background: var(--nh-tint); border-radius: 16px; padding: 20px; font-size: 17px; color: var(--nh-text); }
.nh-three strong { display: block; color: var(--nh-ink); margin-bottom: 4px; }
.nh-course h3 { font-size: 18px; line-height: 1.35; }
.nh-soon { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.nh-soon > span:first-child { font-family: var(--nh-mono); font-size: 14px; color: var(--nh-subtle); }
.nh-band--row { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 48px; }
.nh-band__text { color: var(--nh-band-muted); font-size: 17px; line-height: 1.6; }
.nh-btn--light { background: #ffffff; color: var(--nh-ink) !important; }
.nh-btn--light:hover { background: var(--nh-band-accent); color: var(--nh-ink) !important; }

@media print {
  .nh-timeline::before, .nh-timeline li { transition: none !important; opacity: 1 !important; transform: none !important; }
  .nh-mbar, .nh-consent { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  html.nh-motion .nh-timeline::before, html.nh-motion .nh-timeline li, html.nh-motion .nh-timeline.is-pending::before, html.nh-motion .nh-timeline.is-pending li { transition: none; transform: none; opacity: 1; }
}

/* ---------- Headhunting 1.5.1: the studio layout on a service page (main.nh-studio) ---------- */

/* Hero: the same purple ground, the title one step smaller than on the homepage, the offer card hangs into the next section. */
.nh-hx--page .nh-hx__title { font-size: clamp(40px, 6.2vw, 88px); }
/* Proof: three numbers side by side, hairline between them. */
.nh-hx__proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 4px 0 0; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.28); }
.nh-hx__proof > div { display: flex; flex-direction: column; gap: 4px; padding-right: 16px; }
.nh-hx__proof > div + div { padding-left: 20px; border-left: 1px solid rgba(255, 255, 255, 0.28); }
.nh-hx__proof dt { font-family: var(--nh-mono); font-size: clamp(26px, 2.6vw, 34px); line-height: 1; font-weight: 500; letter-spacing: -0.02em; color: #ffffff; }
.nh-hx__proof dd { margin: 0; font-size: 14px; line-height: 1.35; color: var(--nh-band-muted); }
@media (max-width: 600px) { .nh-hx__proof dt { font-size: 24px; } .nh-hx__proof > div { padding-right: 8px; } .nh-hx__proof > div + div { padding-left: 12px; } }
.nh-hx__card-wrap { position: relative; padding: 16px 16px 16px 0; min-width: 0; }
.nh-hx__card {
  position: relative; background: #ffffff; border-radius: 24px; padding: 24px;
  box-shadow: var(--nh-shadow-raised), var(--nh-shadow-card);
  display: flex; flex-direction: column; gap: 14px; color: var(--nh-ink); font-size: 16px; line-height: 1.5;
}
.nh-hx__card .nh-mandate__time { padding-bottom: 16px; border-bottom: 1px solid var(--nh-line); }
.nh-hx__card-title { font-size: 22px; line-height: 1.25; font-weight: 800; letter-spacing: -0.015em; color: var(--nh-ink); text-wrap: balance; }
.nh-hx__card-text { font-size: 15px; color: var(--nh-text); }
.nh-hx__card .nh-link { align-self: flex-start; min-height: 32px; }
.nh-hx__card .nh-checks { padding-top: 14px; border-top: 1px solid var(--nh-line); }
.nh-hx__card .nh-checks li { font-size: 14px; }
@media (min-width: 1024px) {
  .nh-hx--page .nh-hx__card-wrap { margin-bottom: -200px; }
}
@media (max-width: 767px) {
  .nh-hx__card-wrap { padding: 0; }
  .nh-hx__card { padding: 20px; }
}
@media (prefers-reduced-motion: no-preference) {
  .nh-hx__card { animation: nhRise 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) 0.55s both; }
}

/* Twenty seconds: three sentences set large, the numbers under them on one line. */
.nh-s20x { padding: clamp(56px, 6vw, 88px) 0 clamp(72px, 10vw, 144px); }
.nh-s20x__grid { display: grid; gap: 40px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1024px) { .nh-s20x__grid { grid-template-columns: minmax(0, 1fr) 440px; gap: 64px; } }
.nh-s20x__copy { display: flex; flex-direction: column; gap: 16px; }
.nh-s20x__copy .nh-h2--sm { margin-bottom: 8px; }
.nh-s20x__line { font-size: clamp(22px, 2.4vw, 32px); line-height: 1.3; font-weight: 700; letter-spacing: -0.02em; color: var(--nh-ink); max-width: 26ch; text-wrap: balance; }
.nh-s20x__rows { list-style: none; margin: 8px 0 0; padding: 0; border-top: 1px solid var(--nh-ink); }
.nh-s20x__rows li { margin: 0; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px 16px; padding: 24px 0; border-bottom: 1px solid var(--nh-line-strong); align-items: start; }
.nh-s20x__no { font-family: var(--nh-mono); font-size: 14px; line-height: 1.3; color: var(--nh-brand-strong); padding-top: 8px; }
.nh-s20x__rows h3 { font-size: clamp(22px, 2.2vw, 30px); line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; color: var(--nh-ink); max-width: 24ch; text-wrap: balance; }
.nh-s20x__rows p { margin-top: 8px; font-size: 17px; line-height: 1.55; color: var(--nh-text); max-width: 46ch; }
@media (max-width: 600px) { .nh-s20x__rows li { grid-template-columns: 36px minmax(0, 1fr); padding: 20px 0; } }
.nh-s20x__stats { margin-top: clamp(48px, 6vw, 80px); }
.nh-s20x__stats .nh-num { color: var(--nh-brand-strong); white-space: nowrap; }

/* Four situations as a numbered row with hairlines, not four cards. */
.nh-cases { list-style: none; margin: 0; padding: 0; display: grid; gap: 32px 40px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .nh-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .nh-cases { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.nh-case { margin: 0; display: flex; flex-direction: column; gap: 10px; padding-top: 20px; border-top: 1px solid var(--nh-line-strong); }
.nh-case__no { font-family: var(--nh-mono); font-size: 14px; color: var(--nh-brand); }
.nh-case h3 { font-size: clamp(20px, 1.8vw, 24px); line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; color: var(--nh-ink); }
.nh-case p { color: var(--nh-text); }
.nh-cases__note { margin-top: 40px; }

/* Parts of the mandate: a ledger of six rows. */
.nh-parts { margin: 0; display: flex; flex-direction: column; border-top: 1px solid var(--nh-ink); }
.nh-part { display: grid; gap: 8px 48px; grid-template-columns: minmax(0, 1fr); padding: 28px 0; border-bottom: 1px solid var(--nh-line-strong); }
@media (min-width: 768px) { .nh-part { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); align-items: start; } }
.nh-part dt { display: flex; gap: 16px; align-items: baseline; font-size: clamp(20px, 2vw, 26px); line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; color: var(--nh-ink); }
.nh-part__no { flex: 0 0 auto; font-family: var(--nh-mono); font-size: 14px; font-weight: 400; letter-spacing: 0; color: var(--nh-brand-strong); }
.nh-part dd { margin: 0; font-size: 17px; line-height: 1.55; color: var(--nh-text); max-width: 56ch; }

/* Heading on the left, content on the right (timeline). */
.nh-side-head { display: grid; gap: 32px 64px; grid-template-columns: minmax(0, 1fr); }
.nh-side-head__title { display: flex; flex-direction: column; gap: 16px; }
.nh-side-head__title .nh-lead { max-width: 40ch; }
@media (min-width: 1024px) {
  .nh-side-head { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); align-items: start; }
  .nh-side-head__title { position: -webkit-sticky; position: sticky; top: 112px; }
  body.admin-bar .nh-side-head__title { top: 144px; }
}
.nh-timeline--lg { padding-left: 44px; }
.nh-timeline--lg::before { left: 13px; }
.nh-timeline--lg li { padding-bottom: 36px; }
.nh-timeline--lg li:last-child { padding-bottom: 0; }
.nh-timeline--lg li::before { left: -38px; width: 16px; height: 16px; }
.nh-timeline--lg .nh-timeline__when { font-size: 14px; }
.nh-timeline--lg h3 { font-size: clamp(20px, 1.8vw, 24px); line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; }
.nh-timeline--lg li > p:last-child:not(.nh-timeline__when) { font-size: 16px; max-width: 48ch; }

/* NEOS on the service page: what AI prepares and what the consultant decides, as two columns of rows. */
.nh-neos__rule { color: #ffffff; font-weight: 700; }
.nh-duo-rows { display: grid; gap: 0 40px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .nh-duo-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nh-duo-rows__col { display: flex; flex-direction: column; border-top: 1px solid rgba(255, 255, 255, 0.14); padding-top: 28px; }
.nh-duo-rows__col h3 { font-size: clamp(20px, 2vw, 26px); line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; color: var(--nh-band-accent); padding-bottom: 16px; }
.nh-duo-rows__col--human h3 { color: #ffffff; }
.nh-duo-rows__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.nh-duo-rows__col li { margin: 0; padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, 0.14); font-size: 17px; line-height: 1.5; color: var(--nh-band-muted); }
.nh-duo-rows__col--human li { color: #ffffff; font-weight: 600; }
@media (max-width: 639px) { .nh-duo-rows__col + .nh-duo-rows__col { margin-top: 32px; } }

/* Filled roles and client wall */
.nh-ledger__foot, .nh-clients__foot { margin-top: 24px; }
.nh-clients--page { padding: clamp(72px, 10vw, 144px) 0; }

/* Why we do it this way: the photo and one large statement. */
.nh-why { display: grid; gap: 32px 64px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 900px) { .nh-why { grid-template-columns: 300px minmax(0, 1fr); } }
.nh-why__photo { margin: 0; max-width: 300px; }
.nh-why__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 16px; background: var(--nh-muted); display: block; }
.nh-why__photo figcaption { margin-top: 12px; display: flex; flex-direction: column; font-size: 15px; color: var(--nh-text); }
.nh-why__photo strong { color: var(--nh-ink); }
.nh-why__text { display: flex; flex-direction: column; gap: 8px; }
.nh-why__quote { font-size: clamp(20px, 2.3vw, 33px); line-height: 1.28; font-weight: 700; letter-spacing: -0.025em; color: var(--nh-ink); max-width: 28ch; text-wrap: balance; }
@media (max-width: 899px) { .nh-why__photo { max-width: 200px; } }

/* ---------- Footer (also used on older pages) ---------- */

.nh26-footer { background: var(--nh-tint); padding: 56px 0 24px; font-family: var(--nh-sans); font-size: 14px; line-height: 1.5; color: var(--nh-text); }
.nh26-footer__inner { max-width: 1200px; margin: 0 auto; padding: 0 var(--nh-gutter); display: flex; flex-direction: column; gap: 40px; }
.nh26-footer__cols { display: grid; gap: 32px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.nh26-footer__col { display: flex; flex-direction: column; gap: 6px; }
.nh26-footer__col p { margin: 0; }
.nh26-footer__col img { height: 24px; width: auto; align-self: flex-start; margin-bottom: 6px; }
.nh26-footer__title { font-weight: 700; color: var(--nh-ink); margin-bottom: 2px !important; font-size: 14px; }
.nh26-footer__col a { color: var(--nh-text) !important; text-decoration: none; min-height: 32px; display: inline-flex; align-items: center; }
.nh26-footer__col a:hover { color: var(--nh-ink) !important; text-decoration: underline; }
.nh26-footer__col a.is-strong { color: var(--nh-brand-strong) !important; font-weight: 700; }
.nh26-footer__mono { font-family: var(--nh-mono); }
.nh26-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 20px; border-top: 1px solid var(--nh-line-strong); }
.nh26-footer__bottom p { margin: 0; }
.nh26-footer__bottom div { display: flex; flex-wrap: wrap; gap: 20px; }
.nh26-footer__bottom a { color: var(--nh-text) !important; }

/* ---------- Consent bar ---------- */

.nh-consent {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9999; max-width: 720px; margin: 0 auto;
  background: #ffffff; border-radius: 20px; box-shadow: var(--nh-shadow-raised), 0 0 0 1px var(--nh-line);
  padding: 20px; display: none; flex-direction: column; gap: 12px; font-family: var(--nh-sans); color: var(--nh-ink);
}
.nh-consent.is-visible { display: flex; }
.nh-consent p { margin: 0; font-size: 15px; color: var(--nh-text); }
.nh-consent__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.nh-consent__actions .nh-btn { flex: 1 1 120px; min-height: 44px; font-size: 15px; padding: 0 12px; }
@media (max-width: 600px) {
  .nh-consent { left: 8px; right: 8px; bottom: 8px; padding: 12px 14px; gap: 8px; border-radius: 16px; }
  .nh-consent p { font-size: 13px; line-height: 1.45; }
  .nh-consent #nh-consent-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .nh-consent__actions .nh-btn { font-size: 14px; }
}

/* Text for screen readers only (WordPress and plugins use this class). */
/* Academy 1.6.2: delivered trainings */
.nh-stats--done { margin-top: 0; }
.nh-ledger--done { margin-top: 8px; }
.nh-ledger--done .nh-ledger__title { text-decoration: none; color: var(--nh-ink); }
.nh-ledger--done .nh-ledger__title:hover { color: var(--nh-brand-strong); text-decoration: underline; }
.nh-ledger--done .nh-ledger__tag { white-space: nowrap; }

/* Turnstile 1.6.1 */
.nh-turnstile { min-height: 65px; }
.nh-turnstile .cf-turnstile { width: 100%; }

/* ---------- Apply 1.6.0: application form inside the old theme's job pages ---------- */
.nh-apply { font-family: var(--nh-sans); color: var(--nh-ink); margin: 32px 0 48px; }
.nh-apply *, .nh-apply *::before, .nh-apply *::after { box-sizing: border-box; }
.nh-apply__title { font-family: var(--nh-sans); font-size: clamp(24px, 3vw, 32px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; color: var(--nh-ink); margin: 0 0 8px; }
.nh-apply__lead { font-family: var(--nh-sans); font-size: 16px; line-height: 1.5; color: var(--nh-subtle); margin: 0 0 20px; }
.nh-apply .nh-form--card { max-width: 720px; }
.nh-apply .nh-field label { font-family: var(--nh-sans); margin: 0; }
.nh-apply .nh-field input, .nh-apply .nh-field textarea, .nh-apply .nh-field select { box-shadow: none; margin: 0; }
.nh-apply .nh-field input:focus, .nh-apply .nh-field textarea:focus, .nh-apply .nh-field select:focus { outline: 2px solid var(--nh-brand-strong); outline-offset: 1px; border-color: var(--nh-brand); }
.nh-apply .nh-field select {
  min-height: 48px; width: 100%; padding: 0 44px 0 16px; border-radius: 12px; border: 1px solid var(--nh-control);
  font-family: var(--nh-sans); font-size: 16px; color: var(--nh-ink); background: #ffffff; appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231F2338' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center;
}
.nh-apply .nh-field input[type="file"] { padding: 10px 16px; line-height: 1.4; height: auto; min-height: 48px; font-size: 15px; }
.nh-apply .nh-field input[type="file"]::file-selector-button {
  font-family: var(--nh-sans); font-weight: 700; font-size: 14px; color: var(--nh-brand-strong); background: var(--nh-surface-brand);
  border: 0; border-radius: 999px; padding: 6px 14px; margin-right: 12px; cursor: pointer;
}
.nh-apply .nh-check { font-family: var(--nh-sans); line-height: 1.45; }
.nh-apply .nh-check span { display: block; }
.nh-apply .nh-check a { color: var(--nh-brand-strong); text-decoration: underline; }
.nh-apply .nh-check input { margin-top: 2px; }
.nh-apply .nh-btn { font-family: var(--nh-sans); }
.nh-apply .nh-small { font-family: var(--nh-sans); }
.nh-apply .nh-notice { font-family: var(--nh-sans); margin: 0; }
@media (max-width: 640px) {
  .nh-apply .nh-form__submit .nh-btn { width: 100%; }
}

.nh26 .screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

@media (prefers-reduced-motion: reduce) {
  .nh-btn, .nh26-header__nav a { transition: none; }
}

/* Legal pages (/privacy-policy/): the page's own WordPress content in the studio layout. */
.nh-legal__hero { padding: clamp(56px, 8vw, 112px) 0 clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--nh-line); }
.nh-legal__hero .nh-h1 { font-size: clamp(36px, 5.2vw, 72px); line-height: 1.02; letter-spacing: -0.035em; max-width: 14ch; }
body.nh26 .nh-legal__meta { margin-top: 24px; font-family: var(--nh-mono); font-size: 14px; color: var(--nh-text); }
.nh-legal { padding: clamp(48px, 6vw, 96px) 0 clamp(72px, 10vw, 144px); }
.nh-legal__grid { display: grid; gap: 40px 80px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1024px) { .nh-legal__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); } }
.nh-legal__toc { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 10px; max-width: 320px; }
.nh-legal__toc p { font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--nh-ink); margin: 0 0 6px; }
.nh-legal__toc ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--nh-line-strong); }
.nh-legal__toc li { margin: 0; border-bottom: 1px solid var(--nh-line); }
.nh-legal__toc a { display: block; padding: 9px 0; font-size: 15px; line-height: 1.4; color: var(--nh-text); text-decoration: none; }
.nh-legal__toc a:hover, .nh-legal__toc a:focus-visible { color: var(--nh-brand-strong); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1023px) { .nh-legal__toc { position: static; max-width: none; } }
.nh-legal__body { max-width: 72ch; font-size: 17px; line-height: 1.65; color: var(--nh-text); }
body.nh26 .nh-legal__body > * + * { margin-top: 1em; }
body.nh26 .nh-legal__body h2 + *, body.nh26 .nh-legal__body h3 + *, body.nh26 .nh-legal__body h4 + * { margin-top: 0.6em; }
body.nh26 .nh-legal__body h2, body.nh26 .nh-legal__body h3, body.nh26 .nh-legal__body h4 { color: var(--nh-ink); font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; text-wrap: balance; }
.nh-legal__doc-title { font-size: 20px; font-weight: 700; color: var(--nh-ink); letter-spacing: -0.01em; }
body.nh26 .nh-legal__body h2 { font-size: clamp(24px, 2.2vw, 30px); margin-top: 1.6em; padding-top: 1.1em; border-top: 1px solid var(--nh-line-strong); scroll-margin-top: 96px; }
body.nh26 .nh-legal__body h3 { font-size: 19px; margin-top: 1.8em; }
body.nh26 .nh-legal__body h4 { font-size: 17px; margin-top: 1.4em; }
.nh-legal__body ul, .nh-legal__body ol { padding-left: 1.3em; }
body.nh26 .nh-legal__body li { margin: 0.4em 0; }
.nh-legal__body li::marker { color: var(--nh-brand-strong); }
.nh-legal__body a { color: var(--nh-brand-strong); text-decoration: underline; text-underline-offset: 3px; }
.nh-legal__body strong { color: var(--nh-ink); }
.nh-legal__body table { width: 100%; border-collapse: collapse; font-size: 15px; }
.nh-legal__body th, .nh-legal__body td { text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--nh-line); }
.nh-legal__body th { color: var(--nh-ink); }
.nh-legal__body img { max-width: 100%; height: auto; }

/* RaaS banner on the headhunting page: one quiet band, one action. */
.nh-raas-banner { padding: clamp(48px, 5vw, 72px) 0; background: var(--nh-surface-brand); border-top: 1px solid var(--nh-line); border-bottom: 1px solid var(--nh-line); }
.nh-raas-banner__inner { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
@media (min-width: 1024px) { .nh-raas-banner__inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 64px; } }
.nh-raas-banner__copy { display: flex; flex-direction: column; gap: 10px; max-width: 640px; }
.nh-raas-banner__title { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.15; font-weight: 800; letter-spacing: -0.025em; color: var(--nh-ink); text-wrap: balance; }
.nh-raas-banner__text { font-size: 17px; line-height: 1.55; color: var(--nh-text); max-width: 52ch; }
.nh-raas-banner .nh-btn { flex-shrink: 0; }
