:root {
  --lib-c-primary: rgb(31,77,58);
  --lib-c-brand-strong: rgb(12,35,25);
  --lib-c-brand-soft: rgb(124,188,162);
  --lib-c-primary-inverse: rgb(64,158,119);
  --lib-c-primary-fg: rgb(255,255,255);
  --lib-c-highlight: rgb(183,82,124);
  --lib-c-accent-contrast: rgb(255,255,255);
  --lib-c-canvas: rgb(255,255,255);
  --lib-c-surface: rgb(243,247,245);
  --lib-c-text: rgb(21,35,29);
  --lib-c-dim: rgb(89,120,107);
  --lib-c-stroke: rgb(216,223,220);
  --lib-c-dark-bg: rgb(21,40,32);
  --lib-c-dark-surface: rgb(37,50,44);
  --lib-c-dark-fg: rgb(244,246,245);
  --lib-c-dark-fg-muted: rgb(171,186,180);
  --lib-r-base: 0px;
  --lib-r-lg: 0px;
  --lib-r-control: 0px;
  --lib-tt-btn: none;
  --lib-ls-btn: 0;
  --lib-fw-cta: 600;
  --lib-ff-title: 'Source Sans 3', 'Segoe UI', system-ui, Roboto, sans-serif;
  --lib-ff-text: 'Source Sans 3', 'Segoe UI', system-ui, Roboto, sans-serif;
  --lib-fs-xxl: clamp(1.8rem, 3.4vw, 2.5rem);
  --lib-fs-xl: clamp(1.4rem, 2.4vw, 1.9rem);
  --lib-fs-lg: 1.15rem;
  --lib-fw-title: 700;
  --lib-ls-heading: -0.01em;
  --lib-lh-title: 1.25;
  --lib-tt-label: uppercase;
  --lib-ls-eyebrow: .12em;
  --lib-c-overline: rgb(31,77,58);
  --lib-fs-md: 1rem;
  --lib-lh-base: 1.5;
  --lib-w-main: 1044px;
  --lib-sp-y: 5.7rem;
  --lib-sh-sm: 0 2px 12px rgba(0,0,0,.08);
  --lib-sh-lg: 0 24px 60px rgba(0,0,0,.12);
}
*,*::before,*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body {
  overflow-wrap: anywhere;
  font-family: var(--lib-ff-text);
  color: var(--lib-c-text);
  margin: 0;
  background: var(--lib-c-canvas);
  font-size: var(--lib-fs-md);
  line-height: var(--lib-lh-base);
}
img,svg,video {
  max-width: 100%;
  height: auto;
  display: block;
}
h1,h2,h3,h4 {
  font-weight: var(--lib-fw-title);
  hyphens: manual;
  font-family: var(--lib-ff-title);
  color: var(--lib-c-text);
  margin: 0 0 .6em;
  letter-spacing: var(--lib-ls-heading);
  line-height: var(--lib-lh-title);
}
h1 {
  font-size: var(--lib-fs-xxl);
}
h2 {
  font-size: var(--lib-fs-xl);
}
h3 {
  font-size: var(--lib-fs-lg);
  line-height: 1.3;
}
h4 {
  line-height: 1.35;
  font-size: 1.05rem;
}
p {
  margin: 0 0 1em;
}
a {
  text-decoration: none;
  color: var(--lib-c-primary);
}
@media (min-width:481px){
a[href^="tel:"] {
  white-space: nowrap;
}
}
a:hover {
  color: var(--lib-c-brand-strong);
}
ul,ol {
  padding-left: 1.25em;
  margin: 0 0 1em;
}
button,input,textarea,select {
  font: inherit;
  color: inherit;
}
::selection {
  color: var(--lib-c-text);
  background: var(--lib-c-brand-soft);
}
.lib-c3bd {
  margin-inline: auto;
  width: min(100% - 2.5rem,var(--lib-w-main));
}
.lib-pane-round {
  width: min(100% - 2.5rem,48rem);
}
.lib-e52d {
  padding-block: var(--lib-sp-y);
}
.lib-n0fc {
  background: var(--lib-c-surface);
}
.lib-qfa7 {
  background: var(--lib-c-dark-bg);
  color: var(--lib-c-dark-fg);
}
.lib-qfa7 h1,.lib-qfa7 h2,.lib-qfa7 h3,.lib-qfa7 h4 {
  color: inherit;
}
.lib-qfa7 a {
  color: var(--lib-c-primary-inverse);
}
.lib-qfa7 .lib-y622,.lib-qfa7 .lib-media {
  color: var(--lib-c-dark-fg-muted);
}
.lib-qfa7 .lib-inner {
  color: var(--lib-c-primary-inverse);
}
.lib-j0a3 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .8rem 1.5rem;
  border-radius: var(--lib-r-control);
  background: var(--lib-c-primary);
  color: var(--lib-c-primary-fg);
  font-weight: var(--lib-fw-cta);
  text-transform: var(--lib-tt-btn);
  letter-spacing: var(--lib-ls-btn);
  line-height: 1.25;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background .2s,color .2s,border-color .2s,transform .2s;
}
.lib-j0a3:hover {
  color: var(--lib-c-primary-fg);
  background: var(--lib-c-brand-strong);
}
.lib-j0a3:active {
  transform: translateY(1px);
}
.lib-part {
  color: var(--lib-c-primary);
  background: transparent;
  border-color: currentColor;
}
.lib-part:hover {
  border-color: var(--lib-c-primary);
  background: var(--lib-c-primary);
  color: var(--lib-c-primary-fg);
}
.lib-te79 {
  background: var(--lib-c-highlight);
  color: var(--lib-c-accent-contrast);
}
.lib-te79:hover {
  color: var(--lib-c-accent-contrast);
  background: var(--lib-c-highlight);
  filter: brightness(.92);
}
.lib-meta-light {
  background: var(--lib-c-dark-fg);
  color: var(--lib-c-dark-bg);
}
.lib-meta-light:hover {
  color: var(--lib-c-dark-bg);
  background: rgb(255,255,255);
}
.lib-area-hard {
  font-size: .9rem;
  padding: .55rem 1.1rem;
}
.lib-k5b6 {
  padding: 1rem 2rem;
  font-size: 1.05rem;
}
.lib-qfa7 .lib-j0a3:not(.lib-part):not(.lib-te79):not(.lib-meta-light) {
  color: var(--lib-c-dark-bg);
  background: var(--lib-c-primary-inverse);
}
.lib-qfa7 .lib-j0a3:not(.lib-part):not(.lib-te79):not(.lib-meta-light):hover {
  color: var(--lib-c-dark-bg);
  background: var(--lib-c-dark-fg);
}
.lib-qfa7 .lib-part {
  border-color: var(--lib-c-dark-fg-muted);
  color: var(--lib-c-dark-fg);
}
.lib-qfa7 .lib-part:hover {
  background: var(--lib-c-dark-fg);
  color: var(--lib-c-dark-bg);
  border-color: var(--lib-c-dark-fg);
}
.lib-list {
  display: grid;
  gap: 1.5rem;
}
.lib-outro-xl {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,18rem),1fr));
}
.lib-outro {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr));
}
.lib-label-last {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr));
}
.lib-idcd {
  grid-template-columns: repeat(2,1fr);
}
.lib-u473 {
  grid-template-columns: repeat(3,1fr);
}
.lib-chip {
  grid-template-columns: repeat(4,1fr);
}
@media (max-width:960px){
.lib-chip {
  grid-template-columns: repeat(2,1fr);
}
.lib-u473 {
  grid-template-columns: repeat(2,1fr);
}
}
@media (max-width:560px){
.lib-idcd,.lib-u473,.lib-chip {
  grid-template-columns: 1fr;
}
}
.lib-view-hard {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
}
.lib-view-hard>* {
  min-width: 0;
}
.lib-view-hard.lib-idcd>* {
  flex: 0 0 calc((100% - 1.5rem)/2);
}
.lib-view-hard.lib-u473>* {
  flex: 0 0 calc((100% - 3rem)/3);
}
.lib-view-hard.lib-chip>* {
  flex: 0 0 calc((100% - 4.5rem)/4);
}
@media (max-width:960px){
.lib-view-hard.lib-u473>*,.lib-view-hard.lib-chip>* {
  flex-basis: calc((100% - 1.5rem)/2);
}
}
@media (max-width:560px){
.lib-view-hard.lib-idcd>*,.lib-view-hard.lib-u473>*,.lib-view-hard.lib-chip>* {
  flex-basis: 100%;
}
}
.lib-y622 {
  font-size: 1.15rem;
  color: var(--lib-c-dim);
}
.lib-inner {
  display: inline-block;
  font-weight: 700;
  margin-bottom: .75rem;
  color: var(--lib-c-overline);
  text-transform: var(--lib-tt-label);
  font-size: .8rem;
  letter-spacing: var(--lib-ls-eyebrow);
}
.lib-media {
  color: var(--lib-c-dim);
}
.lib-main-full {
  text-align: center;
}
.lib-brand {
  clip: rect(0 0 0 0);
  border: 0;
  margin: -1px;
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0;
}
@media (max-width:640px){
.lib-e52d {
  padding-block: calc(var(--lib-sp-y) * .7);
}
}
.lib-gc46 {
  border-bottom: 1px solid var(--lib-c-stroke);
  background: var(--lib-c-canvas);
}
.lib-n12c {
  background: var(--lib-c-primary);
  font-size: .85rem;
  color: var(--lib-c-primary-fg);
}
.lib-item-sticky {
  min-width: 0;
  max-width: 100%;
  text-align: center;
}
.lib-part-full {
  display: flex;
  justify-content: center;
  gap: 2rem;
  padding: .4rem 0;
}
.lib-n459 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 0;
}
.lib-e3e3 {
  max-width: 100%;
  display: inline-flex;
  min-width: 0;
}
.lib-qed2 {
  max-height: 2.5rem;
  height: auto;
  width: auto;
}
.lib-xe53 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.lib-sec2 {
  color: var(--lib-c-text);
  font-size: .85rem;
  letter-spacing: .02em;
  font-weight: 500;
  text-transform: uppercase;
}
.lib-sec2:hover,.lib-t6b6 {
  color: var(--lib-c-primary);
}
.lib-ctx-hard {
  display: none;
}
.lib-ctx-hard:focus-visible + .lib-aea9 {
  outline: 2px solid var(--lib-c-primary);
  outline-offset: 4px;
}
.lib-aea9 {
  display: none;
  flex: none;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  white-space: nowrap;
  line-height: 1.2;
  padding: .4rem 1rem;
  border: 1px solid var(--lib-c-stroke);
  border-radius: var(--lib-r-base);
  cursor: pointer;
  font-size: .9rem;
}
@media (max-width:860px){
.lib-ctx-hard {
  display: block;
}
.lib-n459 {
  gap: .75rem;
}
.lib-aea9 {
  display: inline-flex;
}
.lib-qcd4 {
  display: none;
  width: 100%;
}
.lib-ctx-hard:checked ~ .lib-qcd4 {
  display: block;
}
.lib-xe53 {
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  padding-bottom: .5rem;
}
.lib-part-full {
  flex-direction: column;
  align-items: center;
  gap: .25rem;
}
}
.lib-box {
  padding-top: clamp(2.5rem,6vw,4rem);
}
.lib-q740 {
  color: var(--lib-c-dark-fg);
  background: var(--lib-c-dark-bg);
}
.lib-copy-flat {
  background: var(--lib-c-surface);
  border-top: 1px solid var(--lib-c-stroke);
}
.lib-pane-stack {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem 2rem;
  padding-bottom: clamp(2rem,5vw,3rem);
  border-bottom: 1px solid var(--lib-c-stroke);
}
.lib-q740 .lib-pane-stack {
  border-color: rgba(255,255,255,.14);
}
.lib-ie17 {
  line-height: 1.2;
  margin: 0;
  font-family: var(--lib-ff-title);
  font-size: clamp(1.5rem,3vw,2.25rem);
  max-width: 40rem;
  font-weight: var(--lib-fw-title);
}
.lib-od92 {
  display: grid;
  grid-template-columns: minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);
  gap: 2rem clamp(2rem,5vw,4rem);
  padding-block: clamp(2rem,5vw,3rem);
}
.lib-rda4 {
  margin-bottom: 1rem;
  display: inline-flex;
}
.lib-ct-light {
  max-height: 2.25rem;
  width: auto;
  height: auto;
}
.lib-flow-accent {
  opacity: .8;
  max-width: 26rem;
}
.lib-view-dark {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  margin: 0;
}
.lib-col {
  color: inherit;
  margin-bottom: 1rem;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  opacity: .7;
}
.lib-toggle {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  gap: .55rem;
}
.lib-m3ef {
  color: inherit;
}
.lib-m3ef:hover {
  color: var(--lib-c-primary);
}
.lib-q740 .lib-m3ef:hover {
  color: var(--lib-c-primary-inverse);
}
.lib-x8e8 {
  opacity: .75;
  border-top: 1px solid var(--lib-c-stroke);
  padding-block: 1.25rem;
  font-size: .85rem;
}
.lib-q740 .lib-x8e8 {
  border-color: rgba(255,255,255,.14);
}
@media (max-width:760px){
.lib-od92 {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}
.lib-ub9d {
  grid-column: 1/-1;
}
}
@media (max-width:460px){
.lib-od92 {
  grid-template-columns: minmax(0,1fr);
}
}
.lib-top-fixed {
  position: fixed;
  z-index: 50;
  inset-inline-end: 1rem;
  bottom: 1rem;
  width: min(24rem,calc(100% - 2rem));
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 1.35rem;
  background: var(--lib-c-surface);
  color: var(--lib-c-text);
  border: 1px solid var(--lib-c-stroke);
  border-top: 3px solid var(--lib-c-primary);
  border-radius: var(--lib-r-base);
  box-shadow: var(--lib-sh-sm);
  font-size: .92rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.lib-top-fixed[hidden] {
  display: none;
}
.lib-z3a1 {
  line-height: 1.25;
  font-family: var(--lib-ff-title);
  font-size: 1.18rem;
  font-weight: var(--lib-fw-title);
  letter-spacing: var(--lib-ls-heading);
  margin: 0 0 .7rem;
}
.lib-link {
  margin: 0 0 .9rem;
}
.lib-d803 {
  color: var(--lib-c-primary);
  display: inline-block;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: .2em;
  max-width: 100%;
}
.lib-d803:hover {
  color: var(--lib-c-brand-strong);
}
.lib-l3da {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .65rem;
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid var(--lib-c-stroke);
}
.lib-label-half {
  min-width: 0;
  min-height: 44px;
  padding: .65rem .6rem;
  border: 1px solid var(--lib-c-stroke);
  border-radius: var(--lib-r-control);
  background: var(--lib-c-canvas);
  color: var(--lib-c-text);
  font-weight: var(--lib-fw-cta);
  font-size: .9rem;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.lib-label-half:hover {
  border-color: var(--lib-c-primary);
  background: var(--lib-c-primary);
  color: var(--lib-c-primary-fg);
}
.lib-label-half:focus-visible,.lib-d803:focus-visible {
  outline: 3px solid var(--lib-c-primary);
  outline-offset: 3px;
}
@media(max-width:560px){
.lib-top-fixed {
  inset-inline-end: .5rem;
  width: calc(100% - 1rem);
  bottom: .5rem;
  font-size: .84rem;
  line-height: 1.4;
  padding: .85rem .95rem;
}
.lib-z3a1 {
  font-size: 1rem;
  margin-bottom: .35rem;
}
.lib-link {
  margin-bottom: .5rem;
}
.lib-l3da {
  margin-top: .6rem;
  padding-top: .6rem;
  gap: .5rem;
}
.lib-label-half {
  padding: .5rem .4rem;
  min-height: 40px;
}
}
.lib-uaee {
  padding: 2.25rem;
  background: var(--lib-c-surface);
  border: 1px solid var(--lib-c-stroke);
  border-radius: var(--lib-r-lg);
  min-width: 0;
}
.lib-u975 .lib-uaee {
  text-align: center;
}
.lib-d7c7 {
  margin: 0;
  overflow-wrap: anywhere;
}
.lib-g99c {
  color: var(--lib-c-dim);
  overflow-wrap: anywhere;
  margin: .75rem 0 0;
}
.lib-b6eb {
  color: inherit;
}
.lib-a512 {
  margin-top: 1.75rem;
  gap: 1rem;
  text-align: start;
  display: grid;
}
.lib-unit-compact {
  gap: .35rem;
  display: grid;
  min-width: 0;
}
.lib-y781 {
  font-size: .9rem;
  font-weight: 600;
}
.lib-line {
  width: 100%;
  min-width: 0;
  padding: .7rem .9rem;
  border: 1px solid var(--lib-c-stroke);
  border-radius: var(--lib-r-base);
  background: var(--lib-c-canvas);
}
.lib-line:focus {
  outline: 2px solid var(--lib-c-primary);
  outline-offset: 1px;
}
.lib-ifcc {
  resize: vertical;
}
.lib-r89c {
  max-width: 100%;
  justify-self: start;
  overflow-wrap: anywhere;
}
.lib-u975 .lib-r89c {
  justify-self: center;
}
@media (max-width:480px){
.lib-uaee {
  padding: 1.25rem;
}
}
.lib-zb8f {
  color: var(--lib-c-text);
  overflow-wrap: anywhere;
  padding-block: calc(var(--lib-sp-y) * .85);
  background: var(--lib-c-canvas);
}
.lib-q023 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.25rem;
  border-top: 1px solid var(--lib-c-stroke);
  padding-top: 1rem;
}
.lib-tile .lib-q023 {
  border-top: 3px solid var(--lib-c-primary);
}
.lib-k359 {
  max-width: 34rem;
  color: var(--lib-c-primary);
  margin: 0;
}
.lib-base-y {
  max-width: 18rem;
  text-align: right;
  color: var(--lib-c-dim);
  font-size: .8rem;
}
.lib-yc8e {
  max-width: 20ch;
  line-height: 1.08;
  font-size: calc(var(--lib-fs-xxl) * 1.18);
  margin: 1.5rem 0 2rem;
}
.lib-dd30 {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,2.1fr);
  gap: clamp(1.5rem,4vw,4rem);
  padding-top: 1.5rem;
  border-top: 1px solid var(--lib-c-stroke);
}
.lib-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
}
.lib-pill-lg {
  margin: 0;
  font-size: 1.05rem;
  color: var(--lib-c-dim);
}
.lib-link-last {
  max-width: 100%;
  text-align: center;
  white-space: normal;
}
.lib-p335 {
  display: inline-flex;
  gap: .75rem;
  align-items: baseline;
  font-weight: 600;
  max-width: 100%;
  text-decoration: underline;
  text-underline-offset: .3em;
}
.lib-edge {
  min-width: 0;
  margin: 0;
}
.lib-vf31 {
  border-radius: var(--lib-r-base);
  object-fit: cover;
  aspect-ratio: 16/9;
  width: 100%;
}
.lib-ddfb {
  padding-bottom: .8rem;
  border-bottom: 1px solid var(--lib-c-stroke);
  color: var(--lib-c-dim);
  padding-top: .8rem;
  font-size: .85rem;
}
@media (max-width:700px){
.lib-base-y {
  display: none;
}
.lib-dd30 {
  grid-template-columns: 1fr;
}
.lib-yc8e {
  font-size: var(--lib-fs-xxl);
  max-width: 24ch;
}
.lib-body {
  max-width: 40rem;
}
.lib-vf31 {
  aspect-ratio: 4/3;
}
}
.lib-bar {
  max-width: 44rem;
  margin-bottom: 2.5rem;
}
.lib-d60d .lib-bar {
  margin-left: auto;
  text-align: center;
  margin-right: auto;
}
.lib-quote {
  gap: 2.5rem 3rem;
}
.lib-box2-alt .lib-field {
  padding-top: 1.25rem;
  border-top: 2px solid var(--lib-c-primary);
}
.lib-we67 {
  font-size: 1.15rem;
  margin-bottom: .6rem;
}
.lib-cf45 {
  line-height: 1.7;
  margin: 0;
}
.lib-wc9d {
  overflow-wrap: anywhere;
}
.lib-hero-raised>* {
  min-width: 0;
}
.lib-frame-c {
  max-width: 24ch;
}
.lib-ia33 {
  color: var(--lib-c-dim);
}
.lib-icf9 {
  white-space: normal;
  text-align: center;
  max-width: 100%;
}
.lib-hero-raised {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,.85fr);
  gap: clamp(2rem,5vw,5rem);
  align-items: start;
}
.lib-media-ghost {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.lib-y8f6 .lib-y622 {
  max-width: 48ch;
}
.lib-t993 {
  width: 100%;
  border-radius: var(--lib-r-lg);
  aspect-ratio: 5/4;
  object-fit: cover;
}
.lib-b0aa {
  padding-top: .3rem;
}
.lib-line-md {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 2rem 1.5rem;
}
.lib-unit {
  border-top: 2px solid var(--lib-c-stroke);
  min-width: 0;
  padding-top: 1rem;
}
.lib-oa01 {
  margin-bottom: 1rem;
  color: var(--lib-c-primary);
  letter-spacing: .12em;
  font-size: .8rem;
  font-weight: 700;
}
.lib-elem {
  font-size: 1.1rem;
}
.lib-ia33 {
  font-size: .95rem;
  margin: 0;
}
.lib-m265 {
  border-top: 1px solid var(--lib-c-stroke);
  font-size: .9rem;
  padding-top: 1.5rem;
  color: var(--lib-c-dim);
}
.lib-unit:last-child:nth-child(odd) {
  grid-column: 1/-1;
}
@media(max-width:800px){
.lib-hero-raised {
  grid-template-columns: 1fr;
}
.lib-t993 {
  aspect-ratio: 16/9;
}
}
@media(max-width:420px){
.lib-line-md {
  grid-template-columns: 1fr;
}
.lib-t993 {
  aspect-ratio: 4/3;
}
}
.lib-q39e {
  margin-bottom: 2.5rem;
  max-width: 40rem;
}
.lib-shape-fixed {
  padding: 0;
  display: grid;
  gap: 2rem;
  list-style: none;
  counter-reset: none;
  margin: 0;
}
.lib-edge-first .lib-shape-fixed,.lib-gf37 .lib-shape-fixed {
  grid-template-columns: repeat(3,1fr);
}
.lib-v81c.lib-edge-first .lib-shape-fixed,.lib-v81c.lib-gf37 .lib-shape-fixed {
  grid-template-columns: repeat(2,1fr);
}
.lib-panel.lib-edge-first .lib-shape-fixed,.lib-panel.lib-gf37 .lib-shape-fixed {
  grid-template-columns: repeat(4,1fr);
}
.lib-input.lib-edge-first .lib-shape-fixed,.lib-input.lib-gf37 .lib-shape-fixed {
  grid-template-columns: repeat(5,1fr);
  gap: 1.5rem;
}
.lib-gf37 .lib-shape-fixed {
  gap: 2rem 3rem;
}
.lib-gf37 .lib-oed9:nth-child(even) {
  margin-top: 2.5rem;
}
.lib-w23a .lib-shape-fixed {
  gap: 0;
  max-width: 44rem;
}
.lib-w23a .lib-oed9 {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.5rem;
  padding-bottom: 2rem;
  position: relative;
}
.lib-w23a .lib-oed9::before {
  content: "";
  position: absolute;
  top: 3rem;
  background: var(--lib-c-stroke);
  bottom: 0;
  left: 1.375rem;
  width: 2px;
}
.lib-w23a .lib-oed9:last-child::before {
  display: none;
}
.lib-icon.lib-w23a .lib-oed9::before {
  background: rgba(255,255,255,.18);
}
.lib-sub {
  font-family: var(--lib-ff-title);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  margin-bottom: 1rem;
}
.lib-g582 .lib-sub {
  color: var(--lib-c-primary-fg);
  font-size: 1.1rem;
  width: 2.75rem;
  height: 2.75rem;
  background: var(--lib-c-primary);
  border-radius: 50%;
}
.lib-ufa8 .lib-sub {
  color: var(--lib-c-primary);
  line-height: 1;
  opacity: .9;
  font-size: 3rem;
}
.lib-icon.lib-ufa8 .lib-sub {
  color: var(--lib-c-primary-inverse);
}
.lib-qc99 .lib-sub {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--lib-r-base);
  border: 2px solid var(--lib-c-primary);
  color: var(--lib-c-primary);
  font-size: 1.1rem;
}
.lib-icon.lib-qc99 .lib-sub {
  border-color: var(--lib-c-primary-inverse);
  color: var(--lib-c-primary-inverse);
}
.lib-f4db {
  margin-bottom: .35rem;
  font-size: 1.1rem;
}
.lib-app-wide {
  font-size: .95rem;
  color: var(--lib-c-dim);
  margin: 0;
}
.lib-icon .lib-app-wide {
  color: var(--lib-c-dark-fg-muted);
}
@media (max-width:900px){
.lib-edge-first .lib-shape-fixed,.lib-gf37 .lib-shape-fixed,.lib-panel.lib-edge-first .lib-shape-fixed,.lib-panel.lib-gf37 .lib-shape-fixed,.lib-input.lib-edge-first .lib-shape-fixed,.lib-input.lib-gf37 .lib-shape-fixed {
  grid-template-columns: repeat(2,1fr);
}
}
@media (max-width:640px){
.lib-edge-first .lib-shape-fixed,.lib-gf37 .lib-shape-fixed,.lib-v81c.lib-edge-first .lib-shape-fixed,.lib-panel.lib-edge-first .lib-shape-fixed,.lib-input.lib-edge-first .lib-shape-fixed,.lib-v81c.lib-gf37 .lib-shape-fixed,.lib-panel.lib-gf37 .lib-shape-fixed,.lib-input.lib-gf37 .lib-shape-fixed {
  grid-template-columns: 1fr;
}
.lib-gf37 .lib-oed9:nth-child(even) {
  margin-top: 0;
}
}
.lib-u091 {
  padding-block: calc(var(--lib-sp-y) * .75);
  overflow-wrap: anywhere;
  background: var(--lib-c-surface);
  border-top: 4px solid var(--lib-c-primary);
}
.lib-g8cc {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(0,1fr);
  gap: 2rem 3rem;
  align-items: center;
}
.lib-cf7f,.lib-grid-alt {
  min-width: 0;
}
.lib-m8c5 {
  color: var(--lib-c-primary);
}
.lib-a14a {
  margin: 0;
  max-width: 22ch;
}
.lib-strip-soft {
  margin-bottom: 1.2rem;
  color: var(--lib-c-dim);
  max-width: 36rem;
}
.lib-de0b {
  max-width: 100%;
  text-align: center;
  white-space: normal;
}
.lib-top {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem 1.5rem;
  border-top: 1px solid var(--lib-c-stroke);
  padding-top: 1.3rem;
  min-width: 0;
}
.lib-head-sticky {
  font-size: .85rem;
  color: var(--lib-c-text);
  max-width: 24rem;
  font-weight: 600;
}
.lib-ia62 {
  display: flex;
  align-items: center;
  gap: .6rem;
  max-width: 100%;
  min-width: 0;
  font-size: .88rem;
  color: var(--lib-c-primary);
}
.lib-ia62:hover {
  text-decoration: underline;
  text-underline-offset: .3em;
}
.lib-fig-main {
  height: 1.1rem;
  flex: none;
  display: block;
  width: 1.1rem;
}
.lib-fig-main svg {
  width: 1.1rem;
  height: 1.1rem;
}
@media (max-width:680px){
.lib-g8cc {
  grid-template-columns: 1fr;
  gap: 1.4rem;
}
.lib-a14a {
  max-width: 28ch;
}
.lib-top {
  flex-direction: column;
  align-items: flex-start;
  gap: .8rem;
}
.lib-head-sticky {
  max-width: 100%;
}
}
.lib-cb87 {
  padding-block: calc(var(--lib-sp-y) * .9) calc(var(--lib-sp-y) * .7);
}
.lib-k112 {
  border-bottom: 4px solid var(--lib-c-primary);
}
.lib-ee4c {
  border-bottom: 4px solid var(--lib-c-highlight);
}
.lib-jac0 {
  border-bottom: 1px solid var(--lib-c-stroke);
}
.lib-k867 {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 2rem 4rem;
  align-items: end;
}
.lib-a07b {
  font-size: calc(var(--lib-fs-xxl) * 1.05);
  margin: 0;
}
.lib-text-a {
  margin: 0 0 .35rem;
  max-width: 34rem;
}
@media (max-width:760px){
.lib-k867 {
  grid-template-columns: 1fr;
  gap: 1rem;
}
}
.lib-cnt-top {
  min-width: 0;
}
.lib-fb46 {
  margin-bottom: 2rem;
  max-width: 54rem;
}
.lib-c2b6 {
  overflow-wrap: anywhere;
}
.lib-ze16 {
  display: grid;
  list-style: none;
  margin: 0;
  gap: 1.2rem;
  padding: 0;
}
.lib-app-big {
  min-width: 0;
  overflow-wrap: anywhere;
}
.lib-app-big h3 {
  font-size: 1.2rem;
  margin: 0 0 .6rem;
}
.lib-app-big p {
  line-height: 1.7;
  margin: 0;
}
.lib-jc3a {
  margin-bottom: .7rem;
  letter-spacing: .04em;
  font-weight: 700;
  font-size: .8rem;
  overflow-wrap: anywhere;
  display: block;
  color: var(--lib-c-dim);
}
.lib-ze16 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.lib-app-big {
  border: 1px solid var(--lib-c-stroke);
  padding: 1.6rem;
  border-radius: var(--lib-r-base);
}
@media (max-width: 700px){
.lib-ze16 {
  grid-template-columns: minmax(0, 1fr);
}
.lib-app-big {
  grid-template-columns: minmax(0, 1fr);
  gap: .5rem;
}
}
.lib-row-ghost {
  overflow-wrap: anywhere;
}
.lib-d30f>* {
  min-width: 0;
}
.lib-q17e {
  max-width: 24ch;
}
.lib-info {
  color: var(--lib-c-dim);
}
.lib-view-b {
  text-align: center;
  max-width: 100%;
  white-space: normal;
}
.lib-d30f {
  align-items: center;
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,.9fr);
}
.lib-ge4d {
  min-width: 0;
  margin: 0;
}
.lib-btn-active {
  border-radius: var(--lib-r-lg);
  width: 100%;
  aspect-ratio: 6/5;
  object-fit: cover;
}
.lib-node {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  font-size: .8rem;
  color: var(--lib-c-dim);
  padding: .9rem 4.5rem .9rem .1rem;
}
.lib-node strong {
  color: var(--lib-c-text);
  padding-left: .3rem;
  font-weight: 700;
}
.lib-j80a {
  position: relative;
  margin-left: -4rem;
  margin-block: 2rem;
  padding: clamp(1.5rem,4vw,3.5rem);
  background: var(--lib-c-canvas);
  border: 1px solid var(--lib-c-stroke);
  border-radius: var(--lib-r-lg);
  box-shadow: var(--lib-sh-sm);
}
.lib-q17e {
  font-size: clamp(1.8rem,3.4vw,3rem);
}
.lib-info {
  margin: 1.5rem 0 2rem;
  line-height: 1.8;
}
@media(max-width:760px){
.lib-d30f {
  grid-template-columns: 1fr;
}
.lib-btn-active {
  aspect-ratio: 4/3;
}
.lib-j80a {
  box-shadow: none;
  margin: 1rem 0 0;
}
.lib-node {
  padding-right: .1rem;
}
.lib-q17e {
  max-width: 28ch;
}
}
.lib-z1ab .lib-af2b {
  max-width: 46rem;
}
.lib-hero .lib-af2b {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 3rem;
  align-items: start;
}
.lib-d317 {
  margin-bottom: 1.5rem;
}
.lib-u2d4 {
  padding: .25rem 0;
  border-bottom: 1px solid var(--lib-c-stroke);
}
.lib-bar-compact {
  padding: .9rem 2rem .9rem 0;
  position: relative;
  list-style: none;
  cursor: pointer;
  font-weight: 600;
}
.lib-bar-compact::-webkit-details-marker {
  display: none;
}
.lib-bar-compact::after {
  color: var(--lib-c-primary);
  right: 0;
  content: "+";
  position: absolute;
  transition: transform .2s;
  top: .7rem;
  font-size: 1.4rem;
}
.lib-u2d4[open] .lib-bar-compact::after {
  transform: rotate(45deg);
}
.lib-zone-v3 {
  margin: 0 0 1rem;
  color: var(--lib-c-dim);
}
@media (max-width:860px){
.lib-hero .lib-af2b {
  grid-template-columns: 1fr;
  gap: 1rem;
}
}
.lib-p2bb {
  padding-block: calc(var(--lib-sp-y) * .7);
  background: var(--lib-c-canvas);
  overflow-wrap: anywhere;
}
.lib-pic-fill {
  display: grid;
  grid-template-columns: minmax(0,1.8fr) minmax(0,1fr);
  background: var(--lib-c-surface);
  border: 1px solid var(--lib-c-stroke);
  border-radius: var(--lib-r-lg);
  overflow: hidden;
}
.lib-foot-active {
  min-width: 0;
  border-top: 4px solid var(--lib-c-primary);
  padding: clamp(1.5rem,4.5vw,4rem);
}
.lib-block-fill .lib-foot-active {
  border-top: 0;
  border-left: 4px solid var(--lib-c-primary);
}
.lib-dot {
  color: var(--lib-c-primary);
}
.lib-outro-main {
  font-size: calc(var(--lib-fs-xxl) * .88);
  max-width: 22ch;
  line-height: 1.15;
}
.lib-af77 {
  color: var(--lib-c-dim);
  line-height: 1.7;
  max-width: 38rem;
  margin: 1.2rem 0 0;
  font-size: 1.05rem;
}
.lib-qc27 {
  padding: .8rem;
  min-width: 0;
  display: flex;
  margin: 0;
}
.lib-flow-flat {
  min-height: 12rem;
  height: 100%;
  border-radius: var(--lib-r-base);
  object-fit: cover;
  width: 100%;
  aspect-ratio: 4/5;
}
@media (max-width:700px){
.lib-pic-fill {
  grid-template-columns: 1fr;
}
.lib-outro-main {
  font-size: var(--lib-fs-xxl);
}
.lib-qc27 {
  padding: 0 1.25rem 1.25rem;
}
.lib-flow-flat {
  min-height: 0;
  height: auto;
  aspect-ratio: 16/7;
}
.lib-af77 {
  font-size: 1rem;
}
}
.lib-r16e {
  overflow-wrap: anywhere;
}
.lib-elem-auto>* {
  min-width: 0;
}
.lib-avatar-main {
  max-width: 24ch;
}
.lib-foot-right {
  color: var(--lib-c-dim);
}
.lib-d63c {
  text-align: center;
  max-width: 100%;
  white-space: normal;
}
.lib-wbb1 {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,.8fr);
  gap: 3rem;
  align-items: end;
  margin-bottom: 2.5rem;
}
.lib-avatar-main {
  margin-bottom: 0;
  font-size: clamp(2rem,4vw,3.7rem);
  max-width: 22ch;
}
.lib-inner-soft {
  max-width: 48ch;
  margin: 0;
}
.lib-zone-z {
  margin: 0;
}
.lib-f1b9 {
  width: 100%;
  aspect-ratio: 2.8/1;
  border-radius: var(--lib-r-lg);
  object-fit: cover;
}
.lib-x098 {
  padding: .9rem 0;
  font-size: .85rem;
  color: var(--lib-c-dim);
}
.lib-sfa5 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  padding: 1.2rem 0;
  margin: 1rem 0 2.5rem;
  border-top: 1px solid var(--lib-c-stroke);
  border-bottom: 1px solid var(--lib-c-stroke);
  font-size: .85rem;
  color: var(--lib-c-dim);
}
.lib-sfa5 strong,.lib-z867 {
  font-weight: 700;
  color: var(--lib-c-text);
}
.lib-r6f1 {
  margin-inline: auto;
  column-gap: clamp(2rem,5vw,5rem);
  max-width: 68rem;
  columns: 2;
  column-rule: 1px solid var(--lib-c-stroke);
}
.lib-zone {
  break-inside: avoid;
  line-height: 1.85;
  margin-bottom: 1.5rem;
  color: var(--lib-c-dim);
}
.lib-zone:first-child {
  font-size: 1.13rem;
  color: var(--lib-c-text);
}
@media(max-width:740px){
.lib-wbb1 {
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
.lib-f1b9 {
  aspect-ratio: 16/10;
}
.lib-r6f1 {
  columns: 1;
}
.lib-sfa5 {
  justify-content: flex-start;
}
}
.lib-z724 {
  margin-bottom: 2rem;
}
.lib-img {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lib-link-fit {
  background: var(--lib-c-surface);
  border-top: 3px solid var(--lib-c-primary);
  border-radius: 0 0 var(--lib-r-base) var(--lib-r-base);
  padding: 1.5rem;
}
.lib-edge-old {
  color: var(--lib-c-brand-soft);
  line-height: 1;
  font-family: var(--lib-ff-title);
  margin-bottom: .75rem;
  display: block;
  font-size: 2rem;
}
.lib-mark-lg {
  margin: 0;
  color: var(--lib-c-dim);
}
.lib-card-compact {
  overflow-wrap: anywhere;
}
.lib-top-flat>* {
  min-width: 0;
}
.lib-wa59 {
  max-width: 24ch;
}
.lib-edge-fill {
  color: var(--lib-c-dim);
}
.lib-media-compact {
  max-width: 100%;
  text-align: center;
  white-space: normal;
}
.lib-body-main {
  margin-bottom: 3rem;
  max-width: 54rem;
}
.lib-wa59 {
  font-size: clamp(2rem,4vw,3.4rem);
}
.lib-top-flat {
  display: grid;
  grid-template-columns: minmax(0,.65fr) minmax(0,1.6fr);
  gap: clamp(2rem,6vw,6rem);
  align-items: start;
}
.lib-z239 {
  padding-left: 1.5rem;
  border-left: 3px solid var(--lib-c-primary);
}
.lib-frame-primary {
  line-height: 1.35;
  font-size: 1.5rem;
  font-family: var(--lib-ff-title);
}
.lib-p53b {
  margin: 1.8rem 0;
}
.lib-p53b div {
  margin-bottom: 1.2rem;
}
.lib-p53b dt,.lib-f919 {
  font-size: .8rem;
  margin: 0 0 .4rem;
  color: var(--lib-c-dim);
}
.lib-p53b dd {
  font-size: 1.15rem;
  margin: 0;
}
.lib-top-a {
  list-style: none;
  padding: 0;
  margin: .7rem 0 0;
}
.lib-top-a li {
  padding: .6rem 0;
  font-size: .9rem;
  border-top: 1px solid var(--lib-c-stroke);
}
.lib-h1da {
  display: grid;
  grid-template-columns: 4.5rem minmax(0,1fr);
  gap: 1.5rem;
  padding: 0 0 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--lib-c-stroke);
}
.lib-badge {
  letter-spacing: -.05em;
  font-size: clamp(2rem,5vw,3.5rem);
  color: var(--lib-c-primary);
  line-height: 1.1;
  font-family: var(--lib-ff-title);
}
.lib-k65b {
  font-size: clamp(1.3rem,2.1vw,1.75rem);
}
.lib-edge-fill {
  max-width: 62ch;
  line-height: 1.9;
  margin: 0;
}
.lib-j7ef {
  min-width: 0;
}
@media(max-width:760px){
.lib-top-flat {
  grid-template-columns: 1fr;
}
.lib-z239 {
  padding: 1.2rem 0 1.2rem 1.2rem;
  border-bottom: 1px solid var(--lib-c-stroke);
  border-top: 1px solid var(--lib-c-stroke);
}
.lib-p53b {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 2.5rem;
  margin: 1.2rem 0;
}
.lib-p53b div {
  margin: 0;
}
.lib-top-a {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1rem;
}
.lib-top-a li {
  padding: 0;
  border-top: 0;
}
.lib-h1da {
  grid-template-columns: 2.5rem minmax(0,1fr);
  gap: 1rem;
}
.lib-badge {
  font-size: 2rem;
}
}
.lib-oc52 {
  max-width: 45rem;
  margin-bottom: 3rem;
}
.lib-r65c {
  overflow-wrap: anywhere;
}
.lib-w38e {
  list-style: none;
  border-top: 1px solid var(--lib-c-stroke);
  margin: 0;
  padding: 0;
}
.lib-app-old {
  display: grid;
  grid-template-columns: 3.5rem minmax(0,.8fr) minmax(0,1.2fr);
  gap: 2rem;
  padding-block: 2rem;
  border-bottom: 1px solid var(--lib-c-stroke);
  align-items: start;
}
.lib-adcc {
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  font-size: 1.75rem;
  color: var(--lib-c-primary);
  font-family: var(--lib-ff-title);
}
.lib-lead {
  line-height: 1.5;
  margin: 0;
  font-size: 1.1rem;
  overflow-wrap: anywhere;
}
.lib-frame {
  margin: 0;
  color: var(--lib-c-dim);
}
@media(max-width:760px){
.lib-app-old {
  grid-template-columns: 2.5rem minmax(0,1fr);
  gap: .75rem 1rem;
}
.lib-frame {
  grid-column: 2;
}
.lib-oc52 {
  margin-bottom: 2rem;
}
}
.lib-o127 {
  overflow-wrap: anywhere;
}
.lib-lead-y {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: start;
}
.lib-z2c6 {
  padding-top: 1.5rem;
  border-top: 4px solid var(--lib-c-primary);
}
.lib-foot-old {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--lib-c-stroke);
  padding: 0 0 1.5rem 3.5rem;
  position: relative;
}
.lib-pic {
  left: 0;
  top: .15rem;
  font-variant-numeric: tabular-nums;
  font-size: .8rem;
  color: var(--lib-c-dim);
  position: absolute;
}
.lib-area {
  max-width: 65ch;
}
@media (max-width: 760px){
.lib-lead-y {
  grid-template-columns: minmax(0, 1fr);
}
.lib-foot-old {
  padding-left: 2.5rem;
}
}
.lib-pcf9 {
  padding-block: calc(var(--lib-sp-y) * .8);
  background: var(--lib-c-canvas);
  overflow-wrap: anywhere;
}
.lib-m4b6 {
  border-radius: var(--lib-r-lg);
  grid-template-columns: minmax(0,1fr) minmax(0,1.2fr);
  background: var(--lib-c-dark-bg);
  display: grid;
  overflow: hidden;
  color: var(--lib-c-dark-fg);
}
.lib-site-half {
  min-width: 0;
  margin: 0;
  display: flex;
  padding: 1rem;
}
.lib-base {
  object-fit: cover;
  height: 100%;
  min-height: 18rem;
  border-radius: var(--lib-r-base);
  width: 100%;
  aspect-ratio: 4/5;
}
.lib-edge-muted {
  min-width: 0;
  align-items: center;
  padding: clamp(1.5rem,4vw,3.5rem);
  display: flex;
}
.lib-e097 {
  border-top: 1px solid var(--lib-c-dark-fg-muted);
  padding-top: 1.2rem;
  width: 100%;
}
.lib-group {
  color: var(--lib-c-primary-inverse);
  display: block;
  letter-spacing: var(--lib-ls-eyebrow);
  text-transform: var(--lib-tt-label);
  font-size: .8rem;
  margin-bottom: 1.1rem;
}
.lib-dc83 {
  max-width: 23ch;
  color: var(--lib-c-dark-fg);
}
.lib-pill-mini {
  margin: 1.1rem 0 1.6rem;
  max-width: 35rem;
  color: var(--lib-c-dark-fg-muted);
}
.lib-l51d {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.5rem;
  border-bottom: 1px solid var(--lib-c-dark-fg-muted);
  padding-bottom: .8rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--lib-c-dark-fg);
}
.lib-l51d:hover {
  color: var(--lib-c-primary-inverse);
  text-underline-offset: .3em;
  text-decoration: underline;
}
.lib-ica1 .lib-site-half {
  order: 2;
}
@media (max-width:700px){
.lib-m4b6 {
  grid-template-columns: 1fr;
}
.lib-site-half {
  padding: 1rem 1rem 0;
}
.lib-base {
  min-height: 0;
  height: auto;
  aspect-ratio: 16/9;
}
.lib-edge-muted {
  padding: 1.5rem;
}
.lib-ica1 .lib-site-half {
  order: 0;
}
}
.lib-pic-right {
  max-width: 40rem;
  margin-bottom: 2rem;
}
.lib-y600 {
  margin: 0;
  list-style: none;
  padding: 0;
}
.lib-meta {
  display: flex;
  flex-direction: column;
  background: var(--lib-c-surface);
  border: 1px solid var(--lib-c-stroke);
  border-radius: var(--lib-r-lg);
  overflow: hidden;
}
.lib-tf6e {
  display: block;
}
.lib-ka94 {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.lib-w708 {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding: 1.25rem;
  flex-grow: 1;
}
.lib-y934 {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--lib-c-dim);
  font-size: .8rem;
}
.lib-b14d {
  font-size: 1.2rem;
  margin: 0;
}
.lib-pic-center {
  color: var(--lib-c-text);
}
.lib-pic-center:hover {
  color: var(--lib-c-primary);
}
.lib-layer {
  flex-grow: 1;
  margin: 0;
  color: var(--lib-c-dim);
}
.lib-se64 {
  font-size: .9rem;
  font-weight: 600;
}
.lib-b0c4 {
  overflow-wrap: anywhere;
  padding-block: calc(var(--lib-sp-y) * .85);
  background: var(--lib-c-canvas);
}
.lib-core-soft {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  margin-bottom: 1.5rem;
}
.lib-t1a1 {
  color: var(--lib-c-primary);
  font-size: .8rem;
  text-transform: var(--lib-tt-label);
  font-weight: 600;
  max-width: 75%;
  letter-spacing: var(--lib-ls-eyebrow);
}
.lib-list-first {
  background: var(--lib-c-stroke);
  height: 1px;
  flex: 1;
}
.lib-icon-flat .lib-list-first {
  background: var(--lib-c-primary);
  height: 3px;
}
.lib-label-tight {
  font-size: calc(var(--lib-fs-xxl) * 1.2);
  line-height: 1.1;
  padding-bottom: 1.8rem;
  margin: 0;
  max-width: 24ch;
}
.lib-t08d {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.6fr);
  gap: 2rem;
  align-items: start;
  border-top: 1px solid var(--lib-c-stroke);
  padding-top: 1.3rem;
}
.lib-w2d8 {
  max-width: 24rem;
  color: var(--lib-c-dim);
  font-weight: 600;
  font-size: .8rem;
}
.lib-chip-c {
  grid-template-columns: minmax(0,1fr);
}
.lib-title-open {
  font-size: 1.1rem;
  color: var(--lib-c-dim);
  margin: 0;
  max-width: 42rem;
  line-height: 1.7;
}
@media (max-width:640px){
.lib-label-tight {
  font-size: var(--lib-fs-xxl);
}
.lib-t08d {
  grid-template-columns: 1fr;
  gap: 1rem;
}
.lib-w2d8 {
  display: none;
}
.lib-title-open {
  font-size: 1rem;
}
}
.lib-cnt {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,.75fr);
  gap: 3rem;
  align-items: end;
  margin-bottom: 3rem;
}
.lib-edge-lg {
  max-width: 18ch;
  margin: 0;
  overflow-wrap: anywhere;
}
.lib-vd8b {
  margin: 0;
}
.lib-note-third {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1rem;
  margin: 0;
}
.lib-m9cb {
  background: var(--lib-c-surface);
  border-radius: 0 0 var(--lib-r-base) var(--lib-r-base);
  padding: 2rem 1.5rem;
  border-top: 3px solid var(--lib-c-primary);
  min-width: 0;
}
.lib-copy {
  color: var(--lib-c-dim);
  font-size: .85rem;
}
.lib-nav-hard {
  margin-bottom: 1.5rem;
  border-radius: 50%;
  background: var(--lib-c-canvas);
  color: var(--lib-c-primary);
  place-items: center;
  display: grid;
  font-size: 1.5rem;
  height: 2.8rem;
  width: 2.8rem;
}
.lib-nav-hard svg {
  height: 1.3rem;
  width: 1.3rem;
}
.lib-jae3 {
  overflow-wrap: anywhere;
  font-size: clamp(1rem,1.6vw,1.25rem);
  margin: 1rem 0 0;
}
.lib-pe21 {
  text-underline-offset: .25em;
  text-decoration: underline;
  color: var(--lib-c-text);
}
.lib-pe21:hover {
  color: var(--lib-c-primary);
}
.lib-pe21[href^="mailto:"] {
  font-size: min(1em,1.05rem);
}
.lib-i6c9 {
  font-style: normal;
}
.lib-pe21:focus-visible {
  outline: 2px solid var(--lib-c-primary);
  outline-offset: 4px;
}
@media(max-width:760px){
.lib-cnt,.lib-note-third {
  grid-template-columns: minmax(0,1fr);
}
.lib-cnt {
  gap: 1rem;
  margin-bottom: 2rem;
}
.lib-m9cb {
  padding: 1.5rem;
}
.lib-nav-hard {
  margin-bottom: 1rem;
}
}
.lib-btn {
  display: grid;
  background: var(--lib-c-surface);
  padding: clamp(1.5rem,3vw,2.5rem);
  margin-top: 3rem;
  gap: 1.25rem;
  min-width: 0;
  border-top: 3px solid var(--lib-c-primary);
  border-radius: 0 0 var(--lib-r-base) var(--lib-r-base);
}
.lib-b699 {
  margin: 0;
  overflow-wrap: anywhere;
}
.lib-logo {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1rem;
}
.lib-a275 {
  min-width: 0;
  gap: .35rem;
  display: grid;
}
.lib-v47e {
  grid-column: 1/-1;
}
.lib-o316 {
  font-size: .85rem;
  color: var(--lib-c-dim);
}
.lib-jf84 {
  width: 100%;
  min-width: 0;
  padding: .75rem .9rem;
  border: 1px solid var(--lib-c-stroke);
  border-radius: var(--lib-r-base);
  background: var(--lib-c-canvas);
  color: var(--lib-c-text);
  font: inherit;
}
.lib-jf84:focus {
  outline: 2px solid var(--lib-c-primary);
  outline-offset: 1px;
}
.lib-flow {
  resize: vertical;
}
.lib-unit-full {
  overflow-wrap: anywhere;
  max-width: 100%;
  justify-self: start;
}
@media(max-width:760px){
.lib-btn {
  margin-top: 2rem;
  padding: 1.25rem;
}
.lib-logo {
  grid-template-columns: minmax(0,1fr);
}
}
.lib-jae3+.lib-copy {
  margin-top: 1.25rem;
}
.lib-gc3e {
  overflow-wrap: anywhere;
}
.lib-g1c3 {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}
.lib-unit-v2 h2 {
  max-width: 23ch;
}
.lib-fig {
  margin-top: 2rem;
}
.lib-fadf {
  border-top: 1px solid var(--lib-c-stroke);
  padding-top: 1.25rem;
}
.lib-fadf h3 {
  font-size: 1rem;
}
.lib-fadf p {
  color: var(--lib-c-dim);
}
.lib-o11e {
  background: var(--lib-c-surface);
  border: 1px solid var(--lib-c-stroke);
  padding: clamp(1.4rem, 3.5vw, 3rem);
  border-radius: var(--lib-r-base);
}
.lib-slot {
  padding: 1rem;
  border-radius: 50%;
  margin-bottom: 2rem;
  background: var(--lib-c-primary);
  display: inline-flex;
  color: var(--lib-c-primary-fg);
}
.lib-slot svg {
  height: 1.5rem;
  width: 1.5rem;
}
.lib-strip-alt {
  font-weight: 700;
  font-family: var(--lib-ff-title);
  font-size: 1.5rem;
}
.lib-grid {
  margin: 0;
}
.lib-grid div {
  padding: 1rem 0;
  border-top: 1px solid var(--lib-c-stroke);
}
.lib-grid dt {
  margin-bottom: .5rem;
  color: var(--lib-c-dim);
  font-size: .75rem;
}
.lib-grid dd {
  margin: 0;
}
@media (max-width: 720px){
.lib-g1c3 {
  grid-template-columns: minmax(0, 1fr);
}
}
.lib-i994 {
  padding-block: calc(var(--lib-sp-y) * .8);
}
.lib-e372 {
  background: var(--lib-c-surface);
}
.lib-box2 {
  background: var(--lib-c-primary);
  color: var(--lib-c-primary-fg);
}
.lib-box2 .lib-intro-z,.lib-box2 .lib-mark {
  color: var(--lib-c-primary-fg);
}
.lib-y8d0 {
  border-bottom: 1px solid var(--lib-c-stroke);
}
.lib-pane {
  text-align: center;
}
.lib-w78d {
  font-size: .85rem;
  margin-bottom: .75rem;
  opacity: .8;
}
.lib-k049 {
  margin: 0 .5rem;
}
.lib-b459 {
  opacity: .7;
}
.lib-intro-z {
  margin-bottom: .5rem;
}
.lib-site-stack {
  margin: 0;
  max-width: 40rem;
  font-size: 1.1rem;
  opacity: .85;
}
.lib-pane .lib-site-stack {
  margin-inline: auto;
}
.lib-note {
  max-width: 46rem;
}
.lib-g085 {
  color: var(--lib-c-dim);
  font-size: .85rem;
}
.lib-faf6 {
  font-size: 1.05rem;
}
.lib-yc63 {
  margin-top: 2rem;
}
.lib-ea95 {
  font-size: 1.3rem;
}
.lib-view {
  color: var(--lib-c-text);
}
.lib-nd97 {
  background: var(--lib-c-surface);
  overflow-wrap: anywhere;
}
.lib-link-first {
  max-width: 56rem;
  background: var(--lib-c-canvas);
  border: 1px solid var(--lib-c-stroke);
  border-top: 3px solid var(--lib-c-primary);
  border-radius: 0 0 var(--lib-r-base) var(--lib-r-base);
  box-shadow: var(--lib-sh-sm);
  padding: clamp(1.25rem,4vw,3.5rem);
}
.lib-f3b1 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 2.75rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--lib-c-stroke);
  font-size: .85rem;
}
.lib-id26 {
  color: var(--lib-c-dim);
  min-width: 0;
}
.lib-el-tight {
  color: var(--lib-c-text);
  margin: 0;
  text-align: right;
  min-width: 0;
}
.lib-g6b0 {
  max-width: 66ch;
  margin-inline: auto;
}
.lib-ref {
  line-height: 1.8;
  margin: 0 0 2.5rem;
  font-size: 1.1rem;
  white-space: pre-line;
}
.lib-outer {
  margin-top: 2.25rem;
}
.lib-t958 {
  scroll-margin-top: 8rem;
  line-height: 1.35;
  font-size: clamp(1.2rem,1.8vw,1.55rem);
  margin: 0 0 .9rem;
}
.lib-stack {
  color: var(--lib-c-text);
  text-decoration: underline;
  text-decoration-color: var(--lib-c-stroke);
  text-decoration-thickness: 1px;
  text-underline-offset: .25em;
}
.lib-stack:hover {
  text-decoration-color: currentColor;
  color: var(--lib-c-primary);
}
.lib-stack:focus-visible,.lib-t958:focus {
  outline: 2px solid var(--lib-c-primary);
  outline-offset: 5px;
}
.lib-kd9a {
  line-height: 1.85;
  margin: 0 0 1rem;
  font-size: 1rem;
  white-space: pre-line;
}
.lib-kd9a:last-child {
  margin-bottom: 0;
}
@media(max-width:480px){
.lib-link-first {
  padding: 1.25rem 1rem;
}
.lib-f3b1 {
  flex-direction: column;
  gap: .3rem;
  margin-bottom: 1.75rem;
}
.lib-el-tight {
  text-align: left;
}
.lib-ref {
  font-size: 1.05rem;
  margin-bottom: 1.75rem;
}
.lib-outer {
  margin-top: 1.75rem;
}
.lib-kd9a {
  line-height: 1.75;
}
}
.lib-jbc3 {
  padding-block: 1.5rem calc(var(--lib-sp-y) * .65);
  background: var(--lib-c-surface);
}
.lib-rf77 {
  min-width: 0;
}
.lib-site-fit {
  margin: 0;
}
.lib-tcec {
  width: 100%;
  aspect-ratio: 5/2;
  object-fit: cover;
}
.lib-cell {
  background: var(--lib-c-canvas);
  position: relative;
  border: 1px solid var(--lib-c-stroke);
  padding: clamp(1.25rem,4.5vw,4rem);
  margin: -3rem clamp(1rem,4vw,4rem) 0;
}
.lib-box-big {
  display: flex;
  align-items: center;
  gap: .65rem;
  width: fit-content;
  max-width: 100%;
  min-height: 2.75rem;
  font-size: .8rem;
  margin-bottom: 1.25rem;
  overflow-wrap: anywhere;
}
.lib-box-big:focus-visible {
  outline: 2px solid var(--lib-c-primary);
  outline-offset: 4px;
}
.lib-menu {
  display: block;
}
.lib-ede2 {
  max-width: 23ch;
  font-size: clamp(2rem,4vw,3.8rem);
  overflow-wrap: anywhere;
  margin-bottom: .65em;
}
.lib-za88 {
  color: var(--lib-c-dim);
  line-height: 1.65;
  font-size: clamp(1.05rem,1.5vw,1.25rem);
  max-width: 56ch;
  margin-bottom: 2rem;
}
.lib-burger {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  border-top: 1px solid var(--lib-c-stroke);
  padding-top: 1.25rem;
  font-size: .8rem;
  color: var(--lib-c-dim);
}
.lib-me3f {
  font-weight: 600;
  color: var(--lib-c-text);
  min-width: 0;
}
.lib-site-fit:not(:has(img)) {
  display: none;
}
.lib-rf77:not(:has(img)) .lib-cell {
  margin-top: 0;
}
@media(max-width:700px){
.lib-tcec {
  aspect-ratio: 8/5;
}
.lib-cell {
  margin: -1.25rem .65rem 0;
  padding: 1.25rem;
}
.lib-box-big {
  margin-bottom: 1rem;
}
.lib-za88 {
  margin-bottom: 1.5rem;
}
.lib-me3f {
  flex-basis: 100%;
}
}
.lib-note-half {
  padding-top: calc(var(--lib-sp-y) * .45);
}
.lib-ef68 {
  max-width: 68rem;
  min-width: 0;
}
.lib-t97d {
  border-top: 1px solid var(--lib-c-stroke);
  padding-block: 2.75rem;
}
.lib-j805 {
  border-top: 3px solid var(--lib-c-text);
  padding-top: 1.5rem;
}
.lib-z105 {
  max-width: 28ch;
  font-size: clamp(1.5rem,2.4vw,2rem);
  overflow-wrap: anywhere;
  margin-bottom: 1.4rem;
  line-height: 1.3;
}
.lib-j805 .lib-z105 {
  letter-spacing: -.025em;
  max-width: 24ch;
  font-size: clamp(1.9rem,3.6vw,3rem);
}
.lib-text-ghost {
  min-width: 0;
}
.lib-o92e {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(12rem,.34fr);
  gap: clamp(2rem,4vw,4rem);
  align-items: start;
}
.lib-gf29 {
  overflow-wrap: anywhere;
  min-width: 0;
  line-height: 1.85;
  font-size: 1.0625rem;
  max-width: 68ch;
}
.lib-head-sm {
  margin: 0 0 1.3em;
}
.lib-head-sm:last-child {
  margin-bottom: 0;
}
.lib-wrap-accent {
  font-family: var(--lib-ff-title);
  color: var(--lib-c-text);
  margin-bottom: 1.4em;
  font-size: 1.3em;
  line-height: 1.65;
}
.lib-u5dc {
  font-size: .95rem;
  margin: .4rem 0 0;
  padding: 1.15rem 0 0 1.15rem;
  line-height: 1.65;
  border-top: 2px solid var(--lib-c-primary);
  list-style: disc;
  overflow-wrap: anywhere;
}
.lib-card-main {
  margin-bottom: .9rem;
  padding-left: .25rem;
}
.lib-card-main::marker {
  color: var(--lib-c-primary);
}
.lib-card-main:last-child {
  margin-bottom: 0;
}
.lib-q799 {
  max-width: 68ch;
  padding-block: 1.6rem;
  border-block: 1px solid var(--lib-c-text);
}
.lib-z877 {
  font-family: var(--lib-ff-title);
  font-size: clamp(1.1rem,2vw,1.4rem);
  line-height: 1.7;
  overflow-wrap: anywhere;
  margin: 0;
}
@media(max-width:800px){
.lib-o92e {
  grid-template-columns: minmax(0,1fr);
  gap: 1.5rem;
}
.lib-u5dc {
  background: var(--lib-c-surface);
  padding: 1.25rem 1.25rem 1.25rem 2.5rem;
  max-width: 68ch;
}
.lib-gf29 {
  font-size: 1rem;
}
.lib-t97d {
  padding-block: 2rem;
}
}