@import url("https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@500,700,800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;1,400&display=swap");

:root {
  --ground: #D698DC;
  --ground-lift: #E4BBE8;
  --ink: #1D101E;
  --ink-soft: #332235;
  --brand: #9B16A7;
  --brand-deep: #5D0891;
  --brand-mute: #962C74;
  --brand-soft: #C46BCC;
  --night: #2E1730;
  --paper: #FFFFFF;
  --face-display: "Cabinet Grotesk", "Helvetica Neue", Arial, sans-serif;
  --face-text: "Lora", Georgia, "Times New Roman", serif;
  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-body: 1.0625rem;
  --fs-lg: 1.333rem;
  --fs-xl: 1.875rem;
  --fs-xxl: 2.5rem;
  --fs-hero: 3.5rem;
  --sp-xs: 4px;
  --sp-sm: 8px;
  --sp-md: 16px;
  --sp-lg: 24px;
  --sp-xl: 32px;
  --sp-xxl: 48px;
  --rail: 15rem;
  --gutter: var(--sp-md);
  --hero-pad: var(--sp-md);
  --wide: 72rem;
  --measure: 62ch;
}

@media (min-width: 480px) {
  :root { --gutter: var(--sp-lg); --hero-pad: var(--sp-lg); }
}

@media (min-width: 768px) {
  :root { --gutter: var(--sp-xl); --hero-pad: var(--sp-xl); }
}

@media (min-width: 1280px) {
  :root { --gutter: var(--sp-xxl); --hero-pad: var(--sp-xxl); }
}

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

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: 4.5rem;
}

body {
  margin: 0;
  overflow-x: clip;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--face-text);
  font-size: var(--fs-body);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

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

a { color: inherit; text-decoration: none; }

p a:not([class]), li a:not([class]), figcaption a:not([class]),
blockquote a:not([class]), dd a:not([class]), dt a:not([class]), td a:not([class]) {
  color: var(--brand-deep);
  text-decoration: underline;
  text-decoration-color: var(--brand);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.18em;
}

p a:not([class]):hover, li a:not([class]):hover, figcaption a:not([class]):hover,
blockquote a:not([class]):hover, dd a:not([class]):hover, dt a:not([class]):hover, td a:not([class]):hover {
  color: var(--ink);
  text-decoration-thickness: 3px;
}

details[open] a:not([class]) { color: var(--ink); text-decoration-color: var(--brand-deep); }

:is(.unhj-step--verdict, .unhj-step--contact, .unhj-hero-column, .unhj-outcome, .unhj-pullquote, main blockquote) a:not([class]) {
  color: var(--paper);
  text-decoration: underline;
  text-decoration-color: var(--brand-soft);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.18em;
}

:is(.unhj-step--verdict, .unhj-step--contact, .unhj-hero-column, .unhj-outcome, .unhj-pullquote, main blockquote) a:not([class]):hover {
  color: var(--paper);
  text-decoration-color: var(--paper);
}

h1, h2, h3, h4 {
  font-family: var(--face-display);
  color: inherit;
  margin: 0 0 var(--sp-md);
  text-wrap: balance;
}

h1 {
  font-weight: 800;
  font-size: clamp(2.75rem, 1.6rem + 3.2vw, 4.5rem);
  line-height: 0.98;
  letter-spacing: -0.02em;
}

h2 {
  font-weight: 700;
  font-size: clamp(1.875rem, 1.3rem + 1.6vw, 2.5rem);
  line-height: 1.06;
  letter-spacing: -0.012em;
}

h3 { font-weight: 700; font-size: var(--fs-lg); line-height: 1.2; }

h4 { font-weight: 500; font-size: var(--fs-base); line-height: 1.3; }

p { margin: 0 0 var(--sp-md); }

ul, ol { margin: 0 0 var(--sp-lg); padding-left: 1.25em; }

li { margin-bottom: var(--sp-sm); }

figure { margin: 0; }

strong { font-weight: 600; }

:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }

:is(.unhj-step--verdict, .unhj-step--contact, .unhj-hero-column, .unhj-outcome, .unhj-pullquote, .unhj-footer) :focus-visible {
  outline-color: var(--paper);
}

::selection { background: var(--brand); color: var(--paper); }

img[src*="-professional-services-"], .unhj-graded {
  filter: sepia(0.3) hue-rotate(245deg) saturate(1.15) brightness(0.94);
}

.unhj-navbar {
  position: sticky;
  top: 0;
  z-index: 60;
  isolation: isolate;
}

.unhj-navbar::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(214, 152, 220, 0.84);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: background-color 0.3s ease;
}

.unhj-navbar.scrolled::before { background: rgba(214, 152, 220, 0.92); }

.unhj-navbar-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-sm) var(--sp-md);
  min-height: 3.75rem;
  padding: var(--sp-sm) var(--gutter);
}

.unhj-navbar-brand {
  font-family: var(--face-display);
  font-weight: 800;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: -0.015em;
  white-space: nowrap;
  color: var(--ink);
}

.unhj-navbar-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-xs) var(--sp-md);
  flex-basis: 100%;
}

.unhj-navbar--sidebar-left-left-plain .unhj-navbar-links a {
  font-family: var(--face-display);
  font-weight: 500;
  font-size: var(--fs-base);
  line-height: 1.3;
  white-space: nowrap;
  padding: var(--sp-xs) 0;
  text-underline-offset: 0.3em;
}

.unhj-navbar--sidebar-left-left-plain .unhj-navbar-links a:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--brand);
}

.unhj-navbar--sidebar-left-left-plain .unhj-navbar-links a[aria-current="page"] {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-decoration-color: var(--brand);
}

.unhj-navbar-phone {
  font-family: var(--face-display);
  font-weight: 500;
  font-size: var(--fs-sm);
  white-space: nowrap;
}

.unhj-navbar-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0 0.625rem;
  margin-right: calc(var(--sp-sm) * -1);
  background: transparent;
  border: 0;
  color: var(--ink);
  cursor: pointer;
  position: relative;
  z-index: 70;
}

.unhj-navbar-toggle span {
  display: block;
  height: 2px;
  background: currentColor;
  transition: transform 0.25s ease, opacity 0.2s ease;
}

.unhj-navbar-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.unhj-navbar-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.unhj-navbar-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1023.98px) {
  .unhj-js .unhj-navbar-inner { flex-wrap: nowrap; }
  .unhj-js .unhj-navbar-toggle { display: inline-flex; }
  .unhj-js .unhj-navbar-links {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(82vw, 20rem);
    flex-direction: column;
    flex-wrap: nowrap;
    gap: var(--sp-xs);
    padding: calc(var(--sp-xxl) * 1.5) var(--sp-xl) var(--sp-xl);
    background: var(--night);
    color: var(--paper);
    overflow-y: auto;
    transform: translateX(-100%);
    visibility: hidden;
    transition: transform 0.3s ease, visibility 0s linear 0.3s;
    z-index: 65;
  }
  .unhj-js .unhj-navbar-links.open {
    transform: translateX(0);
    visibility: visible;
    transition: transform 0.3s ease, visibility 0s;
  }
  .unhj-js .unhj-navbar--sidebar-left-left-plain .unhj-navbar-links a {
    font-size: var(--fs-lg);
    padding: var(--sp-sm) 0;
  }
  .unhj-js .unhj-navbar--sidebar-left-left-plain .unhj-navbar-links a[aria-current="page"],
  .unhj-js .unhj-navbar--sidebar-left-left-plain .unhj-navbar-links a:hover {
    text-decoration-color: var(--brand-soft);
  }
  .unhj-js .unhj-navbar-links :focus-visible { outline-color: var(--paper); }
}

@media (min-width: 1024px) {
  html { scroll-padding-top: 0; }
  body { padding-left: var(--rail); }
  .unhj-navbar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: var(--rail);
  }
  .unhj-navbar-inner {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: var(--sp-xxl);
    height: 100%;
    padding: var(--sp-xxl) var(--sp-lg) var(--sp-xl);
    overflow-y: auto;
  }
  .unhj-navbar-brand {
    font-size: var(--fs-xl);
    line-height: 0.95;
    letter-spacing: -0.025em;
    white-space: normal;
    width: min-content;
  }
  .unhj-navbar-links {
    flex-direction: column;
    flex-wrap: nowrap;
    flex-basis: auto;
    gap: var(--sp-sm);
  }
  .unhj-navbar-phone { margin-top: auto; }
}

.unhj-shell,
:where(main:not(.unhj-story)) > * {
  max-width: var(--wide);
  margin-inline: auto;
  padding-inline: var(--gutter);
  padding-block: var(--sp-xxl);
}

:where(main:not(.unhj-story)) > :first-child { padding-top: calc(var(--sp-xxl) * 2); }

:where(main:not(.unhj-story)) > :last-child { padding-bottom: calc(var(--sp-xxl) * 2); }

:where(main:not(.unhj-story)) :is(p, li, dd, figcaption) { max-width: var(--measure); }

:where(main:not(.unhj-story)) h2 { max-width: 24ch; }

.unhj-page-head h1 { max-width: 16ch; margin-bottom: var(--sp-lg); }

.unhj-page-lede {
  font-size: var(--fs-lg);
  line-height: 1.5;
  max-width: 46ch;
}

.unhj-story > :not(.unhj-hero):not(.unhj-step):not(.unhj-content-section) {
  max-width: var(--wide);
  margin-inline: auto;
  padding: var(--sp-xxl) var(--gutter);
}

.unhj-hero {
  display: flex;
  flex-direction: column;
  position: relative;
}

.unhj-hero-lead { display: contents; }

.unhj-hero-lead > :is(img, picture, figure, a) {
  order: -1;
  display: block;
  width: 100%;
  height: 60svh;
  margin: 0;
  overflow: hidden;
}

.unhj-hero-lead > img,
.unhj-hero-lead > :is(picture, figure, a) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 35%;
}

.unhj-hero-eyebrow {
  font-family: var(--face-display);
  font-weight: 500;
  font-size: var(--fs-base);
  line-height: 1.3;
  color: var(--brand-deep);
  margin: var(--sp-xl) var(--hero-pad) var(--sp-sm);
}

.unhj-hero--magazine-multi-column h1 {
  font-size: clamp(2.75rem, 1.4rem + 5vw, 4rem);
  line-height: 0.95;
  letter-spacing: -0.028em;
  margin: 0 var(--hero-pad) var(--sp-lg);
  overflow-wrap: break-word;
}

.unhj-hero-lede {
  font-size: var(--fs-lg);
  line-height: 1.5;
  max-width: 34ch;
  margin: 0 var(--hero-pad) var(--sp-xxl);
}

.unhj-hero-column {
  background: var(--brand);
  color: var(--paper);
  padding: var(--sp-xl) var(--hero-pad);
}

.unhj-hero-column:first-of-type { padding-top: var(--sp-xxl); }

.unhj-hero-column:last-child { padding-bottom: var(--sp-xxl); }

.unhj-hero-column h2 {
  font-size: var(--fs-xl);
  line-height: 1.1;
  margin-bottom: var(--sp-sm);
  max-width: 20ch;
}

.unhj-hero-column p { max-width: 46ch; margin-bottom: 0; }

@media (min-width: 1024px) {
  .unhj-hero--magazine-multi-column {
    display: grid;
    grid-template-columns: minmax(22rem, 42fr) minmax(0, 58fr);
    grid-template-rows: minmax(var(--sp-xxl), 1fr) auto auto auto auto auto;
  }
  .unhj-hero--magazine-multi-column::before {
    content: "";
    grid-column: 1;
    grid-row: 1 / 5;
    min-height: 100svh;
  }
  .unhj-hero-eyebrow { grid-column: 1; grid-row: 2; margin: 0 var(--hero-pad) var(--sp-md); }
  .unhj-hero--magazine-multi-column h1 {
    grid-column: 1;
    grid-row: 3;
    font-size: clamp(2.75rem, 1.25rem + 2.4vw, 3.5rem);
    line-height: 1;
  }
  .unhj-hero-lede { grid-column: 1; grid-row: 4; margin-bottom: calc(var(--sp-xxl) * 1.5); }
  .unhj-hero-column { grid-column: 1; }
  .unhj-hero-lead > :is(img, picture, figure, a) {
    order: 0;
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: stretch;
    position: relative;
    height: 100%;
    min-height: 100svh;
  }
}

.unhj-step { position: relative; display: flex; flex-direction: column; }

.unhj-step-text { padding: var(--sp-xxl) var(--gutter) calc(var(--sp-xxl) * 1.5); }

.unhj-step-text > * { max-width: var(--measure); }

.unhj-step-text h2 { max-width: 20ch; }

.unhj-step-panel { position: relative; order: -1; margin: 0; }

.unhj-step-panel img,
.unhj-step-panel :is(picture, a) img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.unhj-step-panel > :is(picture, a) { display: block; height: 100%; }

.unhj-step-panel figcaption,
.unhj-band-media figcaption,
.unhj-card figcaption {
  background: var(--ground);
  color: var(--ink);
  font-family: var(--face-text);
  font-size: var(--fs-sm);
  line-height: 1.45;
  padding: var(--sp-sm) var(--gutter);
  max-width: none;
}

@media (min-width: 768px) {
  .unhj-step-panel figcaption,
  .unhj-band-media figcaption {
    position: absolute;
    left: 0;
    bottom: 0;
    max-width: min(30rem, 82%);
    padding: var(--sp-sm) var(--sp-md);
  }
}

@media (min-width: 1024px) {
  .unhj-step { flex-direction: row; align-items: stretch; min-height: 100svh; }
  .unhj-step-text {
    flex: 0 0 42%;
    min-width: 22rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: calc(var(--sp-xxl) * 2) var(--hero-pad);
  }
  .unhj-step-panel {
    order: 0;
    flex: 1 1 0;
    min-width: 0;
    align-self: flex-start;
    position: sticky;
    top: 0;
    height: 100svh;
  }
  .unhj-step-panel img,
  .unhj-step-panel :is(picture, a) img {
    height: 100%;
    aspect-ratio: auto;
  }
  .unhj-js .unhj-story .unhj-step-text,
  .unhj-js .unhj-story .unhj-band-text > :not(figure) {
    transition: color 0.35s ease;
  }
  .unhj-js .unhj-story .unhj-step:not(.unhj-step--verdict):not(.unhj-step--contact):not(.is-active) .unhj-step-text,
  .unhj-js .unhj-story .unhj-band--text-inline-images:not(.is-active) .unhj-band-text > :not(figure) {
    color: var(--ink-soft);
  }
}

.unhj-step--verdict {
  background: var(--brand);
  color: var(--paper);
  padding: calc(var(--sp-xxl) * 2) var(--gutter);
  justify-content: center;
}

.unhj-step--verdict h2 {
  font-size: var(--fs-lg);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
  margin-bottom: var(--sp-lg);
  max-width: 40ch;
}

.unhj-verdict {
  margin: 0;
  max-width: 64rem;
  font-family: var(--face-text);
  font-size: clamp(1.333rem, 0.8rem + 1.6vw, 2.25rem);
  line-height: 1.38;
}

.unhj-verdict p { margin: 0 0 var(--sp-lg); }

.unhj-verdict-source {
  display: block;
  font-family: var(--face-display);
  font-weight: 500;
  font-size: var(--fs-base);
  font-style: normal;
  line-height: 1.3;
}

.unhj-step--contact { background: var(--night); color: var(--paper); }

@media (min-width: 1024px) {
  .unhj-step--verdict {
    flex-direction: column;
    align-items: flex-start;
    margin-left: calc(var(--rail) * -1);
    padding: calc(var(--sp-xxl) * 2) var(--hero-pad) calc(var(--sp-xxl) * 2) calc(var(--rail) + var(--hero-pad));
  }
  .unhj-step--contact {
    margin-left: calc(var(--rail) * -1);
    padding-left: var(--rail);
  }
}

.unhj-contact-details {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-lg) var(--sp-xl);
  margin: var(--sp-xl) 0 0;
}

.unhj-contact-details > div { flex: 1 1 12rem; }

.unhj-contact-details dt {
  font-family: var(--face-display);
  font-weight: 500;
  font-size: var(--fs-sm);
  line-height: 1.3;
  margin: 0 0 var(--sp-xs);
  color: var(--brand-soft);
}

.unhj-contact-details dd {
  margin: 0;
  font-size: var(--fs-lg);
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.unhj-decision-link {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  margin-top: var(--sp-lg);
  padding: var(--sp-md) var(--sp-lg);
  background: var(--brand-deep);
  color: var(--paper);
  font-family: var(--face-display);
  font-weight: 700;
  font-size: var(--fs-base);
  line-height: 1.2;
  transition: background-color 0.2s ease;
}

.unhj-decision-link:hover { background: var(--ink); }

.unhj-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-md) var(--sp-lg);
  background: var(--brand);
  color: var(--paper);
  border: 0;
  font-family: var(--face-display);
  font-weight: 700;
  font-size: var(--fs-base);
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.unhj-btn:hover { background: var(--brand-deep); color: var(--paper); }

.unhj-locale-tag {
  display: inline;
  margin: 0 0 0 0.25em;
  padding: 0.35em 0.5em;
  border: 2px solid var(--brand-mute);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  font-family: var(--face-display);
  font-weight: 500;
  font-size: 0.875em;
  line-height: inherit;
  white-space: nowrap;
  color: var(--ink);
}

.unhj-locale-tag a {
  color: var(--brand-deep);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.15em;
}

:is(.unhj-step--contact, .unhj-step--verdict, .unhj-hero-column) .unhj-locale-tag {
  border-color: var(--brand-soft);
  color: var(--paper);
}

:is(.unhj-step--contact, .unhj-step--verdict, .unhj-hero-column) .unhj-locale-tag a { color: var(--paper); }

details { margin: 0; }

details + details { border-top: 1px solid var(--brand-mute); }

summary {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--sp-md);
  padding: var(--sp-md) var(--sp-sm);
  font-family: var(--face-display);
  font-weight: 500;
  font-size: var(--fs-lg);
  line-height: 1.3;
  list-style: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

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

summary::after {
  content: "+";
  flex: none;
  font-weight: 700;
  font-size: var(--fs-lg);
  line-height: 1;
}

details[open] > summary::after { content: "\2212"; }

summary:hover, summary:focus-visible, details[open] { background: var(--brand-soft); }

details > :not(summary) { padding-inline: var(--sp-sm); }

details > :last-child:not(summary) { padding-bottom: var(--sp-md); margin-bottom: 0; }

@supports (interpolate-size: allow-keywords) {
  :root { interpolate-size: allow-keywords; }
  details::details-content {
    block-size: 0;
    overflow: hidden;
    transition: block-size 0.3s ease, content-visibility 0.3s allow-discrete;
  }
  details[open]::details-content { block-size: auto; }
}

.unhj-step--services details { max-width: var(--measure); }

.unhj-content-section { position: relative; }

.unhj-band--accordion-expandable-sections details { max-width: 48rem; }

.unhj-band--accordion-expandable-sections > h2 { margin-bottom: var(--sp-lg); }

.unhj-band--two-column-text-newspaper > h2 { margin-bottom: var(--sp-lg); }

.unhj-band-columns { display: flex; flex-direction: column; gap: 0 var(--sp-xxl); }

@media (min-width: 768px) {
  .unhj-band-columns--2 { flex-direction: row; }
  .unhj-band-columns--2 > * { flex: 1 1 0; min-width: 0; }
}

.unhj-band-text > h2 { max-width: 24ch; }

.unhj-band-media { position: relative; margin: var(--sp-xl) 0; max-width: 52rem; }

.unhj-band-media img,
.unhj-band-media :is(picture, a) img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.unhj-band-media--inline > :is(picture, a) { display: block; }

.unhj-story .unhj-band--text-inline-images .unhj-band-text {
  background: var(--ground-lift);
  padding: var(--sp-xxl) var(--gutter);
}

.unhj-story .unhj-band-text > :not(figure) { max-width: var(--measure); }

.unhj-story .unhj-band-media img,
.unhj-story .unhj-band-media :is(picture, a) img { aspect-ratio: 4 / 3; }

@media (min-width: 1024px) {
  .unhj-story .unhj-band--text-inline-images .unhj-band-text {
    display: grid;
    grid-template-columns: minmax(22rem, 42fr) minmax(0, 58fr);
    grid-template-rows: repeat(6, auto) minmax(0, 1fr);
    min-height: 100svh;
    position: relative;
    padding: 0;
    background: none;
  }
  .unhj-story .unhj-band--text-inline-images .unhj-band-text::before {
    content: "";
    position: absolute;
    grid-column: 1;
    grid-row: 1 / -1;
    inset: 0;
    background: var(--ground-lift);
  }
  .unhj-story .unhj-band-text > :not(figure) {
    grid-column: 1;
    align-self: start;
    position: relative;
    max-width: none;
    padding-inline: var(--hero-pad);
  }
  .unhj-story .unhj-band-text > h2 { padding-top: calc(var(--sp-xxl) * 2); }
  .unhj-story .unhj-band-text > :last-child:not(figure) { padding-bottom: calc(var(--sp-xxl) * 2); }
  .unhj-story .unhj-band-media {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: start;
    position: sticky;
    top: 0;
    height: 100svh;
    max-width: none;
    margin: 0;
  }
  .unhj-story .unhj-band-media ~ .unhj-band-media { align-self: end; }
  .unhj-story .unhj-band-media > :is(picture, a) { height: 100%; }
  .unhj-story .unhj-band-media img,
  .unhj-story .unhj-band-media :is(picture, a) img {
    height: 100%;
    aspect-ratio: auto;
  }
}

.unhj-grid { display: flex; flex-direction: column; gap: var(--sp-xxl); margin: var(--sp-xl) 0; }

.unhj-card { margin: 0; }

.unhj-card img { width: 100%; object-fit: cover; margin-bottom: var(--sp-md); }

.unhj-card--tall img { aspect-ratio: 4 / 5; }

.unhj-card--short img { aspect-ratio: 1 / 1; }

.unhj-card h3 { margin-bottom: var(--sp-sm); }

.unhj-card p { font-size: var(--fs-base); line-height: 1.6; }

@media (min-width: 768px) {
  .unhj-grid--three-column-alternating-heights {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--sp-xl);
  }
  .unhj-grid--three-column-alternating-heights > .unhj-card { flex: 1 1 0; min-width: 0; }
  .unhj-grid--three-column-alternating-heights > .unhj-card--short { margin-top: calc(var(--sp-xxl) * 2); }
}

.unhj-pullquote,
:where(main:not(.unhj-story)) blockquote:not([class]) {
  margin: var(--sp-xl) 0;
  padding: var(--sp-xl);
  max-width: 44rem;
  background: var(--brand);
  color: var(--paper);
  font-family: var(--face-display);
  font-weight: 500;
  font-size: clamp(1.333rem, 1.1rem + 0.8vw, 1.875rem);
  line-height: 1.3;
}

.unhj-pullquote p,
:where(main:not(.unhj-story)) blockquote:not([class]) p { max-width: none; margin: 0 0 var(--sp-sm); }

.unhj-pullquote-source,
:where(main:not(.unhj-story)) blockquote :is(footer, cite) {
  display: block;
  margin-top: var(--sp-md);
  font-family: var(--face-text);
  font-weight: 400;
  font-style: normal;
  font-size: var(--fs-sm);
  line-height: 1.4;
}

:where(main) dt {
  font-family: var(--face-display);
  font-weight: 700;
  font-size: var(--fs-lg);
  line-height: 1.3;
  margin-top: var(--sp-lg);
}

:where(main) dd { margin: var(--sp-xs) 0 0; }

.unhj-qa { margin: var(--sp-lg) 0; }

.unhj-qa dt:first-child { margin-top: 0; }

.unhj-figures {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-xl) var(--sp-xxl);
  margin: var(--sp-xl) 0;
}

.unhj-figures > div { flex: 1 1 11rem; max-width: 18rem; }

.unhj-figures dt {
  margin: 0 0 var(--sp-sm);
  font-family: var(--face-display);
  font-weight: 800;
  font-size: clamp(2.5rem, 2rem + 2vw, 3.5rem);
  line-height: 1;
  letter-spacing: -0.02em;
}

.unhj-figures dd { margin: 0; font-size: var(--fs-base); line-height: 1.5; }

.unhj-sequence,
:where(main) ol:not([class]) {
  list-style: none;
  padding: 0;
  margin: var(--sp-lg) 0;
  counter-reset: unhj-seq;
}

.unhj-sequence > li,
:where(main) ol:not([class]) > li {
  counter-increment: unhj-seq;
  position: relative;
  padding-left: 3.25rem;
  margin-bottom: var(--sp-lg);
}

.unhj-sequence > li::before,
:where(main) ol:not([class]) > li::before {
  content: counter(unhj-seq);
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--face-display);
  font-weight: 800;
  font-size: var(--fs-xl);
  line-height: 1;
  color: var(--brand);
}

table { width: 100%; border-collapse: collapse; font-size: var(--fs-base); }

th, td { text-align: left; vertical-align: top; padding: var(--sp-sm) var(--sp-md) var(--sp-sm) 0; }

th { font-family: var(--face-display); font-weight: 700; }

tr + tr { border-top: 1px solid var(--brand-mute); }

.unhj-table-wrap { overflow-x: auto; margin: var(--sp-lg) 0; }

label { font-family: var(--face-display); font-weight: 500; }

input[type="text"], input[type="email"], input[type="tel"], select, textarea {
  display: block;
  width: 100%;
  max-width: 36rem;
  margin: var(--sp-xs) 0 var(--sp-md);
  padding: var(--sp-sm) var(--sp-md);
  font: inherit;
  color: var(--ink);
  background: var(--ground-lift);
  border: 2px solid var(--ink);
  border-radius: 0;
}

textarea { min-height: 9rem; resize: vertical; }

.unhj-decision { display: flex; flex-direction: column; margin: 0; }

:where(main:not(.unhj-story)) > .unhj-decision { max-width: none; padding: 0; }

.unhj-decision-form { padding: var(--sp-xxl) var(--gutter); }

.unhj-decision-form > :not(.unhj-decision-steps) { max-width: var(--measure); }

.unhj-decision-steps { list-style: none; padding: 0; margin: var(--sp-lg) 0; counter-reset: unhj-q; }

.unhj-decision-question {
  counter-increment: unhj-q;
  position: relative;
  margin: 0;
  padding: 0 0 var(--sp-xl) 3.5rem;
}

.unhj-decision-question::before {
  content: counter(unhj-q);
  position: absolute;
  left: 0;
  top: -0.1em;
  font-family: var(--face-display);
  font-weight: 800;
  font-size: var(--fs-xxl);
  line-height: 1;
  color: var(--brand);
}

.unhj-decision-question fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }

.unhj-decision-question legend {
  padding: 0;
  margin-bottom: var(--sp-md);
  font-family: var(--face-display);
  font-weight: 700;
  font-size: var(--fs-lg);
  line-height: 1.3;
}

.unhj-decision-option {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-sm);
  padding: var(--sp-sm) var(--sp-md);
  font-family: var(--face-text);
  font-weight: 400;
  font-size: var(--fs-base);
  line-height: 1.5;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.unhj-decision-option:hover,
.unhj-decision-option:has(input:checked) { background: var(--brand-soft); }

.unhj-decision-option:has(input:focus-visible) { outline: 3px solid var(--ink); outline-offset: 2px; }

.unhj-decision-option input {
  flex: none;
  width: 1.125rem;
  height: 1.125rem;
  margin: 0.2em 0 0;
  accent-color: var(--brand-deep);
}

.unhj-decision-note {
  margin: var(--sp-sm) 0 0 var(--sp-md);
  font-size: var(--fs-sm);
  font-style: italic;
  color: var(--ink-soft);
}

.unhj-decision-submit { margin-top: var(--sp-sm); }

.unhj-decision-sources { font-size: var(--fs-sm); line-height: 1.5; }

.unhj-decision-board { display: flex; flex-direction: column; }

.unhj-outcome {
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
  padding: var(--sp-xl) var(--gutter);
  color: var(--paper);
  transition: flex-grow 0.45s ease, flex-basis 0.45s ease;
}

.unhj-outcome--keep { background: var(--night); }

.unhj-outcome--host { background: var(--brand-deep); }

.unhj-outcome--migrate { background: var(--brand); }

.unhj-outcome-title {
  margin: 0;
  font-family: var(--face-display);
  font-weight: 800;
  font-size: var(--fs-xl);
  line-height: 1.05;
  letter-spacing: -0.015em;
}

.unhj-outcome-summary { margin: 0; font-size: var(--fs-lg); line-height: 1.4; max-width: 40ch; }

.unhj-outcome-reasoning { font-size: var(--fs-base); line-height: 1.6; max-width: var(--measure); }

.unhj-outcome-reasoning > :last-child { margin-bottom: 0; }

.unhj-js .unhj-decision-board:not(.has-result) .unhj-outcome-reasoning { display: none; }

.unhj-js .unhj-outcome.is-ruled-out { padding-block: var(--sp-md); }

.unhj-js .unhj-outcome.is-ruled-out > :not(.unhj-outcome-title) { display: none; }

.unhj-js .unhj-outcome.is-ruled-out .unhj-outcome-title { font-size: var(--fs-lg); }

@media (min-width: 1024px) {
  .unhj-decision { flex-direction: row; align-items: flex-start; }
  .unhj-decision-form {
    flex: 0 0 42%;
    min-width: 22rem;
    padding: calc(var(--sp-xxl) * 2) var(--hero-pad);
  }
  .unhj-decision-board { flex: 1 1 0; min-width: 0; }
  .unhj-js .unhj-decision-board { position: sticky; top: 0; height: 100svh; }
  .unhj-js .unhj-outcome { flex: 1 1 0; min-height: 0; overflow: hidden; padding-inline: var(--hero-pad); }
  .unhj-js .unhj-outcome.is-ruled-out { flex: 0 0 3.75rem; }
  .unhj-js .unhj-outcome.is-chosen { flex: 1 1 auto; overflow-y: auto; }
}

.unhj-footer {
  background: var(--night);
  color: var(--paper);
}

.unhj-footer--services-4col-inline { padding: calc(var(--sp-xxl) * 1.5) var(--gutter) var(--sp-xl); }

.unhj-footer-inner { max-width: var(--wide); }

.unhj-footer-inner--4col { display: flex; flex-wrap: wrap; gap: var(--sp-xxl) var(--sp-xl); }

.unhj-footer-column { flex: 1 1 14rem; min-width: 0; }

.unhj-footer-column--services { flex: 2 1 20rem; }

.unhj-footer-column--statement p { max-width: 34ch; }

.unhj-footer-column--cta p { max-width: 30ch; }

.unhj-footer-column--hours dl { margin: 0; }

.unhj-footer-heading {
  font-size: var(--fs-lg);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: var(--sp-md);
  color: var(--paper);
}

.unhj-footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; }

.unhj-footer-links li { flex: 0 0 50%; margin: 0 0 var(--sp-sm); padding-right: var(--sp-md); }

.unhj-footer-hours dt { font-family: var(--face-display); font-weight: 500; margin: 0; }

.unhj-footer-hours dd { margin: 0 0 var(--sp-sm); }

.unhj-footer a:not([class]) {
  color: var(--paper);
  font-family: var(--face-display);
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  text-underline-offset: 0.25em;
}

.unhj-footer a:not([class]):hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--brand-soft);
}

.unhj-footer .unhj-btn { margin-top: var(--sp-sm); }

.unhj-footer .unhj-btn:hover { background: var(--brand-soft); color: var(--ink); }

.unhj-footer-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--sp-sm) var(--sp-xl);
  max-width: var(--wide);
  margin-top: calc(var(--sp-xxl) * 1.5);
  font-size: var(--fs-sm);
}

.unhj-footer-meta p { margin: 0; }

.unhj-footer-legal { display: flex; gap: var(--sp-md); }

@media (min-width: 1024px) {
  .unhj-footer--services-4col-inline {
    margin-left: calc(var(--rail) * -1);
    padding-left: calc(var(--rail) + var(--hero-pad));
    padding-right: var(--hero-pad);
  }
}

.unhj-step-panel:has(table) {
  order: 0;
  padding: 0 var(--gutter) var(--sp-xxl);
}

.unhj-step-panel:has(table) .unhj-table-wrap { margin: 0; }

.unhj-step-panel:has(table) figcaption {
  position: static;
  max-width: var(--measure);
  margin-top: var(--sp-md);
  padding: 0;
  background: none;
  font-style: italic;
}

.unhj-step-panel:has(table) th,
.unhj-step-panel:has(table) td { padding-right: var(--sp-lg); }

.unhj-step-panel:has(table) th { border-bottom: 2px solid var(--ink); }

.unhj-story .unhj-band-text > .unhj-btn.unhj-btn { justify-self: start; }

@media (min-width: 1024px) {
  .unhj-step:has(> .unhj-step-panel table) {
    min-height: 0;
    align-items: center;
  }
  .unhj-step:has(> .unhj-step-panel table) .unhj-step-text {
    padding-block: calc(var(--sp-xxl) * 2);
  }
  .unhj-step-panel:has(table) {
    position: relative;
    top: auto;
    height: auto;
    align-self: center;
    padding: calc(var(--sp-xxl) * 2) var(--hero-pad) calc(var(--sp-xxl) * 2) 0;
  }
  .unhj-step--services { min-height: 0; }
  .unhj-step--services .unhj-step-text {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: calc(var(--sp-xxl) * 1.5);
    align-content: start;
    padding: calc(var(--sp-xxl) * 2) var(--hero-pad);
  }
  .unhj-step--services .unhj-step-text > * { grid-column: 2; }
  .unhj-step--services .unhj-step-text > h2 {
    grid-column: 1;
    grid-row: 1 / span 40;
    align-self: start;
    position: sticky;
    top: var(--sp-xxl);
  }
  .unhj-step--services .unhj-step-text > .unhj-decision-link { justify-self: start; }
  .unhj-story .unhj-band--text-inline-images .unhj-band-text:has(.unhj-band-media ~ .unhj-band-media) {
    min-height: 200svh;
  }
  .unhj-story .unhj-band-text > .unhj-btn.unhj-btn {
    padding: var(--sp-md) var(--sp-lg);
    margin: var(--sp-sm) var(--hero-pad) calc(var(--sp-xxl) * 2);
  }
  .unhj-js .unhj-story .unhj-band--text-inline-images .unhj-band-text > .unhj-btn.unhj-btn { color: var(--paper); }
  main > .unhj-decision {
    align-items: flex-start;
    padding-left: max(0px, calc((100% - var(--wide)) / 2));
  }
  .unhj-js .unhj-decision-board {
    position: sticky;
    top: 0;
    height: auto;
    max-height: 100svh;
    overflow-y: auto;
    align-self: flex-start;
  }
  .unhj-js .unhj-outcome {
    flex: 0 0 auto;
    overflow: visible;
    padding-block: var(--sp-xxl);
  }
  .unhj-js .unhj-outcome.is-ruled-out { flex: 0 0 auto; padding-block: var(--sp-md); }
  .unhj-js .unhj-outcome.is-chosen { flex: 0 0 auto; overflow: visible; }
  .unhj-step--contact { min-height: 0; }
  .unhj-step--contact .unhj-step-text {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: calc(var(--sp-xxl) * 1.5);
    align-content: start;
    padding: calc(var(--sp-xxl) * 2) var(--hero-pad);
  }
  .unhj-step--contact .unhj-step-text > * { grid-column: 2; }
  .unhj-step--contact .unhj-step-text > h2 {
    grid-column: 1;
    grid-row: 1 / span 6;
    align-self: start;
    font-size: clamp(2.5rem, 1.25rem + 2vw, 3.25rem);
    line-height: 1.02;
    max-width: 12ch;
  }
  .unhj-step--contact .unhj-contact-details { margin-top: var(--sp-md); }
  .unhj-step--contact .unhj-step-text > .unhj-btn { justify-self: start; margin-top: var(--sp-sm); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0s !important;
    animation-duration: 0s !important;
    scroll-behavior: auto !important;
  }
}
