:root {
  --ppm-color-paper: #FFFFFF;
  --ppm-color-ink: #1F1D1B;
  --ppm-color-text-secondary: #56524D;
  --ppm-color-brick: #9C3B2A;
  --ppm-color-slate: #2F4A5E;
  --ppm-color-ochre: #B8862B;
  --ppm-color-panel: #F4F1EC;
  --ppm-color-rule: #1F1D1B;
  --ppm-color-app-ground: #F8F6F3;
  --ppm-color-negative: #9C3B2A;
  --ppm-color-header-fill: #1F1D1B;
  --ppm-color-header-text: #FFFFFF;
  --ppm-color-button-fill: #9C3B2A;
  --ppm-color-button-text: #FFFFFF;
  --ppm-color-button-fill-hover: #893425;
  --ppm-color-button-fill-pressed: #7A2E21;
  --ppm-color-button-secondary-border: #1F1D1B;
  --ppm-color-link-default: #9C3B2A;
  --ppm-color-link-hover: #893425;
  --ppm-color-focus: #2F4A5E;
  --ppm-color-nav-fill: #1F1D1B;
  --ppm-color-nav-text: #FFFFFF;
  --ppm-color-nav-active: #43413F;
  --ppm-color-nav-hover: #3A3836;
  --ppm-color-field-fill: #FFFFFF;
  --ppm-color-field-border: #1F1D1B;
  --ppm-color-field-panel: #F4F1EC;
  --ppm-color-chart-1: #9C3B2A;
  --ppm-color-chart-2: #2F4A5E;
  --ppm-color-chart-3: #B8862B;
  --ppm-color-chart-4: #4E7D6A;
  --ppm-color-chart-5: #7A5A8C;
  --ppm-color-chart-6: #C9763D;
  --ppm-color-chart-7: #5F8CAF;
  --ppm-color-chart-8: #8A8A7A;
  --ppm-color-chart-grid: #D9D4CE;
  --ppm-color-chart-axis: #1F1D1B;
  --ppm-color-chart-label: #56524D;
  --ppm-color-status-success-text: #2C784C;
  --ppm-color-status-success-bg: #E6EFEA;
  --ppm-color-status-success-border: #A1C5B0;
  --ppm-color-status-success-hover: #256641;
  --ppm-color-status-warning-text: #945D10;
  --ppm-color-status-warning-bg: #F5EDE3;
  --ppm-color-status-warning-border: #D8BC94;
  --ppm-color-status-warning-hover: #7E4F0E;
  --ppm-color-status-danger-text: #9C3B2A;
  --ppm-color-status-danger-bg: #F3E7E5;
  --ppm-color-status-danger-border: #D2A79F;
  --ppm-color-status-danger-hover: #893425;
  --ppm-color-status-info-text: #2E6F9E;
  --ppm-color-status-info-bg: #E6EEF3;
  --ppm-color-status-info-border: #A1BED3;
  --ppm-color-status-info-hover: #275E86;
  --ppm-color-status-neutral-text: #56524D;
  --ppm-color-status-neutral-bg: #EBEAEA;
  --ppm-color-status-neutral-border: #BBBAB8;
  --ppm-color-status-neutral-hover: #43413F;
  --ppm-color-neutral-0: #FFFFFF;
  --ppm-color-neutral-25: #F8F6F3;
  --ppm-color-neutral-50: #F4F1EC;
  --ppm-color-neutral-100: #EBEAEA;
  --ppm-color-neutral-200: #D9D4CE;
  --ppm-color-neutral-300: #BBBAB8;
  --ppm-color-neutral-500: #8A8A7A;
  --ppm-color-neutral-700: #56524D;
  --ppm-color-neutral-800: #43413F;
  --ppm-color-neutral-900: #1F1D1B;
  --ppm-color-scrim: rgba(31, 29, 27, 0.45);
  --ppm-color-optional-aubergine: #4B2A5E;
  --ppm-font-family-heading: "Mona Sans", "Segoe UI", "Arial", sans-serif;
  --ppm-font-family-text: "Newsreader", "Source Serif 4", "Georgia", "Times New Roman", serif;
  --ppm-font-family-figures: "Newsreader", "Source Serif 4", "Georgia", "Times New Roman", serif;
  --ppm-font-family-mono: "JetBrains Mono", "Consolas", "Courier New", monospace;
  --ppm-font-family-email: "Georgia", "Times New Roman", serif;
  --ppm-font-family-excel-fallback: "Source Serif 4", "Georgia";
  --ppm-font-weight-heading: 800;
  --ppm-font-weight-text: 400;
  --ppm-font-weight-semibold: 600;
  --ppm-font-weight-bold: 700;
  --ppm-font-width-heading-max: 125;
  --ppm-font-width-steps: 125 112.5 100 87.5 75;
  --ppm-font-width-word-title: 100;
  --ppm-font-width-name-shrink-max: 0.3;
  --ppm-font-width-name-shrink-step: 0.05;
  --ppm-font-case-heading: uppercase;
  --ppm-font-tracking-heading: 0.02em;
  --ppm-font-tracking-section-head: 0.06em;
  --ppm-font-tracking-letterhead-name: 0.06em;
  --ppm-font-tracking-letterhead-address: 0.12em;
  --ppm-font-tracking-kicker: 0.14em;
  --ppm-font-tracking-label: 0.09em;
  --ppm-font-tracking-company-line: 0.08em;
  --ppm-size-print-letterhead-name: 21pt;
  --ppm-size-print-letterhead-address: 8.5pt;
  --ppm-size-print-title: 18pt;
  --ppm-size-print-subtitle: 11pt;
  --ppm-size-print-section-head: 11pt;
  --ppm-size-print-body: 11pt;
  --ppm-size-print-table: 10pt;
  --ppm-size-print-table-header: 9.5pt;
  --ppm-size-print-key-figure: 22pt;
  --ppm-size-print-kicker: 8.5pt;
  --ppm-size-print-caption: 9pt;
  --ppm-size-print-footnote: 8.5pt;
  --ppm-size-print-footer: 8pt;
  --ppm-size-print-notice-title: 22pt;
  --ppm-size-print-minimum: 8pt;
  --ppm-size-screen-web-body: 17px;
  --ppm-size-screen-web-h1: 53px;
  --ppm-size-screen-web-h1-inner: 36px;
  --ppm-size-screen-web-h2: 36px;
  --ppm-size-screen-web-h3: 19px;
  --ppm-size-screen-web-small: 14px;
  --ppm-size-screen-web-key-figure: 32px;
  --ppm-size-screen-web-kicker: 12px;
  --ppm-size-screen-web-wordmark: 19.5px;
  --ppm-size-screen-app-body: 14px;
  --ppm-size-screen-app-h1: 22px;
  --ppm-size-screen-app-panel-title: 14.5px;
  --ppm-size-screen-app-h3: 15px;
  --ppm-size-screen-app-small: 12px;
  --ppm-size-screen-app-kpi: 22px;
  --ppm-size-screen-app-kicker: 11px;
  --ppm-size-screen-app-wordmark: 15px;
  --ppm-size-screen-email-body: 15px;
  --ppm-size-screen-email-line: 22px;
  --ppm-size-screen-email-table: 14px;
  --ppm-size-screen-email-signature: 13px;
  --ppm-size-screen-email-signature-line: 18px;
  --ppm-size-screen-email-signature-name: 15px;
  --ppm-size-screen-email-company-line: 12px;
  --ppm-size-leading-print-body: 1.45;
  --ppm-size-leading-app-body: 1.46;
  --ppm-size-leading-web-body: 1.5;
  --ppm-size-leading-heading: 1.1;
  --ppm-space-0: 0;
  --ppm-space-2xs: 2px;
  --ppm-space-xs: 4px;
  --ppm-space-sm: 8px;
  --ppm-space-md-: 12px;
  --ppm-space-md: 16px;
  --ppm-space-lg: 24px;
  --ppm-space-xl: 32px;
  --ppm-space-2xl: 48px;
  --ppm-space-3xl: 64px;
  --ppm-space-4xl: 96px;
  --ppm-page-width: 8.5in;
  --ppm-page-height: 11in;
  --ppm-page-margin-x: 1in;
  --ppm-page-margin-top: 0.75in;
  --ppm-page-margin-bottom: 0.9in;
  --ppm-page-footer-distance: 0.5in;
  --ppm-page-xlsx-margin: 0.5in;
  --ppm-layout-web-content: 1200px;
  --ppm-layout-web-gutter: 48px;
  --ppm-layout-email-width: 600px;
  --ppm-layout-app-padding: 24px;
  --ppm-layout-app-gap: 16px;
  --ppm-layout-brief-width: 640px;
  --ppm-radius-all: 0;
  --ppm-border-hairline: 1px;
  --ppm-border-standard: 1.5px;
  --ppm-border-heavy: 3px;
  --ppm-border-letterhead-top: 6px;
  --ppm-border-letterhead-bottom: 2px;
  --ppm-border-total-double: 3px;
  --ppm-border-field: 1.5px;
  --ppm-border-alert-edge: 4px;
  --ppm-border-card-accent: 4px;
  --ppm-border-print-hairline: 0.75pt;
  --ppm-border-print-standard: 1pt;
  --ppm-border-print-heavy: 2.25pt;
  --ppm-border-print-letterhead-top: 4.5pt;
  --ppm-border-print-letterhead-bottom: 1.5pt;
  --ppm-border-print-callout-bar: 3pt;
  --ppm-shadow-field-inset: inset 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ppm-density-regular-row: 8px;
  --ppm-density-compact-row: 5px;
  --ppm-density-comfortable-row: 10px;
}


@font-face {
  font-family: "Mona Sans";
  src: url("/fonts/MonaSansVF-wdth-opsz-wght.woff2") format("woff2");
  font-weight: 200 900;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("/fonts/Newsreader-opsz-wght.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

*, *::before, *::after { box-sizing: border-box; border-radius: var(--ppm-radius-all); }
html { -webkit-text-size-adjust: 100%; scroll-behavior: auto; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
  margin: 0;
  background: var(--ppm-color-paper);
  color: var(--ppm-color-ink);
  font-family: var(--ppm-font-family-text);
  font-weight: var(--ppm-font-weight-text);
  font-size: var(--ppm-size-screen-web-body);
  line-height: var(--ppm-size-leading-web-body);
  font-variant-numeric: lining-nums tabular-nums;
  font-style: normal;
}
em, i, cite, address { font-style: normal; }

.wrap { max-width: var(--ppm-layout-web-content); margin: 0 auto; padding: 0 var(--ppm-space-lg); }
@media (max-width: 480px) { .wrap { padding: 0 var(--ppm-space-md); } }

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

.skip { position: absolute; left: var(--ppm-space-md); top: -100px; background: var(--ppm-color-paper); color: var(--ppm-color-ink);
  padding: var(--ppm-space-sm) var(--ppm-space-md); border: var(--ppm-border-hairline) solid var(--ppm-color-ink); z-index: 10; }
.skip:focus { top: var(--ppm-space-sm); }

a:focus-visible, button:focus-visible { outline: 2px solid var(--ppm-color-focus); outline-offset: 2px; }
.utility a:focus-visible { outline-color: var(--ppm-color-paper); }

a { color: var(--ppm-color-link-default); text-decoration: underline; text-underline-offset: 3px; }
a:hover { color: var(--ppm-color-link-hover); }

.utility { background: var(--ppm-color-nav-fill); color: var(--ppm-color-nav-text); font-size: var(--ppm-size-screen-web-small); }
.utility .wrap { display: flex; justify-content: flex-end; align-items: center; min-height: 30px; }
.utility a { color: var(--ppm-color-nav-text); text-decoration: none; display: inline-flex; align-items: center; min-height: 30px; padding: 0 var(--ppm-space-2xs); }
.utility a:hover { text-decoration: underline; color: var(--ppm-color-nav-text); }
.utility a.portal { background: var(--ppm-color-button-fill); color: var(--ppm-color-button-text);
  min-height: 24px; padding: 0 var(--ppm-space-md-); margin: 3px 0; font-weight: var(--ppm-font-weight-semibold); text-decoration: none; }
.utility a.portal:hover { background: var(--ppm-color-button-fill-hover); text-decoration: none; }

.h-line { display: block; white-space: nowrap; }
#about-h { display: inline-grid; max-width: 100%; }
.h-indent { justify-self: end; color: var(--ppm-color-brick); }
@media (max-width: 400px) { #about-h { font-size: calc(var(--ppm-size-screen-web-h2) * 0.75); font-stretch: 100%; } }

.nav { border-bottom: var(--ppm-border-hairline) solid var(--ppm-color-rule); }
.nav .wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--ppm-space-lg);
  padding-top: var(--ppm-space-md); padding-bottom: var(--ppm-space-md); }
.wordmark {
  display: block; min-width: 0; margin: 0;
  font-family: var(--ppm-font-family-heading); font-weight: var(--ppm-font-weight-heading);
  font-size: var(--ppm-size-screen-web-wordmark); line-height: var(--ppm-size-leading-heading);
  text-transform: var(--ppm-font-case-heading); letter-spacing: var(--ppm-font-tracking-heading);
  font-stretch: 125%; white-space: nowrap; overflow: hidden;
  color: var(--ppm-color-ink); text-decoration: none;
}
.wordmark:hover { color: var(--ppm-color-ink); }
.nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--ppm-space-2xs) var(--ppm-space-lg); }
.nav li a { color: var(--ppm-color-ink); text-decoration: none; display: inline-block; padding: var(--ppm-space-xs) 0; }
.nav li a:hover { text-decoration: underline; color: var(--ppm-color-ink); }
@media (max-width: 860px) {
  .nav .wrap { grid-template-columns: minmax(0, 1fr); gap: var(--ppm-space-sm); }
}
@media (max-width: 560px) { .wordmark { font-stretch: 100%; } }
@media (max-width: 460px) { .wordmark { font-stretch: 87.5%; } }
@media (max-width: 400px) { .wordmark { font-stretch: 75%; } }
@media (max-width: 340px) { .wordmark { font-size: 16px; } }

h1, h2, h3 {
  font-family: var(--ppm-font-family-heading); font-weight: var(--ppm-font-weight-heading);
  text-transform: var(--ppm-font-case-heading); letter-spacing: var(--ppm-font-tracking-heading);
  line-height: var(--ppm-size-leading-heading); font-stretch: 125%; margin: 0; min-width: 0;
}
h1 { font-size: var(--ppm-size-screen-web-h1); }
h2 { font-size: var(--ppm-size-screen-web-h2); }
h3 { font-size: var(--ppm-size-screen-web-h3); }
@media (max-width: 700px) {
  h1 { font-size: var(--ppm-size-screen-web-h1-inner); }
  h2 { font-size: calc(var(--ppm-size-screen-web-h2) * 0.75); }
}
@media (max-width: 360px) { h1 { font-stretch: 100%; } }

.kicker {
  display: block; margin: 0 0 var(--ppm-space-sm);
  color: var(--ppm-color-slate); font-size: var(--ppm-size-screen-web-kicker);
  font-weight: var(--ppm-font-weight-bold); letter-spacing: var(--ppm-font-tracking-kicker); text-transform: uppercase;
}
.lead { color: var(--ppm-color-text-secondary); font-size: var(--ppm-size-screen-web-h3); margin: var(--ppm-space-md) 0 0; max-width: 40em; }

main section { padding: var(--ppm-space-2xl) 0; scroll-margin-top: var(--ppm-space-md); }
.section-head { border-top: var(--ppm-border-heavy) solid var(--ppm-color-rule); padding-top: var(--ppm-space-sm); margin-bottom: var(--ppm-space-lg); }
#about { padding-top: var(--ppm-space-3xl); }
@media (max-width: 700px) { #about { padding-top: var(--ppm-space-xl); } main section { padding: var(--ppm-space-xl) 0; } }

.spaces { list-style: none; margin: 0; padding: 0; border-bottom: var(--ppm-border-hairline) solid var(--ppm-color-rule); }
.spaces li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--ppm-space-xs) var(--ppm-space-lg); align-items: center;
  border-top: var(--ppm-border-hairline) solid var(--ppm-color-rule); padding: var(--ppm-space-md) 0; }
.spaces .kicker { margin-bottom: var(--ppm-space-2xs); }
.spaces .fact { margin: 0; font-size: var(--ppm-size-screen-web-h3); }
.spaces .go { white-space: nowrap; }
@media (max-width: 560px) { .spaces li { grid-template-columns: minmax(0, 1fr); } }
.empty { margin: 0; }

.button {
  display: inline-block; margin-top: var(--ppm-space-md);
  background: var(--ppm-color-button-fill); color: var(--ppm-color-button-text);
  border: 2px solid var(--ppm-color-button-fill); padding: var(--ppm-space-md-) var(--ppm-space-lg);
  font-weight: var(--ppm-font-weight-semibold); text-decoration: none; min-height: 44px;
}
.button:hover { background: var(--ppm-color-button-fill-hover); border-color: var(--ppm-color-button-fill-hover); color: var(--ppm-color-button-text); }
.button:active { background: var(--ppm-color-button-fill-pressed); border-color: var(--ppm-color-button-fill-pressed); }
p { margin: 0; max-width: 40em; }

.contact { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--ppm-space-sm) var(--ppm-space-lg); margin: 0; }
.contact dt { font-weight: var(--ppm-font-weight-semibold); }
.contact dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.contact-one { font-size: var(--ppm-size-screen-web-h3); overflow-wrap: anywhere; }

.foot { border-top: var(--ppm-border-hairline) solid var(--ppm-color-rule); margin-top: var(--ppm-space-xl); }
.foot .wrap { padding-top: var(--ppm-space-lg); padding-bottom: var(--ppm-space-2xl); color: var(--ppm-color-text-secondary); font-size: var(--ppm-size-screen-web-small); }
.foot p { max-width: none; }
.foot a { color: var(--ppm-color-link-default); }

.inner { padding: var(--ppm-space-2xl) 0 var(--ppm-space-xl); }
.inner h1 { font-size: var(--ppm-size-screen-web-h1-inner); }
.inner h2 { font-size: var(--ppm-size-screen-web-h3); margin-top: var(--ppm-space-xl); margin-bottom: var(--ppm-space-sm);
  border-top: var(--ppm-border-heavy) solid var(--ppm-color-rule); padding-top: var(--ppm-space-sm); }
.inner .meta { color: var(--ppm-color-text-secondary); margin-top: var(--ppm-space-sm); }
.inner p + p { margin-top: var(--ppm-space-md-); }
