@font-face {
  font-family: "Source Sans 3";
  src: url("/assets/fonts/source-sans-3-variable.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 200 900;
}


@font-face {
  font-family: "Source Serif 4";
  src: url("/assets/fonts/source-serif-4-variable.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 200 900;
}

:root {
  color-scheme: light;
  --paper: #f4f0e7;
  --paper-deep: #e8ece7;
  --paper-muted: #eeeae1;
  --surface: #fcfaf5;
  --surface-strong: #ffffff;
  --ink: #132d38;
  --ink-soft: #455a5e;
  --ink-faint: #566a6c;
  --petrol: #0e5c5b;
  --petrol-deep: #0a4545;
  --petrol-soft: #dde8e3;
  --line: #cbd0ca;
  --line-strong: #71817f;
  --positive: #245d46;
  --positive-soft: #e2eee7;
  --warning: #745514;
  --warning-soft: #f4ead0;
  --danger: #a44a3f;
  --danger-soft: #f4e2df;
  --focus: #006b75;
  --shadow-soft: 0 1.5rem 4rem rgb(19 45 56 / 0.1);
  --font-sans: "Source Sans 3", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --step--1: clamp(0.875rem, 0.84rem + 0.12vw, 0.95rem);
  --step-0: clamp(1rem, 0.96rem + 0.18vw, 1.125rem);
  --step-1: clamp(1.18rem, 1.08rem + 0.45vw, 1.45rem);
  --step-2: clamp(1.45rem, 1.24rem + 0.85vw, 2rem);
  --step-3: clamp(1.85rem, 1.45rem + 1.55vw, 2.8rem);
  --step-4: clamp(2.8rem, 1.85rem + 3.8vw, 5.75rem);
  --space-1: 0.375rem;
  --space-2: 0.625rem;
  --space-3: 0.875rem;
  --space-4: 1.25rem;
  --space-5: 1.75rem;
  --space-6: 2.5rem;
  --space-7: 3.5rem;
  --space-8: clamp(4.5rem, 8vw, 7.5rem);
  --shell: 80rem;
  --measure: 44rem;
  --radius-small: 0.25rem;
  --radius: 0.5rem;
  --radius-large: 0.875rem;
}

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

html {
  background: var(--paper);
  scroll-behavior: smooth;
  scroll-padding-block-start: 6rem;
  -webkit-text-size-adjust: 100%;
}

html.menu-open {
  overflow: hidden;
}

body {
  min-width: 0;
  min-height: 100vh;
  margin: 0;
  overflow-wrap: anywhere;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: var(--step-0);
  font-synthesis: none;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

main {
  display: block;
}

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

::selection {
  background: var(--petrol);
  color: var(--surface);
}

img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

svg path,
svg line,
svg polyline,
svg circle {
  vector-effect: non-scaling-stroke;
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
}

button,
select {
  cursor: pointer;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

a {
  color: var(--petrol-deep);
  text-decoration-color: rgb(20 92 99 / 0.45);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

a:hover {
  color: var(--ink);
  text-decoration-color: currentColor;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 0.2rem solid var(--focus);
  outline-offset: 0.2rem;
}

h1,
h2,
h3,
h4,
p,
ul,
ol,
dl,
blockquote,
figure {
  margin-block-start: 0;
}

h1,
h2 {
  max-width: 26ch;
  color: var(--ink);
  font-family: var(--font-serif);
  font-optical-sizing: auto;
  font-weight: 560;
  letter-spacing: -0.035em;
  line-height: 1.04;
  text-wrap: balance;
}

h3,
h4 {
  max-width: 26ch;
  color: var(--ink);
  font-family: var(--font-sans);
  font-weight: 680;
  letter-spacing: -0.018em;
  line-height: 1.18;
  text-wrap: balance;
}

h1 {
  margin-block-end: var(--space-5);
  font-size: var(--step-4);
}

h2 {
  margin-block-end: var(--space-4);
  font-size: var(--step-3);
}

h3 {
  margin-block-end: var(--space-3);
  font-size: var(--step-1);
  letter-spacing: -0.012em;
  line-height: 1.25;
}

h4 {
  margin-block-end: var(--space-2);
  font-size: var(--step-0);
  letter-spacing: 0;
  line-height: 1.35;
}

p,
ul,
ol,
dl,
blockquote,
figure,
table {
  margin-block-end: var(--space-4);
}

p:last-child,
ul:last-child,
ol:last-child,
dl:last-child,
blockquote:last-child,
figure:last-child,
table:last-child {
  margin-block-end: 0;
}

ul,
ol {
  padding-inline-start: 1.35em;
}

li + li {
  margin-block-start: 0.45rem;
}

strong {
  font-weight: 680;
}

small {
  font-size: var(--step--1);
}

hr {
  margin-block: var(--space-7);
  border: 0;
  border-block-start: 1px solid var(--line);
}

blockquote {
  max-width: 42rem;
  padding-inline-start: var(--space-5);
  border-inline-start: 0.2rem solid var(--petrol);
  color: var(--ink);
  font-family: var(--font-serif);
  font-size: var(--step-1);
  line-height: 1.5;
}

blockquote cite {
  display: block;
  margin-block-start: var(--space-3);
  color: var(--ink-soft);
  font-family: var(--font-sans);
  font-size: var(--step--1);
  font-style: normal;
}

code,
kbd,
samp {
  font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;
  font-size: 0.9em;
}

code {
  padding: 0.1em 0.3em;
  border: 1px solid var(--line);
  border-radius: var(--radius-small);
  background: var(--paper-muted);
}

.shell {
  width: min(100% - clamp(2rem, 6vw, 5rem), var(--shell));
  margin-inline: auto;
}

.narrow {
  max-width: 50rem;
}

.section {
  padding-block: var(--space-8);
}

.section--hero {
  isolation: isolate;
}

.section--compact {
  padding-block: var(--space-7);
}

.section--muted {
  background: var(--paper-deep);
}

.section--soft {
  background: var(--paper-deep);
}

.section--contrast {
  background: var(--ink);
  color: #f1f3f4;
}

.section--contrast :where(h1, h2, h3, h4) {
  color: #ffffff;
}

.section--contrast .lede,
.section--contrast .note,
.section--contrast .prose,
.section--contrast .section-header > p:not(.eyebrow),
.section--contrast .section-heading > p:not(.eyebrow) {
  color: #d7dde1;
}

.section--contrast .eyebrow {
  color: #a8d4cf;
}

.section--contrast a:not(.button) {
  color: #d9f0ed;
  text-decoration-color: rgb(217 240 237 / 0.55);
}

.section--contrast .button--secondary {
  border-color: #c9d3d8;
  color: #ffffff;
}

.section--contrast .button--secondary:hover {
  border-color: #ffffff;
  background: #ffffff;
  color: var(--ink);
}

.section--contrast .card {
  border-color: #536473;
  background: #1a3044;
  color: #d7dde1;
}

.section--contrast .card :where(h2, h3, h4) {
  color: #ffffff;
}

.section--contrast .check-list li::before {
  background: #a8d4cf;
}

.section--cta {
  background: var(--paper-deep);
  text-align: center;
}

.section--cta :where(.narrow, .callout) {
  margin-inline: auto;
}

.section--cta .section-header,
.section--cta .section-heading {
  margin-inline: auto;
}

.section--cta .actions {
  justify-content: center;
}

.section--urgent {
  padding-block: var(--space-6);
  border-block: 1px solid #b6756f;
  background: var(--danger-soft);
}

.section-header,
.section-heading {
  display: grid;
  gap: var(--space-4);
  max-width: 50rem;
  margin-block-end: var(--space-7);
}

.section-header > *,
.section-heading > * {
  margin-block-end: 0;
}

.section-header > p:not(.eyebrow),
.section-heading > p:not(.eyebrow) {
  color: var(--ink-soft);
}

.section-header--wide {
  max-width: 62rem;
}

.eyebrow {
  margin-block-end: var(--space-3);
  color: var(--petrol-deep);
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.lede {
  max-width: 43rem;
  color: var(--ink-soft);
  font-size: var(--step-1);
  line-height: 1.55;
  text-wrap: pretty;
}

.note {
  color: var(--ink-soft);
}

.card-grid,
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.card-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.card-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.split {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.75fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
}

.split--cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.split-layout {
  display: grid;
  grid-template-columns: minmax(15rem, 0.65fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
}

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

.skip-link {
  position: fixed;
  z-index: 1000;
  inset-block-start: var(--space-3);
  inset-inline-start: var(--space-3);
  min-height: 2.75rem;
  padding: 0.65rem 1rem;
  transform: translateY(-180%);
  border: 2px solid var(--ink);
  background: var(--surface-strong);
  color: var(--ink);
  font-weight: 700;
}

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

.site-header {
  position: sticky;
  z-index: 100;
  inset-block-start: 0;
  border-block-end: 1px solid var(--line);
  background: rgb(247 245 239 / 0.97);
  box-shadow: 0 0.25rem 1.5rem rgb(19 36 55 / 0.025);
  backdrop-filter: blur(0.65rem);
}

.site-header__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(1rem, 2.5vw, 2.5rem);
  align-items: center;
  min-height: 5rem;
}

.wordmark {
  color: var(--ink);
  font-size: 1.02rem;
  font-weight: 720;
  letter-spacing: -0.01em;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

.wordmark:hover {
  color: var(--petrol-deep);
}

.primary-navigation {
  display: flex;
  justify-content: flex-end;
  gap: clamp(0.25rem, 1vw, 0.75rem);
  align-items: center;
}

.primary-navigation a,
.mobile-navigation nav > a:not(.button) {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding-inline: 0.7rem;
  border-radius: var(--radius-small);
  color: var(--ink-soft);
  font-size: 0.94rem;
  font-weight: 570;
  line-height: 1.25;
  text-decoration: none;
}

.primary-navigation a:hover,
.primary-navigation a[aria-current="page"],
.mobile-navigation nav > a:hover,
.mobile-navigation nav > a[aria-current="page"] {
  background: var(--paper-deep);
  color: var(--ink);
}

.primary-navigation a[aria-current="page"],
.mobile-navigation nav > a[aria-current="page"] {
  box-shadow: inset 0 -0.15rem 0 var(--petrol);
}

.menu-button,
.icon-button {
  display: none;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-small);
  background: transparent;
  color: var(--ink);
  font-size: 0.94rem;
  font-weight: 650;
}

.menu-button svg,
.icon-button svg {
  flex: 0 0 auto;
}

.menu-button path,
.icon-button path {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.7;
}

.mobile-navigation {
  width: min(100%, 34rem);
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0 0 0 auto;
  padding: 0;
  overflow: auto;
  border: 0;
  border-inline-start: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  box-shadow: -1.25rem 0 3rem rgb(19 36 55 / 0.15);
}

.mobile-navigation:not([open]) {
  display: none;
}

.mobile-navigation::backdrop {
  background: rgb(19 36 55 / 0.64);
}

.mobile-navigation__header {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  align-items: center;
  min-height: 5rem;
  padding: var(--space-3) clamp(1rem, 5vw, 2rem);
  border-block-end: 1px solid var(--line);
}

.mobile-navigation__header .wordmark {
  margin: 0;
}

.mobile-navigation .icon-button {
  display: inline-flex;
}

.mobile-navigation nav {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-5) clamp(1rem, 5vw, 2rem) var(--space-7);
}

.mobile-navigation nav > a:not(.button) {
  justify-content: space-between;
  min-height: 3.25rem;
  padding-inline: var(--space-3);
  border-block-end: 1px solid var(--line);
  border-radius: 0;
  color: var(--ink);
  font-size: var(--step-0);
}

.mobile-navigation nav .button {
  margin-block-start: var(--space-4);
}

.button,
button.button,
input[type="submit"] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-2);
  min-height: 2.875rem;
  padding: 0.72rem 1.1rem;
  border: 1px solid transparent;
  border-radius: var(--radius-small);
  font-size: 0.95rem;
  font-weight: 680;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
}

.button:hover,
button.button:hover,
input[type="submit"]:hover {
  text-decoration: none;
}

.button--primary,
input[type="submit"] {
  border-color: var(--petrol-deep);
  background: var(--petrol-deep);
  color: #ffffff;
}

.button--primary:hover,
input[type="submit"]:hover {
  border-color: var(--ink);
  background: var(--ink);
  color: #ffffff;
}

.button--secondary {
  border-color: var(--line-strong);
  background: transparent;
  color: var(--ink);
}

.button--secondary:hover {
  border-color: var(--ink);
  background: var(--surface);
  color: var(--ink);
}

.button svg {
  width: 1.1rem;
  height: 1.1rem;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.button-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.actions--centered {
  justify-content: center;
  margin-block-start: var(--space-6);
}

.hero,
.page-hero {
  position: relative;
  overflow: clip;
  border-block-end: 1px solid var(--line);
  background: var(--paper);
}

.hero {
  padding-block: clamp(4rem, 9vw, 8.5rem);
}

.page-hero {
  padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.hero::after,
.page-hero::after {
  position: absolute;
  z-index: -1;
  inset: auto -12rem -17rem auto;
  width: 32rem;
  height: 32rem;
  border: 1px solid rgb(20 92 99 / 0.13);
  border-radius: 50%;
  content: "";
}

.hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(17rem, 0.55fr);
  gap: clamp(2.5rem, 8vw, 8rem);
  align-items: center;
}

.hero__content,
.page-hero__content {
  max-width: 49rem;
}

.hero .lede,
.page-hero .lede {
  margin-block-end: var(--space-6);
}

.report-excerpt {
  position: relative;
  min-width: 0;
  padding: clamp(1.25rem, 4vw, 2.25rem);
  border: 1px solid var(--line-strong);
  border-block-start: 0.25rem solid var(--petrol);
  background: var(--surface-strong);
  box-shadow: var(--shadow-soft);
}

.report-excerpt > :last-child {
  margin-block-end: 0;
}

.report-excerpt h2,
.report-excerpt h3 {
  max-width: none;
  font-family: var(--font-serif);
  font-size: var(--step-1);
  font-weight: 600;
}

.report-excerpt__meta {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  margin-block-end: var(--space-5);
  padding-block-end: var(--space-3);
  border-block-end: 1px solid var(--line);
  color: var(--ink-faint);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.report-excerpt dl {
  margin-block: var(--space-5);
}

.report-excerpt dl > div {
  display: grid;
  grid-template-columns: minmax(6.5rem, 0.38fr) minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-2);
  border-block-end: 1px solid var(--line);
}

.report-excerpt dl > div:first-child {
  border-block-start: 1px solid var(--line);
}

.report-excerpt dt {
  color: var(--ink-faint);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.report-excerpt dd {
  margin: 0;
  color: var(--ink);
  font-weight: 620;
}

.report-excerpt__limit {
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--petrol);
  color: var(--ink-soft);
  font-size: var(--step--1);
}

.card,
.resource-card {
  position: relative;
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.card > :last-child,
.resource-card > :last-child {
  margin-block-end: 0;
}

.card {
  display: flex;
  flex-direction: column;
}

.card > :where(.text-link, .button):last-child,
.resource-card > :where(.text-link, .button):last-child {
  align-self: flex-start;
  margin-block-start: auto;
  padding-block-start: var(--space-3);
}

.card h3 > a,
.resource-card h3 > a {
  color: inherit;
  text-decoration-color: rgb(20 92 99 / 0.3);
}

.text-link {
  display: inline-flex;
  gap: var(--space-2);
  align-items: center;
  min-height: 2.75rem;
  color: var(--petrol-deep);
  font-size: 0.94rem;
  font-weight: 680;
}

.text-link::after {
  content: "→";
}

.resource-card:focus-within {
  border-color: var(--petrol);
}

.method-summary,
.principles {
  margin-block: 0;
  padding: 0;
  list-style: none;
  counter-reset: principle;
}

.method-summary > li,
.principles > li {
  counter-increment: principle;
}

.method-summary > li::before,
.principles > li::before {
  display: block;
  margin-block-end: var(--space-4);
  color: var(--petrol-deep);
  font-size: 0.76rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  content: counter(principle, decimal-leading-zero);
}

.principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.sequence {
  margin-block-start: var(--space-5);
  color: #ffffff;
  font-size: var(--step--1);
  font-weight: 720;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sequence span {
  margin-inline: 0.35rem;
  color: #a8d4cf;
}

.faq-list {
  max-width: 62rem;
  margin-inline: auto;
  border-block-start: 1px solid var(--line-strong);
}

.faq-list details {
  border-block-end: 1px solid var(--line-strong);
}

.faq-list summary {
  display: flex;
  gap: var(--space-4);
  align-items: start;
  min-height: 3.5rem;
  padding-block: var(--space-5);
  color: var(--ink);
  font-family: var(--font-serif);
  font-size: var(--step-0);
  font-weight: 650;
  cursor: pointer;
  list-style: none;
}

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

.faq-list summary::after {
  flex: 0 0 auto;
  margin-inline-start: auto;
  color: var(--petrol-deep);
  font-family: var(--font-sans);
  font-size: 1.35em;
  font-weight: 500;
  line-height: 1;
  content: "+";
}

.faq-list details[open] summary::after {
  content: "−";
}

.faq-list details > .prose {
  max-width: 54rem;
  padding: 0 var(--space-8) var(--space-5) 0;
}

.faq-list details > .prose > :last-child {
  margin-block-end: 0;
}

.label {
  display: inline-flex;
  padding: 0.35rem 0.6rem;
  border: 1px solid currentColor;
  color: var(--petrol-deep);
  font-size: 0.72rem;
  font-weight: 780;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.section--contrast .label {
  color: #a8d4cf;
}

.statement {
  max-width: 52rem;
  margin: var(--space-7) auto 0;
  padding-block-start: var(--space-5);
  border-block-start: 1px solid var(--line);
  color: var(--ink);
  font-family: var(--font-serif);
  font-size: var(--step-1);
  line-height: 1.5;
  text-align: center;
}

.resource-card h3 {
  max-width: 28ch;
}

.resource-card p {
  color: var(--ink-soft);
}

.check-list {
  padding: 0;
  list-style: none;
}

.check-list li {
  position: relative;
  padding-inline-start: 1.65rem;
}

.check-list li::before {
  position: absolute;
  inset-block-start: 0.73em;
  inset-inline-start: 0;
  width: 0.55rem;
  height: 0.55rem;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--petrol);
  content: "";
}

.check-list--negative li::before {
  width: 0.72rem;
  height: 1px;
  border-radius: 0;
  background: var(--danger);
}

.check-list li + li {
  margin-block-start: var(--space-3);
}

.definition-list {
  display: grid;
  grid-template-columns: minmax(8rem, 0.4fr) minmax(0, 1fr);
  gap: var(--space-3) var(--space-5);
}

.definition-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  margin: 0;
}

.definition-grid dt {
  margin-block-end: var(--space-3);
  color: var(--ink);
  font-weight: 700;
  line-height: 1.3;
}

.definition-grid dd {
  margin: 0;
  color: var(--ink-soft);
}

.definition-list > div {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(9rem, 0.4fr) minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-4);
  border-block-end: 1px solid var(--line);
}

.definition-list > div:first-child {
  border-block-start: 1px solid var(--line);
}

.definition-list > div dt,
.definition-list > div dd {
  margin: 0;
}

.definition-list dt {
  font-weight: 680;
}

.definition-list dd {
  margin: 0;
  color: var(--ink-soft);
}

.callout,
.notice {
  padding: clamp(1.1rem, 3vw, 1.6rem);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  background: var(--surface);
}

.notice--strong {
  border-width: 2px;
  border-color: var(--petrol);
  background: var(--petrol-soft);
}

.notice--preview {
  border-color: var(--warning);
  background: var(--warning-soft);
}

.notice--warning {
  border-color: #b79343;
  background: var(--warning-soft);
}

.notice--urgent {
  border-color: var(--danger);
  background: var(--danger-soft);
}

.section--urgent .notice--urgent {
  background: var(--surface);
}

.callout h2,
.callout h3,
.notice h2,
.notice h3 {
  font-size: var(--step-1);
}

.method-list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: method;
}

.steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: step;
}

.steps > li {
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink-soft);
  counter-increment: step;
}

.steps > li::before {
  display: block;
  margin-block-end: var(--space-4);
  color: var(--petrol-deep);
  font-size: 0.76rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  content: counter(step, decimal-leading-zero);
}

.steps h3 {
  color: var(--ink);
}

.steps--detailed {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.section--contrast .steps > li {
  border-color: #536473;
  background: #1a3044;
  color: #d7dde1;
}

.section--contrast .steps > li::before {
  color: #a8d4cf;
}

.section--contrast .steps h3 {
  color: #ffffff;
}

.method-list > li {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-5);
  border-block-start: 1px solid var(--line);
  counter-increment: method;
}

.method-list > li:last-child {
  border-block-end: 1px solid var(--line);
}

.method-list > li::before {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid var(--petrol);
  border-radius: 50%;
  color: var(--petrol-deep);
  font-size: var(--step--1);
  font-weight: 750;
  content: counter(method, decimal-leading-zero);
}

.method-list h3 {
  margin-block-start: 0.25rem;
}

.report-banner {
  display: block;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--petrol);
  background: var(--petrol-soft);
  color: var(--petrol-deep);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.065em;
  line-height: 1.4;
  text-align: center;
  text-transform: uppercase;
}

.report-sheet {
  width: min(100%, 56rem);
  margin-inline: auto;
  margin-block-end: var(--space-6);
  padding: clamp(1.25rem, 5vw, 4rem);
  border: 1px solid var(--line);
  background: var(--surface-strong);
  box-shadow: var(--shadow-soft);
}

.report-page {
  padding-block-end: var(--space-8);
  background: var(--paper-deep);
}

.report-page > .report-banner {
  margin-block-end: var(--space-7);
  border-inline: 0;
}

.report-sheet {
  display: flex;
  flex-direction: column;
}

.report-sheet.finding {
  width: min(100%, 56rem);
  margin-inline: auto;
  margin-block: 0 var(--space-6);
  padding: clamp(1.25rem, 5vw, 4rem);
  border-inline-start: 0.3rem solid var(--petrol);
  background: var(--surface-strong);
}

.report-sheet h2 {
  max-width: none;
  font-size: var(--step-2);
}

.report-sheet h3 {
  max-width: none;
  font-size: 1.08rem;
}

.report-sheet__meta {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  margin-block-end: var(--space-6);
  padding-block-end: var(--space-3);
  border-block-end: 1px solid var(--line);
  color: var(--ink-faint);
  font-size: 0.74rem;
  font-weight: 680;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.report-cover {
  min-height: 43rem;
}

.report-cover__content {
  display: grid;
  align-content: center;
  flex: 1;
  max-width: 42rem;
  padding-block: var(--space-7);
}

.report-identity {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-5);
  margin-block: var(--space-6);
}

.report-identity > div {
  display: grid;
  grid-template-columns: minmax(6rem, 0.45fr) minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-2);
  border-block-end: 1px solid var(--line);
}

.report-identity dt {
  color: var(--ink-faint);
  font-size: 0.76rem;
  font-weight: 680;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.report-identity dd {
  margin: 0;
  font-weight: 620;
}

.report-stamp {
  margin-block: auto 0;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--line);
  color: var(--petrol-deep);
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  line-height: 1.4;
  text-transform: uppercase;
}

.decision-grid,
.timeline-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block: var(--space-5);
}

.report-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  margin-block: var(--space-5);
}

.report-columns > * {
  min-width: 0;
  padding: var(--space-4);
  border-block-start: 0.2rem solid var(--petrol);
  background: var(--paper-muted);
}

.finding__status {
  align-self: flex-start;
  padding: 0.3rem 0.6rem;
  border: 1px solid var(--petrol);
  background: var(--petrol-soft);
  color: var(--petrol-deep);
  font-size: 0.74rem;
  font-weight: 750;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.finding__details {
  margin-block: var(--space-5);
}

.finding__details > div {
  display: grid;
  grid-template-columns: minmax(9rem, 0.34fr) minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-3);
  border-block-end: 1px solid var(--line);
}

.finding__details > div:first-child {
  border-block-start: 1px solid var(--line);
}

.finding__details dt {
  color: var(--ink-soft);
  font-size: var(--step--1);
  font-weight: 680;
}

.finding__details dd {
  margin: 0;
}

.exposure-chain {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block: var(--space-5);
  padding: 0;
  list-style: none;
  counter-reset: chain;
}

.report-page .exposure-chain {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.exposure-chain__source {
  display: block;
  margin-block-end: var(--space-2);
  color: var(--petrol-deep);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.exposure-chain li {
  position: relative;
  padding: var(--space-4);
  border: 1px solid var(--line);
  background: var(--surface);
  counter-increment: chain;
}

.exposure-chain li::before {
  display: block;
  margin-block-end: var(--space-2);
  color: var(--petrol-deep);
  font-size: 0.75rem;
  font-weight: 750;
  content: "0" counter(chain);
}

.exposure-chain li:not(:last-child)::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: calc(var(--space-4) * -1 - 1px);
  width: var(--space-4);
  border-block-start: 1px solid var(--petrol);
  content: "";
}

.table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border: 1px solid var(--line);
  border-radius: var(--radius-small);
}

table {
  width: 100%;
  border-collapse: collapse;
  background: var(--surface-strong);
  color: var(--ink);
  font-size: 0.9rem;
  line-height: 1.45;
}

caption {
  padding: var(--space-3) var(--space-4);
  border-block-end: 1px solid var(--line);
  background: var(--paper-muted);
  color: var(--ink);
  font-weight: 700;
  text-align: start;
}

th,
td {
  min-width: 8rem;
  padding: 0.75rem 0.9rem;
  border-block-end: 1px solid var(--line);
  text-align: start;
  vertical-align: top;
}

th {
  background: var(--paper-muted);
  font-size: 0.8rem;
  font-weight: 750;
  letter-spacing: 0.025em;
}

tbody tr:last-child > * {
  border-block-end: 0;
}

.table-wrap table {
  min-width: 42rem;
  margin: 0;
}

.resource-card__meta,
.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  color: var(--ink-faint);
  font-size: var(--step--1);
}

.resource-card__meta {
  margin-block-end: var(--space-3);
}

.article-layout {
  display: grid;
  grid-template-columns: 16rem minmax(0, 1fr);
  gap: clamp(2.5rem, 7vw, 6rem);
  align-items: start;
}

.article-page .article-layout {
  padding-block: var(--space-7) var(--space-8);
}

.article-summary {
  position: sticky;
  inset-block-start: 7rem;
  padding: var(--space-4);
  border-block-start: 0.2rem solid var(--petrol);
  background: var(--surface);
  font-size: var(--step--1);
}

.article-summary h2 {
  font-size: 1rem;
}

.article-summary :where(ul, ol) {
  margin: 0;
}

.article-summary a {
  color: inherit;
  font-weight: 650;
  text-decoration-color: var(--line-strong);
  text-underline-offset: 0.18em;
}

.article-summary a:hover {
  color: var(--petrol-deep);
  text-decoration-color: currentcolor;
}

.article-content > section + section {
  margin-block-start: var(--space-7);
}

.article-content > section > h2:first-child {
  margin-block-start: 0;
}

.meta-line {
  color: var(--ink-faint);
  font-size: var(--step--1);
}

.source-list {
  padding: var(--space-5);
  border: 1px solid var(--line);
  background: var(--paper-muted);
}

ul.source-list {
  padding-inline-start: calc(var(--space-5) + 1.25rem);
}

.breadcrumbs {
  padding-block: var(--space-4);
  color: var(--ink-soft);
  font-size: var(--step--1);
}

.page-hero__inner {
  max-width: var(--shell);
}

.page-hero--compact {
  padding-block: clamp(3rem, 6vw, 5.25rem);
}

.page-hero--article {
  padding-block: var(--space-5) clamp(3.5rem, 7vw, 6rem);
}

.page-hero--article h1 {
  max-width: 22ch;
}

.page-hero--centered {
  display: grid;
  align-content: center;
  min-height: 64vh;
  text-align: center;
}

.page-hero--centered .page-hero__content {
  max-width: 52rem;
  margin-inline: auto;
}

.page-hero--centered :where(h1, .lede) {
  margin-inline: auto;
}

.page-hero--centered .button-group {
  justify-content: center;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumbs li:not(:last-child)::after {
  margin-inline-start: 0.35rem;
  color: var(--line-strong);
  content: "/";
}

.preview-only {
  outline: 2px dashed var(--warning);
  outline-offset: -2px;
}

.facts {
  margin-block: var(--space-5);
}

.facts > div {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-2);
  border-block-end: 1px solid var(--line);
}

.facts > div:first-child {
  border-block-start: 1px solid var(--line);
}

.facts dt {
  color: var(--ink-soft);
  font-size: var(--step--1);
}

.facts dd {
  margin: 0;
  font-weight: 620;
}

.offer-essentials {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  margin: 0;
}

.offer-essentials > div {
  min-width: 0;
  padding-block-start: var(--space-3);
  border-block-start: 0.125rem solid var(--petrol);
}

.offer-essentials dt {
  margin-block-end: var(--space-2);
  color: var(--petrol-deep);
  font-size: 0.75rem;
  font-weight: 760;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.offer-essentials dd {
  margin: 0;
  color: var(--ink-soft);
}

.page-index {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  align-items: baseline;
  margin-block-start: var(--space-6);
  padding-block: var(--space-3);
  border-block: 1px solid var(--line);
  font-size: var(--step--1);
}

.page-index-section {
  padding-block: var(--space-4);
  background: var(--paper);
}

.page-index--standalone {
  margin-block-start: 0;
}

.page-index span {
  color: var(--ink-faint);
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.page-index a {
  color: var(--petrol-deep);
  font-weight: 680;
  text-underline-offset: 0.22em;
}

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.65fr) minmax(22rem, 1fr);
  gap: clamp(2.5rem, 8vw, 7rem);
  align-items: start;
}

.contact-intro {
  position: sticky;
  inset-block-start: 7rem;
}

.contact-form {
  max-width: 48rem;
}

form {
  min-width: 0;
}

fieldset {
  min-width: 0;
  margin: 0 0 var(--space-6);
  padding: 0;
  border: 0;
}

.form-section + .form-section {
  margin-block-start: var(--space-5);
  padding-block-start: var(--space-5);
  border-block-start: 1px solid var(--line);
}

.form-section fieldset {
  margin-block-end: 0;
}

legend {
  width: 100%;
  margin-block-end: var(--space-4);
  padding: 0;
  color: var(--ink);
  font-size: var(--step-1);
  font-weight: 680;
  line-height: 1.3;
}

.field {
  display: grid;
  gap: var(--space-2);
  margin-block-end: var(--space-5);
}

.field label {
  color: var(--ink);
  font-size: 0.95rem;
  font-weight: 650;
}

.field-help {
  margin: 0;
  color: var(--ink-soft);
  font-size: var(--step--1);
  line-height: 1.45;
}

.field-optional {
  color: var(--ink-faint);
  font-size: var(--step--1);
  font-weight: 500;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
select,
textarea {
  width: 100%;
  min-height: 3rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-small);
  background: var(--surface-strong);
  color: var(--ink);
  line-height: 1.35;
}

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

select {
  padding-inline-end: 2.5rem;
}

input::placeholder,
textarea::placeholder {
  color: #6d7780;
  opacity: 1;
}

input:hover,
select:hover,
textarea:hover {
  border-color: var(--ink-soft);
}

input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
  border-color: var(--danger);
  box-shadow: inset 0 0 0 1px var(--danger);
}

.field-error,
.error-message {
  margin: 0;
  color: var(--danger);
  font-size: var(--step--1);
  font-weight: 650;
}

.error-summary {
  margin-block-end: var(--space-6);
  padding: var(--space-4);
  border: 2px solid var(--danger);
  background: var(--danger-soft);
}

.error-summary:focus {
  outline: 0.2rem solid var(--focus);
  outline-offset: 0.2rem;
}

.error-summary h2 {
  font-size: var(--step-1);
}

.error-summary ul {
  margin: 0;
}

.choice {
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
  margin-block-end: var(--space-3);
}

.choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
}

.choice-grid .choice {
  min-height: 3.25rem;
  margin: 0;
  padding: 0.7rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-small);
  background: var(--surface-strong);
}

.choice-grid .choice:hover,
.choice-grid .choice:focus-within {
  border-color: var(--petrol);
}

.choice input {
  width: 1.25rem;
  height: 1.25rem;
  margin: 0.22rem 0 0;
  accent-color: var(--petrol-deep);
}

.choice span {
  line-height: 1.5;
}

.confirmation-list {
  display: grid;
  gap: var(--space-3);
  margin-block: var(--space-5);
  padding: var(--space-4);
  border: 1px solid var(--line);
  background: var(--paper-muted);
}

.choice--confirmation {
  margin: 0;
}

.form-status,
[aria-live] {
  font-size: var(--step--1);
}

.form-status:empty {
  display: none;
}

[hidden] {
  display: none !important;
}

.form-honeypot {
  position: absolute !important;
  inset-block-start: 0 !important;
  inset-inline-start: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.form-privacy,
.form-note {
  color: var(--ink-soft);
  font-size: var(--step--1);
  line-height: 1.55;
}

.section--cta > .callout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-6);
  align-items: center;
  text-align: start;
}

.section--cta > .callout h2 {
  max-width: 30ch;
}

.section--cta > .callout .button {
  white-space: nowrap;
}

.site-footer {
  padding-block-start: var(--space-7);
  border-block-start: 1px solid var(--line);
  background: var(--paper-deep);
}

.footer-intro {
  padding-block-end: var(--space-6);
  border-block-end: 1px solid var(--line);
}

.footer-signature {
  max-width: 56rem;
  margin: 0;
  color: var(--ink);
  font-size: var(--step-1);
  font-weight: 580;
  line-height: 1.45;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  padding-block: var(--space-6);
}

.footer-group h2 {
  margin-block-end: var(--space-3);
  font-size: 0.8rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-group li + li {
  margin-block-start: var(--space-2);
}

.footer-group a {
  color: var(--ink-soft);
  font-size: var(--step--1);
}

.footer-legal {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  padding-block: var(--space-4);
  border-block-start: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: 0.78rem;
}

.footer-legal p {
  margin: 0;
}

.legal-content,
.prose {
  max-width: var(--measure);
}

.legal-content {
  width: 100%;
  min-width: 0;
}

.legal-layout {
  display: grid;
  justify-items: center;
}

.legal-content > section + section,
.legal-content > aside {
  margin-block-start: var(--space-7);
}

.legal-details {
  margin-block: var(--space-5);
}

.legal-details > div {
  display: grid;
  grid-template-columns: minmax(9rem, 0.36fr) minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-3);
  border-block-end: 1px solid var(--line);
}

.legal-details > div:first-child {
  border-block-start: 1px solid var(--line);
}

.legal-details dt {
  color: var(--ink-soft);
  font-size: var(--step--1);
  font-weight: 620;
}

.legal-details dd {
  margin: 0;
}

.legal-content h2,
.prose h2 {
  margin-block-start: var(--space-7);
  font-size: var(--step-2);
}

.legal-content h3,
.prose h3 {
  margin-block-start: var(--space-5);
}

.legal-content address {
  font-style: normal;
}

.situation-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.situation-card ol {
  color: var(--ink-soft);
}

@media (hover: hover) and (pointer: fine) {
  .card,
  .resource-card,
  .button,
  .primary-navigation a {
    transition-duration: 160ms;
    transition-property: background-color, border-color, color;
    transition-timing-function: ease-out;
  }

  .card:hover,
  .resource-card:hover {
    border-color: var(--petrol);
  }
}

@media (max-width: 68rem) {
  .site-header__inner {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-3);
    padding-block: var(--space-3);
  }

  .primary-navigation {
    grid-column: 1 / -1;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding-block-start: var(--space-3);
    border-block-start: 1px solid var(--line);
  }

  .header-cta {
    grid-column: 2;
    grid-row: 1;
  }

  .js .menu-button {
    display: inline-flex;
    grid-column: 2;
    grid-row: 1;
  }

  .js .site-header__inner > .primary-navigation,
  .js .site-header__inner > .header-cta {
    display: none;
  }

  .hero__inner,
  .split,
  .split--cards,
  .split-layout,
  .contact-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero__inner {
    gap: var(--space-7);
  }

  .principles,
  .definition-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .article-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .article-summary {
    position: static;
    max-width: var(--measure);
  }

  .contact-intro {
    position: static;
  }

  .decision-grid,
  .timeline-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 50rem) {
  :root {
    --space-8: 4.25rem;
  }

  .card-grid,
  .form-grid,
  .principles,
  .definition-grid,
  .steps--detailed,
  .situation-list,
  .choice-grid,
  .decision-grid,
  .timeline-grid,
  .report-columns,
  .report-identity,
  .report-page .exposure-chain,
  .footer-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .section--cta > .callout {
    grid-template-columns: minmax(0, 1fr);
    text-align: center;
  }

  .section--cta > .callout .button {
    justify-self: center;
    white-space: normal;
  }

  .footer-grid {
    gap: var(--space-6);
  }

  .footer-legal {
    flex-direction: column;
  }

  .exposure-chain {
    grid-template-columns: minmax(0, 1fr);
  }

  .exposure-chain li:not(:last-child)::after {
    inset-block: auto calc(var(--space-4) * -1 - 1px);
    inset-inline-start: 2rem;
    width: 1px;
    height: var(--space-4);
    border: 0;
    border-inline-start: 1px solid var(--petrol);
  }

  .definition-list {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }

  .definition-list > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }

  .finding__details > div,
  .report-identity > div,
  .legal-details > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }

  .definition-list dd + dt {
    margin-block-start: var(--space-3);
  }

  .report-sheet {
    width: 100%;
    border-inline: 0;
    box-shadow: none;
  }

  .offer-essentials {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 36rem) {
  .shell {
    width: min(100% - 1.5rem, var(--shell));
  }

  .wordmark {
    white-space: normal;
  }

  .hero,
  .page-hero {
    padding-block: 3.5rem;
  }

  .actions,
  .button-group {
    align-items: stretch;
    flex-direction: column;
  }

  .actions .button,
  .button-group .button {
    width: 100%;
  }

  .report-excerpt dl > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }

  .method-list > li {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .offer-essentials {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-index {
    align-items: flex-start;
    flex-direction: column;
  }

}

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

@media (prefers-contrast: more) {
  :root {
    --ink-soft: #253647;
    --ink-faint: #364554;
    --line: #7c7b74;
    --line-strong: #555751;
  }

  .button,
  input,
  select,
  textarea,
  .card,
  .resource-card,
  .report-excerpt,
  .report-sheet {
    border-width: 2px;
  }

  a {
    text-decoration-thickness: 0.12em;
  }
}

@media (forced-colors: active) {
  :root {
    --paper: Canvas;
    --paper-deep: Canvas;
    --paper-muted: Canvas;
    --surface: Canvas;
    --surface-strong: Canvas;
    --ink: CanvasText;
    --ink-soft: CanvasText;
    --ink-faint: CanvasText;
    --petrol: LinkText;
    --petrol-deep: LinkText;
    --petrol-soft: Canvas;
    --line: CanvasText;
    --line-strong: CanvasText;
    --focus: Highlight;
  }

  *,
  *::before,
  *::after {
    box-shadow: none !important;
  }

  .button,
  .menu-button,
  .icon-button {
    border: 1px solid ButtonText;
    forced-color-adjust: auto;
  }

  .button--primary,
  input[type="submit"] {
    background: ButtonFace;
    color: ButtonText;
  }

  .check-list li::before {
    background: CanvasText;
  }

  .hero::after,
  .page-hero::after {
    display: none;
  }

  .faq-list summary::after {
    color: LinkText;
  }
}

@media print {
  @page {
    margin: 16mm;
    size: A4;
  }

  :root {
    --paper: #ffffff;
    --paper-deep: #ffffff;
    --paper-muted: #f1f1f1;
    --surface: #ffffff;
    --surface-strong: #ffffff;
    --ink: #000000;
    --ink-soft: #222222;
    --ink-faint: #333333;
    --petrol: #000000;
    --petrol-deep: #000000;
    --line: #777777;
    --line-strong: #333333;
  }

  html,
  body {
    min-width: 0;
    background: #ffffff;
    color: #000000;
    font-size: 10.5pt;
  }

  body {
    line-height: 1.45;
  }

  .site-header,
  .site-footer,
  .skip-link,
  .breadcrumbs,
  .page-index-section,
  .actions,
  .button,
  button,
  form,
  .section--cta {
    display: none !important;
  }

  .section--contrast,
  .section--urgent {
    background: #ffffff !important;
    color: #000000 !important;
  }

  .faq-list details:not([open]) > :not(summary) {
    display: block;
  }

  .section--contrast :where(h1, h2, h3, h4, p, li),
  .section--urgent :where(h1, h2, h3, h4, p, li) {
    color: #000000 !important;
  }

  .shell,
  .legal-content,
  .prose {
    width: 100%;
    max-width: none;
  }

  .section,
  .section--compact,
  .hero,
  .page-hero {
    padding-block: 8mm;
    border: 0;
    background: #ffffff;
  }

  .hero::after,
  .page-hero::after {
    display: none;
  }

  .split,
  .split-layout,
  .article-layout,
  .contact-layout {
    display: block;
  }

  h1 {
    font-size: 25pt;
  }

  h2 {
    font-size: 18pt;
  }

  h3 {
    font-size: 13pt;
  }

  h1,
  h2,
  h3,
  h4 {
    break-after: avoid-page;
  }

  p,
  li {
    orphans: 3;
    widows: 3;
  }

  img,
  figure,
  blockquote,
  table,
  .card,
  .resource-card,
  .callout,
  .notice,
  .report-excerpt,
  .finding,
  .report-sheet {
    break-inside: avoid-page;
  }

  a {
    color: #000000;
    text-decoration: underline;
  }

  .report-page {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #ffffff;
  }

  .report-page > .report-banner {
    display: none;
  }

  .report-sheet {
    width: 100%;
    min-height: 255mm;
    margin: 0;
    padding: 0;
    break-after: page;
    border: 0;
    box-shadow: none;
  }

  .report-sheet.finding {
    margin: 0;
    padding: 0;
    border: 0;
    background: #ffffff;
  }

  .report-sheet:has(+ .section--cta) {
    break-after: auto;
  }

  .table-wrap {
    overflow: visible;
    border: 0;
  }

  .table-wrap table {
    min-width: 0;
  }

  th,
  td {
    min-width: 0;
    padding: 5pt;
  }

  .report-banner {
    border: 1px solid #000000;
    color: #000000;
  }
}

.site-header{border-block-end-color:rgb(113 129 127 / 0.52);background:rgb(244 240 231 / 0.94);box-shadow:none;}.site-header__inner{min-height:4.75rem;}.wordmark{display:inline-grid;gap:0;min-width:7.5rem;color:var(--ink);line-height:1;}.wordmark__kicker{font-size:0.63rem;font-weight:750;letter-spacing:0.2em;line-height:1.15;text-transform:uppercase;}.wordmark__name{font-family:var(--font-serif);font-size:1.45rem;font-weight:590;letter-spacing:-0.035em;line-height:1.05;}.primary-navigation a{position:relative;border-radius:0;color:var(--ink-soft);font-size:0.9rem;}.primary-navigation a:hover,.primary-navigation a[aria-current="page"]{background:transparent;}.primary-navigation a[aria-current="page"]{box-shadow:none;}.primary-navigation a[aria-current="page"]::after{position:absolute;inset:auto 0.7rem 0.35rem;height:0.12rem;background:var(--petrol);content:"";}.button,button.button,input[type="submit"]{min-height:3rem;padding:0.78rem 1.15rem;border-radius:0.15rem;letter-spacing:0.005em;}.button--primary,input[type="submit"]{border-color:var(--petrol-deep);background:var(--petrol-deep);}.button--secondary{border-color:var(--line-strong);}.section{padding-block:clamp(4.75rem,8vw,7.5rem);}.section--compact{padding-block:clamp(3.25rem,5vw,4.75rem);}.section--soft{background:var(--paper-deep);}.section--muted{background:var(--paper-muted);}.section--contrast{background:var(--ink);color:var(--on-dark,#e8f0ec);}.section--contrast :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,.site-footer :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:#a8d4cf;}.section-header,.section-heading,.section-intro--editorial{display:grid;grid-template-columns:minmax(6.5rem,2fr) minmax(0,6fr) minmax(15rem,4fr);gap:clamp(1.25rem,3vw,3rem);align-items:start;max-width:none;margin-block-end:clamp(3rem,6vw,5rem);}.section-header>.eyebrow,.section-heading>.eyebrow{grid-column:1;}.section-header>h2,.section-heading>h2{grid-column:2;margin:0;}.section-header>p:not(.eyebrow),.section-heading>p:not(.eyebrow){grid-column:3;margin:0;}.section-header>h2:last-child,.section-heading>h2:last-child{grid-column:2 / -1;}.section-intro--editorial .section-folio{grid-column:1;}.section-intro--editorial>div{grid-column:2;}.section-intro--editorial>div>:last-child{margin-block-end:0;}.section-intro--editorial>p:last-child{grid-column:3;color:var(--ink-soft);}.section-folio{margin:0;color:var(--ink-faint);font-size:0.68rem;font-weight:720;letter-spacing:0.13em;line-height:1.4;text-transform:uppercase;}.eyebrow{color:var(--petrol-deep);font-size:0.7rem;letter-spacing:0.16em;}.lede{color:var(--ink-soft);line-height:1.6;}.page-hero{isolation:isolate;border-block-end-color:var(--line-strong);background:linear-gradient(90deg,transparent calc(50% - 1px),rgb(113 129 127 / 0.16) 50%,transparent calc(50% + 1px)),var(--paper);}.page-hero::after{z-index:-1;inset:0 clamp(1rem,5vw,4rem) auto auto;width:1px;height:100%;border:0;border-radius:0;background:rgb(113 129 127 / 0.25);}.page-hero .narrow,.page-hero__content{max-width:61rem;}.page-hero h1{max-width:17ch;}.hero--folio{padding-block:clamp(4rem,8vw,7.25rem) 0;border-block-end:0;background:linear-gradient(90deg,transparent calc(50% - 1px),rgb(113 129 127 / 0.17) 50%,transparent calc(50% + 1px)),var(--paper);}.hero--folio::after{display:none;}.hero--folio .hero__inner{grid-template-columns:minmax(0,7fr) minmax(19rem,5fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;}.hero--folio h1{max-width:15ch;margin-block-end:1.75rem;font-size:clamp(3.15rem,6.4vw,6.25rem);line-height:0.96;}.hero--folio .lede{max-width:39rem;}.hero__utility-link{display:inline-block;min-height:2.75rem;margin-block-start:1rem;padding-block:0.65rem;color:var(--ink-soft);font-size:0.92rem;}.proof-sheet{position:relative;z-index:1;min-width:0;padding:clamp(1.5rem,4vw,2.4rem);border:1px solid var(--line-strong);border-block-start:0.28rem solid var(--petrol);background:var(--surface);box-shadow:var(--shadow-soft);}.proof-sheet::before{position:absolute;z-index:-1;inset:0.75rem -0.75rem -0.75rem 0.75rem;border:1px solid var(--line);background:var(--paper-muted);content:"";}.proof-sheet__folio{position:absolute;inset:auto 1rem 0.65rem auto;color:var(--ink-faint);font-size:0.65rem;font-weight:700;letter-spacing:0.11em;text-transform:uppercase;}.proof-sheet h2{max-width:18ch;font-size:clamp(1.65rem,2.6vw,2.25rem);}.proof-ledger{margin-block:1.75rem 2.5rem;}.proof-ledger>div{display:grid;grid-template-columns:minmax(6.5rem,0.42fr) 1fr;gap:1rem;padding-block:0.7rem;border-block-end:1px solid var(--line);}.proof-ledger>div:first-child{border-block-start:1px solid var(--line);}.proof-ledger dt{color:var(--ink-faint);font-size:0.68rem;font-weight:720;letter-spacing:0.09em;text-transform:uppercase;}.proof-ledger dd{margin:0;font-weight:620;}.proof-sheet__limit{padding-block-start:1rem;border-block-start:0.18rem solid var(--danger);color:var(--ink-soft);font-size:0.92rem;}.trust-ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-block-start:clamp(4rem,7vw,6rem);border-block:1px solid var(--line-strong);}.trust-ledger>div{display:grid;grid-template-columns:auto 1fr;gap:0.8rem;align-items:start;min-width:0;padding:1.35rem clamp(0.8rem,2vw,1.5rem);}.trust-ledger>div + div{border-inline-start:1px solid var(--line);}.trust-ledger dt{color:var(--petrol-deep);font-size:0.7rem;font-weight:760;letter-spacing:0.08em;}.trust-ledger dd{margin:0;color:var(--ink-soft);font-size:0.87rem;font-weight:580;line-height:1.4;}.section--editorial{background:var(--surface);}.editorial-grid{display:grid;grid-template-columns:minmax(6.5rem,2fr) minmax(0,6fr) minmax(15rem,4fr);gap:clamp(1.25rem,3vw,3rem);align-items:start;}.editorial-grid__title h2{max-width:18ch;}.editorial-grid__body{padding-block-start:1.75rem;border-block-start:1px solid var(--line-strong);}.sequence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-block-start:2rem;border-block:1px solid var(--line);}.sequence span{padding:0.75rem 0;color:var(--ink);font-size:0.72rem;font-weight:730;letter-spacing:0.08em;text-transform:uppercase;}.section--offer{background:var(--paper-deep);}.offer-panel{display:grid;grid-template-columns:minmax(14rem,3fr) minmax(18rem,5fr) minmax(14rem,4fr);border-block:1px solid var(--line-strong);}.offer-panel>*{min-width:0;margin:0;padding:clamp(1.5rem,3vw,2.5rem);}.offer-panel>* + *{border-inline-start:1px solid var(--line-strong);}.price{display:grid;gap:0.2rem;margin-block:1.25rem 0.5rem;}.price strong{font-family:var(--font-serif);font-size:clamp(2.4rem,4vw,4rem);font-weight:560;letter-spacing:-0.04em;line-height:1;}.price span,.offer-panel__price>p:last-child,.offer-panel__action p{color:var(--ink-soft);font-size:0.86rem;}.offer-panel__deliverables{align-self:center;}.offer-panel__action{display:grid;align-content:center;gap:1rem;}.proof-feature{overflow:hidden;}.proof-feature__layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(22rem,7fr);gap:clamp(3rem,8vw,8rem);align-items:center;}.proof-feature__copy h2{max-width:16ch;}.proof-feature__copy>p:not(.eyebrow,.section-folio){max-width:37rem;color:#d6e1df;}.proof-feature .section-folio{margin-block-end:3.5rem;color:#a8d4cf;}.report-spread{position:relative;min-height:31rem;}.report-spread__page{position:absolute;display:grid;align-content:start;width:min(73%,23rem);aspect-ratio:0.72;padding:2rem;border:1px solid #879996;background:var(--surface);color:var(--ink);box-shadow:0 2rem 5rem rgb(0 0 0 / 0.25);}.report-spread__page--back{inset:0 auto auto 0;transform:rotate(-3deg);}.report-spread__page--front{inset:2.5rem 0 auto auto;transform:rotate(2deg);}.report-spread__page span{padding-block-end:0.8rem;border-block-end:1px solid var(--line);font-size:0.62rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;}.report-spread__page strong{margin-block:2rem;font-family:var(--font-serif);font-size:1.7rem;font-weight:560;line-height:1.05;}.report-spread__page i{display:block;height:0.65rem;margin-block-end:0.65rem;background:var(--paper-deep);}.report-spread__page i:nth-of-type(2){width:88%;}.report-spread__page i:nth-of-type(3){width:72%;}.report-spread__page b{align-self:end;margin-block-start:2.5rem;padding-block-start:0.8rem;border-block-start:0.2rem solid var(--danger);color:var(--danger);font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;}.section--framework{background:var(--surface);}.decision-grid--editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-block-end:clamp(4rem,8vw,7rem);border-block:1px solid var(--line-strong);}.decision-card{min-width:0;padding:clamp(1.4rem,3vw,2.25rem);}.decision-card + .decision-card{border-inline-start:1px solid var(--line);}.decision-card>span{display:block;margin-block-end:2.25rem;color:var(--danger);font-size:0.7rem;font-weight:760;letter-spacing:0.1em;}.decision-card h3{max-width:20ch;}.decision-card p{color:var(--ink-soft);}.founder-profile{display:grid;grid-template-columns:minmax(10rem,2.5fr) minmax(0,5.5fr) minmax(14rem,4fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;padding-block:clamp(2rem,5vw,4rem);border-block:1px solid var(--line-strong);}.founder-profile__monogram{display:grid;place-items:center;aspect-ratio:1;max-width:12rem;border:1px solid var(--line-strong);background:var(--paper);}.founder-profile__monogram span{font-family:var(--font-serif);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:520;letter-spacing:-0.06em;}.founder-profile__content h2{max-width:17ch;font-size:clamp(2rem,3.4vw,3.35rem);}.founder-profile__facts{margin:0;}.founder-profile__facts>div{padding-block:0.8rem;border-block-end:1px solid var(--line);}.founder-profile__facts>div:first-child{border-block-start:1px solid var(--line);}.founder-profile__facts dt{color:var(--ink-faint);font-size:0.66rem;font-weight:720;letter-spacing:0.09em;text-transform:uppercase;}.founder-profile__facts dd{margin:0.15rem 0 0;font-weight:620;}.closing-sheet{background:var(--paper-deep);text-align:start;}.closing-sheet__inner{display:grid;grid-template-columns:minmax(6.5rem,2fr) minmax(0,7fr) minmax(14rem,3fr);gap:clamp(1.5rem,4vw,4rem);align-items:end;}.closing-sheet__inner h2{max-width:20ch;}.closing-sheet__inner>div:nth-child(2)>p:last-child{max-width:42rem;color:var(--ink-soft);}.closing-sheet__actions{display:grid;gap:0.75rem;}.closing-sheet__actions .text-link{justify-content:center;}.card,.resource-card,.callout{border-radius:0.15rem;}.card,.resource-card{border-color:var(--line);border-block-start-color:var(--line-strong);background:rgb(252 250 245 / 0.74);}.card::after,.resource-card::after{position:absolute;inset:-1px auto auto -1px;width:2.5rem;height:0.18rem;background:var(--petrol);content:"";}.resource-card{min-height:17rem;}.resource-card__meta,.meta-line{color:var(--ink-faint);font-size:0.72rem;letter-spacing:0.07em;text-transform:uppercase;}.offer-essentials{border-block-color:var(--line-strong);}.offer-essentials>div{background:transparent;}.steps{border-block:1px solid #536a71;}.steps>li{border-color:#536a71;}.faq-list details{border-inline:0;border-block-start:1px solid var(--line-strong);border-radius:0;background:transparent;}.faq-list details:last-child{border-block-end:1px solid var(--line-strong);}.contact-layout{grid-template-columns:minmax(17rem,4fr) minmax(0,8fr);gap:clamp(2.5rem,7vw,7rem);}.contact-form{padding:clamp(1.5rem,4vw,3.25rem);border-color:var(--line-strong);border-block-start:0.28rem solid var(--petrol);background:var(--surface);box-shadow:var(--shadow-soft);}.contact-form::after{width:3.5rem;background:var(--danger);}.field :where(input,textarea,select),.choice{border-color:var(--line-strong);border-radius:0.1rem;}.site-footer{padding-block-start:clamp(4rem,7vw,6.5rem);border:0;background:var(--ink);color:#d6e1df;}.footer-intro{display:grid;grid-template-columns:minmax(11rem,3fr) minmax(0,6fr) minmax(15rem,3fr);gap:clamp(1.5rem,4vw,4rem);align-items:end;padding-block-end:clamp(3rem,5vw,5rem);border-color:#526870;}.footer-brand{display:grid;line-height:1;}.footer-brand span{color:#a8d4cf;font-size:0.66rem;font-weight:750;letter-spacing:0.2em;text-transform:uppercase;}.footer-brand strong{color:#ffffff;font-family:var(--font-serif);font-size:clamp(2rem,3.5vw,3.4rem);font-weight:560;letter-spacing:-0.04em;}.footer-signature{display:flex;flex-wrap:wrap;gap:0.75rem 1.5rem;color:#ffffff;font-family:var(--font-serif);font-size:clamp(1.5rem,2.5vw,2.35rem);font-weight:520;}.footer-signature span:not(:last-child)::after{margin-inline-start:1.5rem;color:#a8d4cf;content:"—";}.footer-contact{color:#bac9c8;font-size:0.9rem;}.site-footer a,.footer-group a,.footer-legal,.footer-contact a{color:#d9f0ed;}.footer-grid{border-color:#526870;}.footer-group h2{color:#a8d4cf;}.footer-legal{border-color:#526870;}@media (max-width:68rem){.contact-layout{grid-template-columns:minmax(0,1fr)}.section-header,.section-heading,.section-intro--editorial,.editorial-grid,.closing-sheet__inner{grid-template-columns:minmax(6rem,2fr) minmax(0,10fr);}.section-header>h2,.section-heading>h2,.section-header>p:not(.eyebrow),.section-heading>p:not(.eyebrow),.section-intro--editorial>div,.section-intro--editorial>p:last-child,.editorial-grid__title,.editorial-grid__body,.closing-sheet__inner>div{grid-column:2;}.section-header>p:not(.eyebrow),.section-heading>p:not(.eyebrow),.section-intro--editorial>p:last-child{max-width:44rem;}.hero--folio .hero__inner,.proof-feature__layout{grid-template-columns:minmax(0,1fr);}.hero__proof{width:min(100%,38rem);}.proof-feature__copy{max-width:46rem;}.report-spread{width:min(100%,42rem);}.founder-profile{grid-template-columns:minmax(9rem,3fr) minmax(0,9fr);}.founder-profile__facts{grid-column:2;}.footer-intro{grid-template-columns:repeat(2,minmax(0,1fr));}.footer-contact{grid-column:2;}}@media (max-width:50rem){.hero__proof{display:none}.section-header,.section-heading,.section-intro--editorial,.editorial-grid,.closing-sheet__inner{grid-template-columns:minmax(0,1fr);}.section-header>.eyebrow,.section-heading>.eyebrow,.section-header>h2,.section-heading>h2,.section-header>p:not(.eyebrow),.section-heading>p:not(.eyebrow),.section-intro--editorial .section-folio,.section-intro--editorial>div,.section-intro--editorial>p:last-child,.editorial-grid>*,.closing-sheet__inner>*{grid-column:1;}.section-folio{margin-block-end:1rem;}.trust-ledger{grid-template-columns:repeat(2,minmax(0,1fr));}.trust-ledger>div:nth-child(3){border-inline-start:0;}.trust-ledger>div:nth-child(n + 3){border-block-start:1px solid var(--line);}.offer-panel,.decision-grid--editorial,.founder-profile,.footer-intro{grid-template-columns:minmax(0,1fr);}.offer-panel>* + *,.decision-card + .decision-card{border-inline-start:0;border-block-start:1px solid var(--line-strong);}.founder-profile__monogram{max-width:9rem;}.founder-profile__facts,.footer-contact{grid-column:1;}.footer-signature{display:grid;}.footer-signature span::after{display:none;}}@media (max-width:36rem){.hero--folio{padding-block:3rem 0}.trust-ledger>div{padding:.85rem .65rem}.hero--folio h1{font-size:clamp(2.7rem,13vw,3.65rem);}.proof-sheet::before{display:none;}.proof-ledger>div{grid-template-columns:minmax(0,1fr);gap:0.2rem;}.report-spread{min-height:25rem;}.report-spread__page{width:82%;padding:1.4rem;}}@media (min-width:68.01rem){.principles{grid-template-columns:repeat(4,minmax(0,1fr))}}@media print{.section{padding-block:8mm}.hero,.page-hero{padding-block:12mm;border-block:0;background:#fff}.hero--folio{padding-block:12mm 0}.hero--folio h1{font-size:25pt}.section-header,.section-heading,.section-intro--editorial,.editorial-grid,.closing-sheet__inner{display:block;margin-block-end:8mm}.section-header>*,.section-heading>*,.section-intro--editorial>*,.editorial-grid>*,.closing-sheet__inner>*{margin-block-end:4mm}.trust-ledger,.offer-panel,.decision-grid--editorial,.founder-profile{break-inside:avoid-page;}.report-spread{display:none;}.site-footer{background:#ffffff;color:#000000;}.footer-brand strong,.footer-signature,.footer-group h2,.site-footer a,.footer-legal,.footer-contact{color:#000000;}}.form-required-note{margin-block-end:var(--space-5);color:var(--ink-soft);font-size:var(--step--1)}
