:root {
  --autumn-ink: #2a2118;
  --autumn-brown: #6f3c21;
  --autumn-copper: #a65d32;
  --autumn-clay: #c4835d;
  --autumn-cream: #f6f1e6;
  --autumn-paper: #fbf8f1;
  --autumn-sage: #9daf95;
  --autumn-green: #2f6d56;
  --autumn-line: rgba(42, 33, 24, 0.12);
  --autumn-soft-line: rgba(42, 33, 24, 0.075);
  --autumn-shadow: 0 32px 80px rgba(64, 43, 26, 0.12);
  --autumn-serif: "Baskerville", "Libre Baskerville", Georgia, serif;
  --autumn-display: "Baskerville", "Libre Baskerville", Georgia, serif;
  --autumn-sans: "Hanken Grotesk", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

.marketing-page {
  margin: 0;
  color: var(--autumn-ink);
  background:
    radial-gradient(circle at 90% 6%, rgba(216, 179, 117, 0.16), transparent 25rem),
    var(--autumn-cream);
  font-family: var(--autumn-sans);
  -webkit-font-smoothing: antialiased;
}

.marketing-page a {
  color: inherit;
  text-decoration: none;
}

.marketing-page button,
.marketing-page a {
  -webkit-tap-highlight-color: transparent;
}

.marketing-page img {
  display: block;
  max-width: 100%;
}

.marketing-skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 200;
  padding: 10px 14px;
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border-radius: 4px;
  transform: translateY(-150%);
  transition: transform 180ms ease;
}

.marketing-skip-link:focus {
  transform: translateY(0);
}

.marketing-nav {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  width: 100%;
  color: var(--autumn-ink);
  background: rgba(246, 241, 230, 0.82);
  border-bottom: 1px solid rgba(42, 33, 24, 0.06);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.marketing-nav__inner {
  display: grid;
  grid-template-columns: minmax(138px, 1fr) auto minmax(138px, 1fr);
  align-items: center;
  width: min(1460px, 100%);
  min-height: 72px;
  margin: 0 auto;
  padding: 0 32px;
}

.marketing-nav__brand,
.marketing-footer__brand {
  display: inline-flex;
  align-items: center;
  width: max-content;
  color: var(--autumn-ink);
  font: 400 24px/1 var(--autumn-serif);
  letter-spacing: -0.035em;
}

.marketing-nav__brand:hover,
.marketing-footer__brand:hover {
  color: var(--autumn-ink);
}

/* Header and footer brands match the webapp shell: the bare tooth mark on the left, then the Instrument Serif wordmark. */
.marketing-nav__brand,
.marketing-footer__brand {
  gap: 12px;
  font: 400 22px/1 var(--autumn-display);
  letter-spacing: normal;
}

.marketing-nav__brand img,
.marketing-footer__brand img {
  /* The tooth at the size it had inside the 36px app-icon tile (104x139 of a 256 canvas). */
  width: 15px;
  height: 20px;
  object-fit: contain;
}

/* Instrument Serif sits low on its line; nudge the wordmark up so it centres on the mark. */
.marketing-nav__brand span {
  position: relative;
  top: -1px;
}

.marketing-nav__links {
  display: flex;
  align-items: stretch;
  justify-content: center;
  height: 72px;
  gap: 2px;
}

.marketing-nav__group {
  position: relative;
  display: flex;
  align-items: center;
}

.marketing-nav__group-heading {
  display: flex;
  align-items: center;
  height: 100%;
}

.marketing-nav__parent {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 5px 0 16px;
  font: 500 13px/1 var(--autumn-sans);
  letter-spacing: 0.005em;
  white-space: nowrap;
  color: var(--autumn-ink);
}

.marketing-nav__parent::after {
  content: "";
  position: absolute;
  right: 5px;
  bottom: 0;
  left: 16px;
  height: 2px;
  background: var(--autumn-copper);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

.marketing-nav__parent--solo {
  padding-right: 16px;
}

.marketing-nav__parent--solo::after {
  right: 16px;
}

.marketing-nav__group.is-current .marketing-nav__parent::after,
.marketing-nav__group:hover .marketing-nav__parent::after,
.marketing-nav__group:focus-within .marketing-nav__parent::after {
  transform: scaleX(1);
}

.marketing-nav__dropdown-toggle {
  display: grid;
  place-items: center;
  width: 24px;
  height: 38px;
  padding: 0;
  color: currentColor;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.marketing-nav__dropdown-toggle svg {
  width: 9px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.4;
  transition: transform 180ms ease;
}

.marketing-nav__group.is-expanded .marketing-nav__dropdown-toggle svg {
  transform: rotate(180deg);
}

.marketing-nav__dropdown {
  position: absolute;
  top: calc(100% - 8px);
  left: 50%;
  width: 330px;
  max-height: min(70vh, 610px);
  padding: 10px;
  overflow: auto;
  background: rgba(251, 248, 241, 0.98);
  border: 1px solid var(--autumn-line);
  border-radius: 18px;
  box-shadow: 0 26px 70px rgba(42, 33, 24, 0.16);
  opacity: 0;
  transform: translate(-50%, 12px);
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease;
}

.marketing-nav__group:first-child .marketing-nav__dropdown {
  width: 390px;
}

.marketing-nav__group:hover .marketing-nav__dropdown,
.marketing-nav__group:focus-within .marketing-nav__dropdown,
.marketing-nav__group.is-expanded .marketing-nav__dropdown {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}

.marketing-nav__overview {
  display: flex;
  justify-content: space-between;
  margin: 2px 4px 8px;
  padding: 8px 9px 11px;
  color: var(--autumn-brown);
  border-bottom: 1px solid var(--autumn-soft-line);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.marketing-nav__dropdown-link {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border-radius: 10px;
  transition: background 140ms ease, transform 140ms ease;
  color: var(--autumn-ink);
}

.marketing-nav__dropdown-link:hover,
.marketing-nav__dropdown-link:focus-visible,
.marketing-nav__dropdown-link.is-active {
  background: rgba(200, 151, 92, 0.13);
  outline: none;
  transform: translateX(2px);
}

.marketing-nav__dropdown-link span {
  font: 500 14px/1.2 var(--autumn-sans);
}

.marketing-nav__dropdown-link small {
  color: rgba(42, 33, 24, 0.64);
  font: 400 11px/1.45 var(--autumn-sans);
}

.marketing-nav__cta {
  justify-self: end;
  padding: 11px 20px;
  color: var(--autumn-cream) !important;
  background: var(--autumn-ink);
  border: 1px solid var(--autumn-ink);
  border-radius: 99px;
  font: 600 12px/1 var(--autumn-sans);
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.marketing-nav__cta:hover,
.marketing-nav__cta:focus-visible {
  color: var(--autumn-ink) !important;
  background: transparent;
  outline: none;
  transform: translateY(-1px);
}

.marketing-nav__mobile-toggle {
  display: none;
  align-items: center;
  gap: 9px;
  color: currentColor;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 600 11px/1 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.marketing-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(360px, 0.75fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  min-height: 730px;
  padding: 154px max(40px, calc((100vw - 1340px) / 2)) 90px;
  overflow: hidden;
  isolation: isolate;
}

.marketing-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 170px;
  background: linear-gradient(transparent, var(--autumn-cream));
}

.marketing-hero__atmosphere {
  position: absolute;
  inset: 72px 0 0;
  z-index: -2;
  background-position: center;
  background-size: cover;
  opacity: 0.92;
  transform: scale(1.02);
}

.marketing-hero__atmosphere::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(246, 241, 230, 0.3), rgba(246, 241, 230, 0.06)),
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.55), transparent 38%);
}

.marketing-hero[data-background="settle"] .marketing-hero__atmosphere {
  background-image: url("/assets/backgrounds/ripen-settle.webp");
}

.marketing-hero[data-background="horizon"] .marketing-hero__atmosphere {
  background-image: url("/assets/backgrounds/horizon.webp");
}

.marketing-hero[data-background="water"] .marketing-hero__atmosphere {
  background-image: url("/assets/backgrounds/still-water.webp");
}

.marketing-hero__copy {
  max-width: 930px;
  padding-right: 0;
}

.marketing-eyebrow {
  margin: 0 0 21px;
  color: var(--autumn-brown);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.marketing-hero h1 {
  max-width: 930px;
  margin: 0;
  font: 300 clamp(54px, 5.35vw, 84px)/0.94 var(--autumn-serif);
  letter-spacing: -0.052em;
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
}

.marketing-hero h1 em {
  display: inline;
  color: var(--autumn-brown);
  font-family: var(--autumn-display);
  font-weight: 400;
}

.marketing-hero__lede {
  max-width: 670px;
  margin: 34px 0 0;
  color: rgba(42, 33, 24, 0.75);
  font: 400 17px/1.64 var(--autumn-sans);
}

.marketing-hero__actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 34px;
}

.marketing-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 26px;
  border: 1px solid var(--autumn-ink);
  border-radius: 99px;
  font: 600 13px/1 var(--autumn-sans);
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.marketing-button:hover,
.marketing-button:focus-visible {
  outline: none;
  transform: translateY(-2px);
}

.marketing-button--primary {
  color: var(--autumn-cream) !important;
  background: var(--autumn-ink);
  box-shadow: 0 16px 40px rgba(42, 33, 24, 0.18);
}

.marketing-button--primary:hover,
.marketing-button--primary:focus-visible {
  color: var(--autumn-ink) !important;
  background: transparent;
}

.marketing-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(42, 33, 24, 0.7) !important;
  font: 500 12px/1 var(--autumn-sans);
}

.marketing-text-link span {
  transition: transform 180ms ease;
}

.marketing-text-link:hover span {
  transform: translateY(4px);
}

.marketing-visual {
  position: relative;
  min-height: 430px;
  padding: 24px;
  background: rgba(251, 248, 241, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 28px;
  box-shadow: var(--autumn-shadow);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

.marketing-visual::before {
  content: "";
  position: absolute;
  inset: 8px;
  z-index: -1;
  border: 1px solid rgba(42, 33, 24, 0.07);
  border-radius: 22px;
}

.marketing-visual__top,
.marketing-visual__foot,
.claim-mini__head,
.schedule-mini__head,
.aging-mini__head,
.dso-mini__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.marketing-visual__top {
  padding: 5px 5px 22px;
  color: rgba(42, 33, 24, 0.62);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.marketing-live {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--autumn-green);
}

.marketing-live::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--autumn-green);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(47, 109, 86, 0.11);
}

.marketing-visual__rows {
  display: grid;
  gap: 10px;
}

.marketing-visual__row {
  display: grid;
  grid-template-columns: 42px 1fr 54px;
  align-items: center;
  min-height: 82px;
  padding: 0 18px;
  background: rgba(255, 255, 255, 0.48);
  border: 1px solid rgba(42, 33, 24, 0.08);
  border-radius: 15px;
}

.marketing-visual__row > span {
  color: var(--autumn-copper);
  font: 600 10px/1 var(--autumn-sans);
}

.marketing-visual__row strong {
  font: 500 14px/1.2 var(--autumn-sans);
}

.marketing-visual__row i {
  position: relative;
  height: 1px;
  background: var(--autumn-line);
}

.marketing-visual__row i::after {
  content: "";
  position: absolute;
  top: -3px;
  right: 0;
  width: 7px;
  height: 7px;
  background: var(--autumn-copper);
  border-radius: 50%;
}

.marketing-visual__foot {
  padding: 24px 5px 4px;
  color: rgba(42, 33, 24, 0.55);
  font: 500 10px/1 var(--autumn-sans);
}

.claim-mini,
.schedule-mini,
.balance-mini,
.payment-mini,
.aging-mini,
.dso-mini,
.thesis-mini {
  min-height: 380px;
}

.claim-mini__head {
  padding: 5px 5px 20px;
  color: rgba(42, 33, 24, 0.65);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.claim-mini__track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
  margin: 5px 5px 28px;
}

.claim-mini__track i {
  height: 4px;
  background: rgba(47, 109, 86, 0.4);
  border-radius: 99px;
}

.claim-mini__track i.is-current,
.claim-mini__track i.is-current ~ i {
  background: rgba(42, 33, 24, 0.1);
}

.claim-mini__event {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  align-items: center;
  gap: 11px;
  padding: 17px 13px;
  border-top: 1px solid var(--autumn-soft-line);
}

.claim-mini__event.is-current {
  margin: 0 -4px;
  padding-right: 17px;
  padding-left: 17px;
  background: rgba(197, 139, 95, 0.12);
  border: 1px solid rgba(166, 93, 50, 0.2);
  border-radius: 14px;
}

.claim-mini__event > span {
  color: var(--autumn-copper);
  font: 600 10px/1 var(--autumn-sans);
}

.claim-mini__event strong,
.claim-mini__event small {
  display: block;
}

.claim-mini__event strong {
  font: 500 13px/1.2 var(--autumn-sans);
}

.claim-mini__event small {
  margin-top: 4px;
  color: rgba(42, 33, 24, 0.58);
  font: 400 10px/1.3 var(--autumn-sans);
}

.claim-mini__event b {
  color: var(--autumn-green);
  font: 600 9px/1 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.schedule-mini__head {
  margin-bottom: 10px;
  padding: 5px 4px 14px;
  border-bottom: 1px solid var(--autumn-line);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.schedule-mini__head strong {
  color: var(--autumn-green);
}

.schedule-mini > div:not(.schedule-mini__head) {
  display: grid;
  grid-template-columns: 50px 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 68px;
  padding: 0 9px;
  border-bottom: 1px solid var(--autumn-soft-line);
}

.schedule-mini time {
  color: var(--autumn-copper);
  font: 600 10px/1 var(--autumn-sans);
}

.schedule-mini span {
  font: 500 13px/1.2 var(--autumn-sans);
}

.schedule-mini small {
  display: block;
  margin-top: 4px;
  color: rgba(42, 33, 24, 0.58);
  font: 400 10px/1 var(--autumn-sans);
}

.schedule-mini b {
  padding: 7px 9px;
  color: var(--autumn-green);
  background: rgba(47, 109, 86, 0.08);
  border-radius: 99px;
  font: 600 8px/1 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.schedule-mini .needs-review {
  background: rgba(166, 93, 50, 0.08);
  border-radius: 10px;
}

.schedule-mini .needs-review b {
  color: var(--autumn-brown);
  background: rgba(166, 93, 50, 0.1);
}

.balance-mini {
  display: grid;
  align-content: center;
  padding: 18px;
  text-align: center;
}

.balance-mini__label {
  color: rgba(42, 33, 24, 0.6);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.balance-mini > strong {
  margin: 20px 0 30px;
  font: 300 58px/1 var(--autumn-serif);
  letter-spacing: -0.05em;
}

.balance-mini__equation {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
}

.balance-mini__equation span {
  padding: 18px 10px;
  background: rgba(255, 255, 255, 0.46);
  border: 1px solid var(--autumn-line);
  border-radius: 12px;
  font: 500 13px/1 var(--autumn-sans);
}

.balance-mini__equation small {
  display: block;
  margin-bottom: 8px;
  color: var(--autumn-copper);
  font: 600 8px/1 var(--autumn-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.balance-mini__equation i {
  font: 300 20px/1 var(--autumn-serif);
}

.balance-mini__status {
  display: flex;
  justify-content: space-between;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--autumn-line);
  color: rgba(42, 33, 24, 0.6);
  font: 500 10px/1 var(--autumn-sans);
}

.balance-mini__status b {
  color: var(--autumn-green);
  text-transform: uppercase;
}

.payment-mini {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-content: center;
  align-items: center;
  gap: 9px;
}

.payment-mini > div {
  display: grid;
  align-content: center;
  min-height: 128px;
  padding: 15px 9px;
  background: rgba(255, 255, 255, 0.46);
  border: 1px solid var(--autumn-line);
  border-radius: 14px;
  text-align: center;
}

.payment-mini > div.is-autumn {
  color: var(--autumn-cream);
  background: var(--autumn-ink);
}

.payment-mini span {
  font: 500 13px/1.2 var(--autumn-sans);
}

.payment-mini small {
  margin-top: 8px;
  color: rgba(42, 33, 24, 0.58);
  font: 400 9px/1.35 var(--autumn-sans);
}

.payment-mini .is-autumn small {
  color: rgba(246, 241, 230, 0.65);
}

.payment-mini > i {
  color: var(--autumn-copper);
  font-style: normal;
}

.payment-mini > p {
  grid-column: 1 / -1;
  margin: 28px 0 0;
  color: rgba(42, 33, 24, 0.62);
  font: 400 11px/1.5 var(--autumn-sans);
  text-align: center;
}

.aging-mini__head {
  padding: 5px 4px 22px;
  border-bottom: 1px solid var(--autumn-line);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.aging-mini__head strong {
  color: var(--autumn-copper);
}

.aging-mini > div:not(.aging-mini__head) {
  display: grid;
  grid-template-columns: 112px 1fr 54px;
  align-items: center;
  gap: 10px;
  min-height: 66px;
  border-bottom: 1px solid var(--autumn-soft-line);
  font: 500 10px/1 var(--autumn-sans);
}

.aging-mini i {
  position: relative;
  height: 7px;
  overflow: hidden;
  background: rgba(42, 33, 24, 0.08);
  border-radius: 99px;
}

.aging-mini i::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--bar);
  background: linear-gradient(90deg, var(--autumn-clay), var(--autumn-brown));
  border-radius: inherit;
}

.aging-mini b {
  text-align: right;
}

.dso-mini {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-content: center;
  gap: 10px;
}

.dso-mini__head,
.dso-mini > p {
  grid-column: 1 / -1;
}

.dso-mini__head {
  margin-bottom: 8px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--autumn-line);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dso-mini > div:not(.dso-mini__head) {
  padding: 19px 10px;
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid var(--autumn-line);
  border-radius: 12px;
  text-align: center;
}

.dso-mini span,
.dso-mini small {
  display: block;
  color: rgba(42, 33, 24, 0.58);
  font: 500 9px/1.2 var(--autumn-sans);
}

.dso-mini strong {
  display: block;
  margin: 10px 0 6px;
  font: 300 33px/1 var(--autumn-serif);
}

.dso-mini > p {
  margin: 14px 0 0;
  text-align: center;
  font: 400 11px/1.4 var(--autumn-sans);
}

.thesis-mini {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  padding: 25px;
}

.thesis-mini > span {
  color: var(--autumn-copper);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.thesis-mini p {
  margin: 31px 0;
  font: 300 35px/1.15 var(--autumn-serif);
  letter-spacing: -0.03em;
}

.thesis-mini small {
  color: rgba(42, 33, 24, 0.58);
  font: 400 11px/1.4 var(--autumn-sans);
}

.marketing-signal-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 1340px;
  margin: -1px auto 0;
  border-top: 1px solid var(--autumn-line);
  border-bottom: 1px solid var(--autumn-line);
}

.marketing-signal-strip span {
  padding: 18px;
  color: rgba(42, 33, 24, 0.64);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
}

.marketing-signal-strip span + span {
  border-left: 1px solid var(--autumn-line);
}

.marketing-section {
  width: min(1340px, calc(100% - 80px));
  margin-right: auto;
  margin-left: auto;
}

.marketing-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.65fr);
  gap: clamp(52px, 9vw, 140px);
  align-items: start;
  padding-top: 145px;
  padding-bottom: 112px;
}

.marketing-intro h2,
.marketing-cards__heading h2,
.marketing-flow h2,
.marketing-cta h2,
.pms-section h2,
.payer-section h2,
.guardrail-section h2,
.dayboard h2,
.cause-board h2,
.claim-journey h2,
.location-board h2,
.manifesto h2,
.team-section h2,
.faq-group__heading h2 {
  margin: 0;
  font: 300 clamp(42px, 4.8vw, 74px)/0.98 var(--autumn-serif);
  letter-spacing: -0.045em;
}

.marketing-intro > p {
  max-width: 560px;
  margin: 4px 0 0;
  color: rgba(42, 33, 24, 0.68);
  font: 400 16px/1.72 var(--autumn-sans);
}

.marketing-composition > .marketing-section:first-child:not(.marketing-intro) {
  margin-top: 110px;
}

.marketing-composition > .marketing-section + .marketing-intro {
  padding-top: 0;
}

.marketing-media {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.7fr);
  gap: clamp(48px, 7vw, 110px);
  align-items: center;
  margin-bottom: 120px;
}

.marketing-media--right {
  grid-template-columns: minmax(360px, 0.7fr) minmax(0, 1.1fr);
}

.marketing-media--right .marketing-media__frame {
  order: 2;
}

.marketing-media--right .marketing-media__copy {
  order: 1;
}

.marketing-media--full {
  grid-template-columns: 1fr;
  gap: 40px;
}

.marketing-media--full .marketing-media__frame {
  order: 2;
}

.marketing-media--full .marketing-media__copy {
  order: 1;
  display: grid;
  grid-template-columns: minmax(160px, 0.35fr) minmax(0, 1fr);
  align-items: start;
  gap: 8px 60px;
  max-width: 1040px;
}

.marketing-media--full .marketing-media__copy .marketing-eyebrow {
  grid-row: 1 / span 3;
  margin-top: 8px;
}

.marketing-media--full .marketing-media__copy h2,
.marketing-media--full .marketing-media__copy p,
.marketing-media--full .marketing-media__copy code {
  grid-column: 2;
}

.marketing-media__frame {
  position: relative;
  display: grid;
  min-height: 420px;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.72), transparent 30%),
    linear-gradient(135deg, rgba(214, 226, 208, 0.72), rgba(236, 211, 163, 0.66) 52%, rgba(201, 159, 128, 0.62));
  border: 1px solid rgba(42, 33, 24, 0.12);
  border-radius: 28px;
  box-shadow: var(--autumn-shadow);
  isolation: isolate;
}

.marketing-media__frame::after {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: 19px;
  pointer-events: none;
}

.marketing-media--product .marketing-media__frame {
  padding-top: 24px;
  background:
    radial-gradient(circle at 75% 25%, rgba(255, 255, 255, 0.65), transparent 28%),
    linear-gradient(145deg, #dbe5d7, #eee0c4 58%, #d5b99f);
}

.marketing-media--product .marketing-media__frame::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 20px;
  width: 5px;
  height: 5px;
  background: rgba(42, 33, 24, 0.34);
  border-radius: 50%;
  box-shadow: 11px 0 rgba(42, 33, 24, 0.2), 22px 0 rgba(42, 33, 24, 0.12);
}

.marketing-media--dentistry .marketing-media__frame {
  background:
    linear-gradient(120deg, rgba(250, 247, 239, 0.2), rgba(239, 209, 171, 0.45)),
    url("/assets/backgrounds/horizon.webp") center / cover;
}

.marketing-media--editorial .marketing-media__frame {
  background:
    linear-gradient(120deg, rgba(250, 247, 239, 0.12), rgba(196, 216, 198, 0.36)),
    url("/assets/backgrounds/still-water.webp") center / cover;
}

.marketing-media--team .marketing-media__frame {
  background:
    linear-gradient(120deg, rgba(250, 247, 239, 0.12), rgba(222, 174, 133, 0.3)),
    url("/assets/backgrounds/ripen-settle.webp") center / cover;
}

.marketing-media__frame--cinematic {
  aspect-ratio: 2 / 1;
}

.marketing-media__frame--product {
  aspect-ratio: 16 / 10;
}

.marketing-media__frame--landscape {
  aspect-ratio: 3 / 2;
}

.marketing-media__frame--classic {
  aspect-ratio: 4 / 3;
}

.marketing-media__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.payer-inline {
  display: inline-flex;
  align-items: center;
  min-width: 34px;
  min-height: 26px;
  vertical-align: middle;
}

.payer-inline img {
  width: auto;
  max-width: 98px;
  height: 26px;
  object-fit: contain;
  object-position: left center;
}

.schedule-mini small .payer-inline img {
  max-width: 84px;
  height: 23px;
}

.claim-mini__payer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 48px;
  padding: 10px 14px;
  background: rgba(251, 248, 241, 0.72);
  border: 1px solid var(--autumn-soft-line);
  border-radius: 12px;
}

.claim-mini__payer > span {
  color: rgba(42, 33, 24, 0.55);
  font: 500 10px/1 var(--autumn-sans);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.claim-mini__payer .payer-inline img {
  max-width: 116px;
  height: 30px;
  object-position: right center;
}

.dayboard__grid article > p:has(.payer-inline) {
  min-height: 28px;
}

.marketing-media__placeholder {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 16px;
  padding: clamp(34px, 6vw, 88px);
  text-align: center;
}

.marketing-media__placeholder > span {
  color: var(--autumn-brown);
  font: 600 9px/1 var(--autumn-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.marketing-media__placeholder > strong {
  max-width: 680px;
  font: 300 clamp(31px, 4vw, 58px)/1.02 var(--autumn-serif);
  letter-spacing: -0.04em;
}

.marketing-media__placeholder > small {
  max-width: 680px;
  color: rgba(42, 33, 24, 0.62);
  font: 400 11px/1.6 var(--autumn-sans);
}

.marketing-media__copy h2 {
  margin: 0;
  font: 300 clamp(36px, 3.8vw, 58px)/1 var(--autumn-serif);
  letter-spacing: -0.045em;
}

.marketing-media__copy > p:not(.marketing-eyebrow) {
  margin: 25px 0 0;
  color: rgba(42, 33, 24, 0.66);
  font: 400 13px/1.7 var(--autumn-sans);
}

.marketing-media__copy code {
  display: inline-block;
  width: fit-content;
  margin-top: 23px;
  padding: 8px 11px;
  color: rgba(42, 33, 24, 0.62);
  background: rgba(251, 248, 241, 0.6);
  border: 1px solid var(--autumn-line);
  border-radius: 7px;
  font: 500 9px/1.3 var(--autumn-sans);
}

.pms-section,
.payer-section,
.guardrail-section,
.dayboard,
.cause-board,
.claim-journey,
.location-board,
.manifesto,
.team-section {
  margin-bottom: 110px;
}

.pms-section__heading,
.payer-section__heading,
.guardrail-section__heading,
.claim-journey__heading {
  display: grid;
  grid-template-columns: minmax(140px, 0.25fr) minmax(0, 1fr);
  gap: clamp(38px, 6vw, 90px);
  align-items: start;
  margin-bottom: 55px;
}

.pms-section__heading > h2,
.payer-section__heading > h2,
.guardrail-section__heading > h2,
.claim-journey__heading > h2,
.payer-section__heading > p:last-child,
.claim-journey__heading > p:last-child {
  grid-column: 2;
}

.payer-section__heading p:last-child,
.claim-journey__heading p:last-child {
  margin: 0;
  color: rgba(42, 33, 24, 0.66);
  font: 400 15px/1.7 var(--autumn-sans);
}

.pms-grid,
.guardrail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.pms-grid article,
.guardrail-grid article {
  min-height: 300px;
  padding: 34px;
  background: rgba(251, 248, 241, 0.68);
  border: 1px solid var(--autumn-line);
  border-radius: 22px;
}

.pms-grid article:nth-child(1) { background: rgba(201, 221, 207, 0.45); }
.pms-grid article:nth-child(2) { background: rgba(233, 201, 146, 0.32); }
.pms-grid article:nth-child(3) { background: rgba(209, 169, 139, 0.3); }

.pms-grid span,
.guardrail-grid span {
  color: var(--autumn-copper);
  font: 600 9px/1 var(--autumn-sans);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.pms-grid h3,
.guardrail-grid h3 {
  margin: 76px 0 18px;
  font: 300 34px/1 var(--autumn-serif);
  letter-spacing: -0.035em;
}

/* The PMS card's logo mark sits where its h3 wordmark used to, same vertical rhythm. */
.pms-grid .pms-grid__logo {
  display: block;
  margin: 76px 0 20px;
  height: 30px;
  width: auto;
  max-width: 100%;
}

.pms-grid p,
.guardrail-grid p {
  margin: 0;
  color: rgba(42, 33, 24, 0.65);
  font: 400 13px/1.65 var(--autumn-sans);
}

.payer-section {
  padding: 78px;
  background-image: url("/assets/backgrounds/still-water.webp");
  background-position: center;
  background-size: cover;
  border-radius: 32px;
  box-shadow: var(--autumn-shadow);
}

.payer-wall {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
}

.payer-logo {
  display: grid;
  place-items: center;
  min-height: 124px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 13px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.payer-logo img {
  width: 100%;
  max-width: 175px;
  max-height: 76px;
  object-fit: contain;
}

.payer-section__note {
  margin: 22px 0 0;
  color: rgba(42, 33, 24, 0.58);
  font: 400 10px/1.55 var(--autumn-sans);
}

.guardrail-section {
  padding: 78px;
  background-image: url("/assets/backgrounds/still-water.webp");
  background-position: center;
  background-size: cover;
  border-radius: 32px;
}

.guardrail-grid article {
  background: rgba(251, 248, 241, 0.64);
  -webkit-backdrop-filter: blur(13px);
  backdrop-filter: blur(13px);
}

.guardrail-grid article:last-child {
  color: var(--autumn-cream);
  background: rgba(42, 33, 24, 0.92);
}

.guardrail-grid article:last-child p {
  color: rgba(246, 241, 230, 0.7);
}

.dayboard {
  padding: 66px;
  background-image: url("/assets/backgrounds/horizon.webp");
  background-position: center;
  background-size: cover;
  border-radius: 32px;
  box-shadow: var(--autumn-shadow);
}

.dayboard__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 50px;
}

.dayboard__heading > span {
  padding: 10px 14px;
  color: var(--autumn-green);
  background: rgba(255, 255, 255, 0.54);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 99px;
  font: 600 9px/1 var(--autumn-sans);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

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

.dayboard__grid article {
  min-height: 210px;
  padding: 25px;
  background: rgba(251, 248, 241, 0.74);
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 15px;
}

.dayboard__grid article.is-review {
  background: rgba(240, 208, 178, 0.7);
}

.dayboard time {
  color: var(--autumn-copper);
  font: 600 10px/1 var(--autumn-sans);
}

.dayboard h3 {
  margin: 48px 0 7px;
  font: 300 28px/1 var(--autumn-serif);
}

.dayboard article p,
.dayboard article b {
  display: block;
  margin: 0;
  font: 400 11px/1.4 var(--autumn-sans);
}

.dayboard article b {
  margin-top: 13px;
  color: var(--autumn-green);
  font-weight: 600;
}

.dayboard article.is-review b {
  color: var(--autumn-brown);
}

.recon-equation {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: stretch;
  gap: 14px;
  margin-bottom: 110px;
  padding: 70px;
  background-image: url("/assets/backgrounds/ripen-settle.webp");
  background-position: center;
  background-size: cover;
  border-radius: 32px;
}

.recon-equation > div {
  min-height: 255px;
  padding: 29px;
  background: rgba(251, 248, 241, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 16px;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.recon-equation > div > span,
.recon-equation > div > small,
.recon-equation > div > strong {
  display: block;
}

.recon-equation > div > span {
  color: var(--autumn-copper);
  font: 600 9px/1 var(--autumn-sans);
}

.recon-equation > div > small {
  margin-top: 42px;
  color: rgba(42, 33, 24, 0.58);
  font: 500 10px/1 var(--autumn-sans);
  text-transform: uppercase;
}

.recon-equation > div > strong {
  margin-top: 9px;
  font: 300 34px/1 var(--autumn-serif);
}

.recon-equation p {
  margin: 26px 0 0;
  color: rgba(42, 33, 24, 0.62);
  font: 400 10px/1.5 var(--autumn-sans);
}

.recon-equation > i {
  display: grid;
  place-items: center;
  color: var(--autumn-brown);
  font: 300 26px/1 var(--autumn-serif);
  font-style: normal;
}

.recon-equation > b {
  grid-column: 1 / -1;
  justify-self: center;
  padding: 10px 15px;
  color: var(--autumn-green);
  background: rgba(251, 248, 241, 0.68);
  border-radius: 99px;
  font: 600 9px/1 var(--autumn-sans);
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.payment-compare,
.audience-split,
.library-split {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-bottom: 110px;
}

.payment-compare article,
.audience-split a,
.library-split a {
  min-height: 480px;
  padding: 56px;
  background: rgba(251, 248, 241, 0.7);
  border: 1px solid var(--autumn-line);
  border-radius: 27px;
}

.payment-compare article.is-autumn {
  color: var(--autumn-cream);
  background: var(--autumn-ink);
}

.payment-compare article.is-autumn .marketing-eyebrow {
  color: #d6a577;
}

.payment-compare h2,
.audience-split h2,
.library-split h2,
.journal-feature h2 {
  margin: 0;
  font: 300 50px/0.98 var(--autumn-serif);
  letter-spacing: -0.045em;
}

.payment-compare ul {
  display: grid;
  gap: 0;
  margin: 80px 0 0;
  padding: 0;
  list-style: none;
}

.payment-compare li {
  display: grid;
  grid-template-columns: 36px 1fr;
  padding: 18px 0;
  border-top: 1px solid currentColor;
  border-color: rgba(42, 33, 24, 0.12);
  font: 400 13px/1.4 var(--autumn-sans);
}

.payment-compare article.is-autumn li {
  border-color: rgba(246, 241, 230, 0.14);
}

.payment-compare li span {
  color: var(--autumn-copper);
  font-size: 9px;
  font-weight: 600;
}

.cause-board {
  padding: 68px;
  background-image: url("/assets/backgrounds/still-water.webp");
  background-position: center;
  background-size: cover;
  border-radius: 32px;
  box-shadow: var(--autumn-shadow);
}

.cause-board__heading {
  margin-bottom: 45px;
}

.cause-board__rows {
  display: grid;
}

.cause-board__rows article {
  display: grid;
  grid-template-columns: 44px 1fr 90px 90px 130px;
  align-items: center;
  min-height: 74px;
  padding: 0 18px;
  background: rgba(251, 248, 241, 0.64);
  border-top: 1px solid rgba(42, 33, 24, 0.1);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.cause-board__rows article:first-child {
  border-top: 0;
  border-radius: 14px 14px 0 0;
}

.cause-board__rows article:last-child {
  border-radius: 0 0 14px 14px;
}

.cause-board__rows b,
.cause-board__rows small {
  color: rgba(42, 33, 24, 0.55);
  font: 600 9px/1 var(--autumn-sans);
}

.cause-board__rows > article > span {
  font: 500 13px/1 var(--autumn-sans);
}

.cause-board__rows strong {
  font: 500 13px/1 var(--autumn-sans);
}

.cause-board__rows em {
  justify-self: end;
  padding: 8px 11px;
  color: var(--autumn-brown);
  background: rgba(166, 93, 50, 0.09);
  border-radius: 99px;
  font: 600 8px/1 var(--autumn-sans);
  font-style: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.claim-journey {
  padding: 76px;
  background-image: url("/assets/backgrounds/ripen-settle.webp");
  background-position: center;
  background-size: cover;
  border-radius: 32px;
  box-shadow: var(--autumn-shadow);
}

.claim-journey__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}

.claim-journey__track::before {
  content: "";
  position: absolute;
  top: 51px;
  right: 7%;
  left: 7%;
  height: 1px;
  background: linear-gradient(90deg, rgba(42, 33, 24, 0.08), rgba(166, 93, 50, 0.34), rgba(42, 33, 24, 0.08));
}

.claim-journey__track article {
  position: relative;
  z-index: 1;
  min-height: 238px;
  padding: 18px;
  background: rgba(251, 248, 241, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: 18px;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.claim-journey__track article:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(73, 48, 28, 0.1);
}

.claim-journey__owner {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 10px;
  color: var(--autumn-brown);
  background: rgba(166, 93, 50, 0.1);
  border: 1px solid rgba(166, 93, 50, 0.14);
  border-radius: 99px;
  font: 600 8px/1 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.claim-journey__track h3 {
  margin: 74px 0 10px;
  font: 300 24px/1 var(--autumn-serif);
}

.claim-journey__track p {
  margin: 0;
  color: rgba(42, 33, 24, 0.62);
  font: 400 10px/1.5 var(--autumn-sans);
}

.claim-journey__track article.is-practice-handoff {
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border-color: rgba(246, 241, 230, 0.16);
  box-shadow: 0 22px 44px rgba(42, 33, 24, 0.22);
  transform: translateY(-12px) rotate(-1deg);
}

.claim-journey__track article.is-practice-handoff .claim-journey__owner {
  color: var(--autumn-cream);
  background: var(--autumn-copper);
  border-color: transparent;
}

.claim-journey__track article.is-practice-handoff p {
  color: rgba(246, 241, 230, 0.68);
}

.claim-journey__track article.is-practice-handoff small {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid rgba(246, 241, 230, 0.17);
  color: rgba(246, 241, 230, 0.72);
  font: 600 8px/1 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.claim-journey.is-visible .is-practice-handoff {
  animation: claim-handoff 850ms 180ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes claim-handoff {
  from {
    opacity: 0;
    transform: translate(-34px, -12px) rotate(-3deg);
  }
  to {
    opacity: 1;
    transform: translateY(-12px) rotate(-1deg);
  }
}

.audience-split a,
.library-split a {
  position: relative;
  overflow: hidden;
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.audience-split a::before,
.library-split a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-position: center;
  background-size: cover;
  opacity: 0.78;
}

.audience-split a:first-child::before,
.library-split a:first-child::before {
  background-image: url("/assets/backgrounds/horizon.webp");
}

.audience-split a:last-child::before,
.library-split a:last-child::before {
  background-image: url("/assets/backgrounds/still-water.webp");
}

.audience-split a:hover,
.library-split a:hover {
  box-shadow: var(--autumn-shadow);
  transform: translateY(-5px);
}

.audience-split a > span,
.library-split a > span,
.journal-feature > div > span {
  color: var(--autumn-copper);
  font: 600 9px/1 var(--autumn-sans);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.audience-split h2,
.library-split h2 {
  margin-top: 120px;
}

.audience-split p,
.library-split p {
  max-width: 470px;
  margin: 24px 0 45px;
  color: rgba(42, 33, 24, 0.66);
  font: 400 14px/1.7 var(--autumn-sans);
}

.audience-split b,
.library-split b {
  font: 600 11px/1 var(--autumn-sans);
}

.practice-day {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 110px;
  padding: 75px 55px;
  background-image: url("/assets/backgrounds/horizon.webp");
  background-position: center;
  background-size: cover;
  border-radius: 32px;
}

.practice-day__line {
  position: absolute;
  top: 101px;
  right: 13%;
  left: 13%;
  height: 1px;
  background: rgba(42, 33, 24, 0.2);
}

.practice-day article {
  position: relative;
  z-index: 1;
  min-height: 260px;
  padding: 25px;
  background: rgba(251, 248, 241, 0.67);
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 17px;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.practice-day time {
  display: inline-block;
  padding: 8px 10px;
  color: var(--autumn-cream);
  background: var(--autumn-brown);
  border-radius: 99px;
  font: 600 8px/1 var(--autumn-sans);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.practice-day h3 {
  margin: 92px 0 14px;
  font: 300 29px/1 var(--autumn-serif);
}

.practice-day p {
  margin: 0;
  color: rgba(42, 33, 24, 0.65);
  font: 400 12px/1.6 var(--autumn-sans);
}

.location-board {
  padding: 68px;
  background-image: url("/assets/backgrounds/still-water.webp");
  background-position: center;
  background-size: cover;
  border-radius: 32px;
}

.location-board__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.location-board__grid article {
  display: flex;
  flex-direction: column;
  padding: 22px 22px 20px;
  background: rgba(251, 248, 241, 0.74);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 16px;
}

.location-board__grid header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(42, 33, 24, 0.09);
}

.location-board__grid header span {
  color: rgba(42, 33, 24, 0.62);
  font: 500 11px/1.2 var(--autumn-sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.location-board__grid header b {
  font: 400 21px/1 var(--autumn-serif);
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.location-board__grid dl {
  display: grid;
  gap: 7px;
  margin: 14px 0 0;
}

.location-board__grid dl > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.location-board__grid dt {
  color: rgba(42, 33, 24, 0.58);
  font: 400 13px/1.4 var(--autumn-serif);
}

.location-board__grid dd {
  margin: 0;
  font: 500 15px/1.3 var(--autumn-sans);
  font-variant-numeric: tabular-nums;
}

.location-board__grid small {
  margin-top: 16px;
  padding-top: 14px;
  color: rgba(42, 33, 24, 0.6);
  font: 400 13px/1.5 var(--autumn-serif);
  border-top: 1px solid rgba(42, 33, 24, 0.09);
}

.location-board__head {
  display: block;
  max-width: 640px;
}

.location-board__head h2 {
  margin: 12px 0 12px;
}

.location-board__head p {
  margin: 0;
  color: rgba(42, 33, 24, 0.68);
  font: 400 16px/1.65 var(--autumn-serif);
}

.location-board__note {
  margin: 26px 0 0;
  color: rgba(42, 33, 24, 0.6);
  font: 400 15px/1.5 var(--autumn-serif);
}

@media (max-width: 1000px) {
  .location-board__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .location-board__grid {
    grid-template-columns: 1fr;
  }
}

.journal-feature {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  min-height: 560px;
  margin-bottom: 110px;
  overflow: hidden;
  background-image: url("/assets/backgrounds/ripen-settle.webp");
  background-position: center;
  background-size: cover;
  border-radius: 32px;
  box-shadow: var(--autumn-shadow);
}

.journal-feature > div,
.journal-feature > aside {
  padding: 72px;
}

.journal-feature h2 {
  max-width: 630px;
  margin-top: 100px;
  font-size: clamp(52px, 5vw, 76px);
}

.journal-feature > div p {
  max-width: 620px;
  margin: 25px 0 45px;
  color: rgba(42, 33, 24, 0.68);
  font: 400 14px/1.7 var(--autumn-sans);
}

.journal-feature a {
  font: 600 11px/1 var(--autumn-sans);
}

.journal-feature aside {
  display: grid;
  align-content: end;
  color: var(--autumn-cream);
  background: rgba(42, 33, 24, 0.9);
}

.journal-feature aside span {
  margin-bottom: 25px;
  color: #d6a577;
  font: 600 9px/1 var(--autumn-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.journal-feature aside p {
  margin: 0;
  padding: 20px 0;
  border-top: 1px solid rgba(246, 241, 230, 0.15);
  font: 300 22px/1.2 var(--autumn-serif);
}

.guide-shelf {
  display: grid;
  gap: 10px;
  margin-bottom: 110px;
  padding: 66px;
  background-image: url("/assets/backgrounds/still-water.webp");
  background-position: center;
  background-size: cover;
  border-radius: 32px;
}

.guide-shelf article {
  display: grid;
  grid-template-columns: 70px 1fr 40px;
  align-items: center;
  min-height: 150px;
  padding: 22px 30px;
  background: rgba(251, 248, 241, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 14px;
}

.guide-shelf article > span {
  color: var(--autumn-copper);
  font: 600 10px/1 var(--autumn-sans);
}

.guide-shelf small {
  color: rgba(42, 33, 24, 0.55);
  font: 600 8px/1 var(--autumn-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.guide-shelf h3 {
  margin: 11px 0 6px;
  font: 300 30px/1 var(--autumn-serif);
}

.guide-shelf p {
  margin: 0;
  color: rgba(42, 33, 24, 0.62);
  font: 400 10px/1.4 var(--autumn-sans);
}

.guide-shelf b {
  font: 300 22px/1 var(--autumn-serif);
}

.manifesto {
  padding: 92px;
  background-image: url("/assets/backgrounds/ripen-settle.webp");
  background-position: center;
  background-size: cover;
  border-radius: 34px;
  box-shadow: var(--autumn-shadow);
}

.marketing-page--about .manifesto {
  background-image: url("/assets/backgrounds/still-water.webp");
}

.manifesto__statement {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.52fr);
  gap: 9vw;
  align-items: start;
}

.manifesto__statement p {
  margin: 0;
  color: rgba(42, 33, 24, 0.7);
  font: 400 15px/1.72 var(--autumn-sans);
}

.manifesto__chapters {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 100px;
}

.manifesto__chapters article {
  min-height: 260px;
  padding: 28px;
  background: rgba(251, 248, 241, 0.58);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 16px;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.manifesto__chapters span {
  color: var(--autumn-copper);
  font: 600 9px/1 var(--autumn-sans);
}

.manifesto__chapters h3 {
  margin: 72px 0 15px;
  font: 300 28px/1 var(--autumn-serif);
}

.manifesto__chapters p {
  margin: 0;
  color: rgba(42, 33, 24, 0.64);
  font: 400 11px/1.6 var(--autumn-sans);
}

.team-section {
  display: grid;
  grid-template-columns: 0.8fr 0.65fr;
  gap: 12vw;
  align-items: start;
  padding: 50px 0 20px;
}

.team-section > p {
  margin: 0 0 5px;
  color: rgba(42, 33, 24, 0.67);
  font: 400 16px/1.75 var(--autumn-sans);
}

.marketing-cards {
  padding-top: 30px;
  padding-bottom: 125px;
}

.marketing-cards__heading {
  display: grid;
  grid-template-columns: 0.42fr 1fr;
  gap: 30px;
  align-items: start;
  margin-bottom: 55px;
}

.marketing-cards__heading .marketing-eyebrow {
  margin-bottom: 8px;
}

.marketing-cards__heading h2 {
  max-width: 850px;
  font-size: clamp(42px, 4.3vw, 68px);
}

.marketing-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.marketing-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 330px;
  padding: 38px;
  background: rgba(251, 248, 241, 0.38);
  border: 1px solid var(--autumn-soft-line);
  border-radius: 18px;
  overflow: hidden;
}

.marketing-card::after {
  content: "";
  position: absolute;
  right: -85px;
  bottom: -85px;
  width: 190px;
  height: 190px;
  background: radial-gradient(circle, rgba(200, 151, 92, 0.2), transparent 67%);
  opacity: 0;
  transition: opacity 180ms ease, transform 250ms ease;
}

.marketing-card--link:hover::after {
  opacity: 1;
  transform: translate(-12px, -12px);
}

.marketing-card h3 {
  max-width: 500px;
  margin: 78px 0 18px;
  font: 300 34px/1.04 var(--autumn-serif);
  letter-spacing: -0.035em;
}

.marketing-card p {
  max-width: 520px;
  margin: 0;
  color: rgba(42, 33, 24, 0.66);
  font: 400 13px/1.67 var(--autumn-sans);
}

.marketing-card__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 35px;
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.04em;
}

.marketing-card__link span {
  transition: transform 180ms ease;
}

.marketing-card--link:hover .marketing-card__link span {
  transform: translateX(5px);
}

.marketing-cards--seven .marketing-card-grid {
  grid-template-columns: repeat(3, 1fr);
}

.marketing-cards--seven .marketing-card:first-child {
  grid-column: span 2;
}

.marketing-cards--seven .marketing-card:last-child {
  grid-column: span 2;
}

.marketing-cards--editorial .marketing-card-grid,
.marketing-cards--team .marketing-card-grid {
  grid-template-columns: repeat(3, 1fr);
}

.marketing-cards--editorial .marketing-card,
.marketing-cards--team .marketing-card {
  min-height: 410px;
}

.marketing-cards--schedule .marketing-card-grid,
.marketing-cards--practice .marketing-card-grid,
.marketing-cards--aging .marketing-card-grid,
.marketing-cards--claims .marketing-card-grid {
  grid-template-columns: repeat(4, 1fr);
}

.marketing-cards--schedule .marketing-card,
.marketing-cards--practice .marketing-card,
.marketing-cards--aging .marketing-card,
.marketing-cards--claims .marketing-card {
  min-height: 360px;
  padding: 30px;
}

.marketing-cards--schedule .marketing-card h3,
.marketing-cards--practice .marketing-card h3,
.marketing-cards--aging .marketing-card h3,
.marketing-cards--claims .marketing-card h3 {
  margin-top: 62px;
  font-size: 28px;
}

.marketing-flow {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(70px, 9vw, 140px);
  padding: 110px 0 130px;
}

.marketing-flow__heading {
  position: sticky;
  top: 130px;
  align-self: start;
}

.marketing-flow__heading h2 {
  max-width: 580px;
}

.marketing-flow__heading > p:last-child {
  max-width: 520px;
  margin: 28px 0 0;
  color: rgba(42, 33, 24, 0.66);
  font: 400 14px/1.68 var(--autumn-sans);
}

.marketing-flow__steps {
  position: relative;
  display: grid;
}

.marketing-step {
  display: grid;
  grid-template-columns: 50px 0.55fr 1fr;
  gap: 28px;
  align-items: start;
  padding: 31px 0;
  border-bottom: 1px solid var(--autumn-soft-line);
}

.marketing-step:last-child {
  border-bottom-color: transparent;
}

.marketing-step h3 {
  margin: 0;
  font: 300 27px/1 var(--autumn-serif);
  letter-spacing: -0.03em;
}

.marketing-step p {
  margin: 0;
  color: rgba(42, 33, 24, 0.64);
  font: 400 12px/1.62 var(--autumn-sans);
}

.marketing-related {
  position: relative;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: start;
  gap: 34px;
  margin-bottom: 72px;
  padding-top: 28px;
  padding-bottom: 0;
}

.marketing-related::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--autumn-line) 7%, var(--autumn-line) 93%, transparent);
}

.marketing-related > .marketing-eyebrow {
  margin: 16px 0 0;
}

.marketing-related > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}

.marketing-related a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 64px;
  padding: 14px 17px;
  background: rgba(251, 248, 241, 0.46);
  border: 1px solid var(--autumn-soft-line);
  border-radius: 15px;
  font: 500 11px/1.3 var(--autumn-sans);
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.marketing-related a.marketing-related__resource {
  align-items: flex-start;
  min-height: 82px;
}

.marketing-related__resource small {
  display: block;
  margin-bottom: 5px;
  color: var(--autumn-copper);
  font: 600 8px/1 var(--autumn-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.marketing-related a:hover {
  color: var(--autumn-copper);
  background: rgba(251, 248, 241, 0.82);
  border-color: rgba(166, 93, 50, 0.2);
  transform: translateY(-2px);
}

.marketing-related a:focus-visible {
  outline: 2px solid var(--autumn-copper);
  outline-offset: 3px;
}

.marketing-cta--before-related {
  margin-bottom: 32px;
}

.marketing-cta {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 72px;
  padding: 46px 52px;
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border-radius: 24px;
  overflow: hidden;
}

.marketing-cta h2 {
  font-size: clamp(28px, 2.6vw, 40px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
}

.marketing-cta > div {
  max-width: 800px;
}

.marketing-cta .marketing-eyebrow {
  color: #d6a577;
}

.marketing-cta h2 {
  max-width: 760px;
}

.marketing-cta p:last-child {
  max-width: 560px;
  margin: 14px 0 0;
  color: rgba(246, 241, 230, 0.7);
  font: 400 14px/1.65 var(--autumn-sans);
}

.marketing-button--light {
  flex: 0 0 auto;
  color: var(--autumn-ink) !important;
  background: var(--autumn-cream);
  border-color: var(--autumn-cream);
}

.marketing-button--light:hover,
.marketing-button--light:focus-visible {
  color: var(--autumn-cream) !important;
  background: transparent;
}

.marketing-footer {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 80px;
  padding: 82px max(40px, calc((100vw - 1340px) / 2)) 35px;
  background: #e9dfcd;
  border-top: 1px solid var(--autumn-line);
}

.marketing-footer__lead p {
  max-width: 240px;
  margin: 25px 0 0;
  color: rgba(42, 33, 24, 0.62);
  font: 400 13px/1.5 var(--autumn-sans);
}

.marketing-footer__links {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr 0.95fr 0.72fr 0.68fr;
  gap: 28px;
}

.marketing-footer__column {
  display: grid;
  align-content: start;
  gap: 10px;
}

.marketing-footer__column a {
  width: fit-content;
  color: rgba(42, 33, 24, 0.64);
  font: 400 11px/1.35 var(--autumn-sans);
}

.marketing-footer__column a:hover {
  color: var(--autumn-brown);
}

.marketing-footer__column .marketing-footer__heading {
  margin-bottom: 8px;
  color: var(--autumn-ink);
  font-weight: 600;
}

.marketing-footer__bottom {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 45px;
  padding-top: 22px;
  color: rgba(42, 33, 24, 0.5);
  border-top: 1px solid var(--autumn-line);
  font: 600 9px/1 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.marketing-footer__hipaa {
  height: 28px;
  width: auto;
}

.resource-hub,
.resource-entry {
  min-height: 100vh;
}

.resource-hub__hero {
  position: relative;
  display: grid;
  align-items: end;
  min-height: 0;
  padding: 168px max(40px, calc((100vw - 1340px) / 2)) 56px;
  overflow: hidden;
  background:
    linear-gradient(120deg, rgba(251, 248, 241, 0.4), rgba(251, 248, 241, 0.84)),
    url("/assets/backgrounds/ripen-settle.webp") center / cover;
}

.resource-hub__hero[data-background="water"] {
  background:
    linear-gradient(120deg, rgba(251, 248, 241, 0.3), rgba(251, 248, 241, 0.84)),
    url("/assets/backgrounds/still-water.webp") center / cover;
}

.resource-hub__hero-copy {
  max-width: 1080px;
}

.resource-hub__hero h1,
.resource-entry__hero h1 {
  margin: 20px 0 0;
  font: 300 clamp(58px, 6.2vw, 96px)/1.06 var(--autumn-serif);
  letter-spacing: -0.052em;
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
}

.resource-hub__hero h1 em {
  color: var(--autumn-brown);
  font-family: var(--autumn-display);
  font-weight: 400;
}

.resource-hub__hero-copy > p:last-child {
  max-width: 710px;
  margin: 32px 0 0;
  color: rgba(42, 33, 24, 0.72);
  font: 400 17px/1.7 var(--autumn-sans);
}

.resource-feature {
  display: grid;
  grid-template-columns: minmax(210px, 0.35fr) minmax(0, 1.65fr);
  gap: clamp(50px, 8vw, 130px);
  padding-top: 120px;
  padding-bottom: 130px;
}

.resource-feature__heading > p:last-child {
  max-width: 230px;
  margin: 20px 0 0;
  color: rgba(42, 33, 24, 0.64);
  font: 400 13px/1.65 var(--autumn-sans);
}

.resource-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 420px;
  padding: 36px;
  background: rgba(251, 248, 241, 0.58);
  border: 1px solid var(--autumn-line);
  border-radius: 22px;
  overflow: hidden;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.resource-card::after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -150px;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgba(200, 151, 92, 0.27), transparent 68%);
  pointer-events: none;
}

.resource-card:hover,
.resource-card:focus-visible {
  background: rgba(251, 248, 241, 0.82);
  box-shadow: 0 22px 60px rgba(73, 50, 30, 0.1);
  outline: none;
  transform: translateY(-4px);
}

.resource-card--featured {
  grid-column: 1 / -1;
  min-height: 0;
  padding: clamp(30px, 4vw, 52px);
  background:
    linear-gradient(135deg, rgba(251, 248, 241, 0.82), rgba(232, 214, 181, 0.78)),
    url("/assets/backgrounds/horizon.webp") center / cover;
}

.resource-card__meta,
.resource-card__foot {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font: 600 9px/1.3 var(--autumn-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.resource-card__meta span {
  color: var(--autumn-copper);
}

.resource-card__meta time,
.resource-card__foot > span {
  color: rgba(42, 33, 24, 0.54);
}

.resource-card h2,
.resource-entry__layout article .resource-card h2 {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 32px 0 20px;
  font: 300 clamp(35px, 4vw, 62px)/1.1 var(--autumn-serif);
  letter-spacing: 0.005em;
  text-wrap: balance;
}

.resource-card--featured h2,
.resource-entry__layout article .resource-card--featured h2 {
  font-size: clamp(48px, 5.5vw, 82px);
}

.resource-card > p,
.resource-entry__layout article .resource-card > p {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0;
  color: rgba(42, 33, 24, 0.68);
  font: 400 14px/1.7 var(--autumn-sans);
}

.resource-card__foot {
  margin-top: auto;
  padding-top: 50px;
}

.resource-card__foot b {
  color: var(--autumn-brown);
  font-weight: 600;
}

.resource-library {
  padding-top: 20px;
  padding-bottom: 140px;
}

.resource-library__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 60px;
  align-items: start;
  padding-bottom: 42px;
  border-bottom: 1px solid var(--autumn-line);
}

.resource-library__heading h2 {
  max-width: 780px;
  margin: 0;
  font: 300 clamp(48px, 5vw, 76px)/1.08 var(--autumn-serif);
  letter-spacing: -0.045em;
}

.resource-library__heading label {
  display: grid;
  gap: 9px;
  color: rgba(42, 33, 24, 0.58);
  font: 600 9px/1 var(--autumn-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.resource-library__heading input {
  width: 100%;
  padding: 13px 14px;
  color: var(--autumn-ink);
  background: rgba(251, 248, 241, 0.62);
  border: 1px solid var(--autumn-line);
  border-radius: 999px;
  font: 400 13px/1.3 var(--autumn-sans);
  outline: none;
}

.resource-library__heading input:focus {
  border-color: var(--autumn-copper);
  box-shadow: 0 0 0 3px rgba(166, 93, 50, 0.1);
}

.resource-library__heading--bar {
  align-items: center;
  margin-bottom: 8px;
}

.resource-library__heading--bar .marketing-eyebrow {
  margin: 0;
}

.resource-library__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 28px 0 34px;
}

.resource-library__filters button {
  padding: 10px 15px;
  color: rgba(42, 33, 24, 0.68);
  background: transparent;
  border: 1px solid var(--autumn-line);
  border-radius: 999px;
  cursor: pointer;
  font: 500 11px/1 var(--autumn-sans);
}

.resource-library__filters button:hover,
.resource-library__filters button:focus-visible,
.resource-library__filters button.is-active {
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  outline: none;
}

.resource-library__grid,
.resource-entry__related > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.resource-library__empty {
  padding: 80px 0;
  color: rgba(42, 33, 24, 0.58);
  border-bottom: 1px solid var(--autumn-line);
  font: 400 18px/1.5 var(--autumn-serif);
}

.resource-entry__hero {
  padding: 165px max(40px, calc((100vw - 1120px) / 2)) 100px;
  background:
    linear-gradient(140deg, rgba(251, 248, 241, 0.36), rgba(251, 248, 241, 0.9)),
    url("/assets/backgrounds/still-water.webp") center / cover;
}

.resource-entry__hero nav {
  display: flex;
  gap: 10px;
  margin-bottom: 70px;
  color: rgba(42, 33, 24, 0.56);
  font: 500 11px/1 var(--autumn-sans);
}

.resource-entry__hero nav a:hover {
  color: var(--autumn-brown);
}

.resource-entry__hero h1 {
  max-width: 1120px;
  font-size: clamp(58px, 6.2vw, 96px);
}

.resource-entry__dek {
  max-width: 800px;
  margin: 36px 0 0;
  color: rgba(42, 33, 24, 0.7);
  font: 400 18px/1.68 var(--autumn-sans);
}

.resource-entry__byline {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
  margin-top: 46px;
  padding-top: 20px;
  border-top: 1px solid var(--autumn-line);
  color: rgba(42, 33, 24, 0.58);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.resource-entry__layout {
  display: grid;
  grid-template-columns: 188px minmax(0, 760px);
  justify-content: center;
  gap: 68px;
  padding-top: 96px;
  padding-bottom: 140px;
}

.resource-entry__layout > aside {
  position: sticky;
  top: 120px;
  align-self: start;
  display: grid;
  gap: 0;
  padding: 18px 17px;
  background: rgba(251, 248, 241, 0.42);
  border: 1px solid var(--autumn-soft-line);
  border-radius: 18px;
}

.resource-entry__layout > aside > p {
  margin: 0 0 10px;
  color: var(--autumn-ink);
  font: 400 16px/1.15 var(--autumn-serif);
  letter-spacing: -0.01em;
}

.resource-entry__layout > aside a {
  display: grid;
  grid-template-columns: 10px 1fr;
  align-items: start;
  gap: 8px;
  padding: 8px 0;
  color: rgba(42, 33, 24, 0.62);
  font: 500 11px/1.38 var(--autumn-sans);
  transition: color 180ms ease, transform 180ms ease;
}

.resource-entry__layout > aside a:hover {
  color: var(--autumn-copper);
  transform: translateX(2px);
}

.resource-entry__toc-dot {
  width: 5px;
  height: 5px;
  margin-top: 5px;
  background: rgba(166, 93, 50, 0.48);
  border-radius: 50%;
}

.resource-entry__layout article > section {
  padding: 0 0 80px;
  scroll-margin-top: 110px;
}

.resource-entry__layout article h2 {
  margin: 0 0 28px;
  font: 300 clamp(40px, 4vw, 61px)/1.12 var(--autumn-serif);
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.resource-entry__layout article p,
.resource-entry__layout article li {
  color: rgba(42, 33, 24, 0.74);
  font: 400 17px/1.83 var(--autumn-serif);
}

.resource-entry__layout article p {
  margin: 0 0 24px;
}

.resource-entry__layout article ul {
  display: grid;
  gap: 10px;
  margin: 30px 0 0;
  padding: 28px 28px 28px 50px;
  background: rgba(251, 248, 241, 0.58);
  border: 1px solid var(--autumn-line);
  border-radius: 16px;
}

.resource-entry__layout article ol {
  display: grid;
  gap: 10px;
  margin: 30px 0 0;
  padding: 28px 28px 28px 50px;
  background: rgba(251, 248, 241, 0.58);
  border: 1px solid var(--autumn-line);
  border-radius: 16px;
}

.resource-entry__layout article ul + p,
.resource-entry__layout article ol + p,
.resource-entry__layout article table + p,
.resource-entry__layout article blockquote + p,
.resource-entry__layout article figure + p {
  margin-top: 28px;
}

.resource-entry__layout article .resource-figure {
  margin: 30px 0 0;
}

.resource-entry__layout article .resource-figure svg {
  width: 100%;
  height: auto;
  display: block;
}

.resource-entry__layout article .resource-figure figcaption {
  margin-top: 12px;
  font: 400 15px/1.5 var(--autumn-sans);
  color: rgba(42, 33, 24, 0.62);
}

.resource-entry__layout article blockquote {
  margin: 30px 0 0;
  padding: 26px 30px;
  background: rgba(251, 248, 241, 0.58);
  border: 1px solid var(--autumn-line);
  border-left: 3px solid rgba(42, 33, 24, 0.4);
  border-radius: 0 16px 16px 0;
  color: rgba(42, 33, 24, 0.8);
  font: normal 400 19px/1.72 var(--autumn-serif);
}

.resource-entry__layout article h3 {
  margin: 38px 0 12px;
  font: 500 23px/1.28 var(--autumn-serif);
  letter-spacing: -0.02em;
}

.resource-entry__layout article h3 + p {
  margin-bottom: 0;
}

.resource-entry__layout article p a,
.resource-entry__layout article li a {
  color: rgba(42, 33, 24, 0.92);
  text-decoration: underline;
  text-decoration-color: rgba(42, 33, 24, 0.35);
  text-underline-offset: 3px;
  transition: text-decoration-color 160ms ease;
}

.resource-entry__layout article p a:hover,
.resource-entry__layout article li a:hover {
  text-decoration-color: rgba(42, 33, 24, 0.85);
}

.resource-entry__layout article table {
  width: 100%;
  margin: 30px 0 0;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--autumn-line);
  border-radius: 16px;
  overflow: hidden;
}

.resource-entry__layout article th,
.resource-entry__layout article td {
  padding: 15px 20px;
  text-align: left;
  border-bottom: 1px solid var(--autumn-line);
  font: 400 16px/1.5 var(--autumn-serif);
  color: rgba(42, 33, 24, 0.78);
}

.resource-entry__layout article th {
  background: rgba(251, 248, 241, 0.58);
  font-weight: 600;
  color: rgba(42, 33, 24, 0.9);
}

.resource-entry__layout article tr:last-child td {
  border-bottom: 0;
}

.resource-entry__body-links {
  display: grid;
  gap: 8px;
  margin: 0 0 12px;
}

.resource-entry__body-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 50px;
  padding: 11px 15px;
  color: rgba(42, 33, 24, 0.76);
  background: rgba(251, 248, 241, 0.42);
  border: 1px solid var(--autumn-soft-line);
  border-radius: 12px;
  font: 500 10px/1.35 var(--autumn-sans);
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.resource-entry__body-links a:hover {
  color: var(--autumn-copper);
  background: rgba(251, 248, 241, 0.8);
  border-color: rgba(166, 93, 50, 0.2);
}

.resource-entry__body-links a:focus-visible {
  outline: 2px solid var(--autumn-copper);
  outline-offset: 3px;
}

.resource-entry__product {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 19px;
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border: 1px solid rgba(246, 241, 230, 0.08);
  border-radius: 14px;
  font: 500 10px/1.35 var(--autumn-sans);
  transition: background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.resource-entry__product > span:first-child {
  color: rgba(246, 241, 230, 0.62);
}

.resource-entry__product strong {
  color: var(--autumn-cream);
  font-size: 11px;
  font-weight: 600;
}

.resource-entry__product:hover {
  background: #34291e;
  box-shadow: 0 12px 24px rgba(42, 33, 24, 0.14);
  transform: translateY(-2px);
}

.resource-entry__product:focus-visible {
  outline: 2px solid var(--autumn-copper);
  outline-offset: 3px;
}

.resource-entry__related {
  padding-top: 40px;
  padding-bottom: 130px;
  border-top: 1px solid var(--autumn-line);
}

.resource-entry__related > .marketing-eyebrow {
  margin-bottom: 34px;
}

/* Lucide 1.29.0 is the shared product icon vocabulary. The SVG nodes come
   directly from the installed library; this stylesheet only controls scale. */
.lucide-icon {
  --lucide-size: 38px;
  position: relative;
  z-index: 1;
  display: inline-grid !important;
  width: var(--lucide-size) !important;
  min-width: var(--lucide-size);
  height: var(--lucide-size) !important;
  place-items: center;
  color: var(--autumn-copper) !important;
  line-height: 1 !important;
}

.lucide-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.lucide-icon--row,
.lucide-icon--step {
  --lucide-size: 27px;
}

.lucide-icon--inline {
  --lucide-size: 19px;
}

.lucide-icon--menu {
  --lucide-size: 17px;
  color: currentColor !important;
}

.lucide-icon--nav-chevron {
  --lucide-size: 14px;
  color: currentColor !important;
  transition: transform 160ms ease;
}

.marketing-main h2,
.marketing-main h3,
.resource-hub h2,
.resource-entry h1,
.resource-entry h2 {
  overflow-wrap: normal;
  text-wrap: pretty;
  word-break: normal;
}

.marketing-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 700ms ease, transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.marketing-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .marketing-reveal { opacity: 1; transform: none; transition: none; }
  .claim-journey.is-visible .is-practice-handoff {
    animation: none;
    opacity: 1;
    transform: translateY(-12px) rotate(-1deg);
  }
  .marketing-card,
  .marketing-button,
  .audience-split a,
  .library-split a { transition: none; }
}

@media (max-width: 1180px) {
  .marketing-nav__inner {
    grid-template-columns: auto 1fr auto;
    padding: 0 22px;
  }

  .marketing-nav__parent {
    padding-left: 10px;
    font-size: 12px;
  }

  .marketing-nav__parent::after {
    left: 10px;
  }

  .marketing-nav__parent--solo {
    padding-right: 10px;
  }

  .marketing-nav__parent--solo::after {
    right: 10px;
  }

  .marketing-hero {
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.7fr);
    gap: 32px;
    padding-right: 40px;
    padding-left: 40px;
  }

  .marketing-hero__copy {
    padding-right: 0;
  }

  .marketing-hero h1 {
    font-size: clamp(52px, 6vw, 72px);
  }

  .marketing-section {
    width: min(100% - 60px, 1340px);
  }

  .marketing-cards--schedule .marketing-card-grid,
  .marketing-cards--practice .marketing-card-grid,
  .marketing-cards--aging .marketing-card-grid,
  .marketing-cards--claims .marketing-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .claim-journey__track {
    grid-template-columns: repeat(3, 1fr);
  }

  .claim-journey__track::before {
    display: none;
  }

  .claim-journey__track h3 {
    margin-top: 52px;
  }

  .dayboard__grid,
  .location-board__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .recon-equation {
    padding: 45px;
  }

  .payer-section,
  .guardrail-section,
  .claim-journey,
  .manifesto {
    padding: 55px;
  }
}

@media (max-width: 920px) {
  .marketing-related > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .marketing-nav__inner {
    display: flex;
    gap: 16px;
    min-height: 66px;
  }

  .marketing-nav__brand {
    margin-right: auto;
  }

  .marketing-nav__cta {
    order: 2;
  }

  .marketing-nav__mobile-toggle {
    display: flex;
    order: 3;
  }

  .marketing-nav__links,
  #pcl-navlinks {
    position: fixed;
    top: 66px;
    right: 0;
    left: 0;
    display: none !important;
    height: calc(100vh - 66px);
    padding: 18px 22px 120px;
    overflow: auto;
    background: rgba(246, 241, 230, 0.98);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
  }

  .marketing-nav.is-mobile-open .marketing-nav__links,
  #pcl-nav.is-mobile-open #pcl-navlinks {
    display: block !important;
  }

  .marketing-nav__group {
    display: block;
    border-bottom: 1px solid var(--autumn-line);
  }

  .marketing-nav__group-heading {
    height: auto;
  }

  .marketing-nav__parent {
    flex: 1;
    height: auto;
    padding: 20px 0;
    font: 400 28px/1 var(--autumn-serif);
  }

  .marketing-nav__parent::after {
    display: none;
  }

  .marketing-nav__dropdown-toggle {
    width: 44px;
  }

  .marketing-nav__dropdown {
    position: static;
    display: none;
    width: auto !important;
    max-height: none;
    padding: 0 0 15px;
    background: transparent;
    border: 0;
    box-shadow: none;
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }

  .marketing-nav__group.is-expanded .marketing-nav__dropdown {
    display: block;
    transform: none;
  }

  .marketing-nav__overview {
    display: none;
  }

  .marketing-nav__dropdown-link {
    padding: 10px 4px;
  }

  .marketing-nav__dropdown-link small {
    max-width: 430px;
  }

  .marketing-hero {
    grid-template-columns: 1fr;
    gap: 50px;
    min-height: 0;
    padding: 136px 30px 78px;
  }

  .marketing-hero__copy {
    max-width: 780px;
    padding-right: 0;
  }

  .marketing-visual {
    min-height: 400px;
  }

  .marketing-section {
    width: calc(100% - 60px);
  }

  .marketing-intro,
  .marketing-media,
  .pms-section__heading,
  .payer-section__heading,
  .guardrail-section__heading,
  .claim-journey__heading,
  .manifesto__statement,
  .team-section,
  .marketing-flow {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .pms-section__heading > h2,
  .payer-section__heading > h2,
  .guardrail-section__heading > h2,
  .claim-journey__heading > h2,
  .payer-section__heading > p:last-child,
  .claim-journey__heading > p:last-child {
    grid-column: auto;
  }

  .marketing-media,
  .marketing-media--right,
  .marketing-media--full {
    grid-template-columns: 1fr;
  }

  .marketing-media .marketing-media__copy {
    order: 1;
    display: block;
    max-width: 760px;
  }

  .marketing-media .marketing-media__frame {
    order: 2;
  }

  .marketing-media__frame {
    min-height: 360px;
  }

  .marketing-intro {
    padding-top: 105px;
    padding-bottom: 85px;
  }

  .pms-grid,
  .guardrail-grid,
  .manifesto__chapters {
    grid-template-columns: 1fr;
  }

  .pms-grid article,
  .guardrail-grid article,
  .manifesto__chapters article {
    min-height: 230px;
  }

  .pms-grid h3,
  .guardrail-grid h3,
  .manifesto__chapters h3 {
    margin-top: 50px;
  }

  .payer-wall {
    grid-template-columns: repeat(3, 1fr);
  }

  .marketing-cards__heading {
    grid-template-columns: 1fr;
  }

  .marketing-cards--seven .marketing-card-grid,
  .marketing-cards--editorial .marketing-card-grid,
  .marketing-cards--team .marketing-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .marketing-cards--seven .marketing-card:first-child,
  .marketing-cards--seven .marketing-card:last-child {
    grid-column: auto;
  }

  .marketing-flow__heading {
    position: static;
  }

  .recon-equation {
    grid-template-columns: 1fr;
  }

  .recon-equation > i {
    min-height: 20px;
  }

  .payment-compare,
  .audience-split,
  .library-split,
  .journal-feature {
    grid-template-columns: 1fr;
  }

  .practice-day {
    grid-template-columns: 1fr;
  }

  .practice-day__line {
    display: none;
  }

  .journal-feature aside {
    min-height: 330px;
  }

  .marketing-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .marketing-footer {
    grid-template-columns: 1fr;
  }

  .marketing-footer__links {
    grid-template-columns: repeat(2, 1fr);
  }

  .resource-hub__hero {
    min-height: 560px;
    padding: 140px 30px 76px;
  }

  .resource-feature,
  .resource-library__heading,
  .resource-entry__layout {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .resource-feature__heading > p:last-child {
    max-width: 520px;
  }

  .resource-library__heading label {
    max-width: 440px;
  }

  .resource-entry__hero {
    padding: 140px 30px 80px;
  }

  .resource-entry__hero nav {
    margin-bottom: 52px;
  }

  .resource-entry__layout > aside {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
  }

  .resource-entry__layout > aside > p {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .marketing-nav__inner,
  #pcl-nav .marketing-nav__inner {
    gap: 12px;
    min-height: 62px;
    padding: 0 16px;
  }

  .marketing-nav__cta {
    padding: 9px 14px;
    font-size: 10px;
  }

  .marketing-nav__links,
  #pcl-navlinks {
    top: 62px;
    height: calc(100vh - 62px);
  }

  .marketing-hero {
    gap: 38px;
    padding: 118px 18px 60px;
  }

  .marketing-hero h1 {
    font-size: clamp(48px, 15vw, 66px);
  }

  .marketing-hero__lede {
    margin-top: 26px;
    font-size: 15px;
  }

  .marketing-hero__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .marketing-visual {
    min-height: 350px;
    padding: 17px;
    border-radius: 22px;
  }

  .payment-mini {
    grid-template-columns: 1fr;
  }

  .payment-mini > i {
    text-align: center;
    transform: rotate(90deg);
  }

  .payment-mini > p {
    grid-column: auto;
  }

  .balance-mini > strong {
    font-size: 46px;
  }

  .aging-mini > div:not(.aging-mini__head) {
    grid-template-columns: 92px 1fr 45px;
  }

  .dso-mini {
    grid-template-columns: 1fr;
  }

  .dso-mini__head,
  .dso-mini > p {
    grid-column: auto;
  }

  .marketing-signal-strip {
    grid-template-columns: 1fr;
    width: calc(100% - 36px);
  }

  .marketing-signal-strip span + span {
    border-top: 1px solid var(--autumn-line);
    border-left: 0;
  }

  .marketing-section {
    width: calc(100% - 36px);
  }

  .marketing-intro {
    padding-top: 80px;
    padding-bottom: 70px;
  }

  .marketing-composition > .marketing-section:first-child:not(.marketing-intro) {
    margin-top: 72px;
  }

  .marketing-media {
    gap: 28px;
    margin-bottom: 80px;
  }

  .marketing-media__frame {
    min-height: 290px;
    border-radius: 22px;
  }

  .marketing-media__frame--cinematic,
  .marketing-media__frame--product,
  .marketing-media__frame--landscape,
  .marketing-media__frame--classic {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .marketing-media__placeholder {
    padding: 34px 22px;
  }

  .marketing-media__placeholder > strong {
    font-size: 34px;
  }

  .marketing-media__copy h2 {
    font-size: 42px;
  }

  .marketing-intro h2,
  .marketing-cards__heading h2,
  .marketing-flow h2,
  .marketing-cta h2,
  .pms-section h2,
  .payer-section h2,
  .guardrail-section h2,
  .dayboard h2,
  .cause-board h2,
  .claim-journey h2,
  .location-board h2,
  .manifesto h2,
  .team-section h2,
  .faq-group__heading h2 {
    font-size: 42px;
  }

  .pms-section,
  .payer-section,
  .guardrail-section,
  .dayboard,
  .cause-board,
  .claim-journey,
  .location-board,
  .manifesto,
  .team-section {
    margin-bottom: 80px;
  }

  .payer-section,
  .guardrail-section,
  .dayboard,
  .cause-board,
  .claim-journey,
  .location-board,
  .manifesto,
  .guide-shelf,
  .recon-equation {
    padding: 34px 22px;
    border-radius: 23px;
  }

  .payer-wall {
    grid-template-columns: repeat(2, 1fr);
  }

  .payer-logo {
    min-height: 90px;
  }

  .dayboard__heading,
  .location-board__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .dayboard__grid,
  .location-board__grid,
  .claim-journey__track {
    grid-template-columns: 1fr;
  }

  .recon-equation > div {
    min-height: 205px;
  }

  .payment-compare,
  .audience-split,
  .library-split {
    margin-bottom: 80px;
  }

  .payment-compare article,
  .audience-split a,
  .library-split a {
    min-height: 410px;
    padding: 38px 28px;
  }

  .audience-split h2,
  .library-split h2 {
    margin-top: 90px;
    font-size: 43px;
  }

  .cause-board__rows article {
    grid-template-columns: 35px 1fr auto;
    padding: 17px 12px;
  }

  .cause-board__rows small,
  .cause-board__rows em {
    display: none;
  }

  .practice-day {
    padding: 35px 22px;
  }

  .journal-feature {
    min-height: 0;
  }

  .journal-feature > div,
  .journal-feature > aside {
    padding: 42px 28px;
  }

  .journal-feature h2 {
    margin-top: 80px;
    font-size: 50px;
  }

  .guide-shelf article {
    grid-template-columns: 40px 1fr 20px;
    padding: 18px 14px;
  }

  .guide-shelf h3 {
    font-size: 24px;
  }

  .manifesto__chapters {
    margin-top: 65px;
  }

  .marketing-card-grid,
  .marketing-cards--seven .marketing-card-grid,
  .marketing-cards--editorial .marketing-card-grid,
  .marketing-cards--team .marketing-card-grid,
  .marketing-cards--schedule .marketing-card-grid,
  .marketing-cards--practice .marketing-card-grid,
  .marketing-cards--aging .marketing-card-grid,
  .marketing-cards--claims .marketing-card-grid {
    grid-template-columns: 1fr;
  }

  .marketing-card {
    min-height: 290px !important;
    padding: 28px !important;
  }

  .marketing-card h3 {
    margin-top: 55px !important;
    font-size: 29px !important;
  }

  .marketing-cards {
    padding-bottom: 90px;
  }

  .marketing-flow {
    padding: 80px 0 90px;
  }

  .marketing-step {
    grid-template-columns: 34px 1fr;
    gap: 18px;
  }

  .marketing-step p {
    grid-column: 2;
  }

  .marketing-related > div {
    grid-template-columns: 1fr;
  }

  .marketing-related {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .marketing-related > .marketing-eyebrow {
    margin-top: 0;
  }

  .marketing-cta {
    margin-bottom: 36px;
    padding: 46px 28px;
    border-radius: 23px;
  }

  /* The abbreviated phone footer: brand, tagline, the five section links in one wrapping row,
     and the legal line — a couple hundred pixels instead of a screen and a half. The per-page
     links inside each column are hidden here; the section pages and the nav menu carry them. */
  .marketing-footer {
    gap: 24px;
    padding: 40px 22px 24px;
  }

  .marketing-footer__lead {
    gap: 10px;
  }

  .marketing-footer__lead p {
    margin: 0;
  }

  .marketing-footer__links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
  }

  .marketing-footer__column {
    display: block;
  }

  .marketing-footer__column a:not(.marketing-footer__heading) {
    display: none;
  }

  .marketing-footer__column .marketing-footer__heading {
    margin-bottom: 0;
  }

  .marketing-footer__bottom {
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 6px;
    padding-top: 16px;
  }

  .resource-hub__hero {
    min-height: 500px;
    padding: 118px 18px 58px;
  }

  .resource-hub__hero h1,
  .resource-entry__hero h1 {
    font-size: clamp(48px, 14vw, 66px);
  }

  .resource-hub__hero-copy > p:last-child,
  .resource-entry__dek {
    font-size: 15px;
  }

  .resource-feature {
    width: calc(100% - 36px);
    padding-top: 76px;
    padding-bottom: 90px;
  }

  /* Cards shrink to their content on phones: the desktop min-height and the tall title offset
     exist to align a two-column grid, and in one column they only manufacture empty card. */
  .resource-card,
  .resource-card--featured {
    min-height: 0;
    padding: 26px 22px;
    border-radius: 18px;
  }

  .resource-card h2,
  .resource-card--featured h2,
  .resource-entry__layout article .resource-card h2 {
    margin-top: 26px;
    font-size: 34px;
  }

  .resource-card__foot {
    padding-top: 26px;
  }

  .resource-card__meta,
  .resource-card__foot {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .resource-library {
    width: calc(100% - 36px);
    padding-bottom: 100px;
  }

  .resource-library__heading h2 {
    font-size: 44px;
  }

  .resource-library__grid,
  .resource-entry__related > div {
    grid-template-columns: 1fr;
  }

  .resource-entry__hero {
    padding: 118px 18px 66px;
  }

  .resource-entry__hero nav {
    margin-bottom: 42px;
  }

  .resource-entry__byline {
    align-items: flex-start;
    flex-direction: column;
  }

  .resource-entry__layout {
    width: calc(100% - 36px);
    padding-top: 72px;
    padding-bottom: 90px;
  }

  .resource-entry__layout > aside {
    grid-template-columns: 1fr;
  }

  .resource-entry__layout article h2 {
    font-size: 40px;
  }

  .resource-entry__layout article p,
  .resource-entry__layout article li {
    font-size: 16px;
  }

  .resource-entry__product {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .resource-entry__related {
    width: calc(100% - 36px);
    padding-bottom: 90px;
  }
}

/* Inline marketing graphics (revenue lifecycle, payment math) and atmosphere panels */
.marketing-graphic {
  padding: 96px 0 110px;
}

.marketing-graphic__heading {
  max-width: 760px;
  margin: 0 0 46px;
}

.marketing-graphic__heading h2 {
  margin: 12px 0 16px;
  font: 300 clamp(34px, 3.4vw, 52px)/1.05 var(--autumn-serif);
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.marketing-graphic__heading p {
  margin: 0;
  max-width: 620px;
  color: rgba(42, 33, 24, 0.7);
  font: 400 17px/1.7 var(--autumn-serif);
}

/* Revenue lifecycle */
.lifecycle {
  display: grid;
  gap: 14px;
}

.lifecycle__phase {
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 20px;
  align-items: start;
  padding: 22px 0 0;
  border-top: 1px solid var(--autumn-line);
}

.lifecycle__phase-label {
  margin: 6px 0 0;
  color: rgba(42, 33, 24, 0.5);
  font: 500 11px/1.4 var(--autumn-sans);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.lifecycle__steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
}

.lifecycle__steps article {
  padding: 16px 18px 18px;
  background: rgba(251, 248, 241, 0.6);
  border: 1px solid var(--autumn-line);
  border-radius: 16px;
}

.lifecycle__steps article.is-autumn {
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border-color: rgba(246, 241, 230, 0.1);
}

.lifecycle__owner {
  display: inline-block;
  margin: 0 0 9px;
  color: rgba(42, 33, 24, 0.52);
  font: 500 10px/1.3 var(--autumn-sans);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.lifecycle__steps article.is-autumn .lifecycle__owner {
  color: rgba(246, 241, 230, 0.6);
}

.lifecycle__steps h3 {
  margin: 0 0 6px;
  font: 500 17px/1.28 var(--autumn-serif);
  letter-spacing: -0.02em;
}

.lifecycle__steps p {
  margin: 0;
  color: rgba(42, 33, 24, 0.66);
  font: 400 14px/1.55 var(--autumn-serif);
}

.lifecycle__steps article.is-autumn p {
  color: rgba(246, 241, 230, 0.72);
}

.lifecycle__summary {
  margin: 30px 0 0;
  padding: 22px 26px;
  background: rgba(251, 248, 241, 0.58);
  border: 1px solid var(--autumn-line);
  border-radius: 16px;
  color: rgba(42, 33, 24, 0.7);
  font: 400 18px/1.55 var(--autumn-serif);
  text-wrap: balance;
}

.lifecycle__summary strong {
  color: var(--autumn-ink);
  font-weight: 500;
}

/* Payment math */
.payment-math__premise {
  margin: 0 0 18px;
  color: rgba(42, 33, 24, 0.62);
  font: 400 17px/1.5 var(--autumn-serif);
}

.payment-math__premise strong {
  color: var(--autumn-ink);
  font-weight: 500;
}

.payment-math__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.payment-math__cards article {
  display: flex;
  flex-direction: column;
  padding: 26px 26px 28px;
  background: rgba(251, 248, 241, 0.6);
  border: 1px solid var(--autumn-line);
  border-radius: 18px;
}

.payment-math__cards article.is-autumn {
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border-color: rgba(246, 241, 230, 0.1);
}

.payment-math__method {
  margin: 0 0 14px;
  color: rgba(42, 33, 24, 0.55);
  font: 500 11px/1.3 var(--autumn-sans);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.payment-math__cards article.is-autumn .payment-math__method {
  color: rgba(246, 241, 230, 0.62);
}

.payment-math__amount {
  font: 300 clamp(38px, 3.6vw, 50px)/1 var(--autumn-serif);
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}

.payment-math__delta {
  margin: 12px 0 20px;
  font: 400 14px/1.45 var(--autumn-sans);
}

.payment-math__delta--neutral {
  color: rgba(42, 33, 24, 0.58);
}

.payment-math__delta--loss {
  color: #9a3f2c;
}

.payment-math__delta--gain {
  color: rgba(196, 222, 190, 0.95);
}

.payment-math__cards ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 18px 0 0;
  list-style: none;
  border-top: 1px solid var(--autumn-line);
}

.payment-math__cards article.is-autumn ul {
  border-top-color: rgba(246, 241, 230, 0.14);
}

.payment-math__cards li {
  color: rgba(42, 33, 24, 0.68);
  font: 400 14px/1.55 var(--autumn-serif);
}

.payment-math__cards article.is-autumn li {
  color: rgba(246, 241, 230, 0.74);
}

.payment-math__footnote {
  margin: 26px 0 0;
  color: rgba(42, 33, 24, 0.56);
  font: 400 15px/1.6 var(--autumn-serif);
  text-wrap: balance;
}

/* Atmosphere panels */
.marketing-atmosphere {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 380px;
  margin: 90px 0 100px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--autumn-line);
  border-radius: 22px;
  isolation: isolate;
}

.marketing-atmosphere__wash {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-position: center;
  background-size: cover;
  transform: scale(1.04);
}

.marketing-atmosphere[data-background="settle"] .marketing-atmosphere__wash {
  background-image: url("/assets/backgrounds/ripen-settle.webp");
}

.marketing-atmosphere[data-background="horizon"] .marketing-atmosphere__wash {
  background-image: url("/assets/backgrounds/horizon.webp");
}

.marketing-atmosphere[data-background="water"] .marketing-atmosphere__wash {
  background-image: url("/assets/backgrounds/still-water.webp");
}

.marketing-atmosphere__copy {
  max-width: 640px;
  padding: 46px 48px 44px;
}

.marketing-atmosphere__copy h2 {
  margin: 0 0 14px;
  font: 300 clamp(30px, 3vw, 44px)/1.08 var(--autumn-serif);
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.marketing-atmosphere__copy p {
  margin: 0;
  color: rgba(42, 33, 24, 0.72);
  font: 400 17px/1.7 var(--autumn-serif);
}

@media (max-width: 900px) {
  .lifecycle__phase {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .marketing-atmosphere {
    min-height: 300px;
  }

  .marketing-atmosphere__copy {
    padding: 32px 26px 30px;
  }
}

/* About: founder letter, mission statement, and evidence */
.marketing-main--about {
  overflow: hidden;
}

.about-body {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(310px, 0.66fr);
  gap: clamp(58px, 8vw, 124px);
  align-items: start;
  padding-top: 172px;
  padding-bottom: 150px;
}

.about-letter {
  display: grid;
  gap: 28px;
  max-width: 720px;
}

.about-letter h1 {
  max-width: 800px;
  margin: 0 0 18px;
  color: var(--autumn-ink);
  font: 300 clamp(50px, 5.3vw, 78px)/1.02 var(--autumn-serif);
  font-style: normal;
  letter-spacing: -0.045em;
}

.about-letter > p {
  max-width: 700px;
  margin: 0;
  color: rgba(42, 33, 24, 0.84);
  font: 400 22px/1.62 var(--autumn-display);
  letter-spacing: 0.002em;
}

.about-letter .about-letter__link {
  color: var(--autumn-brown);
  text-decoration: underline;
  text-decoration-color: rgba(111, 60, 33, 0.35);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.about-letter .about-letter__link:hover,
.about-letter .about-letter__link:focus-visible {
  text-decoration-color: currentColor;
}

.about-letter__signatures {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-top: 12px;
}

.about-letter__signature {
  display: grid;
  gap: 6px;
  width: clamp(138px, 17vw, 205px);
}

.about-letter__signature img {
  width: 100%;
  height: auto;
}

.about-letter__signature-name {
  color: rgba(42, 33, 24, 0.7);
  font: 500 12px/1.4 var(--autumn-sans);
  letter-spacing: 0.01em;
}

.about-statement {
  position: sticky;
  top: 112px;
  padding: clamp(30px, 3vw, 42px);
  color: var(--autumn-ink);
  background: color-mix(in srgb, var(--autumn-clay) 16%, var(--autumn-cream));
  border-radius: 2px 32px 2px 32px;
}

.about-statement h2 {
  max-width: 460px;
  margin: 0 0 34px;
  font: 300 clamp(38px, 3.7vw, 54px)/1.01 var(--autumn-serif);
  letter-spacing: -0.045em;
}

.about-statement__body {
  display: grid;
  gap: 17px;
}

.about-statement__body p {
  margin: 0;
  color: rgba(42, 33, 24, 0.68);
  font: 400 15px/1.68 var(--autumn-sans);
}

.about-statement__signoff {
  margin: 50px 0 0;
  color: var(--autumn-brown);
  font: normal 300 24px/1.2 var(--autumn-serif);
}

.about-evidence {
  padding: 106px 0 136px;
}

.about-evidence__heading {
  margin-bottom: 84px;
}

.about-evidence__heading h2 {
  max-width: 1100px;
  margin: 0;
  color: var(--autumn-ink);
  font: 300 clamp(64px, 7.8vw, 112px)/0.91 var(--autumn-serif);
  letter-spacing: -0.06em;
  text-wrap: balance;
}

/* Two wide columns on desktop so each figure can run at display size beside the
   heading instead of four small numbers in a row. */
.about-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(64px, 6vw, 96px) clamp(40px, 6vw, 96px);
}

.about-stat {
  min-width: 0;
  container-type: inline-size;
}

/* The figure never wraps: "750 hours" is the widest at about 4em, so 21cqi keeps it inside
   its column with room to spare whatever the browser's font metrics do. */
.about-stat__value {
  display: block;
  min-height: 0.9em;
  color: var(--autumn-brown);
  font: 300 min(clamp(72px, 10vw, 148px), 21cqi)/0.9 var(--autumn-serif);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.06em;
  white-space: nowrap;
}

.about-stat > p {
  max-width: 520px;
  margin: 28px 0 0;
  color: var(--autumn-ink);
  font: 400 21px/1.42 var(--autumn-serif);
}

.about-stat__source-ref {
  display: inline-block;
  margin-left: 2px;
  color: var(--autumn-brown);
  font: 600 10px/1 var(--autumn-sans);
  text-decoration: none;
  transform: translateY(-0.35em);
}

.about-stat__source-ref:hover,
.about-stat__source-ref:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.about-sources {
  display: grid;
  grid-template-columns: minmax(120px, 0.72fr) minmax(0, 3.28fr);
  gap: 40px;
  margin-top: 100px;
}

.about-sources h3 {
  margin: 2px 0 0;
  color: rgba(42, 33, 24, 0.55);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.about-sources ol {
  display: grid;
  gap: 14px;
  max-width: 930px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-sources li {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  color: rgba(42, 33, 24, 0.58);
  font: 400 11px/1.55 var(--autumn-sans);
}

.about-sources li > span {
  color: var(--autumn-brown);
  font-weight: 600;
}

.about-sources li p {
  margin: 0;
}

.about-sources a {
  color: rgba(42, 33, 24, 0.76);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(42, 33, 24, 0.22);
  text-underline-offset: 3px;
}

.about-sources a:hover,
.about-sources a:focus-visible {
  color: var(--autumn-brown);
  text-decoration-color: currentColor;
}

@media (max-width: 860px) {
  .about-body {
    grid-template-columns: 1fr;
    padding-top: 148px;
  }

  .about-statement {
    position: relative;
    top: auto;
  }

  .about-stat__value {
    font-size: min(clamp(64px, 9vw, 96px), 21cqi);
  }

  .about-stat > p {
    font-size: 18px;
  }

}

@media (max-width: 720px) {
  .about-body {
    gap: 62px;
    padding-top: 126px;
    padding-bottom: 82px;
  }

  .about-letter {
    gap: 22px;
  }

  .about-letter h1 {
    margin-bottom: 10px;
  }

  .about-letter > p {
    font-size: 20px;
    line-height: 1.58;
  }

  .about-statement {
    padding: 30px 26px 34px;
  }

  .about-statement__signoff {
    margin-top: 48px;
  }

  .about-evidence {
    padding: 82px 0 94px;
  }

  .about-evidence__heading {
    margin-bottom: 52px;
  }

  .about-evidence__heading h2 {
    font-size: clamp(52px, 15vw, 70px);
    line-height: 0.94;
  }

  .about-stats {
    grid-template-columns: 1fr;
  }

  .about-stat {
    padding: 0 4px;
  }

  .about-stat + .about-stat {
    margin-top: 34px;
  }

  .about-stat__value {
    font-size: min(clamp(56px, 15vw, 80px), 21cqi);
  }

  .about-stat > p {
    max-width: 340px;
    margin-top: 20px;
  }

  .about-sources {
    display: block;
    margin-top: 78px;
  }

  .about-sources h3 {
    margin-bottom: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-stat__value {
    transition: none;
  }
}



/* Product rail: six surfaces of one product on a single thread */
.product-rail {
  padding: 96px 0 104px;
}

.product-rail__head {
  max-width: 680px;
  margin: 0 0 42px;
}

.product-rail__head h2 {
  margin: 12px 0 0;
  font: 300 clamp(34px, 3.4vw, 52px)/1.05 var(--autumn-serif);
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.product-rail__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}

.product-rail__track::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 3%;
  left: 3%;
  z-index: -1;
  height: 1px;
  background: rgba(42, 33, 24, 0.16);
}

.product-rail__track article {
  display: grid;
  justify-items: start;
  gap: 8px;
  padding: 20px 18px 18px;
  background: rgba(251, 248, 241, 0.92);
  border: 1px solid var(--autumn-line);
  border-radius: 16px;
}

.product-rail__track article .lucide-icon svg {
  width: 20px;
  height: 20px;
  color: var(--autumn-brown);
}

.product-rail__track strong {
  font: 500 17px/1.2 var(--autumn-serif);
  letter-spacing: -0.02em;
}

.product-rail__track small {
  color: rgba(42, 33, 24, 0.58);
  font: 400 12px/1.4 var(--autumn-sans);
}

.product-rail__note {
  max-width: 560px;
  margin: 26px 0 0;
  color: rgba(42, 33, 24, 0.62);
  font: 400 15px/1.6 var(--autumn-serif);
}

/* Services page: one complete billing handoff, from audit through settled payment. */
.services-page {
  overflow: clip;
  background:
    radial-gradient(circle at 8% 8%, rgba(217, 179, 106, 0.16), transparent 28rem),
    var(--autumn-cream);
}

.services-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.services-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  gap: clamp(44px, 6vw, 92px);
  align-items: center;
  width: min(1380px, calc(100% - 64px));
  min-height: 780px;
  margin: 0 auto;
  padding: 142px 0 88px;
}

.services-hero__copy {
  max-width: 720px;
}

.services-hero h1 {
  margin: 0;
  font: 400 clamp(58px, 6.1vw, 92px)/0.98 var(--autumn-serif);
  letter-spacing: -0.048em;
  text-wrap: balance;
}

.services-hero h1 em {
  display: block;
  color: var(--autumn-brown);
  font-weight: 300;
}

.services-hero__copy > p {
  max-width: 650px;
  margin: 28px 0 0;
  color: rgba(42, 33, 24, 0.72);
  font: 350 18px/1.68 var(--autumn-sans);
}

.services-hero__photo {
  position: relative;
  min-height: 610px;
  margin: 0;
  overflow: hidden;
  background: #e5d8c7;
  border-radius: 30px 30px 110px 30px;
  box-shadow: 0 32px 72px rgba(64, 43, 26, 0.18);
}

.services-hero__photo::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(transparent, rgba(29, 22, 16, 0.64));
  pointer-events: none;
}

.services-hero__photo img {
  width: 100%;
  height: 100%;
  min-height: 610px;
  object-fit: cover;
}

.services-hero__photo figcaption {
  position: absolute;
  right: 34px;
  bottom: 30px;
  left: 34px;
  z-index: 1;
  max-width: 390px;
  color: var(--autumn-cream);
  font: 400 17px/1.45 var(--autumn-serif);
}

.services-audit-form {
  width: min(650px, 100%);
  margin-top: 34px;
}

.services-audit-form__control {
  display: flex;
  gap: 8px;
  padding: 7px;
  background: var(--autumn-paper);
  border: 1px solid rgba(42, 33, 24, 0.14);
  border-radius: 99px;
  box-shadow: 0 18px 42px rgba(64, 43, 26, 0.12);
}

.services-audit-form input {
  min-width: 0;
  flex: 1;
  padding: 0 16px;
  color: var(--autumn-ink);
  background: transparent;
  border: 0;
  outline: 0;
  font: 400 15px/1 var(--autumn-sans);
}

.services-audit-form input::placeholder {
  color: rgba(42, 33, 24, 0.55);
}

.services-audit-form button {
  display: inline-flex;
  flex: none;
  gap: 14px;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border: 1px solid var(--autumn-ink);
  border-radius: 99px;
  cursor: pointer;
  font: 600 14px/1 var(--autumn-sans);
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.services-audit-form button:hover {
  color: var(--autumn-ink);
  background: transparent;
  transform: translateY(-1px);
}

.services-audit-form__control:focus-within,
.services-audit-form button:focus-visible,
.services-stage-card:focus-visible,
.services-story__resource:focus-visible {
  outline: 3px solid rgba(166, 93, 50, 0.34);
  outline-offset: 3px;
}

.services-audit-form > small {
  display: block;
  margin: 10px 18px 0;
  color: rgba(42, 33, 24, 0.57);
  font: 400 12px/1.4 var(--autumn-sans);
}

.services-exposure {
  color: var(--autumn-cream);
  background:
    radial-gradient(circle at 80% 12%, rgba(217, 179, 106, 0.12), transparent 30rem),
    var(--autumn-ink);
}

.services-exposure__inner {
  width: min(1340px, calc(100% - 64px));
  margin: 0 auto;
  padding: 112px 0 124px;
}

.services-exposure__heading {
  max-width: 1050px;
}

.services-exposure__heading h2 {
  margin: 0;
  font: 350 clamp(46px, 5.5vw, 76px)/1.02 var(--autumn-serif);
  letter-spacing: -0.042em;
  text-wrap: balance;
}

.services-exposure__heading h2 em {
  color: #e6bd7b;
  font-weight: 300;
}

.services-exposure__heading p {
  max-width: 760px;
  margin: 24px 0 0;
  color: rgba(246, 241, 230, 0.7);
  font: 350 17px/1.7 var(--autumn-sans);
}

.services-exposure__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(520px, 1.12fr);
  gap: clamp(40px, 6vw, 86px);
  align-items: center;
  margin-top: 74px;
}

.services-exposure__ledger {
  border-top: 1px solid rgba(246, 241, 230, 0.22);
}

.services-exposure__ledger > div {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  padding: 18px 4px;
  border-bottom: 1px solid rgba(246, 241, 230, 0.22);
}

.services-exposure__ledger span {
  font: 400 17px/1.35 var(--autumn-sans);
}

.services-exposure__ledger b {
  color: rgba(246, 241, 230, 0.58);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.services-exposure__ledger .services-exposure__total {
  display: grid;
  gap: 12px;
  justify-items: start;
  min-height: 150px;
  padding: 28px 4px;
}

.services-exposure__total strong {
  color: #e6bd7b;
  font: 350 clamp(42px, 5vw, 70px)/1 var(--autumn-serif);
  letter-spacing: -0.035em;
}

.services-exposure__ledger > p {
  max-width: 500px;
  margin: 20px 0 0;
  color: rgba(246, 241, 230, 0.58);
  font: 350 13px/1.6 var(--autumn-sans);
}

.services-audit-sheet {
  position: relative;
  padding: 34px 38px 38px;
  color: var(--autumn-ink);
  background:
    linear-gradient(rgba(42, 33, 24, 0.035) 1px, transparent 1px) 0 76px / 100% 34px,
    var(--autumn-paper);
  border-radius: 4px 24px 24px 4px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
  transform: rotate(0.65deg);
}

.services-audit-sheet::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 18px;
  width: 1px;
  background: rgba(166, 93, 50, 0.2);
}

.services-audit-sheet header {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(42, 33, 24, 0.14);
}

.services-audit-sheet header span {
  font: 400 20px/1 var(--autumn-display);
}

.services-audit-sheet header b {
  color: rgba(42, 33, 24, 0.55);
  font: 600 9px/1 var(--autumn-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.services-audit-sheet h3 {
  max-width: 460px;
  margin: 28px 0 24px;
  font: 400 clamp(32px, 3.4vw, 47px)/1.03 var(--autumn-serif);
  letter-spacing: -0.035em;
}

.services-audit-sheet ol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(42, 33, 24, 0.13);
  border-left: 1px solid rgba(42, 33, 24, 0.13);
}

.services-audit-sheet li {
  min-height: 142px;
  padding: 20px 18px;
  border-right: 1px solid rgba(42, 33, 24, 0.13);
  border-bottom: 1px solid rgba(42, 33, 24, 0.13);
}

.services-audit-sheet li strong {
  display: block;
  font: 550 15px/1.3 var(--autumn-sans);
}

.services-audit-sheet li p {
  margin: 8px 0 0;
  color: rgba(42, 33, 24, 0.64);
  font: 350 12px/1.5 var(--autumn-sans);
}

.services-cycle {
  width: min(1340px, calc(100% - 64px));
  margin: 0 auto;
  padding: 126px 0 136px;
}

.services-cycle__heading {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 52px;
}

.services-cycle__heading h2 {
  max-width: 720px;
  margin: 0;
  font: 400 clamp(48px, 5.4vw, 76px)/1 var(--autumn-serif);
  letter-spacing: -0.042em;
}

.services-cycle__heading p {
  max-width: 560px;
  margin: 0 0 6px;
  color: rgba(42, 33, 24, 0.68);
  font: 350 16px/1.7 var(--autumn-sans);
}

.services-cycle__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.services-stage-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 440px;
  padding: 26px;
  overflow: hidden;
  background: rgba(251, 248, 241, 0.88);
  border: 1px solid rgba(42, 33, 24, 0.12);
  border-radius: 24px;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.services-stage-card:hover {
  border-color: rgba(166, 93, 50, 0.32);
  box-shadow: 0 24px 54px rgba(64, 43, 26, 0.1);
  transform: translateY(-3px);
}

.services-stage-card--verification,
.services-stage-card--claims {
  grid-column: span 3;
}

.services-stage-card--reconciliation,
.services-stage-card--posting,
.services-stage-card--followup {
  grid-column: span 2;
}

.services-stage-card header {
  display: flex;
  align-items: center;
}

.services-stage-card header .lucide-icon svg {
  width: 22px;
  height: 22px;
  color: var(--autumn-brown);
}

.services-stage-card h3 {
  margin: 28px 0 0;
  font: 450 30px/1.05 var(--autumn-serif);
  letter-spacing: -0.025em;
}

.services-stage-card > p {
  max-width: 480px;
  margin: 10px 0 0;
  color: rgba(42, 33, 24, 0.66);
  font: 350 14px/1.58 var(--autumn-sans);
}

.services-stage-card__link {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: auto;
  padding-top: 22px;
  color: var(--autumn-brown);
  font: 600 12px/1 var(--autumn-sans);
}

.services-stage-visual {
  margin-top: 26px;
  color: var(--autumn-ink);
  background: rgba(255, 253, 249, 0.88);
  border: 1px solid rgba(42, 33, 24, 0.09);
  border-radius: 16px;
  box-shadow: 0 15px 32px rgba(64, 43, 26, 0.07);
}

.services-stage-visual--verification {
  display: grid;
  gap: 7px;
  padding: 12px;
}

.services-stage-visual--verification > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: var(--autumn-paper);
  border-radius: 9px;
}

.services-stage-visual--verification time,
.services-stage-visual--verification b {
  font: 550 11px/1 var(--autumn-sans);
}

.services-stage-visual--verification b {
  color: #4c7a4c;
}

.services-stage-visual--verification .needs-work b {
  color: var(--autumn-copper);
}

.services-stage-visual--claims {
  padding: 18px;
}

.services-stage-visual--claims > div {
  display: flex;
  justify-content: space-between;
  color: rgba(42, 33, 24, 0.65);
  font: 500 10px/1 var(--autumn-sans);
}

.services-stage-visual--claims i {
  display: block;
  height: 7px;
  margin: 15px 0 12px;
  overflow: hidden;
  background: rgba(42, 33, 24, 0.09);
  border-radius: 99px;
}

.services-stage-visual--claims i b {
  display: block;
  width: 72%;
  height: 100%;
  background: linear-gradient(90deg, var(--autumn-brown), #d9b36a);
  border-radius: inherit;
}

.services-stage-visual--claims small {
  color: rgba(42, 33, 24, 0.55);
  font: 450 11px/1.4 var(--autumn-sans);
}

.services-stage-visual--reconciliation {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 5px;
  align-items: center;
  padding: 24px 12px 46px;
}

.services-stage-visual--reconciliation span {
  padding: 12px 4px;
  background: var(--autumn-paper);
  border-radius: 9px;
  font: 550 9px/1 var(--autumn-sans);
  text-align: center;
}

.services-stage-visual--reconciliation i {
  color: var(--autumn-brown);
  font: 400 17px/1 var(--autumn-serif);
}

.services-stage-visual--reconciliation strong {
  position: absolute;
  bottom: 12px;
  left: 50%;
  padding: 7px 13px;
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border-radius: 99px;
  font: 600 9px/1 var(--autumn-sans);
  transform: translateX(-50%);
}

.services-stage-visual--posting {
  padding: 15px;
}

.services-stage-visual--posting div {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 9px 0;
  border-bottom: 1px solid rgba(42, 33, 24, 0.08);
  font: 500 10px/1.2 var(--autumn-sans);
}

.services-stage-visual--posting b {
  display: block;
  margin-top: 12px;
  color: #4c7a4c;
  font: 600 10px/1 var(--autumn-sans);
  text-align: right;
}

.services-stage-visual--followup {
  padding: 18px;
}

.services-stage-visual--followup div {
  display: flex;
  justify-content: space-between;
  font: 500 11px/1 var(--autumn-sans);
}

.services-stage-visual--followup i {
  display: block;
  width: 76%;
  height: 7px;
  margin: 14px 0 12px;
  background: var(--autumn-copper);
  border-radius: 99px;
}

.services-stage-visual--followup small {
  color: rgba(42, 33, 24, 0.55);
  font: 450 10px/1.3 var(--autumn-sans);
}

.services-story {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(420px, 0.8fr);
  gap: clamp(42px, 6vw, 90px);
  align-items: center;
  width: min(1420px, calc(100% - 48px));
  margin: 0 auto 130px;
  padding: 24px;
  background: #eadfce;
  border-radius: 34px;
}

.services-story__photo {
  min-height: 580px;
  overflow: hidden;
  border-radius: 20px 80px 20px 20px;
}

.services-story__photo img {
  width: 100%;
  height: 100%;
  min-height: 580px;
  object-fit: cover;
}

.services-story__copy {
  padding: 40px 58px 40px 0;
}

.services-story__copy h2 {
  margin: 0 0 24px;
  font: 400 clamp(46px, 4.8vw, 68px)/1 var(--autumn-serif);
  letter-spacing: -0.04em;
}

.services-story__copy > p {
  margin: 0 0 18px;
  color: rgba(42, 33, 24, 0.7);
  font: 350 16px/1.7 var(--autumn-sans);
}

.services-story__handoff {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 8px;
  align-items: center;
  margin-top: 34px;
  padding: 18px 0;
  border-top: 1px solid rgba(42, 33, 24, 0.13);
  border-bottom: 1px solid rgba(42, 33, 24, 0.13);
}

.services-story__handoff span {
  font: 550 11px/1.3 var(--autumn-sans);
  text-align: center;
}

.services-story__handoff i {
  color: var(--autumn-brown);
  font-style: normal;
}

.services-story__resource {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px 20px;
  align-items: center;
  margin-top: 28px;
}

.services-story__resource span {
  grid-column: 1;
  color: var(--autumn-brown);
  font: 600 9px/1 var(--autumn-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.services-story__resource strong {
  grid-column: 1;
  font: 450 15px/1.35 var(--autumn-sans);
}

.services-story__resource b {
  grid-row: 1 / 3;
  grid-column: 2;
  color: var(--autumn-brown);
  font: 400 24px/1 var(--autumn-serif);
}

.services-final {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr);
  gap: 70px;
  align-items: center;
  width: min(1340px, calc(100% - 64px));
  margin: 0 auto 120px;
  padding: 70px 76px;
  color: var(--autumn-cream);
  background:
    radial-gradient(circle at 88% 10%, rgba(217, 179, 106, 0.16), transparent 22rem),
    var(--autumn-ink);
  border-radius: 30px;
}

.services-final h2 {
  margin: 0;
  font: 350 clamp(42px, 4.4vw, 62px)/1.02 var(--autumn-serif);
  letter-spacing: -0.04em;
}

.services-final p {
  max-width: 510px;
  margin: 20px 0 0;
  color: rgba(246, 241, 230, 0.68);
  font: 350 15px/1.65 var(--autumn-sans);
}

.services-audit-form--final {
  margin-top: 0;
}

.services-audit-form--final > small {
  color: rgba(246, 241, 230, 0.58);
}

@media (max-width: 1040px) {
  .services-hero {
    grid-template-columns: 1fr 0.8fr;
    gap: 42px;
  }

  .services-exposure__grid,
  .services-final {
    grid-template-columns: 1fr;
  }

  .services-exposure__grid {
    align-items: start;
  }

  .services-story {
    grid-template-columns: 1fr;
  }

  .services-story__copy {
    max-width: 760px;
    padding: 18px 36px 44px;
  }

  .services-final {
    gap: 34px;
  }
}

@media (max-width: 820px) {
  .services-hero {
    grid-template-columns: 1fr;
    width: min(100% - 36px, 680px);
    padding-top: 118px;
  }

  .services-hero__photo {
    min-height: 500px;
    border-radius: 24px 24px 82px 24px;
  }

  .services-hero__photo img {
    min-height: 500px;
  }

  .services-exposure__inner,
  .services-cycle,
  .services-final {
    width: calc(100% - 36px);
  }

  .services-cycle__heading {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .services-stage-card--verification,
  .services-stage-card--claims,
  .services-stage-card--reconciliation,
  .services-stage-card--posting,
  .services-stage-card--followup {
    grid-column: span 3;
  }

  .services-story {
    width: calc(100% - 24px);
  }
}

@media (max-width: 620px) {
  .services-hero {
    width: calc(100% - 28px);
    min-height: 0;
    gap: 34px;
    padding: 104px 0 60px;
  }

  .services-hero h1 {
    font-size: clamp(44px, 13.2vw, 60px);
    line-height: 0.99;
  }

  .services-hero__copy > p {
    margin-top: 22px;
    font-size: 15px;
  }

  .services-audit-form {
    margin-top: 26px;
  }

  .services-audit-form__control {
    display: grid;
    padding: 6px;
    border-radius: 18px;
  }

  .services-audit-form input {
    min-height: 48px;
    padding: 0 13px;
    font-size: 16px;
  }

  .services-audit-form button {
    min-height: 50px;
    width: 100%;
  }

  .services-audit-form > small {
    margin: 9px 8px 0;
  }

  .services-hero__photo,
  .services-hero__photo img {
    min-height: 400px;
  }

  .services-hero__photo figcaption {
    right: 22px;
    bottom: 22px;
    left: 22px;
    font-size: 15px;
  }

  .services-exposure__inner {
    width: calc(100% - 28px);
    padding: 78px 0 88px;
  }

  .services-exposure__heading h2 {
    font-size: clamp(40px, 11.4vw, 52px);
  }

  .services-exposure__heading p {
    font-size: 15px;
  }

  .services-exposure__grid {
    gap: 44px;
    margin-top: 50px;
  }

  .services-exposure__ledger > div {
    align-items: flex-start;
  }

  .services-exposure__ledger span {
    font-size: 15px;
  }

  .services-audit-sheet {
    padding: 26px 22px 26px 30px;
    border-radius: 3px 18px 18px 3px;
    transform: none;
  }

  .services-audit-sheet header {
    display: grid;
    gap: 9px;
  }

  .services-audit-sheet h3 {
    font-size: 34px;
  }

  .services-audit-sheet ol {
    grid-template-columns: 1fr;
  }

  .services-audit-sheet li {
    min-height: 0;
  }

  .services-cycle {
    width: calc(100% - 28px);
    padding: 84px 0 92px;
  }

  .services-cycle__heading h2 {
    font-size: 44px;
  }

  .services-cycle__heading p {
    font-size: 15px;
  }

  .services-cycle__grid {
    grid-template-columns: 1fr;
  }

  .services-stage-card--verification,
  .services-stage-card--claims,
  .services-stage-card--reconciliation,
  .services-stage-card--posting,
  .services-stage-card--followup {
    grid-column: auto;
  }

  .services-stage-card {
    min-height: 405px;
    padding: 22px;
  }

  .services-stage-card h3 {
    font-size: 28px;
  }

  .services-story {
    width: calc(100% - 20px);
    margin-bottom: 82px;
    padding: 10px;
    border-radius: 24px;
  }

  .services-story__photo,
  .services-story__photo img {
    min-height: 320px;
  }

  .services-story__photo {
    border-radius: 16px 54px 16px 16px;
  }

  .services-story__copy {
    padding: 24px 14px 32px;
  }

  .services-story__copy h2 {
    font-size: 43px;
  }

  .services-story__copy > p {
    font-size: 15px;
  }

  .services-story__handoff {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .services-story__handoff i {
    transform: rotate(90deg);
    text-align: center;
  }

  .services-final {
    width: calc(100% - 20px);
    margin-bottom: 80px;
    padding: 46px 20px;
    border-radius: 24px;
  }

  .services-final h2 {
    font-size: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .services-stage-card,
  .services-audit-form button {
    transition: none;
  }
}

/* Flow rail: the platform's control sequence as a numbered pipeline */
.flow-rail {
  padding: 96px 0 104px;
}

.flow-rail__head {
  max-width: 680px;
  margin: 0 0 42px;
}

.flow-rail__head h2 {
  margin: 12px 0 0;
  font: 300 clamp(34px, 3.4vw, 52px)/1.05 var(--autumn-serif);
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.flow-rail__track {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.flow-rail__track li {
  position: relative;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 18px 16px 16px;
  background: rgba(251, 248, 241, 0.92);
  border: 1px solid var(--autumn-line);
  border-radius: 16px;
}

.flow-rail__track li:not(:last-child)::after {
  content: "\2192";
  position: absolute;
  top: 50%;
  right: -12px;
  z-index: 1;
  color: rgba(42, 33, 24, 0.45);
  font: 400 13px/1 var(--autumn-sans);
  transform: translateY(-50%);
}

.flow-rail__track li:last-child {
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border-color: rgba(246, 241, 230, 0.1);
}

.flow-rail__track span {
  color: rgba(42, 33, 24, 0.5);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.flow-rail__track li:last-child span {
  color: rgba(246, 241, 230, 0.6);
}

.flow-rail__track strong {
  font: 500 16px/1.2 var(--autumn-serif);
  letter-spacing: -0.02em;
}

.flow-rail__track small {
  color: rgba(42, 33, 24, 0.6);
  font: 400 12px/1.45 var(--autumn-sans);
}

.flow-rail__track li:last-child small {
  color: rgba(246, 241, 230, 0.7);
}

/* Integration stack: sources converge into one operating layer */
.integration-stack {
  display: grid;
  justify-items: center;
  width: 100%;
  max-width: 420px;
  padding: 30px 26px 26px;
  background: rgba(251, 248, 241, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 24px;
  box-shadow: 0 30px 70px rgba(42, 33, 24, 0.12);
}

.integration-stack__label {
  justify-self: start;
  margin: 0 0 14px;
  color: rgba(42, 33, 24, 0.55);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.integration-stack__sources {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  width: 100%;
}

.integration-stack__sources span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid var(--autumn-line);
  border-radius: 12px;
  font: 500 13px/1.2 var(--autumn-sans);
  text-align: center;
}

.integration-stack__sources span .pms-logo {
  max-width: 100%;
  height: 18px;
  width: auto;
}

.integration-stack__sources .is-payers {
  color: var(--autumn-green);
  border-style: dashed;
}

.integration-stack__join {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: 72%;
  height: 26px;
}

.integration-stack__join i {
  justify-self: center;
  width: 1px;
  height: 100%;
  background: linear-gradient(rgba(42, 33, 24, 0.28), rgba(42, 33, 24, 0.08));
}

.integration-stack__center {
  display: grid;
  justify-items: center;
  gap: 3px;
  width: 100%;
  padding: 18px 20px;
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border-radius: 14px;
  text-align: center;
}

.integration-stack__center span {
  font: 400 26px/1 var(--autumn-serif);
  letter-spacing: -0.03em;
}

.integration-stack__center small {
  color: rgba(246, 241, 230, 0.62);
  font: 500 10px/1 var(--autumn-sans);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.integration-stack__out {
  width: 1px;
  height: 24px;
  background: linear-gradient(rgba(42, 33, 24, 0.28), rgba(42, 33, 24, 0.08));
}

.integration-stack__result {
  margin: 0;
  padding: 10px 18px;
  color: rgba(42, 33, 24, 0.72);
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid var(--autumn-line);
  border-radius: 99px;
  font: 500 12px/1.3 var(--autumn-sans);
  text-align: center;
}

@media (max-width: 960px) {
  .product-rail__track,
  .flow-rail__track {
    grid-template-columns: repeat(3, 1fr);
  }

  .product-rail__track::before {
    display: none;
  }

  .flow-rail__track li:nth-child(3n)::after {
    display: none;
  }
}

@media (max-width: 560px) {
  .product-rail__track,
  .flow-rail__track {
    grid-template-columns: 1fr 1fr;
  }

  .flow-rail__track li::after {
    display: none !important;
  }
}


/* Resource hubs: entry-style header + left table of contents over the post list */
.resource-hub__header {
  padding-bottom: 26px;
}

.resource-hub__layout {
  grid-template-columns: 220px minmax(0, 920px);
  padding-top: 70px;
  padding-bottom: 120px;
}

.resource-hub__layout > aside a {
  font-size: 13px;
  line-height: 1.4;
}

.resource-hub__layout > aside > p:not(:first-child) {
  margin-top: 26px;
}

.resource-hub__layout .resource-library__grid {
  margin-top: 8px;
}

@media (max-width: 960px) {
  .resource-hub__layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .resource-hub__layout > aside {
    position: static;
  }
}

/* Resource libraries: image-led feature, compact archive, and bounded pagination. */
.resource-hub__layout--catalog {
  display: block;
  min-width: 0;
  padding-top: 54px;
}

.resource-hub__layout--catalog article,
.resource-library__feature,
.resource-library__archive,
.resource-card--with-media,
.resource-card__content,
.resource-entry--reading .resource-entry__layout article {
  min-width: 0;
}

.resource-library__feature {
  padding-bottom: 72px;
  border-bottom: 1px solid var(--autumn-line);
}

.resource-library__feature > .marketing-eyebrow {
  margin: 0 0 20px;
}

.resource-library__archive {
  padding-top: 54px;
  scroll-margin-top: 100px;
}

.resource-library__heading--catalog {
  display: block;
  margin: 0 0 28px;
  padding: 0 0 22px;
}

.resource-library__heading--catalog .marketing-eyebrow {
  margin: 0;
}

.resource-hub--blog .resource-library__grid,
.resource-hub--guide .resource-library__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
}

.resource-card[data-resource-page-item][hidden] {
  display: none;
}

.resource-card--with-media {
  min-height: 510px;
  padding: 0;
  background: rgba(251, 248, 241, 0.72);
}

.resource-card--with-media::after {
  display: none;
}

.resource-card__media {
  position: relative;
  z-index: 1;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid var(--autumn-line);
}

.resource-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 360ms ease;
}

.resource-card__media--figure {
  padding: 18px;
  background: #f0ebdf;
}

.resource-card__media--figure img {
  object-fit: contain;
}

.resource-card--with-media:hover .resource-card__media img,
.resource-card--with-media:focus-visible .resource-card__media img {
  transform: scale(1.025);
}

.resource-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 26px;
}

.resource-card--with-media h2,
.resource-entry__layout article .resource-card--with-media h2 {
  margin: 24px 0 16px;
  font-size: clamp(29px, 2.4vw, 42px);
}

.resource-card--with-media .resource-card__content > p,
.resource-entry__layout article .resource-card--with-media .resource-card__content > p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(42, 33, 24, 0.68);
  font: 400 13px/1.65 var(--autumn-sans);
}

.resource-card--with-media .resource-card__foot {
  padding-top: 34px;
}

.resource-card--featured.resource-card--with-media {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  min-height: 570px;
  padding: 0;
}

.resource-card--featured.resource-card--with-media .resource-card__media {
  height: 100%;
  aspect-ratio: auto;
  border-right: 1px solid var(--autumn-line);
  border-bottom: 0;
}

.resource-card--featured.resource-card--with-media .resource-card__content {
  padding: clamp(34px, 4vw, 54px);
}

.resource-card--featured.resource-card--with-media h2,
.resource-entry__layout article .resource-card--featured.resource-card--with-media h2 {
  margin-top: 30px;
  font-size: clamp(46px, 4.7vw, 72px);
}

.resource-library__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 38px;
}

.resource-library__pagination p {
  min-width: 72px;
  margin: 0;
  color: rgba(42, 33, 24, 0.58);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

.resource-library__pagination button {
  min-width: 96px;
  padding: 11px 15px;
  color: var(--autumn-ink);
  background: rgba(251, 248, 241, 0.7);
  border: 1px solid var(--autumn-line);
  border-radius: 999px;
  cursor: pointer;
  font: 500 11px/1 var(--autumn-sans);
}

.resource-library__pagination button:hover:not(:disabled),
.resource-library__pagination button:focus-visible {
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  outline: none;
}

.resource-library__pagination button:disabled {
  cursor: default;
  opacity: 0.34;
}

/* Resource articles use a quieter contents rail and a wider reading column. */
.resource-entry--reading .resource-entry__layout {
  grid-template-columns: 144px minmax(0, 900px);
  gap: 48px;
}

.resource-entry--reading .resource-entry__layout > aside {
  padding: 14px 12px;
  border-radius: 14px;
}

.resource-entry--reading .resource-entry__layout > aside > p {
  margin-bottom: 7px;
  font-size: 14px;
}

.resource-entry--reading .resource-entry__layout > aside a {
  grid-template-columns: 8px 1fr;
  gap: 6px;
  padding: 6px 0;
  font-size: 10px;
  line-height: 1.32;
}

.resource-entry--reading .resource-entry__toc-dot {
  width: 4px;
  height: 4px;
  margin-top: 4px;
}

@media (max-width: 960px) {
  .resource-card--featured.resource-card--with-media {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .resource-card--featured.resource-card--with-media .resource-card__media {
    height: auto;
    aspect-ratio: 16 / 7;
    border-right: 0;
    border-bottom: 1px solid var(--autumn-line);
  }

  .resource-hub--blog .resource-library__grid,
  .resource-hub--guide .resource-library__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .resource-entry--reading .resource-entry__layout {
    grid-template-columns: 1fr;
    gap: 42px;
  }
}

@media (max-width: 640px) {
  .resource-hub--blog,
  .resource-hub--guide,
  .resource-entry--reading,
  .resource-hub--blog .resource-entry__hero,
  .resource-hub--guide .resource-entry__hero,
  .resource-entry--reading .resource-entry__hero {
    overflow-x: clip;
  }

  .resource-hub--blog .resource-entry__hero h1,
  .resource-hub--guide .resource-entry__hero h1,
  .resource-entry--reading .resource-entry__hero h1 {
    max-width: 100%;
    font-size: clamp(44px, 13vw, 52px);
    overflow-wrap: anywhere;
    text-wrap: wrap;
  }

  .resource-hub__layout--catalog {
    width: calc(100% - 36px);
    padding-top: 38px;
    padding-bottom: 90px;
  }

  .resource-library__feature {
    padding-bottom: 54px;
  }

  .resource-library__archive {
    padding-top: 42px;
  }

  .resource-hub--blog .resource-library__grid,
  .resource-hub--guide .resource-library__grid {
    grid-template-columns: 1fr;
  }

  .resource-card--with-media {
    min-height: 0;
    padding: 0;
  }

  .resource-card--featured.resource-card--with-media .resource-card__media {
    aspect-ratio: 4 / 3;
  }

  .resource-card__media--figure {
    padding: 12px;
  }

  .resource-card--featured.resource-card--with-media .resource-card__content,
  .resource-card__content {
    padding: 24px 22px;
  }

  .resource-card--with-media h2,
  .resource-card--featured.resource-card--with-media h2,
  .resource-entry__layout article .resource-card--with-media h2,
  .resource-entry__layout article .resource-card--featured.resource-card--with-media h2 {
    margin-top: 22px;
    font-size: 34px;
    overflow-wrap: anywhere;
    text-wrap: wrap;
  }

  .resource-library__pagination {
    gap: 10px;
  }

  .resource-library__pagination button {
    min-width: 84px;
    padding-inline: 12px;
  }
}

/* Dental EOB Decoder
   The page is a translation. Everything the payer wrote is set in Fragment Mono on the
   tea-stained ledger surface; everything Autumn says back is set in Newsreader on paper.
   The seam between those two registers is the whole design. */
.eob-tool-page {
  --eob-page: #f6f1e6;
  --eob-paper: #fbf8f1;
  --eob-ledger: #efe8d8;
  --eob-ink: #2a2118;
  --eob-ink-soft: #57493a;
  --eob-label: #6b5d42;
  --eob-brown: #6f3c21;
  --eob-accent: #8a5a28;
  --eob-accent-hover: #6f471e;
  --eob-accent-soft: rgba(138, 90, 40, 0.09);
  --eob-good: #3f6a3f;
  --eob-good-soft: rgba(63, 106, 63, 0.11);
  --eob-warn: #9b3a22;
  --eob-warn-soft: rgba(155, 58, 34, 0.09);
  --eob-line: rgba(42, 33, 24, 0.12);
  --eob-hair: rgba(42, 33, 24, 0.08);
  --eob-mono: "Fragment Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --eob-read: min(760px, 100% - 44px);
  --eob-wide: min(1000px, 100% - 44px);
  color: var(--eob-ink);
  background:
    radial-gradient(circle at 88% 2%, rgba(216, 179, 117, 0.2), transparent 27rem),
    var(--eob-page);
}

.eob-tool-page [hidden] {
  display: none !important;
}

.eob-tool-page :focus-visible {
  outline: 2px solid var(--eob-accent);
  outline-offset: 3px;
  border-radius: 2px;
}

.eob-eyebrow {
  margin: 0 0 18px;
  color: var(--eob-brown);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.eob-label {
  margin: 0;
  color: var(--eob-label);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* ---------- hero ---------- */

.eob-hero {
  width: var(--eob-read);
  margin: 0 auto;
  padding: 158px 0 0;
}

.eob-hero h1 {
  max-width: 17ch;
  margin: 0;
  font: 300 clamp(44px, 6.4vw, 72px)/0.98 var(--autumn-serif);
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.eob-hero h1 em {
  display: inline;
  color: var(--eob-brown);
  font-family: var(--autumn-display);
  font-style: normal;
  font-weight: 400;
}

.eob-hero__lede {
  max-width: 62ch;
  margin: 26px 0 0;
  color: var(--eob-ink-soft);
  font: 400 16.5px/1.66 var(--autumn-sans);
}

/* ---------- the entry well: you type in the payer's language ---------- */

.eob-entry {
  margin-top: 40px;
}

.eob-entry__well {
  padding: 16px 18px 18px;
  background: var(--eob-ledger);
  border: 1px solid var(--eob-hair);
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.eob-entry__label {
  display: block;
  margin-bottom: 11px;
  color: var(--eob-label);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.eob-entry__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.eob-entry__row input {
  width: 100%;
  min-height: 56px;
  padding: 0 18px;
  color: var(--eob-ink);
  background: var(--eob-paper);
  border: 1px solid var(--eob-line);
  border-radius: 14px;
  font: 400 20px/1 var(--eob-mono);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.eob-entry__row input::placeholder {
  color: rgba(42, 33, 24, 0.34);
}

.eob-entry__row input:hover {
  border-color: rgba(42, 33, 24, 0.22);
}

.eob-entry__row input:focus {
  outline: none;
  border-color: var(--eob-accent);
  box-shadow: 0 0 0 3px var(--eob-accent-soft);
}

.eob-entry__row input[aria-invalid="true"] {
  border-color: var(--eob-warn);
  box-shadow: 0 0 0 3px var(--eob-warn-soft);
}

.eob-entry__row button {
  min-height: 56px;
  padding: 0 26px;
  color: var(--autumn-cream);
  background: var(--eob-accent);
  border: 1px solid var(--eob-accent);
  border-radius: 99px;
  font: 600 13px/1 var(--autumn-sans);
  cursor: pointer;
  transition: background 180ms ease, transform 180ms ease;
}

.eob-entry__row button:hover {
  background: var(--eob-accent-hover);
  transform: translateY(-1px);
}

.eob-entry__row button:active {
  transform: translateY(0);
}

.eob-entry__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 22px;
  margin-top: 14px;
  padding: 0 4px;
}

.eob-entry__meta > p {
  margin: 0;
  color: var(--eob-label);
  font: 400 12.5px/1.4 var(--autumn-sans);
}

.eob-entry__examples {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}

.eob-entry__examples button {
  padding: 7px 12px;
  color: var(--eob-ink-soft);
  background: transparent;
  border: 1px solid var(--eob-line);
  border-radius: 99px;
  font: 400 12px/1 var(--eob-mono);
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.eob-entry__examples button:hover {
  color: var(--eob-accent);
  background: var(--eob-accent-soft);
  border-color: rgba(138, 90, 40, 0.3);
}

/* The status line repeats the result pill on a reviewed match, so it only shows
   itself when the eye needs it. It stays in the tree as a live region either way. */
.eob-entry__status {
  margin: 14px 0 0;
  padding: 0 4px;
  color: var(--eob-label);
  font: 500 12.5px/1.45 var(--autumn-sans);
}

.eob-entry__status[data-kind="exact"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.eob-entry__status[data-kind="invalid"],
.eob-entry__status[data-kind="unknown"] {
  color: var(--eob-warn);
}

.eob-entry__noscript {
  max-width: 62ch;
  margin: 26px 0 0;
  padding: 16px 18px;
  color: var(--eob-ink-soft);
  background: var(--eob-paper);
  border: 1px solid var(--eob-hair);
  border-radius: 14px;
  font: 400 14px/1.6 var(--autumn-sans);
}

/* ---------- the decoded line: segmented, in the payer's own typeface ---------- */

.eob-workspace {
  margin-top: 64px;
}

.eob-read {
  width: var(--eob-read);
  margin: 0 auto;
}

.eob-read__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 16px;
  margin-bottom: 12px;
}

.eob-read__head h2 {
  margin: 0;
}

.eob-read__head h2:focus {
  outline: none;
}

.eob-ref {
  margin-left: 4px;
  color: var(--eob-accent) !important;
  font-size: 13px;
  vertical-align: baseline;
}

.eob-line {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
  background: var(--eob-hair);
  border: 1px solid var(--eob-hair);
  border-radius: 16px;
}

.eob-line__seg {
  flex: 1 1 0;
  min-width: 108px;
  padding: 15px 18px 14px;
  background: var(--eob-ledger);
}

.eob-line__seg b {
  display: block;
  color: var(--eob-ink);
  font: 400 26px/1.05 var(--eob-mono);
  letter-spacing: 0.01em;
}

.eob-line__seg span {
  display: block;
  margin-top: 8px;
  color: var(--eob-label);
  font: 600 9.5px/1 var(--autumn-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.eob-line__seg.is-absent b {
  color: rgba(42, 33, 24, 0.3);
}

.eob-stamp {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: var(--eob-label);
  font: 400 12px/1.4 var(--autumn-sans);
}

.eob-stamp__state {
  padding: 5px 10px;
  color: var(--eob-good);
  background: var(--eob-good-soft);
  border-radius: 99px;
  font: 600 9.5px/1 var(--autumn-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.eob-stamp__state[data-kind="partial"] {
  color: var(--eob-brown);
  background: var(--eob-accent-soft);
}

.eob-stamp__state[data-kind="unknown"] {
  color: var(--eob-warn);
  background: var(--eob-warn-soft);
}

/* ---------- the answer: two fields, the long version behind a tooltip ---------- */

.eob-fields {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  margin-top: 20px;
  background: var(--eob-paper);
  border: 1px solid var(--eob-hair);
  border-radius: 16px;
}

.eob-field {
  padding: 16px 20px 18px;
}

.eob-field + .eob-field {
  border-left: 1px solid var(--eob-hair);
}

.eob-field__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 22px;
}

.eob-field__head .eob-label {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.eob-field__head .eob-label b {
  color: var(--eob-ink);
  font: 400 12px/1 var(--eob-mono);
  letter-spacing: 0;
  text-transform: none;
}

.eob-field__value {
  margin: 10px 0 0;
  color: var(--eob-ink);
  font: 300 clamp(19px, 1.9vw, 22px)/1.34 var(--autumn-serif);
  letter-spacing: -0.02em;
  text-wrap: pretty;
}

/* ---------- tooltip ---------- */

.eob-tip {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
}

.eob-tip__trigger {
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  padding: 0;
  color: var(--eob-label);
  background: transparent;
  border: 1px solid var(--eob-line);
  border-radius: 99px;
  font: 500 11px/1 var(--autumn-serif);
  font-style: normal;
  cursor: help;
  transition: color 150ms ease, border-color 150ms ease, background 150ms ease;
}

.eob-tip:hover .eob-tip__trigger,
.eob-tip__trigger:focus-visible,
.eob-tip[data-open] .eob-tip__trigger {
  color: var(--eob-accent);
  background: var(--eob-accent-soft);
  border-color: rgba(138, 90, 40, 0.35);
}

.eob-tip__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.eob-tip__panel {
  position: absolute;
  top: calc(100% + 9px);
  right: -6px;
  z-index: 6;
  display: grid;
  gap: 8px;
  width: 290px;
  max-width: min(290px, calc(100vw - 48px));
  padding: 13px 15px 14px;
  visibility: hidden;
  opacity: 0;
  color: var(--eob-ink-soft);
  background: var(--eob-paper);
  border: 1px solid var(--eob-line);
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(42, 33, 24, 0.14);
  font: 400 13px/1.55 var(--autumn-sans);
  transition: opacity 160ms ease, visibility 160ms;
}

/* The first field is narrower than the panel, so that one opens rightward instead
   of hanging off the card. */
.eob-field:first-child .eob-tip__panel {
  right: auto;
  left: -14px;
}

.eob-tip:hover .eob-tip__panel,
.eob-tip__trigger:focus-visible + .eob-tip__panel,
.eob-tip[data-open] .eob-tip__panel {
  visibility: visible;
  opacity: 1;
}

.eob-tip__label {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: var(--eob-label);
  font: 600 9.5px/1 var(--autumn-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.eob-tip__label b {
  color: var(--eob-ink);
  font: 400 12px/1 var(--eob-mono);
  letter-spacing: 0;
  text-transform: none;
}

.eob-tip__caution {
  padding-left: 11px;
  color: var(--eob-warn);
  border-left: 2px solid var(--eob-warn-soft);
}

.eob-tip__caution:empty {
  display: none;
}

/* ---------- what the line proves, and what it does not ---------- */

.eob-limits {
  margin-top: 14px;
  background: var(--eob-paper);
  border: 1px solid var(--eob-hair);
  border-radius: 16px;
}

.eob-limits__row {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 20px;
  align-items: baseline;
  padding: 15px 20px 16px;
}

.eob-limits__row + .eob-limits__row {
  border-top: 1px solid var(--eob-hair);
}

.eob-limits__row p:last-child {
  margin: 0;
  color: var(--eob-ink-soft);
  font: 400 13.5px/1.6 var(--autumn-sans);
}

.eob-limits__row:first-child .eob-label {
  color: var(--eob-good);
}

.eob-limits__row:last-child .eob-label {
  color: var(--eob-warn);
}

/* ---------- the action tree: the one place the layout goes wide ---------- */

.eob-tree {
  width: var(--eob-wide);
  margin: 74px auto 0;
  padding: 30px 32px 34px;
  background: var(--eob-paper);
  border: 1px solid var(--eob-hair);
  border-radius: 26px;
  box-shadow: 0 24px 60px rgba(42, 33, 24, 0.06);
}

.eob-tree__lead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--eob-hair);
}

.eob-tree__intro {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin: 0;
  color: var(--eob-ink-soft);
  font: 400 14px/1.5 var(--autumn-sans);
}

.eob-tree__controls {
  display: flex;
  gap: 8px;
}

.eob-tree__controls button {
  padding: 9px 15px;
  color: var(--eob-ink-soft);
  background: transparent;
  border: 1px solid var(--eob-line);
  border-radius: 99px;
  font: 500 12px/1 var(--autumn-sans);
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease;
}

.eob-tree__controls button:hover:not(:disabled) {
  color: var(--eob-accent);
  background: var(--eob-accent-soft);
}

.eob-tree__controls button:disabled {
  opacity: 0.4;
  cursor: default;
}

.eob-tree__trail {
  flex: 1 1 320px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--eob-label);
  font: 400 12px/1.35 var(--autumn-sans);
}

.eob-tree__trail li {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 34ch;
}

.eob-tree__trail li::after {
  content: "";
  width: 12px;
  height: 1px;
  background: var(--eob-line);
}

.eob-tree__trail li:last-child::after {
  display: none;
}

.eob-tree__trail li:last-child {
  color: var(--eob-ink);
}


.eob-tree__node,
.eob-tree__outcome {
  padding-top: 26px;
}

/* The card earns its extra width by putting the question and the answers side by side. */
.eob-tree__node {
  display: grid;
  gap: 24px;
}

.eob-tree__ask {
  display: flex;
  align-items: start;
  gap: 12px;
}

.eob-tree__ask h3 {
  max-width: 34ch;
  margin: 0;
  font: 300 clamp(25px, 2.9vw, 33px)/1.2 var(--autumn-serif);
  letter-spacing: -0.03em;
  text-wrap: pretty;
}

.eob-tree__ask .eob-tip {
  margin-top: 7px;
}

.eob-tree__ask .eob-tip__panel {
  right: auto;
  left: -14px;
}

.eob-tree__ask h3:focus {
  outline: none;
}

.eob-tree__options {
  display: grid;
  align-content: start;
  gap: 1px;
  overflow: hidden;
  background: var(--eob-hair);
  border: 1px solid var(--eob-hair);
  border-radius: 16px;
}

.eob-tree__option {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 58px;
  padding: 14px 20px;
  color: var(--eob-ink);
  text-align: left;
  background: var(--eob-page);
  border: 0;
  font: 500 15px/1.4 var(--autumn-sans);
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease;
}

.eob-tree__mark {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 26px;
  height: 26px;
  color: var(--eob-label);
  background: var(--eob-paper);
  border: 1px solid var(--eob-line);
  border-radius: 99px;
  font: 500 12px/1 var(--eob-mono);
  transition: color 160ms ease, background 160ms ease, border-color 160ms ease;
}

.eob-tree__option:hover {
  color: var(--eob-accent);
  background: var(--eob-accent-soft);
}

/* The option list clips its own corners, so the focus ring has to sit inside it. */
.eob-tree__option:focus-visible {
  outline-offset: -3px;
  border-radius: 0;
}

.eob-tree__option:hover .eob-tree__mark {
  color: var(--autumn-cream);
  background: var(--eob-accent);
  border-color: var(--eob-accent);
}

/* ---------- terminal outcome ---------- */

.eob-tree__state {
  display: inline-block;
  margin: 0 0 16px;
  padding: 6px 11px;
  color: var(--eob-accent);
  background: var(--eob-accent-soft);
  border-radius: 99px;
  font: 600 9.5px/1 var(--autumn-sans);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.eob-tree__outcome.is-post .eob-tree__state {
  color: var(--eob-good);
  background: var(--eob-good-soft);
}

.eob-tree__outcome.is-hold .eob-tree__state {
  color: var(--eob-label);
  background: rgba(42, 33, 24, 0.07);
}

.eob-tree__outcome.is-unresolved .eob-tree__state {
  color: var(--eob-warn);
  background: var(--eob-warn-soft);
}

.eob-tree__outcome h3 {
  max-width: 26ch;
  margin: 0;
  font: 300 clamp(25px, 2.9vw, 34px)/1.18 var(--autumn-serif);
  letter-spacing: -0.03em;
  text-wrap: pretty;
}

.eob-tree__outcome h3:focus {
  outline: none;
}

.eob-tree__action {
  max-width: 62ch;
  margin: 16px 0 0;
  color: var(--eob-ink-soft);
  font: 400 15px/1.65 var(--autumn-sans);
}

.eob-tree__ledger {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-top: 26px;
  background: var(--eob-hair);
  border: 1px solid var(--eob-hair);
  border-radius: 16px;
}

.eob-tree__ledger > div {
  padding: 18px 20px 20px;
  background: var(--eob-ledger);
}

.eob-tree__ledger ul {
  display: grid;
  gap: 6px;
  margin: 12px 0 0;
  padding-left: 17px;
  color: var(--eob-ink-soft);
  font: 400 13.5px/1.5 var(--autumn-sans);
}

.eob-tree__ledger > div > p:last-child {
  margin: 12px 0 0;
  color: var(--eob-ink-soft);
  font: 400 13.5px/1.6 var(--autumn-sans);
}

/* ---------- reference notes ---------- */

.eob-notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 48px;
  width: var(--eob-wide);
  margin: 0 auto 84px;
  padding-top: 26px;
  border-top: 1px solid var(--eob-line);
}

.eob-notes h3 {
  margin: 0 0 10px;
  font: 400 15px/1.3 var(--autumn-serif);
  letter-spacing: -0.015em;
}

.eob-notes p {
  margin: 0 0 9px;
  color: var(--eob-label);
  font: 400 12px/1.6 var(--autumn-sans);
}

.eob-glossary {
  display: grid;
  gap: 9px;
  margin: 13px 0 0;
}

.eob-glossary dt {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  color: var(--eob-label);
  font: 600 8.5px/1.3 var(--autumn-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.eob-glossary dt b {
  color: var(--eob-ink);
  font: 400 13px/1 var(--eob-mono);
  letter-spacing: 0;
  text-transform: none;
}

.eob-glossary dd {
  margin: 5px 0 0;
  color: var(--eob-label);
  font: 400 12px/1.6 var(--autumn-sans);
}

.eob-notes__sources-label {
  margin-top: 18px;
  font-size: 8.5px !important;
  letter-spacing: 0.12em;
}

.eob-sources {
  display: grid;
  gap: 5px;
  margin: 9px 0 0;
  padding: 0;
  list-style: none;
}

.eob-sources a {
  color: var(--eob-accent) !important;
  font: 400 12px/1.5 var(--autumn-sans);
  text-decoration: underline;
  text-decoration-color: rgba(138, 90, 40, 0.3);
  text-underline-offset: 3px;
}

.eob-sources a:hover {
  text-decoration-color: currentColor;
}

.eob-notes__more {
  margin-top: 14px !important;
}

.eob-notes__more a {
  color: var(--eob-accent) !important;
  text-decoration: underline;
  text-decoration-color: rgba(138, 90, 40, 0.3);
  text-underline-offset: 3px;
}

/* ---------- product handoff ---------- */

.eob-handoff {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 32px 48px;
  width: var(--eob-wide);
  margin: 92px auto 72px;
  padding: 44px 48px;
  color: var(--autumn-cream);
  background: var(--eob-ink);
  border-radius: 26px;
}

.eob-handoff .eob-eyebrow {
  color: #d6a577;
}

.eob-handoff h2 {
  max-width: 20ch;
  margin: 0;
  font: 300 clamp(28px, 3vw, 38px)/1.1 var(--autumn-serif);
  letter-spacing: -0.032em;
}

.eob-handoff p:last-child {
  max-width: 54ch;
  margin: 16px 0 0;
  color: rgba(246, 241, 230, 0.72);
  font: 400 14px/1.65 var(--autumn-sans);
}

.eob-handoff__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.eob-handoff__ghost {
  color: var(--autumn-cream) !important;
  border-color: rgba(246, 241, 230, 0.4);
}

.eob-handoff__ghost:hover,
.eob-handoff__ghost:focus-visible {
  background: rgba(246, 241, 230, 0.1);
}

.eob-tool__fallback-nav nav {
  display: flex;
  gap: 24px;
  justify-content: center;
  font: 500 13px/1 var(--autumn-sans);
}

/* ---------- the one orchestrated moment: the line resolving into English ---------- */

@keyframes eob-stamp-in {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: none; }
}

.eob-read[data-decoded] .eob-line__seg {
  animation: eob-stamp-in 300ms cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

.eob-read[data-decoded] .eob-line__seg:nth-child(2) { animation-delay: 70ms; }
.eob-read[data-decoded] .eob-line__seg:nth-child(3) { animation-delay: 140ms; }

.eob-read[data-decoded] .eob-fields,
.eob-read[data-decoded] .eob-limits {
  animation: eob-stamp-in 380ms cubic-bezier(0.22, 1, 0.36, 1) 190ms backwards;
}

.eob-read[data-decoded] .eob-limits {
  animation-delay: 250ms;
}

@media (prefers-reduced-motion: reduce) {
  .eob-tool-page *,
  .eob-tool-page *::before,
  .eob-tool-page *::after {
    animation-duration: 1ms !important;
    animation-delay: 0ms !important;
    transition-duration: 1ms !important;
  }
}

/* ---------- narrow screens ---------- */

@media (max-width: 900px) {
  .eob-fields {
    grid-template-columns: 1fr;
  }

  .eob-field + .eob-field {
    border-top: 1px solid var(--eob-hair);
    border-left: 0;
  }

  .eob-notes {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .eob-handoff {
    padding: 36px 30px;
  }
}

@media (max-width: 720px) {
  .eob-tool-page {
    --eob-read: calc(100% - 32px);
    --eob-wide: calc(100% - 32px);
  }

  .eob-hero {
    padding-top: 116px;
  }

  .eob-entry__row {
    grid-template-columns: 1fr;
  }

  .eob-entry__row button {
    min-height: 50px;
  }

  .eob-entry__meta {
    display: grid;
    justify-items: start;
  }

  /* Keep the three segments on one row: stacked, they stop reading as a line. */
  .eob-line__seg {
    min-width: 0;
    padding: 12px 12px 11px;
  }

  .eob-line__seg b {
    font-size: 20px;
  }

  .eob-line__seg span {
    margin-top: 6px;
    font-size: 8.5px;
    letter-spacing: 0.1em;
  }

  .eob-limits__row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .eob-tree__ledger {
    grid-template-columns: 1fr;
  }

  .eob-tree {
    padding: 24px 20px 28px;
    border-radius: 20px;
  }

  .eob-tree__lead {
    display: grid;
    justify-items: start;
  }

  .eob-tree__option {
    padding: 15px 18px;
    font-size: 14.5px;
  }

  .eob-handoff {
    margin-bottom: 56px;
    padding: 32px 24px;
    border-radius: 20px;
  }

  .eob-handoff__actions {
    width: 100%;
  }

  .eob-handoff__actions a {
    flex: 1 1 auto;
    justify-content: center;
  }
}

/* Practice website redesign landing page. The visual rhythm borrows the clarity of
   product-led landing pages while keeping Autumn's warmer, editorial character. */
.marketing-main--marketing {
  --wm-ink: #2c241d;
  --wm-clay: #bd6e4f;
  --wm-sage: #9aab91;
  --wm-moss: #395b48;
  --wm-butter: #efcf8e;
  --wm-paper: #fbf7ef;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 10%, rgba(239, 207, 142, 0.38), transparent 29rem),
    linear-gradient(180deg, #f7efe2 0%, #fbf8f1 42%, #f0e5d4 100%);
}

.wm-hero,
.wm-transformation,
.wm-features,
.wm-process,
.wm-stories,
.wm-faq,
.wm-final {
  width: min(1400px, calc(100% - 80px));
  margin: 0 auto;
}

.wm-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.72fr);
  gap: clamp(56px, 8vw, 126px);
  align-items: center;
  min-height: min(920px, 100svh);
  padding: 148px 0 96px;
}

.wm-hero__copy {
  max-width: 780px;
}

.wm-hero__copy h1 {
  max-width: 820px;
  margin: 22px 0 30px;
  font: 400 clamp(64px, 7.4vw, 118px) / 0.86 var(--autumn-display);
  letter-spacing: -0.055em;
}

.wm-hero__copy h1 em {
  display: block;
  color: var(--wm-clay);
  font-family: var(--autumn-serif);
  font-weight: 400;
}

.wm-hero__copy > p:not(.marketing-eyebrow) {
  max-width: 640px;
  margin: 0;
  color: rgba(44, 36, 29, 0.72);
  font: 400 clamp(18px, 1.7vw, 24px) / 1.5 var(--autumn-sans);
}

.wm-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 38px;
}

.wm-actions .marketing-button,
.wm-final .marketing-button {
  padding: 16px 25px;
  border-radius: 999px;
}

.wm-hero__visual {
  position: relative;
  min-width: 0;
}

.wm-browser-frame {
  overflow: hidden;
  padding: 10px;
  background: rgba(255, 252, 246, 0.82);
  border: 1px solid rgba(44, 36, 29, 0.12);
  border-radius: 34px;
  box-shadow: 0 44px 100px rgba(80, 54, 36, 0.18);
  transform: rotate(1.5deg);
}

.wm-browser-frame__bar {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 12px;
  color: rgba(44, 36, 29, 0.5);
  font: 600 10px / 1 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.wm-browser-frame__bar i {
  width: 7px;
  height: 7px;
  background: var(--wm-clay);
  border-radius: 50%;
}

.wm-browser-frame__bar i:nth-child(2) {
  background: var(--wm-butter);
}

.wm-browser-frame__bar i:nth-child(3) {
  background: var(--wm-sage);
}

.wm-browser-frame__bar span {
  margin-left: auto;
}

.wm-browser-frame__nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 9px 4px 3px;
}

.wm-browser-frame__nav span {
  padding: 11px 8px;
  color: rgba(44, 36, 29, 0.68);
  background: #f4eadc;
  border-radius: 12px;
  font: 600 10px / 1 var(--autumn-sans);
  text-align: center;
}

.wm-hero-note {
  position: absolute;
  right: -38px;
  bottom: 54px;
  display: grid;
  gap: 5px;
  max-width: 238px;
  padding: 19px 21px;
  color: #fffaf1;
  background: var(--wm-moss);
  border-radius: 18px;
  box-shadow: 0 20px 48px rgba(37, 51, 41, 0.22);
  transform: rotate(-3deg);
}

.wm-hero-note strong {
  font: 500 20px / 1.05 var(--autumn-serif);
}

.wm-hero-note span {
  color: rgba(255, 250, 241, 0.72);
  font: 500 11px / 1.35 var(--autumn-sans);
}

.wm-photo-placeholder {
  position: relative;
  display: grid;
  min-height: 360px;
  overflow: hidden;
  color: var(--wm-ink);
  background:
    radial-gradient(circle at 28% 25%, rgba(255, 255, 255, 0.56), transparent 18%),
    radial-gradient(circle at 74% 36%, rgba(57, 91, 72, 0.18), transparent 22%),
    linear-gradient(145deg, #e9c5a9, #eadfc8 48%, #a8b69e);
  border: 1px dashed rgba(44, 36, 29, 0.24);
  border-radius: 24px;
  isolation: isolate;
}

.wm-photo-placeholder::before,
.wm-photo-placeholder::after {
  position: absolute;
  content: "";
  border-radius: 999px 999px 36px 36px;
  z-index: -1;
}

.wm-photo-placeholder::before {
  right: 14%;
  bottom: -16%;
  width: 38%;
  height: 74%;
  background: rgba(57, 91, 72, 0.16);
}

.wm-photo-placeholder::after {
  bottom: -22%;
  left: 11%;
  width: 42%;
  height: 68%;
  background: rgba(255, 248, 235, 0.48);
}

.wm-photo-placeholder > div {
  align-self: end;
  display: grid;
  gap: 7px;
  margin: 18px;
  padding: 18px;
  background: rgba(251, 247, 239, 0.86);
  border: 1px solid rgba(44, 36, 29, 0.09);
  border-radius: 16px;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.wm-photo-placeholder span {
  color: var(--wm-clay);
  font: 700 9px / 1 var(--autumn-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wm-photo-placeholder strong {
  font: 500 20px / 1.12 var(--autumn-serif);
}

.wm-photo-placeholder small {
  color: rgba(44, 36, 29, 0.65);
  font: 500 10px / 1.45 var(--autumn-sans);
}

.wm-photo-placeholder--hero {
  min-height: 590px;
  border-radius: 24px 24px 14px 14px;
}

.wm-signal-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: min(1500px, calc(100% - 48px));
  margin: 0 auto;
  color: #fffaf1;
  background: var(--wm-ink);
  border-radius: 24px;
}

.wm-signal-strip span {
  padding: 22px 24px;
  border-right: 1px solid rgba(255, 250, 241, 0.13);
  font: 600 11px / 1.25 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

.wm-signal-strip span:last-child {
  border-right: 0;
}

.wm-section-heading {
  max-width: 880px;
}

.wm-section-heading h2,
.wm-process__heading h2,
.wm-stories__head h2,
.wm-final h2 {
  margin: 16px 0 22px;
  font: 400 clamp(48px, 5.4vw, 82px) / 0.94 var(--autumn-display);
  letter-spacing: -0.045em;
}

.wm-section-heading > p:not(.marketing-eyebrow),
.wm-process__heading > p:not(.marketing-eyebrow),
.wm-stories__head > div > p:not(.marketing-eyebrow),
.wm-final p:not(.marketing-eyebrow) {
  max-width: 720px;
  color: rgba(44, 36, 29, 0.68);
  font: 400 18px / 1.55 var(--autumn-sans);
}

.wm-transformation {
  padding: 150px 0 136px;
}

.wm-before-after {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 66px;
}

.wm-before-after > article {
  padding: 20px;
  background: rgba(255, 252, 246, 0.68);
  border: 1px solid rgba(44, 36, 29, 0.1);
  border-radius: 28px;
}

.wm-before-after > article.is-after {
  background: rgba(154, 171, 145, 0.22);
  border-color: rgba(57, 91, 72, 0.2);
}

.wm-before-after__label {
  display: grid;
  gap: 7px;
  padding: 8px 5px 20px;
}

.wm-before-after__label span {
  color: var(--wm-clay);
  font: 700 9px / 1 var(--autumn-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wm-before-after__label strong {
  font: 500 26px / 1.05 var(--autumn-serif);
}

.wm-photo-placeholder--before {
  filter: saturate(0.45);
}

.wm-photo-placeholder--after {
  background:
    radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.64), transparent 18%),
    linear-gradient(145deg, #f0bf9c, #f0e3c9 48%, #7f9b83);
}

.wm-change-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 18px;
}

.wm-change-list > span {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 17px 19px;
  background: rgba(255, 252, 246, 0.72);
  border: 1px solid rgba(44, 36, 29, 0.09);
  border-radius: 16px;
  font: 600 13px / 1.3 var(--autumn-sans);
}

.wm-change-list .lucide-icon {
  flex: 0 0 auto;
  width: 18px;
  color: var(--wm-moss);
}

.wm-features {
  padding: 132px 0;
}

.wm-feature-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
  margin-top: 62px;
}

.wm-feature-card {
  grid-column: span 4;
  min-height: 280px;
  padding: 32px;
  background: rgba(255, 252, 246, 0.78);
  border: 1px solid rgba(44, 36, 29, 0.1);
  border-radius: 24px;
}

.wm-feature-card:nth-child(1),
.wm-feature-card:nth-child(6) {
  grid-column: span 5;
  background: #f0dfc5;
}

.wm-feature-card:nth-child(2),
.wm-feature-card:nth-child(5) {
  grid-column: span 7;
  background: rgba(154, 171, 145, 0.24);
}

.wm-feature-card .lucide-icon {
  width: 27px;
  height: 27px;
  color: var(--wm-clay);
}

.wm-feature-card h3 {
  max-width: 410px;
  margin: 72px 0 12px;
  font: 500 29px / 1.02 var(--autumn-serif);
}

.wm-feature-card p {
  max-width: 520px;
  margin: 0;
  color: rgba(44, 36, 29, 0.66);
  font: 400 14px / 1.55 var(--autumn-sans);
}

.wm-process {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(520px, 1fr);
  gap: 100px;
  padding: 100px;
  color: #fffaf1;
  background:
    radial-gradient(circle at 92% 8%, rgba(189, 110, 79, 0.38), transparent 26rem),
    var(--wm-ink);
  border-radius: 36px;
}

.wm-process__heading {
  align-self: start;
  position: sticky;
  top: 122px;
}

.wm-process__heading .marketing-eyebrow {
  color: var(--wm-butter);
}

.wm-process__heading > p:not(.marketing-eyebrow) {
  color: rgba(255, 250, 241, 0.68);
}

.wm-process__steps {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wm-process__steps li {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 22px;
  padding: 28px;
  background: rgba(255, 250, 241, 0.07);
  border: 1px solid rgba(255, 250, 241, 0.11);
  border-radius: 22px;
}

.wm-process__steps li > span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  color: var(--wm-ink);
  background: var(--wm-butter);
  border-radius: 50%;
}

.wm-process__steps .lucide-icon {
  width: 21px;
}

.wm-process__steps small {
  color: var(--wm-butter);
  font: 700 9px / 1 var(--autumn-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wm-process__steps h3 {
  margin: 9px 0 10px;
  font: 500 29px / 1 var(--autumn-serif);
}

.wm-process__steps p {
  margin: 0;
  color: rgba(255, 250, 241, 0.66);
  font: 400 14px / 1.55 var(--autumn-sans);
}

.wm-stories {
  padding: 154px 0 138px;
}

.wm-stories__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 60px;
  margin-bottom: 54px;
}

.wm-stories__head > div:first-child {
  max-width: 880px;
}

.wm-carousel-controls {
  display: flex;
  gap: 10px;
  padding-bottom: 8px;
}

.wm-carousel-controls button {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: var(--wm-ink);
  background: rgba(255, 252, 246, 0.8);
  border: 1px solid rgba(44, 36, 29, 0.14);
  border-radius: 50%;
  cursor: pointer;
  font-size: 18px;
}

.wm-carousel-controls button:hover,
.wm-carousel-controls button:focus-visible {
  background: #fffaf1;
  outline: 2px solid var(--wm-clay);
  outline-offset: 2px;
}

.wm-carousel-controls button:disabled {
  opacity: 0.38;
  cursor: default;
}

.wm-story-carousel {
  width: 100%;
}

.wm-story-track {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  padding: 2px 1px 24px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-color: rgba(44, 36, 29, 0.24) transparent;
}

.wm-story-card {
  flex: 0 0 min(1040px, calc(100vw - 128px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.82fr);
  gap: 0;
  overflow: hidden;
  background: rgba(255, 252, 246, 0.78);
  border: 1px solid rgba(44, 36, 29, 0.1);
  border-radius: 28px;
  scroll-snap-align: start;
}

.wm-story-card .wm-photo-placeholder {
  min-height: 520px;
  margin: 0;
  border: 0;
  border-radius: 0;
}

.wm-story-card__copy {
  align-content: center;
  display: grid;
  padding: 54px;
}

.wm-story-card__copy h3 {
  margin: 17px 0 24px;
  font: 500 45px / 0.98 var(--autumn-display);
}

.wm-story-card__prompt {
  margin: 0 0 44px;
  font: 400 21px / 1.46 var(--autumn-serif);
}

.wm-story-card__copy > span {
  color: rgba(44, 36, 29, 0.52);
  font: 700 9px / 1.3 var(--autumn-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.wm-faq {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(520px, 1fr);
  gap: 100px;
  padding: 136px 0;
}

.wm-faq__list {
  border-top: 1px solid rgba(44, 36, 29, 0.14);
}

.wm-faq details {
  border-bottom: 1px solid rgba(44, 36, 29, 0.14);
}

.wm-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 24px 0;
  cursor: pointer;
  font: 500 21px / 1.2 var(--autumn-serif);
  list-style: none;
}

.wm-faq summary::-webkit-details-marker {
  display: none;
}

.wm-faq summary span {
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  background: #e9d8c1;
  border-radius: 50%;
  transition: transform 180ms ease;
}

.wm-faq details[open] summary span {
  transform: rotate(45deg);
}

.wm-faq details p {
  max-width: 660px;
  margin: -4px 48px 25px 0;
  color: rgba(44, 36, 29, 0.65);
  font: 400 15px / 1.6 var(--autumn-sans);
}

.wm-final {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 80px;
  margin-bottom: 100px;
  padding: 86px 92px;
  color: #fffaf1;
  background:
    radial-gradient(circle at 88% 22%, rgba(239, 207, 142, 0.34), transparent 24rem),
    linear-gradient(135deg, #365b49, #254438);
  border-radius: 34px;
}

.wm-final > div {
  max-width: 850px;
}

.wm-final .marketing-eyebrow {
  color: var(--wm-butter);
}

.wm-final p:not(.marketing-eyebrow) {
  color: rgba(255, 250, 241, 0.7);
}

.wm-final .marketing-button {
  flex: 0 0 auto;
  color: var(--wm-ink);
  background: var(--wm-butter);
  border-color: var(--wm-butter);
}

@media (max-width: 1120px) {
  .wm-hero,
  .wm-faq {
    grid-template-columns: 1fr;
  }

  .wm-hero {
    min-height: auto;
    padding-top: 142px;
  }

  .wm-hero__copy {
    max-width: 880px;
  }

  .wm-hero__visual {
    width: min(720px, 100%);
    margin: 0 auto;
  }

  .wm-feature-card,
  .wm-feature-card:nth-child(n) {
    grid-column: span 6;
  }

  .wm-process {
    grid-template-columns: 1fr;
    gap: 52px;
    padding: 72px;
  }

  .wm-process__heading {
    position: static;
  }

  .wm-faq {
    gap: 52px;
  }
}

@media (max-width: 760px) {
  .wm-hero,
  .wm-transformation,
  .wm-features,
  .wm-process,
  .wm-stories,
  .wm-faq,
  .wm-final {
    width: calc(100% - 32px);
  }

  .wm-hero {
    gap: 42px;
    padding: 112px 0 66px;
  }

  .wm-hero__copy h1 {
    margin: 17px 0 24px;
    font-size: clamp(54px, 17vw, 76px);
  }

  .wm-hero__copy > p:not(.marketing-eyebrow) {
    font-size: 17px;
  }

  .wm-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
    margin-top: 30px;
  }

  .wm-browser-frame {
    border-radius: 25px;
    transform: none;
  }

  .wm-photo-placeholder--hero {
    min-height: 450px;
  }

  .wm-photo-placeholder > div {
    margin: 12px;
    padding: 14px;
  }

  .wm-photo-placeholder strong {
    font-size: 17px;
  }

  .wm-hero-note {
    right: 14px;
    bottom: 36px;
    max-width: 206px;
  }

  .wm-signal-strip {
    grid-template-columns: repeat(2, 1fr);
    width: calc(100% - 24px);
    border-radius: 18px;
  }

  .wm-signal-strip span {
    padding: 17px 12px;
    border-bottom: 1px solid rgba(255, 250, 241, 0.13);
    font-size: 9px;
  }

  .wm-signal-strip span:nth-child(2) {
    border-right: 0;
  }

  .wm-signal-strip span:nth-child(n + 3) {
    border-bottom: 0;
  }

  .wm-transformation,
  .wm-features,
  .wm-stories,
  .wm-faq {
    padding: 94px 0;
  }

  .wm-section-heading h2,
  .wm-process__heading h2,
  .wm-stories__head h2,
  .wm-final h2 {
    font-size: clamp(43px, 13vw, 60px);
  }

  .wm-section-heading > p:not(.marketing-eyebrow),
  .wm-process__heading > p:not(.marketing-eyebrow),
  .wm-stories__head > div > p:not(.marketing-eyebrow),
  .wm-final p:not(.marketing-eyebrow) {
    font-size: 16px;
  }

  .wm-before-after,
  .wm-change-list,
  .wm-feature-grid {
    grid-template-columns: 1fr;
  }

  .wm-before-after {
    margin-top: 42px;
  }

  .wm-photo-placeholder {
    min-height: 330px;
  }

  .wm-change-list > span,
  .wm-feature-card,
  .wm-feature-card:nth-child(n) {
    grid-column: auto;
  }

  .wm-feature-grid {
    margin-top: 42px;
  }

  .wm-feature-card {
    min-height: 240px;
    padding: 26px;
  }

  .wm-feature-card h3 {
    margin-top: 58px;
  }

  .wm-process {
    gap: 40px;
    padding: 54px 24px;
    border-radius: 26px;
  }

  .wm-process__steps li {
    grid-template-columns: 44px 1fr;
    gap: 15px;
    padding: 20px;
  }

  .wm-process__steps li > span {
    width: 44px;
    height: 44px;
  }

  .wm-stories__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 36px;
  }

  .wm-story-card {
    flex-basis: calc(100vw - 48px);
    grid-template-columns: 1fr;
  }

  .wm-story-card .wm-photo-placeholder {
    min-height: 380px;
  }

  .wm-story-card__copy {
    padding: 32px 26px 36px;
  }

  .wm-story-card__copy h3 {
    font-size: 38px;
  }

  .wm-story-card__prompt {
    margin-bottom: 30px;
    font-size: 19px;
  }

  .wm-faq summary {
    font-size: 19px;
  }

  .wm-final {
    align-items: flex-start;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 60px;
    padding: 54px 26px;
    border-radius: 26px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wm-browser-frame,
  .wm-hero-note {
    transform: none;
  }

  .wm-story-track {
    scroll-behavior: auto;
  }
}

/* Image-led practice website experience. The mw-* namespace replaces the earlier
   concept without changing the shared marketing system used by other routes. */
.mw-page {
  --mw-ink: #171a16;
  --mw-cream: #f3efe6;
  --mw-paper: #fcfaf5;
  --mw-moss: #233c2e;
  --mw-sage: #b7c7af;
  --mw-clay: #b96549;
  overflow: hidden;
  color: var(--mw-ink);
  background: var(--mw-cream);
}

.mw-nav {
  position: absolute;
  z-index: 40;
  top: 0;
  left: 0;
  width: 100%;
  color: #fff;
}

.mw-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1480px, calc(100% - 64px));
  margin: 0 auto;
  padding: 24px 0;
}

.mw-nav__brand,
.mw-footer > a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: inherit;
  font: 500 28px / 1 var(--autumn-serif);
  text-decoration: none;
}

.mw-nav__brand img,
.mw-footer img {
  width: 20px;
  height: 25px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.mw-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 54px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  font: 700 14px / 1 var(--autumn-sans);
  letter-spacing: -0.01em;
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.mw-button:hover {
  transform: translateY(-2px);
}

.mw-button:focus-visible,
.mw-contact-link:focus-visible,
.mw-demo__tabs button:focus-visible,
.mw-demo-panel__overlay button:focus-visible {
  outline: 3px solid #efc269;
  outline-offset: 3px;
}

.mw-button--light {
  color: var(--mw-ink);
  background: rgba(255, 255, 255, 0.94);
}

.mw-button--hero {
  min-height: 62px;
  padding: 0 29px;
  color: var(--mw-ink);
  background: #fff;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.2);
  font-size: 16px;
}

.marketing-page .mw-button--light,
.marketing-page .mw-button--hero {
  color: #171a16;
}

.mw-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background: #292b25;
}

.mw-hero__image,
.mw-final__image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mw-hero__shade,
.mw-final__shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(10, 15, 11, 0.68) 0%, rgba(10, 15, 11, 0.2) 48%, transparent 76%),
    linear-gradient(0deg, rgba(10, 15, 11, 0.72) 0%, transparent 60%);
}

.mw-hero__content {
  width: min(1480px, calc(100% - 64px));
  margin: 0 auto;
  padding: 180px 0 64px;
  color: #fff;
}

.mw-hero h1 {
  max-width: 780px;
  margin: 0 0 30px;
  font: 700 clamp(50px, 6.2vw, 94px) / 0.95 var(--autumn-sans);
  letter-spacing: -0.07em;
}

.mw-hero h1 span {
  display: block;
  color: rgba(255, 255, 255, 0.72);
  font-weight: 500;
}

.mw-hero__content > p {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font: 600 12px / 1.4 var(--autumn-sans);
  letter-spacing: 0.02em;
}

.mw-demo-section,
.mw-transformation {
  width: min(1340px, calc(100% - 64px));
  margin: 0 auto;
  padding: 132px 0;
}

.mw-heading {
  max-width: 900px;
  margin-bottom: 52px;
}

.mw-heading h2 {
  margin: 0;
  font: 700 clamp(44px, 5.7vw, 78px) / 0.96 var(--autumn-sans);
  letter-spacing: -0.06em;
}

.mw-heading p {
  max-width: 620px;
  margin: 22px 0 0;
  color: rgba(23, 26, 22, 0.66);
  font: 500 18px / 1.55 var(--autumn-sans);
}

.mw-demo {
  overflow: hidden;
  background: var(--mw-paper);
  border: 1px solid rgba(23, 26, 22, 0.13);
  border-radius: 28px;
  box-shadow: 0 30px 90px rgba(35, 42, 32, 0.13);
}

.mw-demo__chrome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 0 20px;
  color: rgba(23, 26, 22, 0.46);
  background: #eae5dc;
  border-bottom: 1px solid rgba(23, 26, 22, 0.1);
  font: 700 10px / 1 var(--autumn-sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mw-demo__chrome > span {
  display: flex;
  gap: 6px;
}

.mw-demo__chrome i {
  width: 7px;
  height: 7px;
  background: #a8a298;
  border-radius: 50%;
}

.mw-demo__sitebar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 84px;
  padding: 0 34px;
  border-bottom: 1px solid rgba(23, 26, 22, 0.1);
}

.mw-demo__brand {
  font: 600 25px / 1 var(--autumn-serif);
}

.mw-demo__tabs {
  display: flex;
  gap: 4px;
}

.mw-demo__tabs button {
  padding: 10px 16px;
  color: rgba(23, 26, 22, 0.58);
  background: transparent;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font: 700 12px / 1 var(--autumn-sans);
}

.mw-demo__tabs button[aria-selected="true"] {
  color: var(--mw-ink);
  background: #e7e0d3;
}

.mw-demo__patient-action {
  justify-self: end;
  padding: 11px 17px;
  color: #fff;
  background: var(--mw-ink);
  border-radius: 999px;
  font: 700 11px / 1 var(--autumn-sans);
}

.mw-demo-panel {
  min-height: 660px;
}

.mw-demo-panel[hidden] {
  display: none;
}

.mw-demo-panel--home,
.mw-demo-panel--team {
  position: relative;
  overflow: hidden;
}

.mw-demo-panel__image {
  width: 100%;
  height: 660px;
  object-fit: cover;
}

.mw-demo-panel--home::after,
.mw-demo-panel--team::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(14, 20, 16, 0.75), rgba(14, 20, 16, 0.08) 65%);
}

.mw-demo-panel__overlay,
.mw-team-copy {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: clamp(30px, 6vw, 82px);
  width: min(510px, calc(100% - 60px));
  color: #fff;
  transform: translateY(-50%);
}

.mw-demo-panel__overlay > span,
.mw-team-copy > span,
.mw-demo-panel--care > div:first-child span {
  font: 700 10px / 1 var(--autumn-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mw-demo-panel__overlay h3,
.mw-team-copy h3,
.mw-demo-panel--care h3 {
  margin: 17px 0 20px;
  font: 600 clamp(48px, 6vw, 78px) / 0.92 var(--autumn-serif);
  letter-spacing: -0.04em;
}

.mw-demo-panel__overlay p,
.mw-team-copy p {
  max-width: 430px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font: 500 16px / 1.5 var(--autumn-sans);
}

.mw-demo-panel__overlay button {
  margin-top: 30px;
  padding: 14px 19px;
  color: var(--mw-ink);
  background: #fff;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font: 700 12px / 1 var(--autumn-sans);
}

.mw-demo-panel--care {
  display: grid;
  grid-template-columns: 0.78fr 1fr;
  gap: 80px;
  align-items: center;
  padding: 72px;
  background: #c7d2c0;
}

.mw-demo-panel--care h3 {
  font-family: var(--autumn-serif);
}

.mw-care-list {
  display: grid;
  gap: 8px;
}

.mw-care-list article {
  display: grid;
  grid-template-columns: 0.65fr 1fr;
  gap: 18px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid rgba(23, 26, 22, 0.16);
}

.mw-care-list h4 {
  margin: 0;
  font: 600 24px / 1.05 var(--autumn-serif);
}

.mw-care-list p {
  margin: 0;
  color: rgba(23, 26, 22, 0.68);
  font: 500 13px / 1.45 var(--autumn-sans);
}

.mw-demo-note {
  margin: 17px 4px 0;
  color: rgba(23, 26, 22, 0.52);
  font: 500 11px / 1.5 var(--autumn-sans);
}

.mw-scenes {
  padding: 124px max(32px, calc((100vw - 1340px) / 2));
  color: #fff;
  background: var(--mw-moss);
}

.mw-heading--light p {
  color: rgba(255, 255, 255, 0.68);
}

.mw-scene-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.mw-scene {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  aspect-ratio: 4 / 5;
}

.mw-scene::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(0deg, rgba(12, 17, 13, 0.72), transparent 55%);
}

.mw-scene__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms ease;
}

.mw-scene:hover .mw-scene__image {
  transform: scale(1.025);
}

.mw-scene figcaption {
  position: absolute;
  z-index: 1;
  right: 26px;
  bottom: 26px;
  left: 26px;
  display: grid;
  gap: 7px;
}

.mw-scene figcaption span {
  color: rgba(255, 255, 255, 0.68);
  font: 700 10px / 1 var(--autumn-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.mw-scene figcaption strong {
  max-width: 340px;
  font: 500 30px / 1.02 var(--autumn-serif);
}

.mw-transformation {
  padding-top: 144px;
  padding-bottom: 144px;
}

.mw-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.mw-compare__card {
  padding: 16px;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(23, 26, 22, 0.12);
  border-radius: 26px;
}

.mw-compare__label {
  display: block;
  padding: 7px 7px 17px;
  color: rgba(23, 26, 22, 0.55);
  font: 700 10px / 1 var(--autumn-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mw-before-site,
.mw-after-site {
  min-height: 610px;
  overflow: hidden;
  border-radius: 17px;
}

.mw-before-site {
  color: #333;
  background: #e9e9e9;
  filter: saturate(0.28);
}

.mw-before-site > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 25px;
  color: #555;
  background: #fff;
  border-bottom: 1px solid #d6d6d6;
  font: 600 11px / 1 var(--autumn-sans);
}

.mw-before-site > main {
  padding: 102px 50px;
}

.mw-before-site small {
  font: 700 9px / 1 var(--autumn-sans);
  letter-spacing: 0.14em;
}

.mw-before-site h3 {
  max-width: 500px;
  margin: 22px 0;
  font: 700 48px / 1.05 Georgia, serif;
}

.mw-before-site p {
  max-width: 420px;
  font: 400 15px / 1.55 Arial, sans-serif;
}

.mw-before-site main > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 64px;
}

.mw-before-site i {
  height: 82px;
  background: #d2d2d2;
  border: 1px solid #bbb;
}

.mw-after-site {
  position: relative;
  color: #fff;
  background: var(--mw-moss);
}

.mw-after-site::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(0deg, rgba(11, 17, 13, 0.78), rgba(11, 17, 13, 0.08) 72%);
}

.mw-after-site__image {
  width: 100%;
  height: 610px;
  object-fit: cover;
}

.mw-after-site > div {
  position: absolute;
  z-index: 1;
  right: 44px;
  bottom: 42px;
  left: 44px;
}

.mw-after-site small {
  font: 700 9px / 1 var(--autumn-sans);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.mw-after-site h3 {
  margin: 13px 0 25px;
  font: 500 47px / 0.98 var(--autumn-serif);
}

.mw-after-site span {
  display: inline-block;
  padding: 13px 17px;
  color: var(--mw-ink);
  background: #fff;
  border-radius: 999px;
  font: 700 11px / 1 var(--autumn-sans);
}

.mw-outcomes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 26px;
  border-top: 1px solid rgba(23, 26, 22, 0.18);
  border-bottom: 1px solid rgba(23, 26, 22, 0.18);
}

.mw-outcomes span {
  padding: 27px 20px;
  border-right: 1px solid rgba(23, 26, 22, 0.18);
  font: 700 15px / 1.3 var(--autumn-sans);
}

.mw-outcomes span:last-child {
  border-right: 0;
}

.mw-final {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 720px;
  overflow: hidden;
  isolation: isolate;
}

.mw-final__shade {
  background: rgba(10, 15, 11, 0.55);
}

.mw-final > div:last-child {
  display: grid;
  justify-items: center;
  gap: 25px;
}

.mw-contact-link {
  color: #fff;
  font: 700 13px / 1 var(--autumn-sans);
  text-underline-offset: 5px;
}

.mw-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px max(32px, calc((100vw - 1480px) / 2));
  color: rgba(255, 255, 255, 0.7);
  background: #111713;
  font: 600 11px / 1.4 var(--autumn-sans);
}

.mw-footer > a {
  color: #fff;
  font-size: 24px;
}

@media (max-width: 900px) {
  .mw-nav__inner,
  .mw-hero__content,
  .mw-demo-section,
  .mw-transformation {
    width: calc(100% - 32px);
  }

  .mw-nav__inner {
    padding-top: 16px;
  }

  .mw-nav__brand {
    font-size: 24px;
  }

  .mw-nav .mw-button {
    min-height: 46px;
    padding: 0 18px;
    font-size: 12px;
  }

  .mw-hero {
    min-height: 844px;
  }

  .mw-hero__image {
    object-position: 54% center;
  }

  .mw-hero__shade {
    background: linear-gradient(0deg, rgba(10, 15, 11, 0.86) 0%, rgba(10, 15, 11, 0.14) 72%);
  }

  .mw-hero__content {
    padding-bottom: 42px;
  }

  .mw-hero h1 {
    max-width: 520px;
    margin-bottom: 24px;
    font-size: clamp(44px, 12.5vw, 68px);
  }

  .mw-demo-section,
  .mw-transformation {
    padding: 92px 0;
  }

  .mw-heading {
    margin-bottom: 36px;
  }

  .mw-heading h2 {
    font-size: clamp(40px, 11vw, 58px);
  }

  .mw-heading p {
    font-size: 16px;
  }

  .mw-demo__sitebar {
    grid-template-columns: 1fr auto;
    gap: 15px;
    padding: 18px;
  }

  .mw-demo__brand {
    font-size: 21px;
  }

  .mw-demo__tabs {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: center;
    order: 2;
  }

  .mw-demo__patient-action {
    grid-column: 2;
    grid-row: 1;
  }

  .mw-demo-panel,
  .mw-demo-panel__image {
    min-height: 600px;
    height: 600px;
  }

  .mw-demo-panel--care {
    display: block;
    height: auto;
    padding: 48px 28px;
  }

  .mw-demo-panel--care h3 {
    font-size: 52px;
  }

  .mw-care-list {
    margin-top: 40px;
  }

  .mw-care-list article {
    grid-template-columns: 1fr;
  }

  .mw-scenes {
    padding: 88px 16px;
  }

  .mw-scenes .mw-heading {
    margin-left: 0;
  }

  .mw-scene-track {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 18px;
    scroll-snap-type: x mandatory;
  }

  .mw-scene {
    flex: 0 0 min(82vw, 390px);
    scroll-snap-align: start;
  }

  .mw-compare {
    grid-template-columns: 1fr;
  }

  .mw-before-site,
  .mw-after-site {
    min-height: 540px;
  }

  .mw-after-site__image {
    height: 540px;
  }

  .mw-outcomes {
    grid-template-columns: 1fr;
  }

  .mw-outcomes span {
    border-right: 0;
    border-bottom: 1px solid rgba(23, 26, 22, 0.18);
  }

  .mw-outcomes span:last-child {
    border-bottom: 0;
  }

  .mw-final {
    min-height: 640px;
  }

  .mw-final__image {
    object-position: 56% center;
  }

  .mw-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }
}

@media (max-width: 520px) {
  .mw-nav .mw-button span,
  .mw-button--hero span {
    display: none;
  }

  .mw-hero {
    min-height: 100svh;
  }

  .mw-hero h1 {
    max-width: 350px;
    letter-spacing: -0.065em;
  }

  .mw-button--hero {
    min-height: 58px;
    padding: 0 24px;
  }

  .mw-demo {
    border-radius: 20px;
  }

  .mw-demo__chrome strong {
    display: none;
  }

  .mw-demo__sitebar {
    display: flex;
    flex-wrap: wrap;
  }

  .mw-demo__brand {
    flex: 1 1 auto;
  }

  .mw-demo__tabs {
    flex: 1 1 100%;
    justify-content: space-between;
    order: 3;
  }

  .mw-demo__tabs button {
    flex: 1 1 auto;
  }

  .mw-demo-panel,
  .mw-demo-panel__image {
    min-height: 560px;
    height: 560px;
  }

  .mw-demo-panel__image {
    object-position: 50% center;
  }

  .mw-demo-panel__overlay,
  .mw-team-copy {
    top: auto;
    right: 24px;
    bottom: 30px;
    left: 24px;
    width: auto;
    transform: none;
  }

  .mw-demo-panel__overlay h3,
  .mw-team-copy h3 {
    font-size: 48px;
  }

  .mw-demo-panel--care {
    min-height: 620px;
  }

  .mw-before-site > main {
    padding: 72px 28px;
  }

  .mw-before-site h3 {
    font-size: 39px;
  }

  .mw-after-site > div {
    right: 26px;
    bottom: 28px;
    left: 26px;
  }

  .mw-after-site h3 {
    font-size: 39px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mw-button,
  .mw-scene__image {
    transition: none;
  }
}

/* The compact website-redesign page reuses the shared Autumn navigation,
   type, buttons, carousel, footer, and warm editorial palette. */
.marketing-nav--translucent {
  background: rgba(246, 241, 230, 0.7);
  border-bottom-color: rgba(42, 33, 24, 0.08);
  -webkit-backdrop-filter: blur(20px) saturate(1.08);
  backdrop-filter: blur(20px) saturate(1.08);
}

.website-page {
  color: var(--autumn-ink);
  background: var(--autumn-paper);
}

.website-hero {
  position: relative;
  display: grid;
  min-height: min(880px, 100svh);
  overflow: hidden;
  isolation: isolate;
}

.website-hero__image,
.website-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.website-hero__image {
  z-index: -2;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.website-hero__shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(32, 25, 19, 0.66) 0%, rgba(32, 25, 19, 0.18) 52%, transparent 78%),
    linear-gradient(0deg, rgba(32, 25, 19, 0.56) 0%, transparent 58%);
}

.website-hero__content {
  align-self: end;
  width: min(1400px, calc(100% - 80px));
  margin: 0 auto;
  padding: 160px 0 76px;
  color: #fffaf1;
}

.website-hero__content h1 {
  max-width: 760px;
  margin: 0 0 34px;
  font: 400 clamp(54px, 6.4vw, 82px) / 0.95 var(--autumn-serif);
  letter-spacing: -0.055em;
}

.website-hero__content h1 em {
  display: block;
  color: rgba(255, 250, 241, 0.76);
  font-weight: 300;
}

.website-hero__content .marketing-button {
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
}

.website-analytics,
.website-stories,
.website-final {
  width: min(1400px, calc(100% - 80px));
  margin-right: auto;
  margin-left: auto;
}

.website-analytics {
  padding: 126px 0 138px;
}

.website-section-heading {
  max-width: 760px;
  margin-bottom: 54px;
}

.website-section-heading h2 {
  margin: 15px 0 20px;
  font: 400 clamp(46px, 5.4vw, 68px) / 0.98 var(--autumn-serif);
  letter-spacing: -0.045em;
}

.website-section-heading > p:not(.marketing-eyebrow) {
  max-width: 690px;
  margin: 0;
  color: rgba(42, 33, 24, 0.68);
  font: 400 18px / 1.6 var(--autumn-sans);
}

.website-analytics__frame {
  overflow: hidden;
  background: rgba(255, 253, 248, 0.94);
  border: 1px solid var(--autumn-line);
  border-radius: 28px;
  box-shadow: 0 32px 90px rgba(64, 43, 26, 0.12);
}

.website-analytics__frame > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 68px;
  padding: 0 24px;
  border-bottom: 1px solid var(--autumn-line);
}

.website-analytics__frame > header > div {
  display: flex;
  align-items: center;
  gap: 11px;
}

.website-analytics__frame > header strong {
  font: 500 15px / 1 var(--autumn-serif);
}

.website-analytics__frame > header > span {
  padding: 7px 10px;
  color: var(--autumn-brown);
  background: rgba(196, 131, 93, 0.12);
  border-radius: 999px;
  font: 700 9px / 1 var(--autumn-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.website-analytics__mark {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border-radius: 9px;
  font: 500 16px / 1 var(--autumn-serif);
}

.website-analytics__body {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  min-height: 610px;
}

.website-analytics__body > aside {
  display: grid;
  align-content: start;
  gap: 5px;
  padding: 30px 18px;
  background: rgba(246, 241, 230, 0.58);
  border-right: 1px solid var(--autumn-line);
}

.website-analytics__body > aside strong {
  margin: 0 12px 14px;
  color: rgba(42, 33, 24, 0.45);
  font: 700 9px / 1 var(--autumn-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.website-analytics__body > aside span {
  padding: 11px 12px;
  color: rgba(42, 33, 24, 0.66);
  border-radius: 10px;
  font: 500 12px / 1.2 var(--autumn-sans);
}

.website-analytics__body > aside span.is-active {
  color: var(--autumn-ink);
  background: #fffdf8;
  box-shadow: 0 6px 18px rgba(64, 43, 26, 0.07);
}

.website-analytics__main {
  min-width: 0;
  padding: 38px;
}

.website-analytics__title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.website-analytics__title small,
.website-analytics__title > span {
  color: rgba(42, 33, 24, 0.48);
  font: 600 10px / 1.2 var(--autumn-sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.website-analytics__title h3 {
  margin: 8px 0 0;
  font: 400 34px / 1 var(--autumn-serif);
}

.website-analytics__title > span {
  padding: 9px 12px;
  border: 1px solid var(--autumn-line);
  border-radius: 999px;
}

.website-analytics__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 30px 0 12px;
}

.website-analytics__metrics article,
.website-analytics__detail article {
  background: #fffdf8;
  border: 1px solid var(--autumn-line);
  border-radius: 18px;
}

.website-analytics__metrics article {
  display: grid;
  gap: 9px;
  padding: 22px;
}

.website-analytics__metrics span,
.website-analytics__metrics small {
  color: rgba(42, 33, 24, 0.58);
  font: 500 11px / 1.3 var(--autumn-sans);
}

.website-analytics__metrics strong {
  font: 400 38px / 1 var(--autumn-serif);
  letter-spacing: -0.04em;
}

.website-analytics__metrics small {
  color: var(--autumn-green);
}

.website-analytics__detail {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(250px, 0.7fr);
  gap: 12px;
}

.website-analytics__chart,
.website-analytics__funnel {
  padding: 24px;
}

.website-analytics__chart > div:first-child,
.website-analytics__funnel > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.website-analytics__chart > div span,
.website-analytics__funnel > div span {
  color: rgba(42, 33, 24, 0.48);
  font: 500 10px / 1.3 var(--autumn-sans);
}

.website-analytics__bars {
  display: flex;
  align-items: end;
  gap: 7px;
  height: 190px;
  margin-top: 24px;
  padding-top: 18px;
  border-bottom: 1px solid var(--autumn-line);
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 41px, rgba(42, 33, 24, 0.055) 42px);
}

.website-analytics__bars i {
  flex: 1;
  height: var(--bar);
  min-width: 6px;
  background: linear-gradient(180deg, var(--autumn-clay), var(--autumn-copper));
  border-radius: 7px 7px 2px 2px;
}

.website-analytics__funnel ol {
  display: grid;
  gap: 10px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.website-analytics__funnel li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 14px;
  background: rgba(246, 241, 230, 0.58);
  border-radius: 10px;
  font: 500 11px / 1.3 var(--autumn-sans);
}

.website-analytics__funnel li:nth-child(2) {
  margin-right: 15%;
}

.website-analytics__funnel li:nth-child(3) {
  margin-right: 34%;
  color: var(--autumn-cream);
  background: var(--autumn-green);
}

.website-proof-note {
  margin: 18px 0 0;
  color: rgba(42, 33, 24, 0.52);
  font: 500 11px / 1.5 var(--autumn-sans);
}

.website-stories {
  padding-top: 122px;
  padding-bottom: 128px;
  border-top: 1px solid var(--autumn-line);
}

.website-stories .wm-stories__head h2,
.website-final h2 {
  font-size: clamp(46px, 5.4vw, 68px);
  line-height: 0.98;
}

.website-story-card__media {
  min-height: 520px;
  overflow: hidden;
}

.website-story-card__image {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.website-story-card .wm-story-card__copy h3 {
  font-family: var(--autumn-serif);
  font-size: clamp(34px, 3.5vw, 48px);
  line-height: 1;
}

.website-story-card .wm-story-card__prompt {
  color: rgba(42, 33, 24, 0.68);
  font-family: var(--autumn-sans);
  font-size: 16px;
  line-height: 1.6;
}

.website-final {
  margin-bottom: 100px;
}

.website-final .marketing-button {
  min-height: 54px;
  padding: 0 24px;
}

.marketing-page .website-final .marketing-button {
  color: var(--wm-ink) !important;
}

@media (max-width: 900px) {
  .website-hero__content,
  .website-analytics,
  .website-stories,
  .website-final {
    width: calc(100% - 40px);
  }

  .website-analytics__body {
    grid-template-columns: 1fr;
  }

  .website-analytics__body > aside {
    display: none;
  }

  .website-analytics__detail {
    grid-template-columns: 1fr;
  }

  .website-analytics__funnel li:nth-child(2),
  .website-analytics__funnel li:nth-child(3) {
    margin-right: 0;
  }
}

@media (max-width: 760px) {
  .website-hero {
    min-height: 100svh;
  }

  .website-hero__image {
    object-position: 54% center;
  }

  .website-hero__shade {
    background: linear-gradient(0deg, rgba(32, 25, 19, 0.78) 0%, rgba(32, 25, 19, 0.08) 74%);
  }

  .website-hero__content {
    width: calc(100% - 32px);
    padding: 116px 0 44px;
  }

  .website-hero__content h1 {
    max-width: 430px;
    margin-bottom: 26px;
    font-size: clamp(46px, 13.5vw, 62px);
  }

  .website-analytics,
  .website-stories,
  .website-final {
    width: calc(100% - 32px);
  }

  .website-analytics {
    padding: 88px 0 96px;
  }

  .website-section-heading,
  .website-stories .wm-stories__head {
    margin-bottom: 36px;
  }

  .website-section-heading h2,
  .website-stories .wm-stories__head h2,
  .website-final h2 {
    font-size: clamp(40px, 12vw, 52px);
  }

  .website-section-heading > p:not(.marketing-eyebrow) {
    font-size: 16px;
  }

  .website-analytics__frame {
    border-radius: 21px;
  }

  .website-analytics__frame > header {
    min-height: 58px;
    padding: 0 16px;
  }

  .website-analytics__main {
    padding: 22px 16px 18px;
  }

  .website-analytics__title h3 {
    font-size: 28px;
  }

  .website-analytics__title > span {
    display: none;
  }

  .website-analytics__metrics {
    grid-template-columns: 1fr;
    margin-top: 22px;
  }

  .website-analytics__metrics article {
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 7px 16px;
    padding: 17px;
  }

  .website-analytics__metrics strong {
    grid-row: span 2;
    font-size: 32px;
  }

  .website-analytics__bars {
    height: 150px;
  }

  .website-stories {
    padding-top: 88px;
    padding-bottom: 94px;
  }

  .website-story-card__media {
    min-height: 360px;
  }

  .website-story-card .wm-story-card__copy {
    padding: 30px 24px 34px;
  }

  .website-story-card .wm-story-card__copy h3 {
    font-size: 36px;
  }

  .website-story-card .wm-story-card__prompt {
    margin-bottom: 26px;
    font-size: 15px;
  }

  .website-final {
    margin-bottom: 60px;
    padding: 50px 26px;
  }
}

/* A saved report URL opens on the report, never on the marketing page first. */
html.is-report-shell .website-hero,
html.is-report-shell .website-value-section,
html.is-report-shell .website-final {
  display: none;
}

html.is-report-shell .marketing-main--marketing {
  min-height: 100vh;
}

/* Owner-inspired first screen, rebuilt in Autumn's visual language. The
   phone is CSS-native so the static landing page has no device-frame runtime. */
.website-hero--report {
  position: relative;
  display: block;
  min-height: 1380px;
  padding: 150px 24px 52px;
  overflow: hidden;
  color: var(--autumn-ink);
  text-align: center;
  background:
    radial-gradient(circle at 18% 15%, rgba(239, 207, 142, 0.2), transparent 28%),
    linear-gradient(180deg, #fffdf9 0%, #fbf8f0 76%, #f6f1e6 100%);
}

.website-hero__glow {
  position: absolute;
  top: 510px;
  right: 50%;
  width: min(760px, calc(100% - 48px));
  height: 740px;
  background:
    repeating-linear-gradient(128deg, transparent 0 54px, rgba(255, 250, 241, 0.09) 55px, transparent 56px 108px),
    linear-gradient(135deg, #6f3c21 0%, #a65d32 48%, #d9a272 100%);
  border-radius: 64px 64px 0 0;
  transform: translateX(50%);
  box-shadow: 0 34px 100px rgba(111, 60, 33, 0.19);
}

.website-hero--report .website-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(860px, 100%);
  margin: 0 auto;
  padding: 0;
  color: var(--autumn-ink);
}

.website-hero__eyebrow {
  margin: 0 0 17px;
  color: var(--autumn-copper);
  font: 700 11px / 1 var(--autumn-sans);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.website-hero--report .website-hero__content h1 {
  max-width: 880px;
  margin: 0 auto;
  color: var(--autumn-ink);
  font: 400 clamp(48px, 6vw, 80px) / 1.02 var(--autumn-display);
  letter-spacing: -0.01em;
}

.website-hero__headline-main {
  display: block;
}

.website-hero__rotator {
  display: grid;
  height: 1.22em;
  margin-top: 0.02em;
  padding-bottom: 0.08em;
  overflow: hidden;
  color: var(--autumn-copper);
}

.website-hero__rotator > span {
  grid-area: 1 / 1;
  opacity: 0;
  transform: translateY(0.5em);
  animation-duration: 12s;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  animation-iteration-count: infinite;
}

.website-hero__rotator > span:nth-child(1) {
  animation-name: website-value-first;
}

.website-hero__rotator > span:nth-child(2) {
  animation-name: website-value-second;
}

.website-hero__rotator > span:nth-child(3) {
  animation-name: website-value-third;
}

@keyframes website-value-first {
  0%, 26.99%, 87%, 100% {
    opacity: 1;
    transform: translateY(0);
  }

  27%, 86.99% {
    opacity: 0;
    transform: translateY(-0.45em);
  }
}

@keyframes website-value-second {
  0%, 26.99% {
    opacity: 0;
    transform: translateY(0.5em);
  }

  27%, 56.99% {
    opacity: 1;
    transform: translateY(0);
  }

  57%, 100% {
    opacity: 0;
    transform: translateY(-0.45em);
  }
}

@keyframes website-value-third {
  0%, 56.99% {
    opacity: 0;
    transform: translateY(0.5em);
  }

  57%, 86.99% {
    opacity: 1;
    transform: translateY(0);
  }

  87%, 100% {
    opacity: 0;
    transform: translateY(-0.45em);
  }
}

@keyframes website-phone-scroll {
  0% {
    transform: translateY(0);
  }

  24% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0.08, 0.76, 0.18, 1);
  }

  30% {
    transform: translateY(-25%);
  }

  54% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.08, 0.76, 0.18, 1);
  }

  60% {
    transform: translateY(-50%);
  }

  84% {
    transform: translateY(-50%);
    animation-timing-function: cubic-bezier(0.08, 0.76, 0.18, 1);
  }

  90%, 99.8% {
    transform: translateY(-75%);
  }

  100% {
    transform: translateY(0);
  }
}

.website-report-stage {
  position: relative;
  width: min(520px, 100%);
  height: 738px;
  margin: 24px auto 0;
}

.website-phone {
  position: relative;
  z-index: 2;
  width: 382px;
  height: 738px;
  margin: 0 auto;
  padding: 8px;
  color: var(--autumn-ink);
  background: linear-gradient(145deg, #5e5e5c 0%, #111 16%, #2a2a29 48%, #050505 80%, #454543 100%);
  border: 1px solid #7a7a78;
  border-radius: 62px;
  box-shadow: 0 38px 90px rgba(63, 37, 22, 0.38), inset 0 0 0 1px #050505, inset 0 0 0 3px rgba(255, 255, 255, 0.08);
  text-align: left;
}

.website-phone::before {
  content: "";
  position: absolute;
  pointer-events: none;
  inset: 3px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 58px;
}

.website-phone__dynamic-island {
  position: absolute;
  z-index: 5;
  top: 18px;
  left: 50%;
  width: 110px;
  height: 31px;
  background: #050505;
  border-radius: 999px;
  transform: translateX(-50%);
  box-shadow: inset -14px 0 20px rgba(24, 24, 24, 0.75);
}

.website-phone__dynamic-island::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  width: 9px;
  height: 9px;
  background: radial-gradient(circle at 35% 35%, #263563, #070914 58%);
  border-radius: 50%;
}

.website-phone__side-button {
  position: absolute;
  left: -5px;
  width: 4px;
  background: linear-gradient(180deg, #4f4f4d, #151515);
  border-radius: 4px 0 0 4px;
  box-shadow: -1px 0 0 rgba(255, 255, 255, 0.22);
}

.website-phone__side-button--action {
  top: 116px;
  height: 42px;
}

.website-phone__side-button--volume {
  top: 180px;
  height: 102px;
}

.website-phone__screen {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: #f4efe6; /* the first screen's own ground, so no seam ever shows */
  border-radius: 54px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.38);
}

.website-phone__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 51px;
  padding: 0 29px;
  color: var(--autumn-ink);
  font: 700 10px / 1 var(--autumn-sans);
}

.website-phone__status {
  display: flex;
  align-items: flex-end;
  gap: 5px;
}

.website-phone__status i {
  display: block;
  position: relative;
  width: 15px;
  height: 10px;
}

.website-phone__status i:first-child {
  background: linear-gradient(to top, var(--autumn-ink) 0 100%);
  clip-path: polygon(0 100%, 0 72%, 18% 72%, 18% 54%, 38% 54%, 38% 36%, 58% 36%, 58% 18%, 78% 18%, 78% 0, 100% 0, 100% 100%);
}

.website-phone__status i:nth-child(2) {
  width: 14px;
  border: 2px solid var(--autumn-ink);
  border-color: var(--autumn-ink) transparent transparent;
  border-radius: 50%;
  transform: translateY(3px);
}

.website-phone__status i:nth-child(2)::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 4px;
  width: 3px;
  height: 3px;
  background: var(--autumn-ink);
  border-radius: 50%;
}

.website-phone__status i:last-child {
  width: 17px;
  height: 8px;
  border: 1px solid var(--autumn-ink);
  border-radius: 2px;
}

.website-phone__status i:last-child::before {
  content: "";
  position: absolute;
  inset: 1px;
  background: var(--autumn-ink);
  border-radius: 1px;
}

.website-phone__status i:last-child::after {
  content: "";
  position: absolute;
  top: 2px;
  right: -3px;
  width: 2px;
  height: 4px;
  background: var(--autumn-ink);
  border-radius: 0 1px 1px 0;
}

.website-phone__viewport {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.website-phone__feed {
  height: 400%;
  animation: website-phone-scroll 12s linear infinite;
  will-change: transform;
}

.website-phone__panel {
  display: flex;
  flex-direction: column;
  height: 25%;
  padding: 23px 20px 18px;
  color: var(--autumn-ink);
  background: linear-gradient(155deg, #fffdf9 0%, #f5e9df 76%);
}

.website-phone__panel--patients {
  background: linear-gradient(155deg, #fffdf9 0%, #f4ece3 76%);
}

.website-phone__panel--chairs {
  background: linear-gradient(155deg, #fffdf9 0%, #f3e7dc 76%);
}

/* One site capture per panel: a single designed screen, shown as is. */
.website-phone__panel--site {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  background: #ffffff;
}

/* The status bar belongs to each screen: it wears the design's own nav colour, and the capture
   flows underneath it as one surface. */
.website-phone__panel--site .website-phone__topbar {
  flex: none;
}

.website-phone__panel--site img {
  display: block;
  flex: 1;
  min-height: 0;
  width: 100%;
  object-fit: cover;
  object-position: top;
}

.website-phone__panel h2 {
  max-width: 310px;
  margin: 2px 0 20px;
  font: 600 28px / 1.02 var(--autumn-sans);
  letter-spacing: -0.04em;
}

.website-phone__metric {
  display: flex;
  align-items: center;
  min-height: 88px;
  padding: 14px 0;
  border-top: 1px solid rgba(42, 33, 24, 0.14);
  border-bottom: 1px solid rgba(42, 33, 24, 0.14);
}

.website-phone__metric > div {
  display: grid;
  gap: 8px;
}

.website-phone__metric small,
.website-phone__findings small {
  color: rgba(42, 33, 24, 0.54);
  font: 700 8px / 1 var(--autumn-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.website-phone__metric strong {
  display: block;
  max-width: 290px;
  color: var(--autumn-ink);
  font: 600 17px / 1.18 var(--autumn-sans);
  letter-spacing: -0.025em;
}

.website-phone__findings {
  display: grid;
  gap: 7px;
  margin-top: 13px;
}

.website-phone__findings article {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 59px;
  padding: 9px 11px;
  background: rgba(255, 253, 249, 0.88);
  border: 1px solid rgba(42, 33, 24, 0.12);
  border-radius: 10px;
}

.website-phone__findings i {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  color: var(--autumn-copper);
  border: 1px solid rgba(166, 93, 50, 0.28);
  border-radius: 7px;
  font: 650 7px / 1 var(--autumn-sans);
  font-style: normal;
}

.website-phone__findings i::after {
  content: "";
  width: 7px;
  height: 7px;
  background: var(--autumn-copper);
  border-radius: 2px;
  transform: rotate(45deg);
}

.website-phone__findings article div {
  display: grid;
  gap: 5px;
}

.website-phone__findings strong {
  color: var(--autumn-ink);
  font: 560 11px / 1.25 var(--autumn-sans);
}

.website-phone__findings article > b {
  padding: 5px 6px;
  color: var(--autumn-brown);
  background: rgba(166, 93, 50, 0.1);
  border-radius: 5px;
  font: 650 7px / 1 var(--autumn-sans);
}

.website-phone__next {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  padding-top: 14px;
  color: rgba(42, 33, 24, 0.5);
  border-top: 1px solid rgba(42, 33, 24, 0.12);
  font: 650 8px / 1 var(--autumn-sans);
  text-transform: uppercase;
}

.website-phone__next strong {
  color: var(--autumn-ink);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.website-phone__next i {
  color: var(--autumn-copper);
  font-size: 13px;
  font-style: normal;
}

.website-hero__finder {
  position: relative;
  z-index: 5;
  width: min(680px, calc(100% - 32px));
  margin: 34px auto 56px;
  padding: 9px;
  color: var(--autumn-ink);
  background: rgba(255, 253, 248, 0.97);
  border: 1px solid rgba(42, 33, 24, 0.14);
  border-radius: 14px;
  box-shadow: 0 18px 45px rgba(111, 60, 33, 0.16);
  text-align: left;
  transition: box-shadow 180ms ease;
}

.website-hero__finder:focus-within {
  border-color: rgba(166, 93, 50, 0.42);
  box-shadow: 0 26px 66px rgba(111, 60, 33, 0.24);
}

.website-hero__finder-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.website-hero__finder input {
  min-width: 0;
  height: 54px;
  padding: 0 17px;
  color: var(--autumn-ink);
  background: #f6efe6;
  border: 1px solid transparent;
  border-radius: 8px;
  outline: none;
  font: 560 15px / 1 var(--autumn-sans);
}

.website-hero__finder input::placeholder {
  color: rgba(42, 33, 24, 0.46);
}

.website-hero__finder input:focus-visible {
  border-color: var(--autumn-copper);
  background: #fffdf9;
}

.website-hero__finder button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 54px;
  padding: 0 19px;
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border: 0;
  border-radius: 8px;
  font: 680 14px / 1 var(--autumn-sans);
  cursor: pointer;
  transition: background 180ms ease, transform 180ms ease;
}

.website-hero__finder button:hover,
.website-hero__finder button:focus-visible {
  background: var(--autumn-brown);
  transform: translateY(-1px);
}

.website-hero__finder button:focus-visible {
  outline: 3px solid var(--autumn-copper);
  outline-offset: 2px;
}

.website-hero__finder button b {
  font: 500 18px / 1 var(--autumn-sans);
}

.website-hero__finder > small {
  display: block;
  margin: 9px 5px 0;
  color: rgba(42, 33, 24, 0.56);
  font: 560 10px / 1.3 var(--autumn-sans);
}

.website-hero__finder[data-practice-finder-state="ready"] > small {
  color: var(--autumn-brown);
}

.website-hero__finder--final {
  flex: 0 1 540px;
  width: min(540px, 100%);
  margin: 0;
}

.website-final {
  align-items: center;
  gap: 56px;
  margin-top: 96px;
  margin-bottom: 72px;
  padding: 68px 72px;
  background:
    radial-gradient(circle at 88% 22%, rgba(239, 207, 142, 0.24), transparent 24rem),
    linear-gradient(135deg, #2a2118, #6f3c21);
  border-radius: 24px;
}

.website-final > div {
  max-width: 600px;
}

.website-final h2 {
  margin: 0 0 18px;
  font-size: clamp(44px, 4.5vw, 66px);
}

.website-final p {
  margin: 0;
}

.website-value-section {
  padding: 104px 24px;
  border-top: 1px solid var(--autumn-line);
}

.website-value-section--expertise {
  background: #f4ebe0;
}

.website-value-section__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  width: min(1160px, 100%);
  margin: 0 auto;
}

.website-value-section__media {
  min-height: 620px;
  overflow: hidden;
  background: var(--autumn-sand);
  border-radius: 22px;
}

.website-value-section__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
}

.website-value-section__copy {
  max-width: 760px;
}

.website-value-section__copy h2 {
  margin: 0 0 18px;
  font: 500 clamp(48px, 5.2vw, 70px) / 0.96 var(--autumn-serif);
  letter-spacing: -0.04em;
}

.website-value-section__copy > p:not(.marketing-eyebrow) {
  margin: 0;
  color: rgba(42, 33, 24, 0.68);
  font: 480 17px / 1.65 var(--autumn-sans);
}

.website-value-section__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(42, 33, 24, 0.12);
  border-bottom: 1px solid rgba(42, 33, 24, 0.12);
}

.website-value-section__list li {
  position: relative;
  min-height: 80px;
  padding: 22px 24px 22px 34px;
  border-right: 1px solid rgba(42, 33, 24, 0.12);
  font: 620 14px / 1.35 var(--autumn-sans);
}

.website-value-section__list li:last-child {
  border-right: 0;
}

.website-value-section__list li::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 10px;
  width: 8px;
  height: 8px;
  background: var(--autumn-copper);
  border-radius: 2px;
}

@media (max-width: 760px) {
  .website-hero--report {
    min-height: auto;
    padding: 113px 16px 42px;
  }

  .website-hero__glow {
    /* Clear air between the finder card and this panel: the card ends near 366px on a 390px
       viewport, so the panel starts well under it. */
    top: 396px;
    width: calc(100% - 28px);
    height: 630px;
    border-radius: 36px 36px 0 0;
  }

  .website-hero--report .website-hero__content h1 {
    max-width: 420px;
    font-size: clamp(38px, 10.5vw, 44px);
    line-height: 1.06;
    letter-spacing: -0.01em;
  }

  .website-report-stage {
    order: 2;
    width: 100%;
    height: 620px;
    margin-top: 44px;
  }

  .website-phone {
    width: min(294px, calc(100% - 28px));
    height: 620px;
    padding: 7px;
    border-radius: 52px;
    box-shadow: 0 28px 64px rgba(76, 44, 25, 0.34), inset 0 0 0 1px #050505, inset 0 0 0 3px rgba(255, 255, 255, 0.08);
  }

  .website-phone::before {
    inset: 2px;
    border-radius: 49px;
  }

  .website-phone__dynamic-island {
    top: 14px;
    width: 86px;
    height: 26px;
  }

  .website-phone__dynamic-island::after {
    top: 8px;
    right: 8px;
    width: 8px;
    height: 8px;
  }

  .website-phone__side-button {
    left: -4px;
    width: 3px;
  }

  .website-phone__side-button--action {
    top: 103px;
    height: 37px;
  }

  .website-phone__side-button--volume {
    top: 160px;
    height: 88px;
  }

  .website-phone__screen {
    border-radius: 45px;
  }

  .website-phone__topbar {
    height: 39px;
    padding: 0 22px;
    font-size: 8px;
  }

  .website-phone__panel {
    padding: 16px 14px 14px;
  }

  /* The site captures fill the screen edge to edge; the padding above is for the text panels. */
  .website-phone__panel--site {
    padding: 0;
  }

  .website-phone__metric small,
  .website-phone__findings small {
    font-size: 6px;
  }

  .website-phone__panel h2 {
    margin: 6px 0 13px;
    font-size: 22px;
  }

  .website-phone__metric {
    min-height: 65px;
    padding: 10px 0;
  }

  .website-phone__metric strong {
    max-width: 230px;
    font-size: 14px;
    line-height: 1.16;
  }

  .website-phone__findings {
    gap: 6px;
    margin-top: 8px;
  }

  .website-phone__findings article {
    grid-template-columns: 20px minmax(0, 1fr) auto;
    gap: 8px;
    min-height: 50px;
    padding: 8px 9px;
    border-radius: 8px;
  }

  .website-phone__findings i {
    width: 20px;
    height: 20px;
    font-size: 6px;
  }

  .website-phone__findings strong {
    font-size: 9px;
  }

  .website-phone__findings article > b {
    padding: 4px 5px;
    font-size: 6px;
  }

  .website-phone__next {
    padding-top: 10px;
    font-size: 6px;
  }

  .website-hero__finder {
    /* The finder is the CTA: on a phone it stays above the site-designs phone, in source order. */
    width: 100%;
    margin-top: 26px;
    padding: 9px;
    border-radius: 13px;
  }

  .website-hero__finder-control {
    gap: 7px;
  }

  .website-hero__finder input {
    height: 50px;
    padding: 0 12px;
    border-radius: 7px;
    font-size: 13px;
  }

  .website-hero__finder button {
    height: 50px;
    gap: 7px;
    padding: 0 13px;
    border-radius: 7px;
    font-size: 12px;
  }

  .website-hero__finder button b {
    font-size: 16px;
  }

  .website-hero__finder > small {
    margin: 7px 4px 0;
    font-size: 9px;
  }

  .website-hero__finder--final {
    flex: none;
    width: 100%;
    margin-top: 0;
  }

  .website-value-section {
    padding: 76px 16px;
  }

  .website-value-section__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .website-value-section__media,
  .website-value-section__image {
    min-height: 390px;
  }

  .website-value-section__media {
    border-radius: 18px;
  }

  .website-value-section__copy {
    max-width: none;
  }

  .website-value-section__copy h2,
  .website-final h2 {
    font-size: clamp(37px, 10.6vw, 44px);
    line-height: 0.98;
  }

  .website-value-section__copy > p:not(.marketing-eyebrow) {
    font-size: 15px;
  }

  .website-value-section__list {
    grid-template-columns: 1fr;
  }

  .website-value-section__list li {
    min-height: 0;
    padding: 16px 10px 16px 30px;
    border-right: 0;
    border-bottom: 1px solid rgba(42, 33, 24, 0.12);
  }

  .website-value-section__list li:last-child {
    border-bottom: 0;
  }

  .website-value-section__list li::before {
    top: 22px;
    left: 5px;
  }

  .website-final {
    align-items: stretch;
    gap: 26px;
    padding: 44px 22px;
    border-radius: 20px;
  }
}

@media (max-width: 360px) {
  .website-hero--report {
    padding-top: 105px;
  }

  .website-hero--report .website-hero__content h1 {
    max-width: 340px;
    font-size: 37px;
  }

  .website-hero__glow {
    top: 400px;
  }

  .website-report-stage {
    height: 560px;
    margin-top: 48px;
  }

  .website-phone {
    width: calc(100% - 28px);
    height: 560px;
  }

  .website-hero__finder {
    width: 100%;
  }

  .website-hero__finder input {
    font-size: 12px;
  }

  .website-hero__finder button {
    padding: 0 10px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .website-hero__rotator > span {
    animation: none;
  }

  .website-hero__rotator > span:first-child {
    opacity: 1;
    transform: none;
  }

  .website-phone__feed {
    animation: none;
    transform: none;
  }
}

/* Same-day payment (/factoring): one offer, one slider, one condition. */
.factoring-page {
  --factoring-gutter: max(40px, calc((100vw - 1340px) / 2));
}

.factoring-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(400px, 0.85fr);
  gap: clamp(36px, 5vw, 84px);
  align-items: center;
  min-height: 760px;
  padding: 154px var(--factoring-gutter) 96px;
  overflow: hidden;
  isolation: isolate;
}

.factoring-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 190px;
  background: linear-gradient(transparent, var(--autumn-cream));
}

.factoring-hero__atmosphere {
  position: absolute;
  inset: 72px 0 0;
  z-index: -2;
  background: url("/assets/backgrounds/horizon.webp") center / cover;
  opacity: 0.92;
  transform: scale(1.02);
}

.factoring-hero__atmosphere::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(246, 241, 230, 0.34), rgba(246, 241, 230, 0.08)),
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.55), transparent 38%);
}

.factoring-hero__copy {
  max-width: 760px;
}

.factoring-hero .marketing-eyebrow {
  margin-bottom: 38px;
}

.factoring-hero h1 {
  margin: 0;
  font: 300 clamp(52px, 5.6vw, 88px)/0.96 var(--autumn-serif);
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.factoring-hero h1 em {
  display: block;
  margin-top: 0.22em;
  color: var(--autumn-brown);
  font: normal 400 0.62em/1.02 var(--autumn-display);
  letter-spacing: -0.03em;
}

.factoring-hero__copy > p {
  max-width: 560px;
  margin: 30px 0 0;
  color: rgba(42, 33, 24, 0.76);
  font: 400 17px/1.6 var(--autumn-sans);
}

/* The free review is the first step and the reason to write in: set it apart from the pitch. */
.factoring-hero__copy > p.factoring-hero__review {
  margin-top: 22px;
  padding-left: 18px;
  border-left: 2px solid var(--autumn-brown);
  color: var(--autumn-ink);
  font-size: 16px;
}

.factoring-hero__actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 34px;
}

.factoring-ticket {
  position: relative;
  padding: 30px 32px 26px;
  background: rgba(251, 248, 241, 0.92);
  border: 1px solid var(--autumn-line);
  border-radius: 24px;
  box-shadow: var(--autumn-shadow);
  backdrop-filter: blur(14px);
  transition-delay: 140ms;
}

.factoring-ticket__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

.factoring-ticket__top span {
  color: rgba(42, 33, 24, 0.62);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.factoring-ticket__top output {
  font: 400 clamp(30px, 2.6vw, 40px)/1 var(--autumn-serif);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

.factoring-ticket__range {
  --fill: 17%;
  width: 100%;
  height: 28px;
  margin: 18px 0 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.factoring-ticket__range:focus-visible {
  outline: 2px solid var(--autumn-copper);
  outline-offset: 6px;
  border-radius: 99px;
}

.factoring-ticket__range::-webkit-slider-runnable-track {
  height: 4px;
  background: linear-gradient(90deg, var(--autumn-brown) var(--fill), rgba(42, 33, 24, 0.14) var(--fill));
  border-radius: 99px;
}

.factoring-ticket__range::-moz-range-track {
  height: 4px;
  background: rgba(42, 33, 24, 0.14);
  border-radius: 99px;
}

.factoring-ticket__range::-moz-range-progress {
  height: 4px;
  background: var(--autumn-brown);
  border-radius: 99px;
}

.factoring-ticket__range::-webkit-slider-thumb {
  width: 22px;
  height: 22px;
  margin-top: -9px;
  background: var(--autumn-cream);
  border: 2px solid var(--autumn-brown);
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(64, 43, 26, 0.22);
  appearance: none;
  -webkit-appearance: none;
  transition: transform 160ms ease;
}

.factoring-ticket__range::-moz-range-thumb {
  width: 22px;
  height: 22px;
  background: var(--autumn-cream);
  border: 2px solid var(--autumn-brown);
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(64, 43, 26, 0.22);
}

.factoring-ticket__range:active::-webkit-slider-thumb {
  transform: scale(1.15);
}

.factoring-ticket__split {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 20px;
  margin: 18px 0 0;
}

.factoring-ticket__split dt {
  color: rgba(42, 33, 24, 0.62);
  font: 500 12px/1.3 var(--autumn-sans);
}

.factoring-ticket__split dd {
  margin: 12px 0 0;
  font: 400 clamp(26px, 2.2vw, 34px)/1 var(--autumn-serif);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

.factoring-ticket__split .is-you dd {
  color: var(--autumn-green);
  font-size: clamp(34px, 3vw, 46px);
}

.factoring-ticket__split div:not(.is-you) dd {
  color: var(--autumn-copper);
}

.factoring-ticket__foot {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 22px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--autumn-soft-line);
  color: rgba(42, 33, 24, 0.66);
  font: 500 12px/1.4 var(--autumn-sans);
}

.factoring-ticket__foot span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--autumn-ink);
}

.factoring-ticket__foot b {
  font-weight: 600;
}

/* How it works: its own band, "How it works" as the headline, one walk from the audit to payment. */
.factoring-how {
  margin-top: 8px;
  padding: 96px var(--factoring-gutter) 104px;
  background: var(--autumn-paper);
  border-top: 1px solid var(--autumn-line);
  border-bottom: 1px solid var(--autumn-line);
}

.factoring-how__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(48px, 7vw, 120px);
  width: min(1340px, 100%);
  margin: 0 auto;
}

.factoring-how__heading {
  position: sticky;
  top: 130px;
  align-self: start;
}

.factoring-how__heading h2 {
  margin: 0;
  font: 300 clamp(48px, 5vw, 76px)/0.98 var(--autumn-serif);
  letter-spacing: -0.05em;
}

.factoring-how__heading .factoring-how__lede {
  max-width: 440px;
  margin: 22px 0 0;
  color: var(--autumn-brown);
  font: normal 400 clamp(22px, 1.9vw, 27px)/1.2 var(--autumn-display);
  letter-spacing: -0.02em;
}

.factoring-how__heading p:last-child {
  max-width: 420px;
  margin: 22px 0 0;
  color: rgba(42, 33, 24, 0.66);
  font: 400 15px/1.62 var(--autumn-sans);
}

.factoring-how__steps {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--autumn-line);
}

.factoring-how__step {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  padding: 34px 0;
  border-bottom: 1px solid var(--autumn-line);
}

/* A hairline runs down through the icons so the five steps read as one sequence. */
.factoring-how__step::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 21px;
  border-left: 1px solid rgba(111, 60, 33, 0.22);
}

.factoring-how__step:first-child::before {
  top: 34px;
}

.factoring-how__step:last-child::before {
  bottom: auto;
  height: 34px;
}

.factoring-how__step .lucide-icon--how {
  --lucide-size: 44px;
  color: var(--autumn-cream) !important;
  background: var(--autumn-brown);
  border-radius: 50%;
  box-shadow: 0 0 0 6px var(--autumn-paper);
}

.factoring-how__step .lucide-icon--how svg {
  width: 18px;
  height: 18px;
}

.factoring-how__label {
  display: block;
  margin-top: 12px;
  color: var(--autumn-copper);
  font: 600 12px/1 var(--autumn-sans);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.factoring-how__step h3 {
  margin: 8px 0 0;
  font: 400 clamp(24px, 2vw, 30px)/1.1 var(--autumn-serif);
  letter-spacing: -0.03em;
}

.factoring-how__step p {
  max-width: 560px;
  margin: 10px 0 0;
  color: rgba(42, 33, 24, 0.72);
  font: 400 15px/1.6 var(--autumn-sans);
}

.factoring-ticket__switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin: 0 0 22px;
  padding: 4px;
  background: rgba(42, 33, 24, 0.07);
  border-radius: 99px;
}

.factoring-ticket__switch button {
  min-height: 38px;
  padding: 0 14px;
  color: rgba(42, 33, 24, 0.62);
  background: transparent;
  border: 0;
  border-radius: 99px;
  font: 600 12.5px/1 var(--autumn-sans);
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background 200ms ease, color 200ms ease, box-shadow 200ms ease;
}

/* The lit tab carries the side's mood: With Autumn in the brand's warm copper-to-brown,
   Without Autumn in ink. */
.factoring-ticket__switch button[aria-selected="true"] {
  color: var(--autumn-cream);
  background: linear-gradient(135deg, var(--autumn-copper), var(--autumn-brown));
  box-shadow: 0 8px 20px rgba(111, 60, 33, 0.28);
}

.factoring-ticket[data-factoring-mode="without"] .factoring-ticket__switch button[aria-selected="true"] {
  background: var(--autumn-ink);
  box-shadow: 0 8px 20px rgba(42, 33, 24, 0.18);
}

.factoring-ticket__switch button:focus-visible {
  outline: 2px solid var(--autumn-copper);
  outline-offset: 2px;
}

.factoring-ticket__panels {
  display: grid;
}

/* Both panels share one grid cell, so the ticket keeps the taller panel's height
   and switching sides never makes the page jump. */
.factoring-ticket__panels > [data-factoring-panel] {
  grid-area: 1 / 1;
}

.factoring-ticket__panels > [data-factoring-panel][hidden] {
  display: block;
  visibility: hidden;
}

.factoring-clock {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-top: 22px;
}

/* In the Without panel the clock row stands in for the tier pills and the track for the
   split bar, with matching heights and margins, so toggling sides does not shift the bars. */
[data-factoring-panel="without"] .factoring-clock {
  min-height: 55px;
  margin-top: 14px;
  align-items: center;
}

.factoring-clock > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(42, 33, 24, 0.66);
  font: 500 12px/1.3 var(--autumn-sans);
}

.factoring-clock output {
  color: var(--autumn-copper);
  font: 400 clamp(30px, 2.6vw, 40px)/1 var(--autumn-serif);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

.factoring-clock--with {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--autumn-soft-line);
}

.factoring-clock--with output {
  color: var(--autumn-green);
}

.factoring-clock__track {
  height: 14px;
  margin-top: 22px;
  background: rgba(42, 33, 24, 0.08);
  border-radius: 99px;
  overflow: hidden;
}

.factoring-clock__track i {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, rgba(166, 93, 50, 0.45), var(--autumn-copper));
  border-radius: 99px;
}

.factoring-ticket__split--without {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.factoring-ticket__split--without dd {
  color: var(--autumn-ink);
  font-size: clamp(22px, 1.9vw, 28px);
}

.factoring-ticket__split--without .is-late dd {
  color: var(--autumn-copper);
}

.factoring-ticket__split--without .is-lost dd {
  color: #9b3a22;
}

.factoring-ticket__split--without dd small {
  display: block;
  margin-top: 4px;
  color: rgba(42, 33, 24, 0.55);
  font: 400 11px/1 var(--autumn-sans);
  letter-spacing: 0;
}

/* Quantity carries the story. Both scenes retain their complete resting state. */
.factoring-impact { width: min(1200px, calc(100% - 80px)); margin: 110px auto 0; }
.factoring-impact__heading { margin-bottom: 64px; }
.factoring-impact__heading h2 { margin: 20px 0 0; font: 350 clamp(40px, 4.8vw, 64px)/1.06 var(--autumn-serif); letter-spacing: -.04em; }
.factoring-impact__chapter { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; padding: 56px 0; }
.factoring-impact__index { color: #755034; font: 600 11px/1.5 var(--autumn-sans); text-transform: uppercase; letter-spacing: .13em; }
.factoring-impact h3 { margin: 24px 0; font: 400 clamp(32px, 3.5vw, 46px)/1.08 var(--autumn-serif); letter-spacing: -.035em; }
.factoring-impact__copy p { max-width: 390px; color: #655345; font: 400 16px/1.65 var(--autumn-sans); }
.factoring-impact__copy .factoring-impact__thought { color: var(--autumn-ink); font-weight: 600; margin-top: 28px; }
.time-study, .cash-study { padding: 32px 36px 24px; border-radius: 8px; position: relative; overflow: hidden; }
.time-study { background: linear-gradient(140deg, #e8ebdf, #f1f0e6); }
.cash-study { background: linear-gradient(140deg, #eee1ce, #f5ebdc); }
.impact-study__eyebrow { color: #5e4937; font: 500 13px/1.5 var(--autumn-sans); }
.time-study__week { display: flex; gap: 14px; margin-top: 26px; }
.time-study__day { flex: 1; text-align: center; color: #655345; font: 500 11px/1.5 var(--autumn-sans); }
.time-study__column { display: flex; flex-direction: column; gap: 4px; margin: 12px 0 8px; }
.time-study__column i, .time-study__column b { display: block; height: 16px; border-radius: 2px; background: #d3d8c9; }
.time-study__column b { background: #805033; transform-origin: bottom; }
.time-study__day strong { color: #70462d; font-weight: 600; }
.time-study__total { margin-top: 25px; display: flex; align-items: center; gap: 18px; color: #4d5143; font: 400 13px/1.5 var(--autumn-sans); }
.time-study__total > strong { display: flex; flex-shrink: 0; align-items: baseline; gap: 10px; margin: 0; color: #344536; font: 400 76px/1.1 var(--autumn-serif); letter-spacing: -.06em; }
.time-study__total > span { max-width: 210px; }
.time-study__total strong span { font-size: 36px; letter-spacing: -.03em; }
.impact-study__legend { display: flex; align-items: center; gap: 7px; margin-top: 23px; color: #5a5044; font: 400 10px/1.5 var(--autumn-sans); }
.impact-study__legend i { width: 8px; height: 8px; background: #805033; }
.impact-study__legend > span { margin-left: auto; }
.impact-study__note { margin: 15px 0 0; color: #665443; font: 400 11px/1.6 var(--autumn-sans); }
.cash-study__fee { margin: 6px 0 30px; color: #35523b; font: 400 clamp(64px, 7vw, 92px)/1.1 var(--autumn-serif); letter-spacing: -.055em; }
.cash-study__ruler { display: flex; justify-content: space-between; color: #70563f; font: 400 10px/1.4 var(--autumn-sans); margin-bottom: 8px; }
.cash-study__track { height: 48px; background: repeating-linear-gradient(90deg, transparent 0, transparent calc(10% - 1px), #b9a187 calc(10% - 1px), #b9a187 10%), #e0cfb8; border: 1px solid #b9a187; position: relative; }
.cash-study__paid { width: 7.1%; height: 100%; background: #a34035; transform-origin: left; }
.cash-study__receipt { position: relative; padding-top: 30px; color: #a34035; display: flex; flex-direction: column; }
.cash-study__stem { position: absolute; height: 25px; top: 0; left: 3.55%; border-left: 1px solid #a34035; }
.cash-study__receipt strong { font: 400 62px/1.05 var(--autumn-serif); letter-spacing: -.05em; }
.cash-study__receipt > span { font: 500 12px/1.6 var(--autumn-sans); }
.cash-study__thought { margin: 22px 0 0; color: #70492f; font: 400 23px/1.2 var(--autumn-serif); }
.cash-study__gap { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
/* Reveal the same anchored units in reading order, then stop. */
.is-playing .time-study__column b { animation: time-accrue .65s calc(var(--day) * .42s) ease-out both; }
.is-playing .time-study__total { animation: impact-ink .6s 2.1s ease both; }
.is-playing .cash-study__paid { animation: payment-measure 1.6s .4s cubic-bezier(.22,1,.36,1) both; }
.is-playing .cash-study__receipt { animation: impact-ink .6s 1.4s ease both; }
@keyframes time-accrue { from { opacity: .15; transform: scaleY(.15); } to { opacity: 1; transform: scaleY(1); } }
@keyframes payment-measure { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes impact-ink { from { opacity: .15; } to { opacity: 1; } }
@media (max-width: 900px) { .factoring-impact__chapter { gap: 32px; } .time-study, .cash-study { padding: 26px; } }
@media (max-width: 700px) {
 .factoring-impact { width: calc(100% - 40px); margin-top: 70px; }
 .factoring-impact__heading { margin-bottom: 32px; }
 .factoring-impact__chapter { grid-template-columns: 1fr; gap: 24px; padding: 36px 0; }
 .factoring-impact h3 { max-width: 460px; }
 .time-study__week { gap: 10px; }
 .time-study__total { gap: 14px; }
 .time-study__total > strong { font-size: 56px; gap: 7px; }
 .time-study__total strong span { font-size: 27px; }
 .time-study__total > span { font-size: 12px; }
 .time-study, .cash-study { padding: 26px 22px; }
}
@media (prefers-reduced-motion: reduce) { .factoring-impact [data-impact-scene] * { animation: none !important; } }

.factoring-final {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  width: min(1340px, calc(100% - 64px));
  margin: 96px auto 120px;
  padding: 60px 72px;
  color: var(--autumn-cream);
  background:
    radial-gradient(circle at 88% 10%, rgba(217, 179, 106, 0.16), transparent 22rem),
    var(--autumn-ink);
  border-radius: 30px;
}

.factoring-final h2 {
  margin: 0;
  font: 350 clamp(34px, 3.6vw, 54px)/1.04 var(--autumn-serif);
  letter-spacing: -0.04em;
}

.factoring-final p {
  margin: 14px 0 0;
  color: rgba(246, 241, 230, 0.68);
  font: 400 15px/1.6 var(--autumn-sans);
}

/* Free claims review (/claims-review): a standalone page, linked from other pages, never from the nav. */
.review-page {
  --review-gutter: max(40px, calc((100vw - 1340px) / 2));
}

.review-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: clamp(36px, 5vw, 84px);
  align-items: center;
  min-height: 640px;
  padding: 154px var(--review-gutter) 96px;
  overflow: hidden;
  isolation: isolate;
}

.review-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 190px;
  background: linear-gradient(transparent, var(--autumn-cream));
}

.review-hero__atmosphere {
  position: absolute;
  inset: 72px 0 0;
  z-index: -2;
  background: url("/assets/backgrounds/still-water.webp") center / cover;
  opacity: 0.9;
  transform: scale(1.02);
}

.review-hero__atmosphere::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(246, 241, 230, 0.4), rgba(246, 241, 230, 0.1)),
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.55), transparent 38%);
}

.review-hero__copy {
  max-width: 720px;
}

.review-hero .marketing-eyebrow {
  margin-bottom: 34px;
}

.review-hero h1 {
  margin: 0;
  font: 300 clamp(46px, 5vw, 78px)/0.98 var(--autumn-serif);
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.review-hero h1 em {
  display: block;
  margin-top: 0.24em;
  color: var(--autumn-brown);
  font: normal 400 0.6em/1.05 var(--autumn-display);
  letter-spacing: -0.03em;
}

.review-hero__copy > p {
  max-width: 560px;
  margin: 28px 0 0;
  color: rgba(42, 33, 24, 0.76);
  font: 400 17px/1.6 var(--autumn-sans);
}

.review-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  margin-top: 34px;
}

.review-hero__card {
  padding: 28px 30px 26px;
  background: rgba(251, 248, 241, 0.92);
  border: 1px solid rgba(42, 33, 24, 0.1);
  border-radius: 22px;
  box-shadow: 0 30px 70px rgba(42, 33, 24, 0.14);
}

.review-hero__card-title {
  display: block;
  padding-bottom: 16px;
  color: rgba(42, 33, 24, 0.55);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.17em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--autumn-line);
}

.review-hero__card dl {
  margin: 0;
}

.review-hero__card dl > div {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--autumn-line);
}

.review-hero__card dl > div:last-child {
  border-bottom: 0;
}

.review-hero__card dt {
  color: rgba(42, 33, 24, 0.55);
  font: 500 13px/1.5 var(--autumn-sans);
}

.review-hero__card dd {
  margin: 0;
  font: 400 15px/1.5 var(--autumn-sans);
}

.review-section {
  width: min(1340px, calc(100% - 80px));
  margin: 0 auto;
  padding: 88px 0;
}

.review-section--band {
  width: 100%;
  padding-inline: var(--review-gutter);
  background: var(--autumn-paper);
  border-top: 1px solid var(--autumn-line);
  border-bottom: 1px solid var(--autumn-line);
}

.review-section--band > * {
  max-width: 1340px;
  margin-inline: auto;
}

.review-section--band > .review-section__heading {
  margin-inline: 0;
}

.review-section__heading {
  max-width: 720px;
}

.review-section__heading h2 {
  margin: 0;
  font: 300 clamp(36px, 3.8vw, 58px)/1.02 var(--autumn-serif);
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.review-section__heading p:last-child {
  max-width: 600px;
  margin: 20px 0 0;
  color: rgba(42, 33, 24, 0.7);
  font: 400 16px/1.6 var(--autumn-sans);
}

.review-options {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
  margin-top: 40px;
}

/* The "or" between the two options: one is enough, and the practice picks. */
.review-options__or {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.review-options__or::before {
  content: "";
  position: absolute;
  top: 24px;
  bottom: 24px;
  left: 50%;
  border-left: 1px dashed rgba(111, 60, 33, 0.35);
}

.review-options__or span {
  position: relative;
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  color: var(--autumn-cream);
  background: var(--autumn-brown);
  border-radius: 50%;
  font: normal 400 18px/1 var(--autumn-display);
}

.review-option__label {
  display: inline-block;
  margin-bottom: 18px;
  padding: 6px 10px;
  color: var(--autumn-brown);
  background: rgba(111, 60, 33, 0.08);
  border-radius: 999px;
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.review-option .lucide-icon--term {
  display: inline-grid;
}

.review-option__label + .lucide-icon--term {
  margin-left: 12px;
  vertical-align: middle;
}

/* Safety: the one section a nervous owner scrolls to. Dark, so it cannot be missed. */
.review-safety {
  padding: 96px var(--review-gutter) 104px;
  color: var(--autumn-cream);
  background:
    radial-gradient(circle at 88% 10%, rgba(217, 179, 106, 0.16), transparent 22rem),
    var(--autumn-ink);
}

.review-safety__heading {
  max-width: 820px;
}

.review-safety__heading .marketing-eyebrow {
  color: rgba(217, 179, 106, 0.95);
}

.review-safety__heading h2 {
  margin: 0;
  font: 300 clamp(38px, 4.2vw, 64px)/1.02 var(--autumn-serif);
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.review-safety__heading p:last-child {
  max-width: 680px;
  margin: 22px 0 0;
  color: rgba(246, 241, 230, 0.74);
  font: 400 16px/1.62 var(--autumn-sans);
}

.review-safety__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 52px 0 0;
  padding: 0;
  list-style: none;
}

.review-safety__item {
  padding: 28px 28px 30px;
  background: rgba(246, 241, 230, 0.06);
  border: 1px solid rgba(246, 241, 230, 0.14);
  border-radius: 20px;
}

.review-safety__item .lucide-icon--term {
  --lucide-size: 40px;
  color: var(--autumn-ink) !important;
  background: rgba(217, 179, 106, 0.95);
  border-radius: 12px;
}

.review-safety__item .lucide-icon--term svg {
  width: 18px;
  height: 18px;
}

.review-safety__item h3 {
  margin: 18px 0 0;
  font: 400 clamp(22px, 1.8vw, 26px)/1.15 var(--autumn-serif);
  letter-spacing: -0.02em;
}

.review-safety__item p {
  margin: 10px 0 0;
  color: rgba(246, 241, 230, 0.74);
  font: 400 14px/1.6 var(--autumn-sans);
}

.review-option {
  padding: 34px 34px 32px;
  background: var(--autumn-paper);
  border: 1px solid var(--autumn-line);
  border-radius: 24px;
}

.review-option .lucide-icon--term {
  --lucide-size: 40px;
  color: var(--autumn-brown) !important;
  background: rgba(111, 60, 33, 0.08);
  border-radius: 12px;
}

.review-option .lucide-icon--term svg {
  width: 18px;
  height: 18px;
}

.review-option h3 {
  margin: 20px 0 0;
  font: 400 clamp(24px, 2vw, 30px)/1.1 var(--autumn-serif);
  letter-spacing: -0.03em;
}

.review-option p {
  margin: 12px 0 0;
  color: rgba(42, 33, 24, 0.72);
  font: 400 15px/1.6 var(--autumn-sans);
}

.review-option ul {
  margin: 22px 0 0;
  padding: 18px 0 0;
  list-style: none;
  border-top: 1px solid var(--autumn-line);
}

.review-option li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 6px 0;
  font: 500 14px/1.5 var(--autumn-sans);
}

.review-option li .lucide-icon--inline {
  --lucide-size: 18px;
  flex: none;
  margin-top: 1px;
}

.review-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 36px 0 0;
  padding: 0;
  list-style: none;
}

.review-check {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  padding: 14px 22px 14px 16px;
  background: var(--autumn-paper);
  border: 1px solid var(--autumn-line);
  border-radius: 999px;
}

.review-check h3 {
  margin: 0;
  font: 400 21px/1 var(--autumn-serif);
  letter-spacing: -0.02em;
}

.review-report {
  position: relative;
  max-width: 760px;
  margin: 44px 0 0;
  padding: 34px 38px 38px;
  background:
    linear-gradient(rgba(42, 33, 24, 0.035) 1px, transparent 1px) 0 76px / 100% 34px,
    var(--autumn-paper);
  border: 1px solid var(--autumn-line);
  border-radius: 4px 24px 24px 4px;
  box-shadow: 0 30px 70px rgba(42, 33, 24, 0.14);
}

.review-report::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 18px;
  width: 1px;
  background: rgba(166, 93, 50, 0.2);
}

.review-report header {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(42, 33, 24, 0.14);
}

.review-report header span {
  font: 400 20px/1 var(--autumn-display);
}

.review-report header b {
  color: rgba(42, 33, 24, 0.55);
  font: 600 9px/1 var(--autumn-sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.review-report h3 {
  margin: 28px 0 24px;
  font: 400 clamp(30px, 3vw, 42px)/1.03 var(--autumn-serif);
  letter-spacing: -0.035em;
}

.review-report ol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(42, 33, 24, 0.13);
  border-left: 1px solid rgba(42, 33, 24, 0.13);
}

.review-report li {
  min-height: 132px;
  padding: 20px 18px;
  border-right: 1px solid rgba(42, 33, 24, 0.13);
  border-bottom: 1px solid rgba(42, 33, 24, 0.13);
}

.review-report li strong {
  display: block;
  font: 550 15px/1.3 var(--autumn-sans);
}

.review-report li p {
  margin: 8px 0 0;
  color: rgba(42, 33, 24, 0.64);
  font: 350 13px/1.5 var(--autumn-sans);
}

.review-next {
  padding: 24px var(--review-gutter) 8px;
}

.review-next__inner {
  max-width: 1340px;
  margin: 0 auto;
  padding: 72px 72px 76px;
  color: var(--autumn-ink);
  background:
    radial-gradient(circle at 88% 12%, rgba(166, 93, 50, 0.09), transparent 22rem),
    var(--autumn-paper);
  border: 1px solid rgba(111, 60, 33, 0.22);
  border-radius: 30px;
}

.review-next__inner .marketing-eyebrow {
  margin-bottom: 20px;
}

.review-next__inner h2 {
  max-width: 900px;
  margin: 0;
  font: 300 clamp(40px, 4.6vw, 68px)/1.02 var(--autumn-serif);
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.review-next__inner > p:last-of-type {
  max-width: 620px;
  margin: 22px 0 0;
  color: rgba(42, 33, 24, 0.72);
  font: 400 16px/1.62 var(--autumn-sans);
}

.review-next__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  margin-top: 38px;
}

.review-next__cta {
  padding: 20px 34px;
  font-size: 16px;
}

.review-next__aside {
  color: var(--autumn-brown);
  font: normal 400 19px/1 var(--autumn-display);
}

.factoring-hero__review a {
  color: var(--autumn-brown);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.factoring-how__link {
  gap: 8px;
  min-height: 44px;
  margin-top: 18px;
  padding: 0 22px;
  color: var(--autumn-brown);
  background: rgba(111, 60, 33, 0.07);
  border-color: rgba(111, 60, 33, 0.45);
}

.factoring-how__link:hover,
.factoring-how__link:focus-visible {
  color: var(--autumn-cream);
  background: var(--autumn-brown);
  border-color: var(--autumn-brown);
}

@media (max-width: 1000px) {
  .review-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-top: 128px;
  }
  .review-options {
    grid-template-columns: 1fr;
  }
  .review-options__or {
    height: 56px;
  }
  .review-options__or::before {
    top: 50%;
    right: 0;
    bottom: auto;
    left: 0;
    border-left: 0;
    border-top: 1px dashed rgba(111, 60, 33, 0.35);
  }
  .review-safety__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .review-page {
    --review-gutter: 20px;
  }
  .review-hero {
    padding-inline: 20px;
  }
  .review-hero .marketing-eyebrow {
    margin-bottom: 26px;
  }
  .review-hero__card {
    padding: 22px 20px 18px;
  }
  .review-hero__card dl > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .review-section {
    width: calc(100% - 40px);
    padding: 60px 0;
  }
  .review-section--band {
    width: 100%;
  }
  .review-option {
    padding: 26px 22px 24px;
  }
  .review-safety {
    padding: 64px 20px 72px;
  }
  .review-next__inner {
    padding: 44px 26px 48px;
    border-radius: 24px;
  }
  .review-safety__grid {
    grid-template-columns: 1fr;
  }
  .review-report {
    padding: 24px 20px 26px;
  }
  .review-report ol {
    grid-template-columns: 1fr;
  }
}

/* Lead modal: the home page form, opened in place on interior routes. */
.lead-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.lead-modal[hidden] {
  display: none;
}

.lead-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(36, 27, 18, 0.44);
  backdrop-filter: blur(6px);
}

.lead-modal__panel {
  position: relative;
  width: 100%;
  max-width: 440px;
  max-height: calc(100vh - 40px);
  padding: 34px 34px 30px;
  overflow: auto;
  background: var(--autumn-cream);
  border: 1px solid rgba(42, 33, 24, 0.1);
  border-radius: 24px;
  box-shadow: 0 30px 90px rgba(36, 27, 18, 0.34);
}

.lead-modal__close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 38px;
  height: 38px;
  padding: 0;
  color: #6f5d48;
  background: transparent;
  border: 0;
  font: 400 26px/1 var(--autumn-sans);
  cursor: pointer;
}

.lead-modal__brand {
  font: 400 24px/1 var(--autumn-display);
  color: #8a5a28;
}

.lead-modal__title {
  margin: 16px 0 0;
  color: #8a5a28;
  font: 500 12px/1 var(--autumn-sans);
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.lead-modal__copy {
  margin: 14px 0 20px;
  color: #57493a;
  font: 300 14px/1.6 var(--autumn-sans);
}

.lead-modal--rate .lead-modal__brand { font-size: 20px; }
.lead-modal--rate .lead-modal__title {
  color: var(--autumn-ink);
  font: 400 36px/1.15 var(--autumn-display);
  letter-spacing: -0.02em;
  text-transform: none;
  text-wrap: balance;
}
.lead-modal--rate .lead-modal__copy { font-size: 16px; line-height: 1.5; }
.lead-modal--rate .lead-modal__submit { min-height: 48px; font-size: 18px; }
@media (max-width: 600px) {
  .lead-modal--rate .lead-modal__title { font-size: 32px; }
}

.lead-modal__form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lead-modal__form input,
.lead-modal__form select {
  padding: 13px 15px;
  color: var(--autumn-ink);
  background: #fff;
  border: 1px solid rgba(42, 33, 24, 0.16);
  border-radius: 12px;
  font: 400 14.5px/1.3 var(--autumn-sans);
  outline: none;
}

.lead-modal__form select {
  color: #57493a;
}

.lead-modal__form input:focus-visible,
.lead-modal__form select:focus-visible,
.lead-modal__submit:focus-visible {
  outline: 3px solid rgba(138, 90, 40, 0.28);
  outline-offset: 2px;
}

.lead-modal__turnstile {
  min-height: 0;
}

.lead-modal__verification {
  min-height: 17px;
  margin: 0;
  color: #6f5d48;
  font: 400 12px/1.4 var(--autumn-sans);
}

.lead-modal__submit {
  margin-top: 6px;
  padding: 15px;
  color: var(--autumn-cream);
  background: var(--autumn-ink);
  border: 0;
  border-radius: 99px;
  font: 600 15px/1 var(--autumn-sans);
  cursor: pointer;
}

.lead-modal__submit:disabled {
  opacity: 0.7;
  cursor: default;
}

.lead-modal__error {
  margin: 0;
  padding: 10px 12px;
  color: #7c2f1d;
  background: rgba(155, 58, 34, 0.07);
  border: 1px solid rgba(155, 58, 34, 0.28);
  border-radius: 12px;
  font: 400 12.5px/1.5 var(--autumn-sans);
}

.lead-modal__error[hidden] {
  display: none;
}

.lead-modal__hipaa {
  display: block;
  margin-top: 12px;
  color: #6f5d48;
  font: 400 11.5px/1 var(--autumn-sans);
  text-align: center;
}

.lead-modal__thanks {
  padding: 20px 0;
  text-align: center;
}

.lead-modal__thanks-title {
  margin: 0;
  color: #8a5a28;
  font: 400 34px/1.1 var(--autumn-serif);
}

.lead-modal__thanks p:last-child {
  max-width: 300px;
  margin: 12px auto 0;
  color: #57493a;
  font: 300 15px/1.65 var(--autumn-sans);
}

@media (max-width: 1000px) {
  .factoring-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-top: 128px;
  }
  .factoring-how {
    padding-top: 72px;
    padding-bottom: 72px;
  }
  .factoring-how__inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .factoring-how__heading {
    position: static;
  }
  .factoring-final {
    flex-direction: column;
    align-items: flex-start;
    padding: 44px 36px;
  }
}

@media (max-width: 640px) {
  .factoring-page {
    --factoring-gutter: 20px;
  }
  .factoring-hero {
    padding-inline: 20px;
  }
  .factoring-hero .marketing-eyebrow {
    margin-bottom: 26px;
  }
  .factoring-how {
    padding-top: 56px;
    padding-bottom: 56px;
  }
  .factoring-how__step {
    gap: 16px;
    padding: 26px 0;
  }
  .factoring-hero__actions {
    flex-wrap: wrap;
  }
  .factoring-ticket {
    padding: 24px 20px 20px;
  }
  .factoring-ticket__split {
    grid-template-columns: 1fr;
  }
  .factoring-ticket__foot {
    flex-direction: column;
  }
  .factoring-ticket__split--without {
    grid-template-columns: 1fr;
  }
  .factoring-final {
    width: calc(100% - 40px);
    margin-top: 64px;
    padding: 36px 24px;
  }
  .lead-modal__panel {
    padding: 28px 22px 24px;
  }
}

/* /factoring With side: claims sold up top, then the three Without figures at zero with the
   old number struck through beside each, and the rate behind a "See your rate" button. */
.factoring-ticket__split.factoring-clear__zeros div:not(.is-you) dd {
  display: flex;
  align-items: baseline;
  gap: 10px;
  color: var(--autumn-green);
}

.factoring-clear__zeros dd b {
  font-weight: 400;
}

.factoring-clear__zeros dd s,
.factoring-clear__was {
  color: rgba(42, 33, 24, 0.42);
  font: 400 0.5em/1 var(--autumn-serif);
  letter-spacing: 0;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  white-space: nowrap;
}

.factoring-clear__was {
  margin-left: 10px;
}

.factoring-clear__cta {
  width: 100%;
  margin-top: 22px;
  cursor: pointer;
}

/* The lead form eases in: backdrop fades, panel rises. is-open lands one frame after the
   modal is shown; close removes it and hides after the transition (initializeLeadModal). */
.lead-modal__backdrop {
  opacity: 0;
  transition: opacity 360ms ease;
}

.lead-modal__panel {
  opacity: 0;
  transform: translateY(26px) scale(0.975);
  transition: opacity 340ms ease, transform 460ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.lead-modal.is-open .lead-modal__backdrop {
  opacity: 1;
}

.lead-modal.is-open .lead-modal__panel {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .lead-modal__backdrop,
  .lead-modal__panel {
    transition: none;
  }
}

/* FAQ page (/company/faq), the entity home.

   Nothing here is a new component. The hero aside is a .marketing-visual like every other
   page's, the fact terms are .marketing-eyebrow, each group heading follows the
   .marketing-cards__heading pattern, and the page closes on the shared related row. What
   is left is the Q&A pair itself, typed the way the system types a title and its body:
   light serif for the question, quiet sans for the answer. */
.marketing-visual--faq {
  align-self: center;
  min-height: 0;
  padding: clamp(30px, 3vw, 42px);
}

.faq-facts {
  display: grid;
  gap: 24px;
  margin: 0;
}

.faq-fact dt {
  margin: 0 0 6px;
}

.faq-fact dd {
  margin: 0;
  color: var(--autumn-ink);
  font: 300 21px/1.28 var(--autumn-serif);
  letter-spacing: -0.02em;
}

.faq-group {
  padding-top: clamp(72px, 8vw, 118px);
}

.faq-group__heading {
  margin-bottom: clamp(40px, 4.5vw, 64px);
}

.faq-group__heading h2 {
  max-width: 900px;
  text-wrap: balance;
}

.faq-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(40px, 4.5vw, 66px) clamp(40px, 5vw, 96px);
}

.faq-item h3 {
  max-width: 480px;
  margin: 0 0 16px;
  font: 300 clamp(25px, 2.2vw, 31px)/1.08 var(--autumn-serif);
  letter-spacing: -0.035em;
}

.faq-item p {
  max-width: 540px;
  margin: 0;
  color: rgba(42, 33, 24, 0.66);
  font: 400 15px/1.7 var(--autumn-sans);
}

.faq-item a {
  color: var(--autumn-brown);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.faq-item a:hover,
.faq-item a:focus-visible {
  color: var(--autumn-copper);
}

/* The related row follows an answer, not a section break, so it needs its own air. */
.marketing-main--faq .marketing-related {
  padding-top: clamp(72px, 8vw, 118px);
}

.marketing-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 18px;
}

.marketing-footer__social a {
  color: rgba(42, 33, 24, 0.64);
  font: 600 10px/1 var(--autumn-sans);
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}

.marketing-footer__social a:hover,
.marketing-footer__social a:focus-visible {
  color: var(--autumn-brown);
}

@media (max-width: 900px) {
  .faq-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Instant Payments uses upright headings throughout the campaign. */
.marketing-page--instant-payments { --autumn-display: var(--autumn-serif); }
.instant-payments-page .factoring-how__lede {
  font-family: var(--autumn-serif);
  font-style: normal;
}

/* Automatic claims-to-deposit illustration. Keep final values together by breakpoint. */
.instant-payments-page .factoring-hero { grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr); gap: 44px; }
.instant-payments-page .factoring-hero h1 { font-size: clamp(48px, 4.7vw, 72px); line-height: 1.02; }
.instant-claims { --deposit-green: #526747; min-width: 0; border: 1px solid #dfded2; box-shadow: 0 24px 65px #584a3221; font-family: var(--autumn-sans); overflow: hidden; background: #faf7f0; color: #2a2118; border-color: #2a211814; border-radius: 26px; position: relative; isolation: isolate; }
.instant-claims__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 23px; border-bottom: 1px solid #e6e4d9; background: #fffdf9; border-color: #2a211814; }
.instant-claims__bar > span { display: flex; align-items: center; gap: 8px; font: 400 24px/1 var(--autumn-serif); }
.instant-claims__bar img { width: 19px; height: 23px; object-fit: contain; }
.instant-claims__bar small { font-size: 11px; color: #676c55; text-align: right; }
.instant-claims__bar small span { display: block; margin-top: 3px; color: #999986; font-size: 9px; }
.instant-claims__heading { margin: 22px 22px 15px; margin-bottom: 20px; }
.instant-claims__heading h2 { font: 500 27px/1.1 var(--autumn-serif); margin: 0; letter-spacing: -.7px; }
.instant-claims__table { margin: 0 15px; border: 1px solid #dfdfd2; overflow: hidden; background: #fffdf9; border-color: #2a211814; border-radius: 18px; margin-inline: 20px; }
.instant-claims table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
.instant-claims th, .instant-claims td { padding: 16px 14px; text-align: left; vertical-align: middle; }
.instant-claims thead th { padding-block: 10px; font-weight: 500; border-bottom: 1px solid #e9e7df; color: #84714f; font-size: 11px; }
.instant-claims th:first-child { width: 34%; }
.instant-claims th:nth-child(2) { width: 32%; }
.instant-claims tbody tr + tr { border-top: 1px solid #e9e7df; }
.instant-claims tbody th strong { font-size: 12px; font-weight: 500; }
.instant-claims tbody small { display: block; margin-top: 5px; font-size: 10px; line-height: 1.5; font-weight: 400; color: #84714f; }
.instant-claims__expected { display: block; width: fit-content; min-width: 70px; padding: 4px 9px; background: #eff7f9; border-radius: 5px; font-weight: 500; color: #57493a; }
.instant-claims__offer strong { display: block; width: fit-content; min-width: 70px; padding: 4px 9px; background: #edf6ed; border-radius: 5px; font-size: 15px; font-weight: 600; color: #4c7a4c; }
.instant-claims__deposit-stage { position: relative; height: 104px; margin: 16px 20px 20px; }
.instant-demo-action { position: absolute; inset: 0; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; transition: opacity .25s ease; padding: 16px 0; }
.instant-demo-action__summary { display: grid; gap: 6px; color: #84714f; font-size: 12px; }
.instant-demo-action__summary strong { font-size: 23px; font-weight: 500; color: #2a2118; font-variant-numeric: tabular-nums; }
.instant-demo-pay { position: relative; display: inline-flex; align-items: center; padding: 13px 19px; border-radius: 99px; background: #8a5a28; color: #fffdf9; font-size: 13px; font-weight: 600; transition: transform .15s ease, background .15s ease; }
.instant-demo-cursor { position: absolute; width: 26px; height: 33px; top: 25px; left: 60%; z-index: 2; opacity: 0; transform: translate(45px, 95px); filter: drop-shadow(0 2px 2px #2a211830); }
.instant-demo-click { position: absolute; top: 27px; left: 60%; width: 12px; height: 12px; border: 2px solid #8a5a28; border-radius: 50%; opacity: 0; }
.instant-claims[data-payment-phase="pointing"] .instant-demo-cursor { animation: autumn-cursor 1.2s cubic-bezier(.22,1,.36,1) forwards; }
.instant-claims[data-payment-phase="sending"] .instant-demo-cursor { opacity: 1; transform: translate(0,0); }
.instant-claims[data-payment-phase="sending"] .instant-demo-pay { animation: autumn-press .35s ease; background: #6f471e; }
.instant-claims[data-payment-phase="sending"] .instant-demo-click { animation: autumn-click .6s ease-out; }
.instant-claims[data-payment-phase="deposited"] .instant-demo-action { opacity: 0; visibility: hidden; }
.instant-deposit { position: absolute; display: flex; flex-direction: column; background: #fff; color: #111; inset: 0; z-index: 3; border: 0; border-radius: inherit; box-shadow: none; padding: 32px; transform: translateX(100%); opacity: 1; visibility: hidden; transition: transform 1.6s cubic-bezier(.22,1,.36,1), visibility 1.6s; }
.instant-deposit__main { align-items: center; display: flex; flex: 1; flex-direction: column; justify-content: center; padding: 22px 0; text-align: center; gap: 20px; }
.instant-deposit__check { display: grid; place-items: center; flex-shrink: 0; width: 42px; height: 42px; border: 0; border-radius: 10px; background: #f2fbf8; }
.instant-deposit__check svg { width: 25px; height: 25px; }
.instant-deposit__check path { stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 30; stroke-dashoffset: 30; stroke: #507c75; stroke-width: 1.5; }
.instant-deposit__main p { margin: 0; color: #6b6b6b; font: 400 13px/1.5 var(--autumn-sans); }
.instant-deposit__main strong { display: block; font-variant-numeric: tabular-nums; color: #111; font: 600 42px/1.15 var(--autumn-sans); letter-spacing: -1.2px; margin: 7px 0 10px; font-size: 48px; }
.instant-deposit__main strong > span { color: inherit; }
.instant-claims[data-payment-phase="deposited"] .instant-deposit { opacity: 1; visibility: visible; transform: translateX(0); }
.instant-claims[data-payment-phase="deposited"] .instant-deposit__check path { stroke-dashoffset: 0; transition: stroke-dashoffset .4s ease .25s; transition-delay: 1s; }
.instant-claims[data-payment-phase="deposited"] [data-demo-row-status] { color: #73855c; }
.instant-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.instant-claims .lucide-icon { color: inherit; }
.instant-claims thead { background: #f3efe5; }
.instant-claims th:not(:first-child), .instant-claims td { text-align: right; }
.instant-claims__expected, .instant-claims__offer strong { margin-left: auto; padding: 0; background: transparent; font-size: 16px; font-variant-numeric: tabular-nums; }
.instant-deposit .lucide-icon svg { color: inherit; stroke: currentColor; }
.instant-deposit__brand { display: flex; align-items: center; justify-content: center; gap: 5px; color: #111; font: 20px/1 var(--autumn-serif); }
.instant-deposit__brand img { width: 13px; height: 17px; filter: grayscale(1) brightness(.2); }
.instant-deposit__main p.instant-deposit__title { color: #111; font-size: 19px; font-weight: 600; }
.instant-deposit__complete { display: grid; place-items: center; min-height: 44px; border-radius: 6px; background: #0a0a0a; color: #fff; font: 500 14px/1.2 var(--autumn-sans); }
.instant-claims__scene { transition: transform 1.5s cubic-bezier(.22,1,.36,1), opacity 1s ease; }
.instant-claims[data-payment-phase="deposited"] .instant-claims__scene { transform: translateX(-12%); opacity: 0; pointer-events: none; }
.instant-claims:has(.instant-demo-toggle:not([hidden])) { padding-bottom: 44px; }
.instant-claims:has(.instant-demo-toggle:not([hidden])) .instant-deposit { bottom: 44px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.instant-demo-toggle { position: absolute; right: 16px; bottom: 6px; z-index: 4; min-width: 64px; min-height: 32px; padding: 6px 12px; border: 1px solid #2a211830; border-radius: 99px; background: #fffdf9; color: #57493a; font: 500 12px/1.2 var(--autumn-sans); cursor: pointer; }
.instant-demo-toggle[hidden] { display: none; }
.instant-demo-toggle:focus-visible { outline: 2px solid #8a5a28; outline-offset: 2px; }
.instant-claims[data-payment-phase="resetting"] .instant-deposit { transform: translateX(0); opacity: 0; visibility: visible; transition: opacity .5s ease; }
.instant-claims[data-payment-phase="resetting"] .instant-claims__scene { transform: none; opacity: 1; transition: opacity .5s ease; }
.instant-claims[data-payment-phase="ready"] .instant-deposit,
.instant-claims[data-payment-phase="ready"] .instant-claims__scene { transition: none; }
@media (max-width:1100px) {
  .instant-payments-page .factoring-hero { grid-template-columns: 1fr; }
  .instant-claims { width: 100%; max-width: 720px; }
}
@media (max-width:640px) {
  .instant-payments-page .factoring-hero { padding-top: 122px; gap: 32px; }
  .instant-payments-page .factoring-hero h1 { font-size: 48px; }
  .instant-claims th, .instant-claims td { padding: 13px 8px; }
  .instant-claims thead th { font-size: 9px; }
  .instant-claims__table { margin-inline: 12px; }
  .instant-claims__bar { padding-inline: 16px; }
  .instant-claims__heading { margin-inline: 16px; }
  .instant-claims__heading h2 { font-size: 23px; }
  .instant-claims__deposit-stage { height: 100px; margin: 12px 16px 16px; }
  .instant-deposit__main strong { font-size: 42px; }
  .instant-demo-pay { padding: 13px 14px; font-size: 12px; }
  .instant-deposit { padding: 24px; }
  .instant-deposit__main p { font-size: 12px; }
}
@media (prefers-reduced-motion:reduce) {
  .instant-claims *, .instant-claims *::before { animation: none !important; transition: none !important; }
}
@keyframes autumn-cursor { 0% { opacity: 0; transform: translate(45px,95px); } 15% { opacity: 1; } 80%,100% { opacity: 1; transform: translate(0,0); } }
@keyframes autumn-press { 50% { transform: scale(.96); } }
@keyframes autumn-click { 0% { opacity: .8; transform: scale(1); } 100% { opacity: 0; transform: scale(5); } }
/* Preview the analysis with the real report styles. */
.website-phone__report { display: block; width: 100%; flex: 1; min-height: 0; border: 0; background: var(--autumn-cream); }
