/* Recoup — editorial supplier-credit ledger
   Adapted from the owner-approved v2 editorial-ledger direction. */

html.page-recoup {
  color-scheme: light;
  scroll-behavior: smooth;
  background: #f6f3ed;
}

html.page-recoup body {
  background-color: #f6f3ed;
  background-image: radial-gradient(rgba(43, 51, 43, 0.045) 0.55px, transparent 0.55px);
  background-size: 7px 7px;
  color: #111713;
}

.recoup-page {
  --rec-paper: #f6f3ed;
  --rec-paper-light: #fcfaf6;
  --rec-paper-deep: #e9e4da;
  --rec-ink: #111713;
  --rec-ink-soft: #3c4740;
  --rec-muted: #6f756e;
  --rec-forest: #064d42;
  --rec-forest-deep: #023d34;
  --rec-forest-soft: #1f6255;
  --rec-forest-pale: #dfe9e3;
  --rec-amber: #b76d17;
  --rec-line: #b8b7ad;
  --rec-line-light: #d8d5cc;
  --rec-display: "Iowan Old Style", "Palatino Linotype", Palatino, Baskerville, Georgia, "Times New Roman", serif;
  position: relative;
  overflow: hidden;
  background: var(--rec-paper);
  color: var(--rec-ink);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 400;
  text-rendering: optimizeLegibility;
}

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

.recoup-page h1,
.recoup-page h2,
.recoup-page h3,
.recoup-page p,
.recoup-page figure,
.recoup-page ol,
.recoup-page ul,
.recoup-page dl,
.recoup-page dd {
  margin: 0;
}

.recoup-page ol,
.recoup-page ul {
  padding: 0;
  list-style: none;
}

.recoup-page h1,
.recoup-page h2,
.recoup-page h3 {
  color: inherit;
  font-weight: 500;
}

.recoup-page :focus-visible {
  outline: 2px solid var(--rec-forest);
  outline-offset: 4px;
  border-radius: 0;
}

.rec-wrap {
  width: min(1392px, calc(100% - 64px));
  margin-inline: auto;
}

.rec-kicker,
.rec-section-label {
  color: var(--rec-forest);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.15em;
  line-height: 1.4;
  text-transform: uppercase;
}

.rec-kicker span {
  color: var(--rec-muted);
}

.rec-section-label--light {
  color: #b9d1c5;
}

.rec-button {
  display: inline-flex;
  min-height: 45px;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 10px 18px;
  border: 1px solid var(--rec-forest);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: transform 150ms ease, background 150ms ease, color 150ms ease;
}

.rec-button:hover {
  transform: translateY(-2px);
}

.rec-button--ink {
  background: var(--rec-forest);
  color: #fff;
}

.rec-button--ink:hover {
  background: var(--rec-forest-deep);
}

.rec-button--paper {
  border-color: var(--rec-paper-light);
  background: var(--rec-paper-light);
  color: var(--rec-forest);
}

.rec-button--paper:hover {
  background: #dfece5;
}

.rec-text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--rec-forest);
  font-size: 11px;
  font-weight: 700;
}

.rec-text-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Hero */
.rec-hero {
  border-bottom: 1px solid rgba(17, 23, 19, 0.18);
}

.rec-hero .rec-wrap {
  width: min(1544px, calc(100% - 64px));
}

.rec-hero__grid {
  min-height: 850px;
  padding: calc(var(--header-h) + 67px) 0 94px;
  display: grid;
  grid-template-columns: minmax(370px, 0.73fr) minmax(700px, 1.27fr);
  gap: clamp(46px, 5vw, 104px);
  align-items: center;
}

.rec-hero__copy {
  position: relative;
  z-index: 4;
  max-width: 540px;
  padding-left: clamp(0px, 2.4vw, 38px);
}

.rec-hero__wordmark {
  margin-top: 42px;
  color: var(--rec-forest);
  font-family: var(--rec-display);
  font-size: clamp(5.2rem, 8.2vw, 8.9rem);
  font-weight: 600;
  letter-spacing: -0.1em;
  line-height: 0.7;
}

.rec-rule {
  display: flex;
  align-items: center;
  gap: 6px;
}

.rec-rule--hero {
  width: min(333px, 80%);
  margin-top: 40px;
}

.rec-rule i {
  width: 41px;
  height: 2px;
  background: var(--rec-forest);
}

.rec-rule span {
  height: 1px;
  flex: 1;
  background: var(--rec-forest);
}

.rec-hero h1 {
  max-width: 525px;
  margin-top: 43px;
  font-family: var(--rec-display);
  font-size: clamp(3.65rem, 5.65vw, 6.35rem);
  font-weight: 500;
  letter-spacing: -0.075em;
  line-height: 0.92;
}

.rec-hero__description {
  max-width: 482px;
  margin-top: 29px !important;
  color: #4d5850;
  font-size: 14px;
  line-height: 1.72;
}

.rec-hero__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px 27px;
  margin-top: 31px;
}

.rec-hero__footnote {
  max-width: 390px;
  margin-top: 38px !important;
  color: #778077;
  font-size: 10px;
  line-height: 1.55;
}

/* Hero ledger composition */
.rec-hero__art {
  position: relative;
  min-height: 650px;
  padding-bottom: 52px;
}

.rec-ledger-sheet {
  position: absolute;
  inset: 4px -170px 0 0;
  min-width: 850px;
  overflow: hidden;
  border: 1px solid #5f6760;
  border-top-width: 4px;
  background-color: rgba(249, 247, 241, 0.95);
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.04));
  box-shadow: 0 24px 44px rgba(34, 35, 29, 0.12);
}

.rec-ledger-sheet::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(42, 48, 42, 0.07) 0.55px, transparent 0.55px);
  background-size: 7px 7px;
  opacity: 0.55;
}

.rec-ledger-sheet__topline,
.rec-ledger-sheet__headings,
.rec-ledger-record,
.rec-ledger-sheet__totals {
  position: relative;
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
}

.rec-ledger-sheet__topline {
  min-height: 76px;
  align-items: center;
  padding: 0 31px;
  border-bottom: 2px solid #777a72;
  color: var(--rec-forest);
  font-family: var(--rec-display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.rec-ledger-sheet__topline span:first-child {
  grid-column: 1 / 3;
}

.rec-ledger-sheet__topline span:last-child {
  grid-column: 3 / 5;
  justify-self: end;
  color: #40473f;
  font-family: Inter, system-ui, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.09em;
}

.rec-ledger-sheet__headings {
  min-height: 68px;
  align-items: center;
  border-bottom: 1px solid #8e918a;
  color: var(--rec-forest);
  font-family: var(--rec-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rec-ledger-sheet__headings span,
.rec-ledger-record > *,
.rec-ledger-sheet__totals > * {
  min-height: 100%;
  padding: 0 29px;
  display: flex;
  align-items: center;
  border-right: 1px solid #b2b4ac;
}

.rec-ledger-sheet__headings span:last-child,
.rec-ledger-record > *:last-child,
.rec-ledger-sheet__totals > *:last-child {
  border-right: 0;
}

.rec-ledger-record {
  min-height: 105px;
  border-bottom: 1px solid #b2b4ac;
}

.rec-ledger-record > strong {
  justify-content: flex-end;
  color: var(--rec-forest);
  font-family: var(--rec-display);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.015em;
  font-variant-numeric: tabular-nums;
}

.rec-ledger-record > strong.is-settled {
  color: #747a72;
}

.rec-ledger-record > strong.is-outstanding {
  color: var(--rec-amber);
}

.rec-ledger-record__supplier {
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: center;
  gap: 8px;
}

.rec-ledger-record__supplier strong {
  color: #171c18;
  font-family: var(--rec-display);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.025em;
}

.rec-ledger-record__supplier small {
  color: #737970;
  font-family: var(--rec-display);
  font-size: 13px;
}

.rec-ledger-sheet__totals {
  min-height: 65px;
  align-items: center;
  border-bottom: 1px solid #777a72;
  color: #666e66;
  font-size: 9px;
  letter-spacing: 0.04em;
}

.rec-ledger-sheet__totals span:first-child {
  grid-column: span 2;
}

.rec-ledger-sheet__totals b {
  justify-content: flex-end;
  color: var(--rec-amber);
  font-family: var(--rec-display);
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.rec-ledger-sheet__totals span:last-child {
  justify-content: flex-end;
  text-align: right;
}

.rec-graph-paper {
  position: absolute;
  z-index: 1;
  right: -166px;
  bottom: -46px;
  width: 360px;
  height: 225px;
  padding: 58px 0 0 145px;
  transform: rotate(-8deg);
  border: 1px solid #c6c2af;
  background-color: #f4ecd7;
  background-image: linear-gradient(#adc2bb 1px, transparent 1px), linear-gradient(90deg, #adc2bb 1px, transparent 1px);
  background-size: 24px 24px;
  box-shadow: 0 12px 27px rgba(31, 29, 20, 0.13);
  color: rgba(77, 89, 78, 0.58);
  font-family: var(--rec-display);
  font-size: 15px;
  font-style: italic;
  line-height: 1.78;
}

.rec-graph-paper::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 68px;
  width: 1px;
  background: rgba(193, 89, 70, 0.5);
}

.rec-graph-paper span {
  display: block;
}

.rec-claim-slip {
  position: absolute;
  z-index: 3;
  right: -37px;
  bottom: -27px;
  width: min(578px, 74%);
  min-height: 306px;
  padding: 56px 43px 31px;
  transform: rotate(-1.8deg);
  border: 1px solid #d0c9b9;
  border-radius: 15px 18px 12px 13px;
  background-color: #f8f3e7;
  background-image: radial-gradient(rgba(60, 66, 54, 0.065) 0.55px, transparent 0.55px);
  background-size: 6px 6px;
  box-shadow: 0 28px 35px rgba(36, 35, 26, 0.26);
}

.rec-paperclip {
  position: absolute;
  top: -25px;
  right: 58px;
  width: 27px;
  height: 105px;
  transform: rotate(-13deg);
  border: 4px solid #3f4938;
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
}

.rec-paperclip::after {
  content: "";
  position: absolute;
  top: 13px;
  left: 6px;
  width: 13px;
  height: 83px;
  border: 3px solid #3f4938;
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
}

.rec-claim-slip__mark {
  position: absolute;
  top: 42px;
  left: 45px;
  display: grid;
  width: 35px;
  gap: 3px;
}

.rec-claim-slip__mark i {
  display: block;
  height: 5px;
  background: var(--rec-forest);
}

.rec-claim-slip__mark i:nth-child(2) {
  width: 26px;
}

.rec-claim-slip__mark i:nth-child(3) {
  width: 31px;
}

.rec-claim-slip__title {
  display: block;
  margin: 0 0 35px 55px;
  color: var(--rec-forest);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-align: center;
  text-transform: uppercase;
}

.rec-claim-slip__split {
  display: grid;
  grid-template-columns: 1.18fr 0.82fr;
  border-top: 1px solid #47776c;
  border-bottom: 1px solid #47776c;
}

.rec-claim-slip__split--bottom {
  border-top: 0;
}

.rec-claim-slip__split p {
  min-height: 78px;
  padding: 14px;
  border-right: 1px solid #47776c;
}

.rec-claim-slip__split p:last-child {
  border-right: 0;
}

.rec-claim-slip__split span,
.rec-claim-slip__split strong {
  display: block;
}

.rec-claim-slip__split span,
.rec-claim-slip__note > span {
  color: var(--rec-forest);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.rec-claim-slip__split strong {
  margin-top: 12px;
  color: #30372e;
  font-family: var(--rec-display);
  font-size: 18px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.rec-claim-slip__split .rec-amount--amber {
  color: var(--rec-amber);
  font-size: 21px;
}

.rec-claim-slip__note {
  margin-top: 14px;
  color: #69736b;
  font-size: 9px;
  line-height: 1.5;
}

.rec-claim-slip__note p {
  margin-top: 4px !important;
}

.rec-hero__art figcaption {
  position: absolute;
  right: 18px;
  bottom: -58px;
  z-index: 4;
  width: min(440px, 74%);
  color: #747a72;
  font-size: 9px;
  line-height: 1.5;
  text-align: right;
}

/* Credit gap */
.rec-gap {
  padding: 142px 0 132px;
  background: var(--rec-paper-deep);
}

.rec-intro-grid,
.rec-heading-row,
.rec-feature-heading {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: clamp(38px, 7vw, 140px);
}

.rec-intro-grid {
  margin-top: 27px;
  align-items: start;
}

.rec-intro-grid h2,
.rec-heading-row h2,
.rec-evidence__copy h2,
.rec-feature-heading h2,
.rec-scope h2,
.rec-faq h2,
.rec-closing h2 {
  font-family: var(--rec-display);
  font-size: clamp(2.85rem, 4.35vw, 5rem);
  font-weight: 500;
  letter-spacing: -0.07em;
  line-height: 0.95;
}

.rec-intro-grid p {
  max-width: 560px;
  margin-top: 7px !important;
  color: #505a53;
  font-size: 15px;
  line-height: 1.75;
}

.rec-problem-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 84px;
  border-top: 1px solid #93968f;
  border-bottom: 1px solid #93968f;
}

.rec-problem-grid article {
  min-height: 226px;
  padding: 22px 28px 25px 0;
  border-right: 1px solid #a9aaa3;
}

.rec-problem-grid article + article {
  padding-left: 28px;
}

.rec-problem-grid article:last-child {
  border-right: 0;
}

.rec-problem-grid article > span,
.rec-feature-list article > span,
.rec-workflow__number {
  color: var(--rec-forest);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.13em;
}

.rec-problem-grid h3,
.rec-feature-list h3 {
  margin-top: 65px !important;
  font-family: var(--rec-display);
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.03;
}

.rec-problem-grid p,
.rec-feature-list p {
  max-width: 290px;
  margin-top: 10px !important;
  color: #647068;
  font-size: 11px;
  line-height: 1.6;
}

/* Three amounts */
.rec-amounts {
  padding: 128px 0 119px;
  background: var(--rec-paper-light);
}

.rec-heading-row {
  align-items: start;
}

.rec-heading-row .rec-section-label {
  padding-top: 10px;
}

.rec-heading-row h2 {
  max-width: 690px;
  font-size: clamp(2.85rem, 4.12vw, 4.6rem);
}

.rec-amount-ledger {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 76px;
  border-top: 2px solid #6f746d;
  border-bottom: 1px solid #92958e;
}

.rec-amount-ledger article {
  min-height: 264px;
  padding: 25px 32px 25px 0;
  border-right: 1px solid #aeb0a9;
}

.rec-amount-ledger article + article {
  padding-left: 32px;
}

.rec-amount-ledger article:last-child {
  border-right: 0;
}

.rec-amount-ledger span,
.rec-amount-ledger strong {
  display: block;
}

.rec-amount-ledger span {
  color: var(--rec-forest);
  font-family: var(--rec-display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rec-amount-ledger strong {
  margin-top: 72px;
  color: var(--rec-forest);
  font-family: var(--rec-display);
  font-size: clamp(2.35rem, 3.5vw, 4rem);
  font-weight: 500;
  letter-spacing: -0.045em;
  font-variant-numeric: tabular-nums;
}

.rec-amount-ledger__due strong {
  color: var(--rec-amber);
}

.rec-amount-ledger p {
  max-width: 250px;
  margin-top: 11px !important;
  color: #68726a;
  font-size: 11px;
  line-height: 1.6;
}

.rec-amounts__caption {
  max-width: 590px;
  margin: 23px 0 0 auto !important;
  color: #747a72;
  font-size: 10px;
  line-height: 1.6;
}

/* Workflow */
.rec-workflow {
  padding: 133px 0 138px;
  border-top: 1px solid #c6c4ba;
  background: var(--rec-paper);
}

.rec-workflow .rec-heading-row h2 {
  max-width: 700px;
}

.rec-workflow__ledger {
  margin-top: 84px !important;
  border-top: 1px solid #7e837b;
}

.rec-workflow__ledger li {
  min-height: 156px;
  display: grid;
  grid-template-columns: 0.38fr 0.8fr 1.18fr;
  align-items: center;
  gap: 30px;
  border-bottom: 1px solid #afb0a8;
  transition: background 150ms ease, padding 150ms ease;
}

.rec-workflow__ledger li:hover {
  padding-left: 12px;
  background: rgba(255, 255, 255, 0.35);
}

.rec-workflow__ledger h3 {
  font-family: var(--rec-display);
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 1;
}

.rec-workflow__ledger p {
  max-width: 560px;
  color: #5d6860;
  font-size: 12px;
  line-height: 1.65;
}

.rec-lifecycle {
  margin-top: 38px;
  padding: 17px 20px;
  border: 1px solid #b8b7ad;
  background: rgba(252, 250, 246, 0.55);
}

.rec-lifecycle > span {
  display: block;
  color: var(--rec-forest);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.rec-lifecycle ol {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-top: 13px !important;
  border-top: 1px solid #b8b7ad;
}

.rec-lifecycle li {
  position: relative;
  padding: 14px 10px 2px 0;
  color: #6f756e;
  font-size: 9px;
  line-height: 1.4;
}

.rec-lifecycle li::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8b928b;
}

.rec-lifecycle li.is-current {
  color: var(--rec-amber);
  font-weight: 700;
}

.rec-lifecycle li.is-current::before {
  background: var(--rec-amber);
  box-shadow: 0 0 0 4px rgba(183, 109, 23, 0.14);
}

/* Evidence */
.rec-evidence {
  padding: 137px 0;
  background: #11201a;
  color: var(--rec-paper-light);
}

.rec-evidence__grid {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: clamp(42px, 8vw, 157px);
  align-items: center;
}

.rec-evidence__copy h2 {
  max-width: 520px;
  font-size: clamp(3rem, 4.2vw, 4.7rem);
}

.rec-evidence__copy > p:not(.rec-section-label) {
  max-width: 490px;
  margin-top: 27px !important;
  color: #c4cec7;
  font-size: 14px;
  line-height: 1.75;
}

.rec-evidence__copy .rec-evidence__line {
  color: #eff4f0;
  font-family: var(--rec-display);
  font-size: 19px;
  font-style: italic;
  line-height: 1.33;
}

.rec-evidence-sheet {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(248, 246, 239, 0.75);
  background: #faf7ef;
  color: #283129;
  box-shadow: 0 27px 52px rgba(0, 0, 0, 0.32);
}

.rec-evidence-sheet__header {
  min-height: 75px;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 1px solid #b7b8ad;
}

.rec-evidence-sheet__header span {
  color: var(--rec-forest);
  font-family: var(--rec-display);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.06em;
}

.rec-evidence-sheet__header strong {
  color: var(--rec-forest);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
}

.rec-evidence-sheet__header b {
  justify-self: end;
  color: #626b62;
  font-size: 10px;
  letter-spacing: 0.08em;
}

.rec-evidence-sheet__supplier {
  padding: 29px 28px 25px;
  border-bottom: 1px solid #cac9c0;
}

.rec-evidence-sheet__supplier p,
.rec-evidence-sheet__details span,
.rec-evidence-sheet__note > span {
  color: #788178;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.rec-evidence-sheet__supplier h3 {
  margin-top: 8px !important;
  font-family: var(--rec-display);
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -0.045em;
}

.rec-evidence-sheet__supplier > span {
  display: block;
  margin-top: 8px;
  color: #6d776f;
  font-size: 10px;
}

.rec-evidence-sheet__amounts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid #cac9c0;
}

.rec-evidence-sheet__amounts div {
  min-height: 107px;
  padding: 17px 20px;
  border-right: 1px solid #cac9c0;
}

.rec-evidence-sheet__amounts div:last-child {
  border-right: 0;
}

.rec-evidence-sheet__amounts span,
.rec-evidence-sheet__amounts strong {
  display: block;
}

.rec-evidence-sheet__amounts span {
  color: #6d766e;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rec-evidence-sheet__amounts strong {
  margin-top: 13px;
  color: var(--rec-forest);
  font-family: var(--rec-display);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}

.rec-evidence-sheet__amounts div:last-child strong {
  color: var(--rec-amber);
}

.rec-evidence-sheet__details {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 10px 28px;
}

.rec-evidence-sheet__details div {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #e0dfd7;
}

.rec-evidence-sheet__details div:nth-child(odd) {
  margin-right: 18px;
}

.rec-evidence-sheet__details div:nth-child(even) {
  margin-left: 18px;
}

.rec-evidence-sheet__details b {
  color: #404a41;
  font-size: 10px;
}

.rec-evidence-sheet__note {
  margin: 14px 28px 20px;
  padding: 14px 15px;
  border-left: 2px solid var(--rec-forest);
  background: #edf2ed;
}

.rec-evidence-sheet__note p {
  margin-top: 6px !important;
  color: #59645c;
  font-size: 10px;
  line-height: 1.6;
}

.rec-evidence-sheet__footer {
  padding: 12px 28px;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #cac9c0;
  color: #7e857d;
  font-size: 9px;
}

.rec-evidence-sheet figcaption {
  padding: 9px 28px 12px;
  border-top: 1px solid #e1dfd6;
  color: #868c85;
  font-size: 8px;
  line-height: 1.45;
}

/* Features */
.rec-features {
  padding: 130px 0 134px;
  background: #eef0ea;
}

.rec-feature-heading h2 {
  max-width: 720px;
  font-size: clamp(2.85rem, 4.15vw, 4.6rem);
}

.rec-feature-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 82px;
  border-top: 1px solid #9da19a;
}

.rec-feature-list article {
  min-height: 220px;
  padding: 22px 27px 25px 0;
  border-right: 1px solid #b8bbb4;
  border-bottom: 1px solid #b8bbb4;
}

.rec-feature-list article:nth-child(3n + 2),
.rec-feature-list article:nth-child(3n + 3) {
  padding-left: 27px;
}

.rec-feature-list article:nth-child(3n) {
  border-right: 0;
}

.rec-feature-list article:nth-child(n + 4) {
  padding-top: 34px;
}

.rec-feature-list h3 {
  margin-top: 52px !important;
}

/* Pilot scope */
.rec-scope {
  padding: 125px 0 130px;
  border-top: 1px solid #bcbbb3;
  background: var(--rec-paper-light);
}

.rec-scope__grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: clamp(48px, 9vw, 164px);
}

.rec-scope h2 {
  max-width: 650px;
  margin-top: 27px !important;
  font-size: clamp(2.8rem, 4.02vw, 4.45rem);
}

.rec-scope__copy {
  padding-top: 36px;
}

.rec-scope__copy > p {
  max-width: 570px;
  color: #4e5851;
  font-size: 15px;
  line-height: 1.78;
}

.rec-scope__stamps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 34px;
}

.rec-scope__stamps span {
  padding: 7px 10px;
  border: 1px solid #9fa29b;
  color: var(--rec-forest);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.rec-pilot-note {
  position: relative;
  margin-top: 40px;
  padding: 22px 24px 23px 28px;
  border: 1px solid #b6b8b1;
  border-left: 4px solid var(--rec-amber);
  background: #f1eee7;
}

.rec-pilot-note > span,
.rec-pilot-note > strong {
  display: block;
}

.rec-pilot-note > span {
  color: var(--rec-amber);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.rec-pilot-note > strong {
  margin-top: 7px;
  color: var(--rec-forest);
  font-family: var(--rec-display);
  font-size: 25px;
  font-weight: 600;
}

.rec-pilot-note p {
  margin-top: 9px !important;
  color: #5d665f;
  font-size: 11px;
  line-height: 1.65;
}

/* FAQ */
.rec-faq {
  padding: 128px 0 132px;
  border-top: 1px solid #c6c4ba;
  background: var(--rec-paper-deep);
}

.rec-faq__grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: clamp(45px, 8vw, 148px);
}

.rec-faq h2 {
  max-width: 440px;
  margin-top: 24px !important;
  font-size: clamp(2.8rem, 4vw, 4.45rem);
}

.rec-faq__intro > p:last-child {
  max-width: 430px;
  margin-top: 25px !important;
  color: #59635c;
  font-size: 13px;
  line-height: 1.7;
}

.rec-faq__items {
  border-top: 2px solid #777b74;
}

.rec-faq details {
  border-bottom: 1px solid #a9aaa3;
}

.rec-faq summary {
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  align-items: center;
  gap: 24px;
  padding: 18px 2px;
  color: var(--rec-ink);
  cursor: pointer;
  list-style: none;
}

.rec-faq summary::-webkit-details-marker {
  display: none;
}

.rec-faq summary span {
  font-family: var(--rec-display);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.035em;
}

.rec-faq summary i {
  position: relative;
  display: block;
  width: 19px;
  height: 19px;
}

.rec-faq summary i::before,
.rec-faq summary i::after {
  content: "";
  position: absolute;
  top: 9px;
  left: 2px;
  width: 15px;
  height: 1px;
  background: var(--rec-forest);
  transition: transform 180ms ease;
}

.rec-faq summary i::after {
  transform: rotate(90deg);
}

.rec-faq details[open] summary i::after {
  transform: rotate(0deg);
}

.rec-faq details > p {
  max-width: 700px;
  padding: 0 48px 25px 2px;
  color: #58635b;
  font-size: 12px;
  line-height: 1.75;
}

/* Closing */
.rec-closing {
  padding: 117px 0 122px;
  background: var(--rec-forest);
  color: #fff;
  text-align: center;
}

.rec-closing h2 {
  max-width: 760px;
  margin: 22px auto 0 !important;
  font-size: clamp(3.1rem, 5vw, 5.4rem);
}

.rec-closing .rec-wrap > p:not(.rec-section-label) {
  max-width: 560px;
  margin: 22px auto 0 !important;
  color: #d9e8df;
  font-size: 14px;
  line-height: 1.72;
}

.rec-closing__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 22px;
  margin-top: 33px;
}

.rec-closing__back {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #d9e8df;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.rec-closing__back:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Responsive */
@media (max-width: 1180px) {
  .rec-hero__grid {
    grid-template-columns: minmax(340px, 0.67fr) minmax(560px, 1.33fr);
    gap: 42px;
  }

  .rec-hero__art {
    transform: scale(0.87);
    transform-origin: right center;
  }

  .rec-ledger-sheet {
    right: -190px;
  }

  .rec-claim-slip {
    right: -49px;
  }

  .rec-evidence__grid {
    gap: 70px;
  }
}

@media (max-width: 900px) {
  .rec-wrap,
  .rec-hero .rec-wrap {
    width: min(100% - 40px, 760px);
  }

  .rec-hero__grid {
    min-height: 0;
    padding-top: calc(var(--header-h) + 65px);
    padding-bottom: 104px;
    grid-template-columns: 1fr;
    gap: 68px;
  }

  .rec-hero__copy {
    max-width: 650px;
    padding-left: 0;
  }

  .rec-hero__art {
    width: 100%;
    min-height: 601px;
    transform: none;
  }

  .rec-ledger-sheet {
    right: -180px;
  }

  .rec-claim-slip {
    right: -28px;
  }

  .rec-gap,
  .rec-amounts,
  .rec-workflow,
  .rec-evidence,
  .rec-features,
  .rec-scope,
  .rec-faq {
    padding-top: 95px;
    padding-bottom: 95px;
  }

  .rec-intro-grid,
  .rec-heading-row,
  .rec-feature-heading,
  .rec-evidence__grid,
  .rec-scope__grid,
  .rec-faq__grid {
    grid-template-columns: 1fr;
  }

  .rec-intro-grid,
  .rec-heading-row,
  .rec-feature-heading {
    gap: 25px;
  }

  .rec-intro-grid p {
    margin-top: 0 !important;
  }

  .rec-problem-grid,
  .rec-amount-ledger,
  .rec-workflow__ledger,
  .rec-feature-list {
    margin-top: 57px !important;
  }

  .rec-evidence__grid {
    gap: 54px;
  }

  .rec-evidence__copy h2 {
    max-width: 620px;
  }

  .rec-scope__copy {
    padding-top: 0;
  }

  .rec-faq__grid {
    gap: 54px;
  }
}

@media (max-width: 620px) {
  .rec-wrap,
  .rec-hero .rec-wrap {
    width: min(100% - 32px, 760px);
  }

  .rec-hero__grid {
    padding-top: calc(var(--header-h) + 48px);
    padding-bottom: 78px;
    gap: 42px;
  }

  .rec-kicker,
  .rec-section-label {
    font-size: 9px;
  }

  .rec-hero__wordmark {
    margin-top: 31px;
    font-size: clamp(5.5rem, 28vw, 6.55rem);
  }

  .rec-rule--hero {
    margin-top: 31px;
  }

  .rec-hero h1 {
    margin-top: 34px;
    font-size: clamp(3.45rem, 17.2vw, 5rem);
  }

  .rec-hero__description {
    margin-top: 23px !important;
    font-size: 13px;
  }

  .rec-hero__footnote {
    margin-top: 29px !important;
  }

  .rec-hero__art {
    width: 153%;
    min-height: 472px;
    margin-bottom: -126px;
    transform: scale(0.655);
    transform-origin: top left;
  }

  .rec-ledger-sheet {
    inset: 2px -236px 0 0;
    min-width: 772px;
  }

  .rec-ledger-sheet__topline {
    min-height: 62px;
    padding: 0 22px;
    font-size: 11px;
  }

  .rec-ledger-sheet__topline span:last-child {
    font-size: 8px;
  }

  .rec-ledger-sheet__headings {
    min-height: 52px;
    font-size: 9px;
  }

  .rec-ledger-sheet__headings span,
  .rec-ledger-record > *,
  .rec-ledger-sheet__totals > * {
    padding: 0 20px;
  }

  .rec-ledger-record {
    min-height: 83px;
  }

  .rec-ledger-record > strong {
    font-size: 16px;
  }

  .rec-ledger-record__supplier strong {
    font-size: 17px;
  }

  .rec-ledger-record__supplier small {
    font-size: 10px;
  }

  .rec-ledger-sheet__totals {
    min-height: 52px;
    font-size: 8px;
  }

  .rec-ledger-sheet__totals b {
    font-size: 14px;
  }

  .rec-claim-slip {
    right: -73px;
    bottom: -26px;
    width: 490px;
    min-height: 265px;
    padding: 47px 36px 25px;
  }

  .rec-claim-slip__title {
    margin-bottom: 27px;
    font-size: 12px;
  }

  .rec-claim-slip__split p {
    min-height: 61px;
    padding: 10px;
  }

  .rec-claim-slip__split strong {
    margin-top: 9px;
    font-size: 16px;
  }

  .rec-claim-slip__split .rec-amount--amber {
    font-size: 18px;
  }

  .rec-graph-paper {
    right: -193px;
    width: 310px;
    height: 195px;
  }

  .rec-hero__art figcaption {
    right: -18px;
    bottom: -70px;
    width: 410px;
    font-size: 9px;
  }

  .rec-problem-grid,
  .rec-amount-ledger,
  .rec-feature-list {
    grid-template-columns: 1fr;
  }

  .rec-problem-grid article,
  .rec-problem-grid article + article,
  .rec-feature-list article,
  .rec-feature-list article:nth-child(3n + 2),
  .rec-feature-list article:nth-child(3n + 3) {
    min-height: 168px;
    padding: 20px 0;
    border-right: 0;
    border-bottom: 1px solid #b8bbb4;
  }

  .rec-problem-grid h3,
  .rec-feature-list h3 {
    margin-top: 29px !important;
  }

  .rec-problem-grid article:last-child,
  .rec-feature-list article:last-child {
    border-bottom: 0;
  }

  .rec-amount-ledger article,
  .rec-amount-ledger article + article {
    min-height: 0;
    padding: 21px 0;
    border-right: 0;
    border-bottom: 1px solid #aeb0a9;
  }

  .rec-amount-ledger article:last-child {
    border-bottom: 0;
  }

  .rec-amount-ledger strong {
    margin-top: 16px;
    font-size: 2.7rem;
  }

  .rec-amounts__caption {
    margin-top: 18px !important;
  }

  .rec-workflow__ledger li {
    min-height: 0;
    padding: 25px 0 27px;
    grid-template-columns: 48px 1fr;
    gap: 12px;
  }

  .rec-workflow__ledger li:hover {
    padding-left: 0;
  }

  .rec-workflow__ledger p {
    grid-column: 2;
  }

  .rec-workflow__ledger h3 {
    font-size: 23px;
  }

  .rec-lifecycle ol {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 11px;
  }

  .rec-evidence-sheet {
    width: 120%;
    margin-bottom: -88px;
    transform: scale(0.835);
    transform-origin: top left;
  }

  .rec-evidence-sheet__header {
    min-height: 64px;
    padding: 0 21px;
  }

  .rec-evidence-sheet__supplier {
    padding: 23px 21px;
  }

  .rec-evidence-sheet__amounts div {
    min-height: 92px;
    padding: 13px;
  }

  .rec-evidence-sheet__amounts strong {
    font-size: 17px;
  }

  .rec-evidence-sheet__details {
    padding: 8px 21px;
  }

  .rec-evidence-sheet__details div:nth-child(odd) {
    margin-right: 10px;
  }

  .rec-evidence-sheet__details div:nth-child(even) {
    margin-left: 10px;
  }

  .rec-evidence-sheet__note {
    margin: 12px 21px 17px;
  }

  .rec-evidence-sheet__footer,
  .rec-evidence-sheet figcaption {
    padding-right: 21px;
    padding-left: 21px;
  }

  .rec-scope h2,
  .rec-faq h2 {
    margin-top: 20px !important;
  }

  .rec-faq summary {
    min-height: 72px;
  }

  .rec-faq summary span {
    font-size: 20px;
  }

  .rec-closing {
    padding-top: 86px;
    padding-bottom: 89px;
  }
}

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

  .recoup-page *,
  .recoup-page *::before,
  .recoup-page *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (forced-colors: active) {
  .rec-ledger-sheet,
  .rec-claim-slip,
  .rec-evidence-sheet,
  .rec-pilot-note,
  .rec-scope__stamps span,
  .rec-button {
    border: 1px solid CanvasText;
  }

  .rec-ledger-record > strong.is-outstanding,
  .rec-amount-ledger__due strong {
    color: LinkText;
  }
}

@media print {
  html.page-recoup body {
    background: #fff;
  }

  .recoup-page {
    background: #fff;
    color: #000;
  }

  .rec-hero__grid {
    min-height: 0;
    padding-top: 32px;
    grid-template-columns: 1fr;
  }

  .rec-hero__art,
  .rec-evidence-sheet {
    break-inside: avoid;
  }

  .rec-button,
  .rec-closing__back {
    border: 1px solid #000;
    background: #fff;
    color: #000;
  }

  [data-rec-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}
