/* champs.css (Garrett 2026-11-01): the Client-First style guide. First the foundation (variables, Webflow's framework, base
   tags, theme modes, structure, the controller's own color-mode swaps), then the official utilities, the global components and
   every category's components (tools/qa/client_first_gate.py checks it). */
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-family: sans-serif;
}
body {
  margin: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}
audio, canvas, progress, video {
  vertical-align: baseline;
  display: inline-block;
}
audio:not([controls]) {
  height: 0;
  display: none;
}
[hidden], template {
  display: none;
}
a {
  background-color: #0000;
}
a:active, a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b, strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  margin: .67em 0;
  font-size: 2em;
}
mark {
  color: #000;
  background: #ff0;
}
small {
  font-size: 80%;
}
sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}
sup {
  top: -.5em;
}
sub {
  bottom: -.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code, kbd, pre, samp {
  font-family: monospace;
  font-size: 1em;
}
button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button, select {
  text-transform: none;
}
button, html input[type="button"], input[type="reset"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled], html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td, th {
  padding: 0;
}
@font-face {
  font-family: webflow-icons;
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBiUAAAC8AAAAYGNtYXDpP+a4AAABHAAAAFxnYXNwAAAAEAAAAXgAAAAIZ2x5ZmhS2XEAAAGAAAADHGhlYWQTFw3HAAAEnAAAADZoaGVhCXYFgQAABNQAAAAkaG10eCe4A1oAAAT4AAAAMGxvY2EDtALGAAAFKAAAABptYXhwABAAPgAABUQAAAAgbmFtZSoCsMsAAAVkAAABznBvc3QAAwAAAAAHNAAAACAAAwP4AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAQAAAAAwACAACAAQAAQAg5gPpA//9//8AAAAAACDmAOkA//3//wAB/+MaBBcIAAMAAQAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBIAAAAyADgAAFAAAJAQcJARcDIP5AQAGA/oBAAcABwED+gP6AQAABAOAAAALgA4AABQAAEwEXCQEH4AHAQP6AAYBAAcABwED+gP6AQAAAAwDAAOADQALAAA8AHwAvAAABISIGHQEUFjMhMjY9ATQmByEiBh0BFBYzITI2PQE0JgchIgYdARQWMyEyNj0BNCYDIP3ADRMTDQJADRMTDf3ADRMTDQJADRMTDf3ADRMTDQJADRMTAsATDSANExMNIA0TwBMNIA0TEw0gDRPAEw0gDRMTDSANEwAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFVz+fAGEAAAAAAL//f+9BAMDwwAEAAkAABcBJwEXAwE3AQdpA5ps/GZsbAOabPxmbEMDmmz8ZmwDmvxmbAOabAAAAgAA/8AEAAPAAB0AOwAABSInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjNTI3PgE3NjU0Jy4BJyYjMSIHDgEHBhUUFx4BFxYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpVSktvICEhIG9LSlVVSktvICEhIG9LSlVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoZiEgb0tKVVVKS28gISEgb0tKVVVKS28gIQABAAABwAIAA8AAEgAAEzQ3PgE3NjMxFSIHDgEHBhUxIwAoKIteXWpVSktvICFmAcBqXV6LKChmISBvS0pVAAAAAgAA/8AFtgPAADIAOgAAARYXHgEXFhUUBw4BBwYHIxUhIicuAScmNTQ3PgE3NjMxOAExNDc+ATc2MzIXHgEXFhcVATMJATMVMzUEjD83NlAXFxYXTjU1PQL8kz01Nk8XFxcXTzY1PSIjd1BQWlJJSXInJw3+mdv+2/7c25MCUQYcHFg5OUA/ODlXHBwIAhcXTzY1PTw1Nk8XF1tQUHcjIhwcYUNDTgL+3QFt/pOTkwABAAAAAQAAmM7nP18PPPUACwQAAAAAANciZKUAAAAA1yJkpf/9/70FtgPDAAAACAACAAAAAAAAAAEAAAPA/8AAAAW3//3//QW2AAEAAAAAAAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAgAAAAQAASAEAADgBAAAwAQAAJ0EAP/9BAAAAAQAAAAFtwAAAAAAAAAKABQAHgAyAEYAjACiAL4BFgE2AY4AAAABAAAADAA8AAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADQAAAAEAAAAAAAIABwCWAAEAAAAAAAMADQBIAAEAAAAAAAQADQCrAAEAAAAAAAUACwAnAAEAAAAAAAYADQBvAAEAAAAAAAoAGgDSAAMAAQQJAAEAGgANAAMAAQQJAAIADgCdAAMAAQQJAAMAGgBVAAMAAQQJAAQAGgC4AAMAAQQJAAUAFgAyAAMAAQQJAAYAGgB8AAMAAQQJAAoANADsd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") format("truetype");
  font-weight: normal;
  font-style: normal;
}
[class^="w-icon-"], [class*=" w-icon-"] {
  speak: none;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  font-family: webflow-icons !important;
}
.w-icon-file-upload-remove:before {
  content: "";
}
.w-icon-file-upload-icon:before {
  content: "";
}
* {
  box-sizing: border-box;
}
html {
  height: 100%;
}
body {
  color: #333;
  background-color: #fff;
  min-height: 100%;
  margin: 0;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
}
img {
  vertical-align: middle;
  max-width: 100%;
  display: inline-block;
}
.w-inline-block {
  max-width: 100%;
  display: inline-block;
}
.w-button {
  color: #fff;
  line-height: inherit;
  cursor: pointer;
  background-color: #3898ec;
  border: 0;
  border-radius: 0;
  padding: 9px 15px;
  text-decoration: none;
  display: inline-block;
}
input.w-button {
  -webkit-appearance: button;
}
:where(button.w-popover-trigger), :where(button.w-modal-trigger) {
  color: inherit;
  cursor: pointer;
  font: inherit;
  line-height: inherit;
  text-align: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
  background-color: #0000;
  border: 0;
  margin: 0;
  padding: 0;
}
:where(.w-popover[data-w-popover-backdrop-animated])::backdrop {
  animation: var(--w-backdrop-animation, none);
}
:where(.w-popover) {
  --w-backdrop-animation: initial;
}
.w-webflow-badge, .w-webflow-badge > img {
  box-sizing: unset;
  width: unset;
  height: unset;
  max-height: unset;
  max-width: unset;
  min-height: unset;
  min-width: unset;
  margin: unset;
  padding: unset;
  float: unset;
  clear: unset;
  border: unset;
  border-radius: unset;
  background: unset;
  background-image: unset;
  background-position: unset;
  background-size: unset;
  background-repeat: unset;
  background-origin: unset;
  background-clip: unset;
  background-attachment: unset;
  background-color: unset;
  box-shadow: unset;
  transform: unset;
  direction: unset;
  font-family: unset;
  font-weight: unset;
  color: unset;
  font-size: unset;
  line-height: unset;
  font-style: unset;
  font-variant: unset;
  text-align: unset;
  letter-spacing: unset;
  -webkit-text-decoration: unset;
  text-decoration: unset;
  text-indent: unset;
  text-transform: unset;
  list-style-type: unset;
  text-shadow: unset;
  vertical-align: unset;
  cursor: unset;
  white-space: unset;
  word-break: unset;
  word-spacing: unset;
  word-wrap: unset;
  transition: unset;
}
.w-webflow-badge {
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 0 0 1px #0000001a, 0 1px 3px #0000001a;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 2147483647 !important;
  color: #aaadb0 !important;
  width: auto !important;
  height: auto !important;
  overflow: unset !important;
  background-color: #fff !important;
  border-radius: 3px !important;
  margin: 0 !important;
  padding: 6px !important;
  font-size: 12px !important;
  line-height: 14px !important;
  text-decoration: none !important;
  display: inline-block !important;
  position: fixed !important;
  inset: auto 12px 12px auto !important;
  transform: none !important;
}
.w-webflow-badge > img {
  position: unset;
  visibility: unset !important;
  opacity: 1 !important;
  vertical-align: middle !important;
  display: inline-block !important;
}
h1, h2, h3, h4, h5, h6 {
  margin-bottom: 10px;
  font-weight: bold;
}
h1 {
  margin-top: 20px;
  font-size: 38px;
  line-height: 44px;
}
h2 {
  margin-top: 20px;
  font-size: 32px;
  line-height: 36px;
}
h3 {
  margin-top: 20px;
  font-size: 24px;
  line-height: 30px;
}
h4 {
  margin-top: 10px;
  font-size: 18px;
  line-height: 24px;
}
h5 {
  margin-top: 10px;
  font-size: 14px;
  line-height: 20px;
}
h6 {
  margin-top: 10px;
  font-size: 12px;
  line-height: 18px;
}
p {
  margin-top: 0;
  margin-bottom: 10px;
}
blockquote {
  border-left: 5px solid #e2e2e2;
  margin: 0 0 10px;
  padding: 10px 20px;
  font-size: 18px;
  line-height: 22px;
}
figure {
  margin: 0 0 10px;
}
figcaption {
  text-align: center;
  margin-top: 5px;
}
ul, ol {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
}
.w-embed:before, .w-embed:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}
.w-embed:after {
  clear: both;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
button, [type="button"], [type="reset"] {
  cursor: pointer;
  -webkit-appearance: button;
  border: 0;
}
.w-form {
  margin: 0 0 15px;
}
.w-form-done {
  text-align: center;
  background-color: #ddd;
  padding: 20px;
  display: none;
}
.w-form-fail {
  background-color: #ffdede;
  margin-top: 10px;
  padding: 10px;
  display: none;
}
label {
  margin-bottom: 5px;
  font-weight: bold;
  display: block;
}
.w-input, .w-select {
  color: #333;
  vertical-align: middle;
  background-color: #fff;
  border: 1px solid #ccc;
  width: 100%;
  height: 38px;
  margin-bottom: 10px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.42857;
  display: block;
}
.w-input::placeholder, .w-select::placeholder {
  color: #999;
}
.w-input:focus, .w-select:focus {
  border-color: #3898ec;
  outline: 0;
}
.w-input[disabled], .w-select[disabled], .w-input[readonly], .w-select[readonly], fieldset[disabled] .w-input, fieldset[disabled] .w-select {
  cursor: not-allowed;
}
.w-input[disabled]:not(.w-input-disabled), .w-select[disabled]:not(.w-input-disabled), .w-input[readonly], .w-select[readonly], fieldset[disabled]:not(.w-input-disabled) .w-input, fieldset[disabled]:not(.w-input-disabled) .w-select {
  background-color: #eee;
}
textarea.w-input, textarea.w-select {
  height: auto;
}
.w-select {
  background-color: #f3f3f3;
}
.w-select[multiple] {
  height: auto;
}
.w-form-label {
  cursor: pointer;
  margin-bottom: 0;
  font-weight: normal;
  display: inline-block;
}
.w-radio-input {
  float: left;
  margin: 3px 0 0 -20px;
  line-height: normal;
}
.w-file-upload {
  margin-bottom: 10px;
  display: block;
}
.w-file-upload-input {
  opacity: 0;
  z-index: -100;
  width: .1px;
  height: .1px;
  position: absolute;
  overflow: hidden;
}
.w-file-upload-default, .w-file-upload-uploading, .w-file-upload-success {
  color: #333;
  display: inline-block;
}
.w-file-upload-error {
  margin-top: 10px;
  display: block;
}
.w-file-upload-file {
  background-color: #fafafa;
  border: 1px solid #ccc;
  flex-grow: 1;
  justify-content: space-between;
  margin: 0;
  padding: 8px 9px 8px 11px;
  display: flex;
}
.w-file-upload-file-name {
  font-size: 14px;
  font-weight: normal;
  display: block;
}
.w-file-remove-link {
  cursor: pointer;
  width: auto;
  height: auto;
  margin-top: 3px;
  margin-left: 10px;
  padding: 3px;
  display: block;
}
.w-icon-file-upload-remove {
  margin: auto;
  font-size: 10px;
}
.w-file-upload-error-msg {
  color: #ea384c;
  padding: 2px 0;
  display: inline-block;
}
.w-file-upload-label {
  cursor: pointer;
  background-color: #fafafa;
  border: 1px solid #ccc;
  margin: 0;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: normal;
  display: inline-block;
}
.w-icon-file-upload-icon {
  width: 20px;
  margin-right: 8px;
  display: inline-block;
}
.w-slider {
  text-align: center;
  clear: both;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  background: #ddd;
  height: 300px;
  position: relative;
}
.w-slide {
  vertical-align: top;
  white-space: normal;
  text-align: left;
  width: 100%;
  height: 100%;
  display: inline-block;
  position: relative;
}
.w-richtext:before, .w-richtext:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}
.w-richtext:after {
  clear: both;
}
.w-richtext[contenteditable="true"]:before, .w-richtext[contenteditable="true"]:after {
  white-space: initial;
}
.w-richtext ol, .w-richtext ul {
  overflow: hidden;
}
.w-richtext figure[data-rt-type="video"] > div:after {
  content: "";
  display: none;
  position: absolute;
  inset: 0;
}
.w-richtext figure {
  max-width: 60%;
  position: relative;
}
.w-richtext figure > div:before {
  cursor: default !important;
}
.w-richtext figure img {
  width: 100%;
}
.w-richtext figure div {
  color: #0000;
  font-size: 0;
}
.w-richtext figure[data-rt-type="image"] {
  display: table;
}
.w-richtext figure[data-rt-type="image"] > div {
  display: inline-block;
}
.w-richtext figure[data-rt-type="image"] > figcaption {
  caption-side: bottom;
  display: table-caption;
}
.w-richtext figure[data-rt-type="video"] {
  width: 60%;
  height: 0;
}
.w-richtext figure[data-rt-type="video"] iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.w-richtext figure[data-rt-type="video"] > div {
  width: 100%;
}
.w-nav {
  z-index: 1000;
  background: #ddd;
  position: relative;
}
.w-nav:before, .w-nav:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}
.w-nav:after {
  clear: both;
}
.w-nav-brand {
  float: left;
  color: #333;
  text-decoration: none;
  position: relative;
}
.w-nav[data-animation="over-left"] [data-nav-menu-open] {
  z-index: 1;
  top: 0;
  right: auto;
}
.w-nav[data-animation="over-right"] [data-nav-menu-open] {
  z-index: 1;
  top: 0;
  left: auto;
}
@media screen and (max-width: 767px) {
.w-nav-brand {
    padding-left: 10px;
  }
}
.w-tabs {
  position: relative;
}
.w-tabs:before, .w-tabs:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}
.w-tabs:after {
  clear: both;
}
.w-tab-menu {
  position: relative;
}
.w-tab-link {
  vertical-align: top;
  text-align: left;
  cursor: pointer;
  color: #222;
  background-color: #ddd;
  padding: 9px 30px;
  text-decoration: none;
  display: inline-block;
  position: relative;
}
.w-tab-link.w--current {
  background-color: #c8c8c8;
}
.w-tab-link:focus {
  outline: 0;
}
.w-tab-content {
  display: block;
  position: relative;
  overflow: hidden;
}
.w-tab-pane {
  display: none;
  position: relative;
}
.w--tab-active {
  display: block;
}
@media screen and (max-width: 479px) {
.w-tab-link {
    display: block;
  }
}
@keyframes spin {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}
.w-dyn-empty {
  background-color: #ddd;
  padding: 10px;
}
.w-dyn-hide, .w-dyn-bind-empty {
  display: none !important;
}
@font-face {
  font-family: Inter;
  src: url("/assets/media/fastly-webflow/6ac322988c31cd570fd437d2/fonts/6ac3a10b10684005e7040560-Inter-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Plus Jakarta Sans;
  src: url("/assets/media/fastly-webflow/6ac322988c31cd570fd437d2/fonts/6ac3a10bece2987923213a72-PlusJakartaSans-Variable.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Archivo;
  src: url("/assets/media/fastly-webflow/6ac322988c31cd570fd437d2/fonts/6ac3b4e8e4eecf9d9aee7346-Archivo-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: DM Sans;
  src: url("/assets/media/fastly-webflow/6ac322988c31cd570fd437d2/fonts/6ac3b4e808be1cb6fbcd82ae-DMSans-Variable.woff2") format("woff2");
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Fraunces;
  src: url("/assets/media/fastly-webflow/6ac322988c31cd570fd437d2/fonts/6ac3b4e95861bc3ca145faeb-Fraunces-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Manrope;
  src: url("/assets/media/fastly-webflow/6ac322988c31cd570fd437d2/fonts/6ac3b4e91fa10b7e0e8637d5-Manrope-Variable.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Outfit;
  src: url("/assets/media/fastly-webflow/6ac322988c31cd570fd437d2/fonts/6ac3b4e9766a5ad864b3292a-Outfit-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Cormorant Garamond;
  src: url("/assets/media/fastly-webflow/6ac322988c31cd570fd437d2/fonts/6ac3d91e644e2add87e6149c-CormorantGaramond-Variable.woff2") format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Jost;
  src: url("/assets/media/fastly-webflow/6ac322988c31cd570fd437d2/fonts/6ac3d91edc23895b6a2364c1-Jost-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Space Grotesk;
  src: url("/assets/media/fastly-webflow/6ac322988c31cd570fd437d2/fonts/6ac3d91e22a94b078b03369a-SpaceGrotesk-Variable.woff2") format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Lora;
  src: url("/assets/media/fastly-webflow/6ac322988c31cd570fd437d2/fonts/6ac3d91e22a94b078b0336c5-Lora-Variable.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Libre Franklin;
  src: url("/assets/media/fastly-webflow/6ac322988c31cd570fd437d2/fonts/6ac3d91ece816b9445b717b1-LibreFranklin-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --_theme---background--page: var(--neutral--0);
  --font-family--body: var(--selection--font-body, Inter, sans-serif);
  --_theme---text--body: var(--brand--dark);
  --_typography---font-size--text-regular: 1rem;
  --_typography---body--body-font-weight: 400;
  --_layout---spacing--global-padding: 2.5rem;
  --_sizes---container--large: 80rem;
  --_sizes---container--medium: 64rem;
  --_sizes---container--small: 48rem;


  --_layout---spacing--xxlarge: 5rem;
  --_layout---overlap--start: 0rem;
  --_layout---overlap--end: 0rem;

  --_theme---background--alternate: var(--neutral--50);
  --font-family--heading: var(--selection--font-heading, "Plus Jakarta Sans", sans-serif);
  --_theme---text--heading: var(--neutral--900);
  --_typography---font-size--display: 5rem;
  --_typography---display--display-font-weight: 800;
  --_typography---display--display-letter-spacing: -.03em;
  --_typography---h1--h1-font-size: 3.5rem;
  --_typography---heading--heading-font-weight: 700;
  --_typography---heading--heading-letter-spacing: -.02em;
  --_typography---h2--h2-font-size: 2.5rem;
  --_typography---h3--h3-font-size: 1.75rem;
  --_typography---h4--h4-font-size: 1.5rem;
  --_typography---subheading--subheading-font-weight: 600;
  --_typography---h5--h5-font-size: 1.25rem;
  --_typography---h6--h6-font-size: 1rem;
  --_typography---font-size--text-large: 1.25rem;
  --_typography---font-size--text-medium: 1.125rem;
  --_theme---text--muted: var(--brand--dark);
  --_typography---font-size--text-tiny: .75rem;
  --_typography---interface--interface-font-weight: 600;
  --_typography---eyebrow--eyebrow-letter-spacing: .12em;
  --_typography---font-size--text-small: .875rem;
  --_layout---spacing--xtiny: .5rem;
  --_sizes---border--width: 1px;
  --_theme---border--primary: var(--neutral--200);
  --_theme---accent--primary: var(--brand--accent);
  --_layout---spacing--xxtiny: .25rem;
  --_layout---spacing--large: 3rem;
  --_layout---spacing--xxsmall: 1rem;
  --_layout---spacing--medium: 2rem;
  --_sizes---border-radius--button: .5rem;
  --_theme---button-primary--background: var(--brand--primary);
  --_theme---button-primary--text: var(--neutral--0);
  --_sizes---max-width--medium: 32rem;
  --others--white-70: #ffffffb3;
  --_theme---link--primary: var(--brand--primary);
  --_sizes---border-radius--small: .375rem;
  --brand--dark: #0b1120;
  --_theme---background--icon: var(--brand--primary-50);
  --_layout---spacing--small: 1.5rem;
  --brand--white: #fff;
  --_typography---subheading--subheading-letter-spacing: 0em;
  --brand--accent-50: #fef7eb;
  --_sizes---max-width--large: 40rem;
  --brand--accent-300: #face85;
  --_sizes---icon--medium: 3rem;
  --_theme---text--icon: var(--brand--primary);
  --others--black-70: #020617b3;
  --_theme---text--eyebrow: var(--brand--accent);
  --_theme---background--card: var(--neutral--0);
  --brand--accent: #f59e0b;
  --_sizes---border-radius--round: 100rem;
  --brand--secondary-300: #878b94;
  --others--black-40: #02061766;
  --brand--accent-200: #fce2b6;
  --others--white-20: #fff3;
  --neutral--600: color-mix(in srgb, var(--brand--dark) 75%, var(--brand--light));
  --_sizes---border-radius--large: 1.5rem;
  --neutral--950: var(--brand--dark);
  --neutral--0: var(--brand--light);
  --others--white-10: #ffffff1a;
  --brand--primary: #2563eb;
  --brand--accent-100: #fef0da;
  --brand--accent-900: #623f04;
  --_sizes---border-radius--medium: .75rem;
  --_theme---button-secondary--border: var(--neutral--300);

  --_theme---button-primary--background-hover: var(--brand--primary-700);
  --_theme---button-secondary--text: var(--neutral--900);
  --brand--accent-400: #f8b648;
  --_sizes---icon--small: 1.5rem;
  --brand--secondary-400: #4b515f;

  --_sizes---navigation--height: 5rem;
  --brand--light: #f8fafc;
  --_layout---section-padding--xlarge: 12rem;

  --neutral--700: color-mix(in srgb, var(--brand--dark) 85%, var(--brand--light));
  --_theme---background--overlay: var(--others--black-40);
  --others--black-10: #0206171a;
  --brand--secondary: #0f172a;
  --brand--primary-100: #dee8fc;
  --brand--primary-300: #92b1f5;
  --brand--primary-700: #1a45a4;
  --brand--primary-900: #0f285e;
  --neutral--100: color-mix(in srgb, var(--brand--dark) 10%, var(--brand--light));
  --neutral--300: color-mix(in srgb, var(--brand--dark) 30%, var(--brand--light));
  --neutral--500: color-mix(in srgb, var(--brand--dark) 60%, var(--brand--light));
  --neutral--900: color-mix(in srgb, var(--brand--dark) 96%, var(--brand--light));
  --neutral--200: color-mix(in srgb, var(--brand--dark) 18%, var(--brand--light));
  --neutral--50: color-mix(in srgb, var(--brand--dark) 5%, var(--brand--light));
  --brand--primary-50: #eff4fe;
  --brand--primary-200: #bed0f9;
  --brand--accent-600: #d08609;
  --brand--primary-400: #5c8af0;
  --_layout---spacing--stack-gap: var(--_layout---spacing--medium);
  --brand--primary-600: #1f54c8;
  --brand--primary-800: #143681;
  --brand--secondary-50: #ececee;
  --brand--secondary-100: #dbdcdf;
  --brand--secondary-200: #b7b9bf;
  --brand--secondary-600: #0d1424;
  --brand--secondary-700: #0a101d;
  --brand--secondary-800: #080d17;
  --brand--secondary-900: #060911;
  --_layout---section-padding--small: 3rem;
  --_layout---section-padding--medium: 5rem;
  --_layout---section-padding--large: 8rem;
  --_layout---spacing--grid-gap: 2rem;
  --brand--accent-700: #ac6f08;
  --brand--accent-800: #875706;
  --neutral--400: color-mix(in srgb, var(--brand--dark) 45%, var(--brand--light));
  --_layout---section-padding--xsmall: 1.75rem;
  --neutral--800: color-mix(in srgb, var(--brand--dark) 92%, var(--brand--light));
  
  --_theme---text--card-heading: var(--neutral--900);
  --_theme---text--card-body: var(--brand--dark);
  --_theme---text--card-muted: var(--brand--dark);
  --_theme---text--card-eyebrow: var(--brand--accent);
}
.w-checkbox {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}
.w-checkbox:before {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}
.w-checkbox:after {
  content: " ";
  clear: both;
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}
.w-checkbox-input {
  float: left;
  margin: 4px 0 0 -20px;
  line-height: normal;
}
body {
  background-color: var(--_theme---background--page);
  font-family: var(--font-family--body);
  color: var(--_theme---text--body);
  font-size: var(--_typography---font-size--text-regular);
  line-height: 1.6;
  font-weight: var(--_typography---body--body-font-weight);




  --_layout---spacing--stack-gap: var(--_layout---spacing--medium);
}
h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: var(--_typography---heading--heading-font-weight);
  font-family: var(--font-family--heading);
  color: var(--_theme---text--heading);
  font-size:var(--_typography---h1--h1-font-size);line-height:1.12;overflow-wrap:break-word;min-width:0;text-wrap:balance;text-transform:none;letter-spacing:var(--_typography---heading--heading-letter-spacing);
}
h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: var(--_typography---heading--heading-font-weight);
  font-family: var(--font-family--heading);
  color: var(--_theme---text--heading);
  font-size:var(--_typography---h2--h2-font-size);line-height:1.2;overflow-wrap:break-word;min-width:0;text-wrap:balance;text-transform:none;letter-spacing:var(--_typography---heading--heading-letter-spacing);
}
h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: var(--_typography---heading--heading-font-weight);
  font-family: var(--font-family--heading);
  color: var(--_theme---text--heading);
  font-size:var(--_typography---h3--h3-font-size);line-height:1.2;overflow-wrap:break-word;min-width:0;text-wrap:balance;text-transform:none;letter-spacing:var(--_typography---heading--heading-letter-spacing);
}
h4 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: var(--_typography---subheading--subheading-font-weight);
  font-family: var(--font-family--heading);
  color: var(--_theme---text--heading);
  font-size:var(--_typography---h4--h4-font-size);line-height:1.2;text-transform:none;letter-spacing:var(--_typography---heading--heading-letter-spacing);
}
h5 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: var(--_typography---subheading--subheading-font-weight);
  font-family: var(--font-family--heading);
  color: var(--_theme---text--heading);
  font-size:1.125rem;line-height:1.3;text-transform:none;letter-spacing:var(--_typography---heading--heading-letter-spacing);
}
h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: var(--_typography---subheading--subheading-font-weight);
  font-family: var(--font-family--heading);
  color: var(--_theme---text--heading);
  font-size:1rem;line-height:1.3;text-transform:none;letter-spacing:var(--_typography---heading--heading-letter-spacing);
}
p {
  margin-bottom: 0;
  margin-top:0;margin-bottom:0;
}
a {
  color: var(--_theme---link--primary);
  text-decoration: none;
}
.page-wrapper, .main-wrapper {
  width: 100%;
  position: relative;
}
.padding-global {
  padding-right: var(--_layout---spacing--global-padding);
  padding-left: var(--_layout---spacing--global-padding);
}
.container-large {
  width: 100%;
  max-width: var(--_sizes---container--large);
  margin-left: auto;
  margin-right: auto;
}
.container-medium {
  width: 100%;
  max-width: var(--_sizes---container--medium);
  margin-left: auto;
  margin-right: auto;
}
.container-small {
  width: 100%;
  max-width: var(--_sizes---container--small);
  margin-left: auto;
  margin-right: auto;
}
.padding-section-small {
  padding-top: var(--_layout---section-padding--small);
  padding-bottom: var(--_layout---section-padding--small);
}
.padding-section-medium {
  padding-top: var(--_layout---section-padding--medium);
  padding-bottom: var(--_layout---section-padding--medium);
}
.padding-section-large {
  padding-top: var(--_layout---section-padding--large);
  padding-bottom: var(--_layout---section-padding--large);
}
.theme-light {
  --_theme---logo--main: block;
  --_theme---logo--light: none;
  background-color: var(--_theme---background--page);
  color: var(--_theme---text--body);
}
.theme-alt {
  --_theme---text--heading: var(--_theme---controller--mode-alt-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-alt-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-alt-muted, var(--_theme---text--card-muted));
  --_theme---text--eyebrow: var(--_theme---controller--mode-alt-eyebrow, var(--_theme---text--card-eyebrow));
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  background-color: var(--_theme---background--alternate);
  color: var(--_theme---text--body);
}
.theme-dark {
  --_theme---controller--card-button: initial;
  --_theme---controller--card-label: initial;
  --_theme---logo--main: none;
  --_theme---logo--light: block;
  background-color: var(--_theme---background--page);
  color: var(--_theme---text--body);
  --_theme---background--page: var(--brand--dark);
  --_theme---text--body: var(--brand--white);
  --_theme---background--alternate: var(--neutral--900);
  --_theme---text--heading: var(--brand--white);
  --_theme---text--muted: var(--brand--white);
  --_theme---border--primary: var(--others--white-10);
  --_theme---accent--primary: var(--brand--accent);
  --_theme---button-primary--background: var(--brand--primary);
  --_theme---button-primary--text: var(--neutral--0);
  --_theme---link--primary: var(--brand--white);
  --_theme---background--icon: var(--others--white-10);
  --_theme---text--icon: var(--brand--primary-300);
  --_theme---text--eyebrow: var(--brand--accent);
  --_theme---background--card: var(--brand--dark);
  --_theme---button-secondary--border: var(--others--white-20);
  --_theme---button-primary--background-hover: var(--brand--primary-400);
  --_theme---button-secondary--text: var(--neutral--0);
  --_theme---background--overlay: var(--others--black-70);
  --_theme---text--card-heading: var(--brand--white);
  --_theme---text--card-body: var(--brand--white);
  --_theme---text--card-muted: var(--brand--white);
  --_theme---text--card-eyebrow: var(--brand--accent);
}
.theme-brand {
  --_theme---controller--card-button: initial;
  --_theme---controller--card-label: initial;
  background-color: var(--_theme---background--page);
  color: var(--_theme---text--body);
  --_theme---background--page: var(--brand--primary);
  --_theme---text--body: var(--brand--primary-100);
  --_theme---background--alternate: var(--brand--primary-700);
  --_theme---text--heading: var(--neutral--0);
  --_theme---text--muted: var(--brand--primary-200);
  --_theme---border--primary: var(--others--white-20);
  --_theme---accent--primary: var(--brand--accent);
  --_theme---button-primary--background: var(--brand--white);
  --_theme---button-primary--text: var(--brand--primary);
  --_theme---link--primary: var(--neutral--0);
  --_theme---background--icon: var(--others--white-10);
  --_theme---text--icon: var(--neutral--0);
  --_theme---text--eyebrow: var(--brand--accent-300);
  --_theme---background--card: var(--brand--primary-600);
  --_theme---button-secondary--border: var(--others--white-70);
  --_theme---button-primary--background-hover: var(--brand--primary-50);
  --_theme---button-secondary--text: var(--neutral--0);
  --_theme---background--overlay: var(--others--black-40);
  --_theme---text--card-heading: var(--neutral--0);
  --_theme---text--card-body: var(--brand--primary-100);
  --_theme---text--card-muted: var(--brand--primary-200);
  --_theme---text--card-eyebrow: var(--brand--accent-300);
}
.swiper { margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block }
.swiper-wrapper { position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box }
.swiper-wrapper { transform:translate3d(0px,0,0) }
.swiper-horizontal { touch-action:pan-y }
.swiper-vertical { touch-action:pan-x }
.swiper-vertical > .swiper-wrapper { flex-direction:column }
.swiper-fade .swiper-slide { pointer-events:none;transition-property:opacity }
.swiper-fade .swiper-slide-active { pointer-events:auto }
.swiper-slide { flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block }
.swiper-lazy-preloader { width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent }
.swiper-button-next, .swiper-button-prev { position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color)) }
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled { opacity:.35;cursor:auto;pointer-events:none }
.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden { opacity:0;cursor:auto;pointer-events:none }
.swiper-button-prev { left:var(--swiper-navigation-sides-offset,10px);right:auto }
.swiper-button-next { right:var(--swiper-navigation-sides-offset,10px);left:auto }
.swiper-button-lock { display:none }
.swiper-button-next:after, .swiper-button-prev:after { font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1 }
.swiper-button-prev:after { content:'prev' }
.swiper-button-next { right:var(--swiper-navigation-sides-offset,10px);left:auto }
.swiper-button-next:after { content:'next' }
.swiper-pagination { position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10 }
.swiper-pagination-bullet { width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2) }
button.swiper-pagination-bullet { border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none }
.swiper-pagination-bullet:only-child { display:none!important }
.swiper-pagination-bullet-active { opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color)) }
.swiper-scrollbar { border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1)) }
.swiper-scrollbar.swiper-scrollbar-disabled { display:none!important }
.swiper-scrollbar.swiper-scrollbar-horizontal { position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%)) }
.swiper-scrollbar.swiper-scrollbar-vertical { position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%)) }
.swiper-scrollbar-drag { height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0 }
.swiper-scrollbar-lock { display:none }
.swiper-zoom-container { width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center }
.swiper-slide-zoomed { cursor:move;touch-action:none }
@keyframes swiper-preloader-spin {0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.swiper {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.swiper-wrapper {
  display: flex;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: auto;
}
.swiper-no-swiping {
  cursor: ew-resize;
}
@media screen and (max-width: 991px) {
body {
    --_typography---font-size--text-regular: 1rem;
    --_layout---spacing--global-padding: 2rem;
    --_sizes---container--large: 80rem;
    --_sizes---container--medium: 64rem;
    --_sizes---container--small: 48rem;
    --_layout---spacing--xxlarge: 4rem;
    --_typography---font-size--display: 4rem;
    --_typography---h1--h1-font-size: 2.5rem;
    --_typography---h2--h2-font-size: 1.875rem;
    --_typography---h3--h3-font-size: 1.375rem;
    --_typography---h4--h4-font-size: 1.25rem;
    --_typography---h5--h5-font-size: 1.125rem;
    --_typography---h6--h6-font-size: 1rem;
    --_typography---font-size--text-large: 1.125rem;
    --_typography---font-size--text-medium: 1.125rem;
    --_typography---font-size--text-tiny: .75rem;
    --_typography---font-size--text-small: .875rem;
    --_layout---spacing--xtiny: .5rem;
    --_layout---spacing--xxtiny: .25rem;
    --_layout---spacing--large: 2.5rem;
    --_layout---spacing--xxsmall: 1rem;
    --_layout---spacing--medium: 1.75rem;
    --_sizes---max-width--medium: 32rem;
    --_layout---spacing--small: 1.25rem;
    --_sizes---max-width--large: 40rem;
    --_sizes---icon--medium: 3rem;
    --_sizes---border-radius--round: 100rem;

    --_sizes---icon--small: 1.5rem;
    --_sizes---navigation--height: 5rem;
    --_layout---section-padding--xlarge: 8rem;
    --_sizes---border-radius--large: 1.25rem;
    --_layout---section-padding--small: 2.5rem;
    --_layout---section-padding--medium: 4rem;
    --_layout---section-padding--large: 6rem;
    --_layout---spacing--grid-gap: 1.5rem;
    --_layout---section-padding--xsmall: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
body {
    --_typography---font-size--text-regular: 1rem;
    --_layout---spacing--global-padding: 1.25rem;
    --_sizes---container--large: 80rem;
    --_sizes---container--medium: 64rem;
    --_sizes---container--small: 48rem;
    --_layout---spacing--xxlarge: 3rem;
    --_typography---font-size--display: 3rem;
    --_typography---h1--h1-font-size: 2rem;
    --_typography---h2--h2-font-size: 1.75rem;
    --_typography---h3--h3-font-size: 1.375rem;
    --_typography---h4--h4-font-size: 1.25rem;
    --_typography---h5--h5-font-size: 1.125rem;
    --_typography---h6--h6-font-size: 1rem;
    --_typography---font-size--text-large: 1.125rem;
    --_typography---font-size--text-medium: 1rem;
    --_typography---font-size--text-tiny: .75rem;
    --_typography---font-size--text-small: .875rem;
    --_layout---spacing--xtiny: .5rem;
    --_layout---spacing--xxtiny: .25rem;
    --_layout---spacing--large: 2rem;
    --_layout---spacing--xxsmall: .75rem;
    --_layout---spacing--medium: 1.5rem;
    --_sizes---max-width--medium: 32rem;
    --_layout---spacing--small: 1rem;
    --_sizes---max-width--large: 40rem;
    --_sizes---icon--medium: 3rem;
    --_sizes---border-radius--round: 100rem;

    --_sizes---icon--small: 1.5rem;
    --_sizes---navigation--height: 5rem;
    --_layout---section-padding--xlarge: 6rem;
    --_sizes---border-radius--large: 1rem;
    --_layout---section-padding--small: 2rem;
    --_layout---section-padding--medium: 3rem;
    --_layout---section-padding--large: 4rem;
    --_layout---spacing--grid-gap: 1.25rem;
    --_layout---section-padding--xsmall: 1.25rem;
  }
}
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
.leaflet-tile::selection {
	background: transparent;
}
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}
.leaflet-container img.leaflet-tile {
	mix-blend-mode: plus-lighter;
}
.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}
.leaflet-pane         { z-index: 400; }
.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }
.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }
.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; 
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}
.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}
.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}
.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}
.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; 
	pointer-events: auto;
	}
.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}
.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}
.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}
.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}
.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(https://unpkg.com/leaflet@1.9.4/dist/images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(https://unpkg.com/leaflet@1.9.4/dist/images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}
.leaflet-default-icon-path { 
	background-image: url(https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png);
	}
.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}
.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}
.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;
	margin: -10px auto 0;
	pointer-events: auto;
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}
.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}
.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}
@media print {
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}
/* ----- Site foundation: rich text, the swiper colors, the tab reset, show/hide, the controller's look swaps ----- */
.w-tab-link, .w-tab-link.w--current {background-color:transparent;color:inherit;border-radius:0}
.w-richtext h2 {font-size:var(--_typography---rich-text--h2-size, var(--_typography---h3--h3-font-size));line-height:1.2;margin:var(--_layout---rich-text--heading-gap, 2rem) 0 .75rem;scroll-margin-top:120px}
.w-richtext h3 {font-size:var(--_typography---rich-text--h3-size, var(--_typography---h4--h4-font-size));line-height:1.3;margin:var(--_layout---rich-text--heading-gap, 1.5rem) 0 .5rem;scroll-margin-top:120px}
.w-richtext h4 {margin:1.5rem 0 .5rem}
.w-richtext p, .w-richtext ul, .w-richtext ol {margin:0 0 1rem;line-height:1.6}
.w-richtext li {margin-bottom:.35rem}
.w-richtext blockquote {border-left:4px solid var(--brand--primary);padding-left:1.25rem;margin:1.5rem 0;font-size:var(--_typography---font-size--text-medium);color:var(--_theme---text--heading)}
.w-richtext figure {margin:1.5rem 0}
.w-richtext>*:first-child {margin-top:0}
:root {--swiper-navigation-size:2.75rem;--swiper-theme-color:var(--_theme---button-primary--background);--swiper-pagination-color:var(--_theme---button-primary--background);--swiper-pagination-bullet-inactive-color:var(--_theme---text--muted);--swiper-pagination-bullet-inactive-opacity:.4;--swiper-navigation-color:var(--_theme---text--heading)}
html { min-height:0; height:auto; }
[hidden] { display: none !important; }
.w-richtext a { text-decoration: underline; }
:root {
  --brand--primary-100: color-mix(in srgb, var(--brand--primary) 15%, var(--brand--light, #fff));
  --brand--primary-300: color-mix(in srgb, var(--brand--primary) 50%, var(--brand--light, #fff));
  --brand--primary-700: color-mix(in srgb, var(--brand--primary) 82%, black);
  --brand--primary-900: color-mix(in srgb, var(--brand--primary) 58%, black);
  --brand--accent-50: color-mix(in srgb, var(--brand--accent) 7%, var(--brand--light, #fff));
  --brand--accent-100: color-mix(in srgb, var(--brand--accent) 16%, var(--brand--light, #fff));
  --brand--accent-300: color-mix(in srgb, var(--brand--accent) 55%, var(--brand--light, #fff));
  --brand--accent-400: color-mix(in srgb, var(--brand--accent) 78%, var(--brand--light, #fff));
  --brand--accent-900: color-mix(in srgb, var(--brand--accent) 45%, black);
  --brand--secondary-400: color-mix(in srgb, var(--brand--dark, #111) 55%, var(--brand--light, #fff));
}
@keyframes chs-design-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
html[data-chs-color-mode="light"], html[data-chs-color-mode="light"] body, html[data-chs-color-mode="light"] .theme-dark, html[data-chs-color-mode="light"] .theme-light {
--_theme---background--page:var(--brand--light, #fff);
--_theme---background--alternate:color-mix(in srgb,var(--brand--light) 94%,var(--brand--dark));
--_theme---background--card:color-mix(in srgb,var(--brand--light) 70%,var(--brand--white, #fff));
--_theme---background--field:var(--brand--light, #fff);
--_theme---text--field:var(--brand--dark);
--_theme---text--heading:var(--brand--dark);--_theme---text--body:var(--neutral--600);--_theme---text--muted:var(--neutral--500);
--_theme---text--eyebrow:var(--brand--accent);--_theme---accent--primary:var(--brand--accent);--_theme---border--primary:var(--neutral--200);
--_theme---link--primary:var(--brand--primary);--_theme---button-primary--background:var(--brand--primary);--_theme---button-primary--text:var(--neutral--0);
--_theme---button-primary--background-hover:var(--brand--primary-700);--_theme---button-secondary--border:var(--neutral--300);--_theme---button-secondary--text:var(--neutral--900);
--_theme---background--icon:var(--brand--primary-50);--_theme---text--icon:var(--brand--primary);
--_theme---text--card-heading:var(--brand--dark);--_theme---text--card-body:var(--neutral--600);--_theme---text--card-muted:var(--neutral--500);--_theme---text--card-eyebrow:var(--brand--accent);
}
html[data-chs-color-mode="dark"], html[data-chs-color-mode="dark"] body, html[data-chs-color-mode="dark"] .theme-dark, html[data-chs-color-mode="dark"] .theme-light {
--_theme---background--page:var(--brand--dark);
--_theme---background--page:oklch(from var(--brand--primary) min(l, 0.38) min(c, 0.1) h);
--_theme---background--alternate:color-mix(in srgb,var(--_theme---background--page) 85%,var(--brand--dark));
--_theme---background--card:color-mix(in srgb,var(--_theme---background--page) 90%,var(--brand--light));
--_theme---background--field:var(--brand--light, #fff);
--_theme---text--field:var(--brand--dark);
--_theme---text--heading:var(--neutral--0);--_theme---text--body:color-mix(in srgb,var(--brand--light) 88%,var(--_theme---background--page));--_theme---text--muted:var(--neutral--400);
--_theme---text--eyebrow:var(--brand--accent);--_theme---accent--primary:var(--brand--accent);--_theme---border--primary:var(--others--white-20);
--_theme---link--primary:var(--brand--primary-300);--_theme---button-primary--background:var(--brand--primary);--_theme---button-primary--text:var(--neutral--0);
--_theme---button-primary--background-hover:var(--brand--primary-400);--_theme---button-secondary--border:var(--others--white-20);--_theme---button-secondary--text:var(--neutral--0);
--_theme---background--icon:var(--others--white-10);--_theme---text--icon:var(--brand--primary-300);
--_theme---text--card-heading:var(--neutral--0);--_theme---text--card-body:color-mix(in srgb,var(--brand--light) 88%,var(--_theme---background--page));--_theme---text--card-muted:var(--neutral--400);--_theme---text--card-eyebrow:var(--brand--accent);
}
@keyframes collection-marquee { to { transform: translateX(calc(-100% - 1.5rem)); } }
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
html[data-chs-color-mode="light"] {
  --_theme---controller--src-muted: var(--neutral--500);
  --_theme---controller--src-link: var(--brand--primary);
  --_theme---controller--src-input: var(--neutral--400);
  --_theme---controller--src-primary: var(--brand--button, var(--_theme---controller--button-auto, var(--brand--primary)));   
  --_theme---background--overlay: color-mix(in srgb, var(--_theme---background--page) 80%, transparent);
}
html[data-chs-color-mode="dark"] {
  --_theme---controller--src-muted: color-mix(in srgb, var(--brand--light) 78%, var(--_theme---background--page));
  --_theme---controller--src-link: var(--brand--primary-300);
  --_theme---controller--src-input: color-mix(in srgb, var(--neutral--0) 45%, var(--_theme---background--page));
  --_theme---controller--src-primary: oklch(from var(--brand--primary) max(l, 0.72) max(c, 0.08) h);
  --_theme---background--overlay: color-mix(in srgb, var(--_theme---background--page) 80%, transparent);
}
html[data-chs-color-mode="light"], html[data-chs-color-mode="dark"] {
  --_theme---text--eyebrow: color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from var(--brand--accent) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--page) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--alternate) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--card) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  --_theme---text--muted: color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--src-muted) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--page) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--alternate) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--card) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  --_theme---link--primary: color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--src-link) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--page) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--alternate) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--card) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  --_theme---text--icon: color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--src-link) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--page) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--alternate) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--card) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  --_theme---controller--btn-fit: color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--src-primary) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--page) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--alternate) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  --_theme---button-primary--background: var(--_theme---controller--btn-fit);
  --_theme---button-primary--text: color(from color(from color-mix(in xyz-d65, color(from var(--neutral--0) xyz-d65 x y z / 1) 99%, color(from var(--_theme---button-primary--background) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  --_theme---controller--accent-ui: color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from var(--brand--accent) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--page) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--alternate) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--card) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  --_theme---controller--input-border: color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--src-input) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--page) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--alternate) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1) xyz-d65 x y z / 1) 99%, color(from var(--_theme---background--card) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  --_theme---controller--on-accent: color(from color(from color-mix(in xyz-d65, color(from var(--brand--dark) xyz-d65 x y z / 1) 99%, color(from var(--brand--accent) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
}
.theme-brand { --_theme---controller--p-bg: var(--brand--primary); --_theme---controller--p-accent: var(--brand--accent); --_theme---controller--p-eyebrow: var(--brand--accent-300); --_theme---controller--p-text-heading: var(--neutral--0); --_theme---controller--p-text-body: var(--brand--primary-100); --_theme---controller--p-text-muted: var(--brand--primary-200); --_theme---controller--p-link: var(--neutral--0); }
.theme-brand { --_theme---text--heading: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-text-heading) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1); }
.theme-brand { --_theme---text--body: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-text-body) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1); }
.theme-brand { --_theme---text--muted: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-text-muted) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1); }
.theme-brand { --_theme---link--primary: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-link) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1); }
.theme-brand {
  --_theme---text--eyebrow: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-eyebrow) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  --_theme---controller--accent-ui: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-accent) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  --_theme---controller--on-accent: color(from color(from color-mix(in xyz-d65, color(from var(--brand--dark) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-accent) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
}
}
html[data-chs-color-mode="dark"] {
  --_theme---button-primary--background: var(--brand--button-dark, var(--_theme---controller--btn-fit));
}

/* champs-design.css: the one style guide (utilities, then global kinds, then every category)
   consolidate (2026-11-01). One rule per class chain, element-level only, rem, variables, Webflow breakpoints. */

/* ---------- Structure: each design's section is the box its background photo, video and overlay fill ---------- */

.section_blog-collection {
  position: relative;
}
.section_blog-feature {
  position: relative;
}
.section_blog-post-body {
  position: relative;
}
.section_blog-post-header {
  position: relative;
}
.section_comparison {
  position: relative;
}
.section_contact {
  position: relative;
}
.section_cta {
  position: relative;
}
.section_faq {
  position: relative;
}
.section_features {
  position: relative;
}
.section_hero {
  position: relative;
}
.section_listing-detail {
  position: relative;
}
.section_market-detail {
  position: relative;
}
.section_process {
  position: relative;
}
.section_reviews {
  position: relative;
}
.section_service-detail {
  position: relative;
}
.section_services {
  position: relative;
}
.section_style-guide {
  position: relative;
}
.section_team {
  position: relative;
}
.section_trust {
  position: relative;
}
.section_utility {
  position: relative;
}
.section_values {
  position: relative;
}


/* ---------- Global: badge ---------- */

.badge_component {
  --_theme---text--heading: var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-card-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted));
  --_theme---text--eyebrow: var(--_theme---controller--mode-card-eyebrow, var(--_theme---text--card-eyebrow));
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  display: inline-flex;
  gap: var(--_layout---spacing--xxtiny);
  padding: var(--_layout---spacing--xxtiny) var(--_layout---spacing--xtiny);
  border-radius: var(--_sizes---border-radius--small);
  color: var(--_theme---text--heading);
  white-space: normal;
  overflow-wrap: anywhere;
  min-width: 0;
  align-self: flex-start;
  align-items: center;
  background-color: var(--_theme---background--card);
  font-size: var(--_typography---font-size--text-tiny);
  line-height: 1.4;
  max-width: 100%;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .badge_component {
    --_theme---accent--primary: var(--_theme---controller--accent-ui);
  }
}
.badge_component.is-outline {
  --_theme---text--heading: inherit;
  --_theme---text--body: inherit;
  --_theme---text--muted: inherit;
  --_theme---text--eyebrow: inherit;
  --_theme---controller--accent-ink: inherit;
  border: var(--_sizes---border--width) solid var(--_theme---accent--primary);
  color: var(--_theme---accent--primary);
  background-color: transparent;
}
.badge_component.is-square-center {
  align-self: center;
  border-radius: 0;
}
.badge_component.is-center {
  align-self: center;
}
.badge_component.w--current {
  color: var(--_theme---button-primary--text);
  background-color: var(--_theme---button-primary--background);
}

.badge_component.is-bordered {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  padding: var(--_layout---spacing--xxtiny) var(--_layout---spacing--xtiny);
  font-size: var(--_typography---font-size--text-tiny);
}
.badge_component.is-tinted {
  --_theme---text--heading: var(--_theme---text--icon);
  --_theme---text--body: var(--_theme---text--icon);
  --_theme---text--muted: var(--_theme---text--icon);
  --_theme---text--eyebrow: var(--_theme---text--icon);
  --_theme---accent--primary: var(--_theme---text--icon);
  color: var(--_theme---text--icon);
  background-color: var(--_theme---background--icon);
}
.badge_component.is-selected {
  color: var(--_theme---button-primary--text);
  background-color: var(--_theme---button-primary--background);
}
/* ---------- Global: bar ---------- */

.bar_component {
  width: 100%;
  height: var(--_layout---spacing--xtiny);
  overflow: hidden;
  border-radius: var(--_sizes---border-radius--round);
  background-color: var(--_theme---border--primary);
}

/* ---------- Global: block ---------- */

.block_caps {
  text-transform: uppercase;
}
.block_caps.is-inline {
  display: inline-block;
  flex: none;
}
.block_column {
  min-width: 0;
}
.block_column.is-inline {
  display: inline-flex;
  align-items: center;
}
.block_component {
  position: relative;
  width: 100%;
  max-width: 100%;
}
.block_component.is-fill {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
}
.block_component.is-viewport {
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  min-height: calc(100dvh - var(--_sizes---navigation--height, 5rem));
  padding-top: var(--_sizes---navigation--height, 5rem);
  padding-bottom: var(--_layout---spacing--xxlarge);
}
.block_contents {
  display: contents;
}
.block_display {
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: var(--_typography---font-size--text-tiny);
  line-height: 1.4;
}
.block_display.is-small-screen {
  display: none;
}
@media screen and (max-width: 991px) {
  .block_display.is-small-screen {
    display: block;
  }
}
.block_faded {
  opacity: .7;
}
.block_fixed-size {
  flex-shrink: 0;
}
.block_fixed-size.is-center {
  display: inline-flex;
  align-items: center;
  grid-column-gap: var(--_layout---spacing--xtiny);
  grid-row-gap: var(--_layout---spacing--xtiny);
}
.block_fixed-size.is-filled {
  background: var(--_theme---accent--primary);
  border-radius: 50%;
}
.block_fixed-size.is-row {
  display: flex;
  height: auto;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .block_narrow {
    max-width: 100%;
  }
}
.block_relative {
  position: relative;
  max-width: 100%;
}
.block_relative.is-line {
  height: 0.125rem;
  width: 100%;
}
.block_relative.is-tile-large {
  grid-column: span 2;
  grid-row: span 2;
  min-height: 20rem;
}
@media screen and (max-width: 991px) {
  .block_relative.is-photo-cell {
    aspect-ratio: 4 / 3;
  }
}
.block_round {
  border-radius: var(--_sizes---border-radius--round);
  flex-shrink: 0;
}
.block_ruled {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.block_ruled.is-boxed {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.block_ruled.is-cell {
  padding: var(--_layout---spacing--xxsmall) var(--_layout---spacing--xxsmall) var(--_layout---spacing--xxsmall) 0;
}
.block_ruled.is-step {
  display: flex;
  flex-direction: column;
  gap: var(--_layout---spacing--xxtiny);
  padding-top: var(--_layout---spacing--xtiny);
  border-top: calc(var(--_sizes---border--width) * 3) solid var(--_theme---border--primary);
  border-bottom: 0;
}
.block_ruled.is-step.is-current {
  border-top-color: var(--_theme---accent--primary);
}
.block_ruled.is-padded {
  padding-left: var(--_layout---spacing--small);
  padding-right: var(--_layout---spacing--small);
}
.block_ruled.is-link {
  display: block;
}
.block_snug {
  letter-spacing: -.02em;
  font-family: var(--font-family--heading);
  line-height: 1.05;
}
.block_value {
  font-family: var(--font-family--heading);
}
.block_value.is-caps {
  text-transform: uppercase;
  white-space: nowrap;
  line-height: 1.6;
  font-size: var(--_typography---font-size--text-regular);
}
.block_value.is-display {
  letter-spacing: var(--_typography---display--display-letter-spacing);
  line-height: .95;
  font-weight: var(--_typography---display--display-font-weight);
}
.block_value.is-tight {
  line-height: 1.2;
}
.block_wide {
  width: 3rem;
}
.block_wide.is-filled {
  background: var(--_theme---accent--primary);
  flex-shrink: 0;
}

/* ---------- Global: button ---------- */

.button {
  display: inline-flex;
  gap: var(--_layout---spacing--xtiny);
  box-sizing: border-box;
  padding: var(--button-pad-y, var(--_layout---spacing--xxsmall)) var(--button-pad-x, var(--_layout---spacing--small));
  border: var(--_sizes---border--width) solid var(--_theme---controller--card-button, var(--_theme---button-primary--background));
  border-radius: var(--button-radius, var(--_sizes---border-radius--button));
  color: var(--_theme---controller--card-label, var(--_theme---button-primary--text));
  letter-spacing: var(--button-tracking, normal);
  text-transform: var(--button-case, none);
  text-align: center;
  text-decoration: none;
  box-shadow: var(--_theme---button--shadow, none);
  transition: all .2s;
  justify-content: center;
  align-items: center;
  background-color: var(--_theme---controller--card-button, var(--_theme---button-primary--background));
  font-family: var(--button-font, var(--font-family--body));
  font-size: var(--button-size, var(--_typography---font-size--text-regular));
  font-weight: var(--button-weight, var(--_typography---interface--interface-font-weight));
  line-height: 1.2;
  max-width: 100%;
}
.button:focus-visible {
  outline: 0.125rem solid var(--_theme---accent--primary);
  outline-offset: 0.125rem;
}
.button:hover {
  background-color: color-mix(in srgb, var(--_theme---controller--card-button, var(--_theme---button-primary--background)) 88%, var(--_theme---text--heading));
}
.button.is-inverse {
  color: var(--brand--white);
  border-color: var(--brand--white);
  background-color: transparent;
}
.button.is-inverse:hover {
  background-color: color-mix(in srgb, var(--brand--white) 14%, transparent);
}
.button.is-secondary {
  color: var(--_theme---button-secondary--text);
  border-color: var(--_theme---button-secondary--border);
  background-color: color-mix(in srgb, var(--brand--light, var(--brand--white)) var(--button-secondary-fill, 0%), transparent);
}
/* is-heading-ink: an outlined button (is-inverse / is-secondary) whose text and border read its surface's heading color
   (cards redefine --_theme---text--heading as the card heading), so it contrasts in all 7 section modes. */
.button.is-heading-ink {
  --_theme---button-secondary--text: var(--_theme---text--heading);
  --_theme---button-secondary--border: var(--_theme---text--heading);
  --_theme---button--text: var(--_theme---text--heading);
  color: var(--_theme---text--heading);
  border-color: var(--_theme---text--heading);
}
.button.is-secondary:hover {
  background-color: color-mix(in srgb, var(--_theme---button-secondary--text) 10%, transparent);
}
.button.is-small {
  padding: calc(var(--_layout---spacing--xtiny) * 1.5) var(--_layout---spacing--small);
  font-size: var(--button-size-small, var(--_typography---font-size--text-regular));
}
.button.is-text {
  box-shadow: none;
  color: var(--_theme---link--primary);
  text-decoration: underline;
  text-underline-offset: .25rem;
  padding-left: 0;
  padding-right: 0;
  border-color: transparent;
  background-color: transparent;
}
.button.is-text-compact {
  box-shadow: none;
  color: var(--_theme---link--primary);
  text-decoration: underline;
  text-underline-offset: .25rem;
  font-size: var(--_typography---font-size--text-small);
  line-height: 1.5;
  padding-left: 0;
  padding-right: 0;
  border-color: transparent;
  background-color: transparent;
}

/* Button and surface contrast (ported 2026-11-01 from the button states system): each button names what sits under its
   label and the section surface; label, hover fill, border and focus ring are fitted to 4.7:1 (text) or 3.2:1 (lines).
   Browsers without relative colors keep the plain rules above. */
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .button {
    --_theme---button--surface: var(--_theme---background--page);
    --_theme---button--near: color-mix(in srgb, var(--_theme---button--surface) 88%, color(from var(--_theme---button--surface) xyz-d65 calc(clamp(0, (0.18 - y) * 100000, 1) * 0.95047) calc(clamp(0, (0.18 - y) * 100000, 1)) calc(clamp(0, (0.18 - y) * 100000, 1) * 1.08883) / 1));
  }
  .button {
    --_theme---button--fill: var(--_theme---button-primary--background);
    --_theme---button--text: var(--_theme---button-primary--text);
    --_theme---button--face0: var(--_theme---button--fill);
    --_theme---button--paint0: var(--_theme---button--fill);
  }
  .button.is-secondary {
    --_theme---button--text: var(--_theme---button-secondary--text);
    --_theme---button--paint0: var(--_theme---button-secondary--background, color-mix(in srgb, var(--brand--light, var(--brand--white)) var(--button-secondary-fill, 0%), transparent));
    --_theme---button--face0: color-mix(in srgb, var(--brand--light, var(--brand--white)) var(--button-secondary-fill, 0%), var(--_theme---button--surface));
  }
  .button.is-text {
    --_theme---button--text: var(--_theme---link--primary);
    --_theme---button--paint0: transparent;
    --_theme---button--face0: var(--_theme---button--surface);
  }
  .button {
    --_theme---button--ink0: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---button--text) xyz-d65 x y z / 1) 99%, color(from var(--_theme---button--face0) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---button--away: color(from var(--_theme---button--ink0) xyz-d65 calc(clamp(0, (0.18 - y) * 100000, 1) * 0.95047) calc(clamp(0, (0.18 - y) * 100000, 1)) calc(clamp(0, (0.18 - y) * 100000, 1) * 1.08883) / 1);
    --_theme---button--face: var(--_theme---button--face0);
    --_theme---button--paint: var(--_theme---button--paint0);
    --_theme---button--ink: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---button--text) xyz-d65 x y z / 1) 99%, color(from var(--_theme---button--face) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---button--rim: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---button--paint) xyz-d65 x y z / 1) 99%, color(from var(--_theme---button--near) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---button--ring: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---text--heading) xyz-d65 x y z / 1) 99%, color(from var(--_theme---button--near) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---button-primary--background-hover: var(--_theme---button--face);
  }
  .button.is-secondary {
    --_theme---button--rim: color(from color(from color-mix(in xyz-d65, color(from color-mix(in srgb, currentColor 45%, var(--_theme---button--surface)) xyz-d65 x y z / 1) 99%, color(from var(--_theme---button--near) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  }
  .button.is-text {
    --_theme---button--rim: transparent;
  }
  .button.is-secondary:hover {
    --_theme---button--face: var(--_theme---button--face0);
    --_theme---button--paint: color-mix(in srgb, color(from currentColor xyz-d65 calc(clamp(0, (0.18 - y) * 100000, 1) * 0.95047) calc(clamp(0, (0.18 - y) * 100000, 1)) calc(clamp(0, (0.18 - y) * 100000, 1) * 1.08883) / 1) 10%, transparent);
    --_theme---button--rim: currentColor;
  }
  .button.is-secondary:active {
    --_theme---button--face: var(--_theme---button--face0);
    --_theme---button--paint: color-mix(in srgb, color(from currentColor xyz-d65 calc(clamp(0, (0.18 - y) * 100000, 1) * 0.95047) calc(clamp(0, (0.18 - y) * 100000, 1)) calc(clamp(0, (0.18 - y) * 100000, 1) * 1.08883) / 1) 18%, transparent);
    --_theme---button--rim: currentColor;
  }
.button.is-secondary, .button.is-text, .button.is-secondary:hover, .button.is-text:hover {
    background-color: var(--_theme---button--paint);
    border-color: var(--_theme---button--rim);
    color: var(--_theme---button--ink);
  }
  .button:focus-visible {
    outline: 0.125rem solid var(--_theme---button--ring);
    outline-offset: 0.125rem;
    box-shadow: 0 0 0 0.125rem color(from var(--_theme---button--ring) xyz-d65 calc(clamp(0, (0.18 - y) * 100000, 1) * 0.95047) calc(clamp(0, (0.18 - y) * 100000, 1)) calc(clamp(0, (0.18 - y) * 100000, 1) * 1.08883) / 1), var(--_theme---button--shadow, 0 0 transparent);
  }
.text-color-accent {
    --_theme---accent--primary: var(--_theme---controller--accent-head, var(--_theme---controller--accent-ink));
  }
  .background-color-accent {
    --_theme---text--heading: var(--_theme---controller--on-accent);
    --_theme---text--body: var(--_theme---controller--on-accent);
    --_theme---text--muted: var(--_theme---controller--on-accent);
    color: var(--_theme---controller--on-accent);
  }
  .background-color-brand {
    --_theme---controller--p-bg: var(--brand--primary);
    --_theme---controller--p-accent: var(--brand--accent);
    --_theme---controller--p-eyebrow: var(--brand--accent-300);
    --_theme---controller--p-text-heading: var(--neutral--0);
    --_theme---controller--p-text-body: var(--brand--primary-100);
    --_theme---controller--p-text-muted: var(--brand--primary-200);
    --_theme---controller--p-link: var(--neutral--0);
  }
  .background-color-brand {
    --_theme---link--primary: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-link) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  }
  .background-color-brand {
    --_theme---text--eyebrow: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-eyebrow) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
    --_theme---controller--accent-ui: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-accent) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---controller--on-accent: color(from color(from color-mix(in xyz-d65, color(from var(--brand--dark) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-accent) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  }
  .background-color-brand {
    --_theme---controller--on-primary: color(from color(from color-mix(in xyz-d65, color(from var(--neutral--0) xyz-d65 x y z / 1) 99%, color(from var(--brand--primary) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---text--heading: var(--_theme---controller--on-primary);
    --_theme---text--body: var(--_theme---controller--on-primary);
    --_theme---text--muted: var(--_theme---controller--on-primary);
    color: var(--_theme---controller--on-primary);
  }
}

/* ---------- Global: button-group ---------- */

.button_group {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (max-width: 479px) {
  .button_group {
    flex-direction: column;
    align-items: stretch;
  }
}
.button_group.is-center {
  justify-content: center;
}
.button_group.is-stack {
  width: 100%;
  flex-direction: column;
  align-items: stretch;
}

.button_group.is-end {
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .button_group.is-end {
    justify-content: flex-start;
  }
}
/* ---------- Global: card ---------- */

.card_body {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  padding: var(--_layout---spacing--medium);
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .card_body {
    padding: var(--_layout---spacing--small);
  }
}
.card_component {
  --_theme---text--heading: var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-card-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted));
  --_theme---text--eyebrow: var(--_theme---controller--mode-card-eyebrow, var(--_theme---text--card-eyebrow));
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  --_theme---logo--main: var(--_theme---controller--mode-card-logo-main, block);
  --_theme---logo--light: var(--_theme---controller--mode-card-logo-light, none);
  --_theme---controller--accent-head: initial;
  --_theme---controller--card-button: var(--_theme---controller--mode-card-button);
  --_theme---controller--card-label: var(--_theme---controller--mode-card-label);
  --_theme---button-secondary--text: var(--_theme---text--heading);
  --_theme---button-secondary--border: var(--_theme---text--heading);
  --_theme---background--page: var(--_theme---background--card);
  /* rich text inside a card: headings at card size, not article size */
  --_typography---rich-text--h2-size: var(--_typography---h6--h6-font-size);
  --_typography---rich-text--h3-size: var(--_typography---h6--h6-font-size);
  --_layout---rich-text--heading-gap: 1rem;
  position: relative;
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  min-width: 0;
  padding: var(--_layout---spacing--medium);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--medium);
  color: var(--_theme---text--body);
  text-decoration: none;
  flex-direction: column;
  background-color: var(--_theme---background--card);
}
.card_component.is-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  min-width: 14rem;
  margin-top: var(--_layout---spacing--xxtiny);
  padding: var(--_layout---spacing--xxsmall);
}
@media screen and (max-width: 767px) {
  .card_component {
    padding: var(--_layout---spacing--small);
  }
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .card_component:hover {
    --_theme---accent--primary: var(--_theme---controller--accent-ink);
  }
}
.card_component.is-brand-clipped {
  overflow: hidden;
  --_theme---text--heading: var(--_theme---button-primary--text);
  --_theme---text--body: var(--_theme---button-primary--text);
  --_theme---text--muted: var(--_theme---button-primary--text);
  border-color: var(--_theme---button-primary--background);
  background-color: var(--_theme---button-primary--background);
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .card_component.is-brand-clipped {
    --_theme---controller--on-primary: color(from color(from color-mix(in xyz-d65, color(from var(--neutral--0) xyz-d65 x y z / 1) 99%, color(from var(--_theme---button-primary--background) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---text--heading: var(--_theme---controller--on-primary);
    --_theme---text--body: var(--_theme---controller--on-primary);
    --_theme---text--muted: var(--_theme---controller--on-primary);
    color: var(--_theme---controller--on-primary);
  }
}
.card_component.is-double-framed {
  --_theme---text--heading: inherit;
  --_theme---controller--card-button: inherit;
  --_theme---controller--card-label: inherit;
  --_theme---button-secondary--text: inherit;
  --_theme---button-secondary--border: inherit;
  --_theme---background--page: inherit;
  --_theme---text--body: inherit;
  --_theme---text--muted: inherit;
  --_theme---text--eyebrow: inherit;
  --_theme---controller--accent-ink: inherit;
  padding: var(--_layout---spacing--xxlarge);
  border: 1px solid var(--_theme---accent--primary);
  outline: 1px solid var(--_theme---accent--primary);
  outline-offset: -0.5rem;
  border-radius: 0;
  background-color: transparent;
  align-items: center;
}
.card_component.is-flush {
  padding: 0;
  gap: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .card_component.is-flush {
    padding: 0;
  }
}
.card_component.is-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: var(--_layout---spacing--small);
}
.card_component.is-narrow {
  flex: none;
  width: calc(var(--_sizes---max-width--medium) * .75);
  max-width: 100%;
}
.card_component.is-overlay {
  min-height: 22rem;
  overflow: hidden;
  isolation: isolate;
  justify-content: flex-end;
  border-color: transparent;
}

/* ---------- Global: card-link ---------- */

.card-link_component {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.card-link_component.is-auto-row {
  display: grid;
  width: 100%;
  align-items: center;
  flex-direction: row;
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 3 + 1px)), 1fr));
}
@media screen and (max-width: 991px) {
  .card-link_component.is-auto-row {
    grid-template-columns: minmax(0, 1fr);
  }
}
.card-link_component.is-row-center {
  display: grid;
  align-items: center;
  flex-direction: row;
}
.card-link_component.is-row-index {
  display: grid;
  align-items: center;
  flex-direction: row;
  grid-template-columns: 4rem minmax(0, 1fr) minmax(0, 1fr) 2rem;
  column-gap: var(--_layout---spacing--medium);
  padding-top: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--small);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.card-link_component.is-row-thumbnail {
  display: grid;
  align-items: center;
  flex-direction: row;
  grid-template-columns: 4rem minmax(0, 1fr) minmax(0, 1fr) 4rem 2.5rem;
  column-gap: var(--_layout---spacing--medium);
  padding-top: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--small);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 767px) {
  .card-link_component.is-row-index {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: var(--_layout---spacing--xxsmall);
    row-gap: var(--_layout---spacing--xtiny);
  }
  .card-link_component.is-row-thumbnail {
    grid-template-columns: 3rem minmax(0, 1fr);
    row-gap: var(--_layout---spacing--xtiny);
  }
}
.card-link_component.is-row-start {
  align-items: flex-start;
  flex-direction: row;
}
.card-link_component.is-framed {
  --_theme---text--heading: var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-card-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted));
  --_theme---text--eyebrow: var(--_theme---controller--mode-card-eyebrow, var(--_theme---text--card-eyebrow));
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  background-color: var(--_theme---background--card);
  border-radius: var(--_sizes---border-radius--medium);
  overflow: hidden;
}
.card-link_component.is-ruled {
  row-gap: var(--_layout---spacing--xxsmall);
  padding-top: var(--_layout---spacing--xxsmall);
  border-top: var(--_sizes---border--width) solid var(--_theme---text--heading);
}
.card-link_component.is-wash {
  /* text over a card wash reads on the look's panel color (the wash is that color) */
  --_theme---text--heading: var(--chs-mode-panel-text, var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading)));
  --_theme---text--body: var(--chs-mode-panel-text, var(--_theme---controller--mode-card-body, var(--_theme---text--card-body)));
  --_theme---text--muted: var(--chs-mode-panel-text, var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted)));
  --_theme---text--eyebrow: var(--chs-mode-panel-text, var(--_theme---controller--mode-card-eyebrow, var(--_theme---text--card-eyebrow)));
  color: var(--_theme---text--body);
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--_sizes---border-radius--medium);
}
.card-link_component.is-wash-spread {
  /* text over a card wash reads on the look's panel color (the wash is that color) */
  --_theme---text--heading: var(--chs-mode-panel-text, var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading)));
  --_theme---text--body: var(--chs-mode-panel-text, var(--_theme---controller--mode-card-body, var(--_theme---text--card-body)));
  --_theme---text--muted: var(--chs-mode-panel-text, var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted)));
  --_theme---text--eyebrow: var(--chs-mode-panel-text, var(--_theme---controller--mode-card-eyebrow, var(--_theme---text--card-eyebrow)));
  color: var(--_theme---text--body);
  aspect-ratio: 1 / 1;
  padding: var(--_layout---spacing--small);
  overflow: hidden;
  justify-content: space-between;
  border-radius: var(--_sizes---border-radius--medium);
}
.card-link_component.is-bordered {
  gap: var(--_layout---spacing--xxsmall);
  padding: var(--_layout---spacing--small);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--medium);
  overflow: hidden;
}
.card-link_component.is-bordered-flush {
  overflow: hidden;
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--medium);
}
.card-link_component.is-ruled-left {
  gap: var(--_layout---spacing--xtiny);
  padding-left: var(--_layout---spacing--small);
  border-left: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.card-link_component.is-overlay {
  overflow: hidden;
  justify-content: flex-end;
  aspect-ratio: 11 / 12;
  border-radius: var(--_sizes---border-radius--medium);
}

.card-link_component.is-padded {
  gap: var(--_layout---spacing--large);
  padding: var(--_layout---spacing--medium);
  border-radius: var(--_sizes---border-radius--large);
}

.card-link_component.is-panel {
  flex: 1 1 0;
  flex-direction: row;
  overflow: hidden;
  transition: flex-grow .4s ease;
  border-radius: var(--_sizes---border-radius--medium);
}
@media screen and (max-width: 767px) {
  .card-link_component.is-panel {
    flex: none;
    min-height: 10rem;
  }
}
.card-link_component.is-row-arrow {
  display: grid;
  align-items: center;
  flex-direction: row;
  grid-template-columns: minmax(0, 1fr) 1.5rem;
  column-gap: var(--_layout---spacing--medium);
  padding-top: var(--_layout---spacing--xxsmall);
  padding-bottom: var(--_layout---spacing--xxsmall);
}
.card-link_component.is-zigzag {
  display: flex;
  flex-direction: row;
  align-items: center;
  column-gap: var(--_layout---spacing--xxlarge);
  row-gap: var(--_layout---spacing--large);
  width: 100%;
}
@media screen and (max-width: 991px) {
  .card-link_component.is-zigzag {
    flex-direction: column;
    align-items: stretch;
  }
}
.card-link_component.is-menu-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  column-gap: var(--_layout---spacing--large);
  row-gap: var(--_layout---spacing--xtiny);
  align-items: center;
  padding-top: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--small);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 767px) {
  .card-link_component.is-menu-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
.card-link_component.is-row-numbered {
  display: grid;
  align-items: center;
  flex-direction: row;
  grid-template-columns: 3rem minmax(0, 1fr) var(--_sizes---icon--small);
  column-gap: var(--_layout---spacing--medium);
  padding-top: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--small);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.card-link_component.is-horizontal {
  display: grid;
  flex: 1 1 0;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  align-items: stretch;
  overflow: hidden;
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--medium);
}
@media screen and (max-width: 767px) {
  .card-link_component.is-horizontal {
    grid-template-columns: minmax(0, 1fr);
  }
}
.card-link_component.is-side-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: var(--_layout---spacing--small);
  padding: var(--_layout---spacing--small) var(--_layout---spacing--medium);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.card-link_component.is-panel:hover {
  flex-grow: 5;
}
@media screen and (max-width: 991px) {
  .card-link_component.is-alternate:nth-child(even) {
    flex-direction: column;
  }
}
.card-link_component.is-alternate:nth-child(even) {
  display: flex;
  flex-direction: row-reverse;
}
/* ---------- Global: divider ---------- */

.divider_component {
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.divider_component.is-grow {
  flex: 1;
  min-width: 0;
}
.divider_component.is-stack {
  display: flex;
  flex-direction: column;
}

.divider_component.is-accent {
  width: 3rem;
  border-top: 0.125rem solid var(--_theme---accent--primary);
}
/* ---------- Global: dot ---------- */

.dot_component {
  flex: none;
  width: var(--_layout---spacing--xtiny);
  height: var(--_layout---spacing--xtiny);
  border-radius: var(--_sizes---border-radius--round);
}

.dot_component.is-square {
  border-radius: 0;
}
.dot_component.is-pinned {
  position: absolute;
  top: 0;
  left: 0;
  width: 1rem;
  height: 1rem;
  transform: translateY(-50%);
}
/* ---------- Global: filter ---------- */

.filter_component {
  --_theme---text--heading: var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-card-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted));
  --_theme---text--eyebrow: var(--_theme---controller--mode-card-eyebrow, var(--_theme---text--card-eyebrow));
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  display: inline-flex;
  min-height: 2.25rem;
  border: 0;
  border-radius: var(--_sizes---border-radius--small);
  color: var(--_theme---text--heading);
  cursor: pointer;
  align-items: center;
  background-color: var(--_theme---background--card);
}

/* ---------- Global: footer ---------- */

.footer_brand {
  display: flex;
  gap: var(--_layout---spacing--xtiny);
  color: var(--_theme---text--heading);
  text-decoration: none;
  align-items: center;
}
/* is-image: the brand shown as the client's logo image, sized to the footer's logo height */
.footer_brand.is-image {
  display: var(--_theme---logo--main, block);
  width: auto;
  height: 3rem;
  max-width: 12rem;
  object-fit: contain;
}
/* is-light-logo: the client's logo for dark surfaces (dark modes, theme-dark, dark strips); the surface's mode shows one or the other */
.footer_brand.is-image.is-light-logo {
  display: var(--_theme---logo--light, none);
}
.footer_heading {
  margin: 0 0 var(--_layout---spacing--xxsmall);
  color: var(--_theme---text--heading);
  font-size: var(--_typography---font-size--text-regular);
}
.footer_legal {
  margin: 0;
  color: var(--_theme---text--muted);
  font-size: var(--_typography---font-size--text-small);
}
.footer_link {
  color: var(--_theme---text--body);
  text-decoration: none;
}
.footer_link:hover {
  color: var(--_theme---link--primary);
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .footer_link {
    --_theme---accent--primary: var(--_theme---controller--accent-ui);
  }
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .footer_link:hover {
    --_theme---accent--primary: var(--_theme---controller--accent-ink);
  }
}

/* ---------- Global: form ---------- */

.form_component {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  width: 100%;
  margin: 0;
  flex-direction: column;
}
.form_component.is-inline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}
.form_field {
  display: grid;
  gap: var(--_layout---spacing--xtiny);
  min-width: 0;
  margin: 0;
  text-align: left;
}
.form_field.is-wide {
  width: 24rem;
  max-width: 100%;
  flex: 1 1 24rem;
}
.form_input {
  --_theme---border--primary: var(--_theme---controller--input-border, var(--_theme---border--primary));
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: calc(var(--button-size, var(--_typography---font-size--text-regular)) * 1.2 + 2 * var(--button-pad-y, var(--_layout---spacing--xxsmall)) + 2 * var(--_sizes---border--width));
  margin: 0;
  padding: var(--_layout---spacing--xtiny) var(--_layout---spacing--xxsmall);
  border: 1px solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--small);
  color: var(--_theme---text--field);
  background-color: var(--_theme---background--field);
  font-family: var(--font-family--body);
  font-size: var(--_typography---font-size--text-regular);
}
.form_input::placeholder {
  color: color-mix(in srgb, var(--_theme---text--field) 60%, transparent);
  opacity: 1;
}
.form_input:focus-visible {
  outline: 0.125rem solid var(--_theme---accent--primary);
  outline-offset: 1px;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .form_input {
    --_theme---border--primary: var(--_theme---controller--input-border);
    color: var(--_theme---text--field);
    background-color: var(--_theme---background--field);
  }
}
.form_input.is-checkbox {
  width: 1rem;
  height: 1rem;
  min-height: 0;
  padding: 0;
  flex: none;
}
.form_input.is-select {
  appearance: auto;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .form_input.is-select {
    --_theme---border--primary: var(--_theme---controller--input-border);
    color: var(--_theme---text--field);
    background-color: var(--_theme---background--field);
  }
}
.form_input.is-select-compact {
  appearance: auto;
  font-size: var(--_typography---font-size--text-small);
  line-height: 1.5;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .form_input.is-select-compact {
    --_theme---border--primary: var(--_theme---controller--input-border);
    color: var(--_theme---text--field);
    background-color: var(--_theme---background--field);
  }
}
.form_input.is-select-padded {
  appearance: auto;
  padding-top: var(--_layout---spacing--xxsmall);
  padding-bottom: var(--_layout---spacing--xxsmall);
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .form_input.is-select-padded {
    --_theme---border--primary: var(--_theme---controller--input-border);
    color: var(--_theme---text--field);
    background-color: var(--_theme---background--field);
  }
}
.form_input.is-select-plain {
  appearance: auto;
  font-size: var(--_typography---font-size--text-regular);
  line-height: 1.6;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .form_input.is-select-plain {
    --_theme---border--primary: var(--_theme---controller--input-border);
    color: var(--_theme---text--field);
    background-color: var(--_theme---background--field);
  }
}
.form_input.is-text-area {
  min-height: 8rem;
  resize: vertical;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .form_input.is-text-area {
    --_theme---border--primary: var(--_theme---controller--input-border);
    color: var(--_theme---text--field);
    background-color: var(--_theme---background--field);
  }
}
.form_input.is-text-area-compact {
  min-height: 8rem;
  resize: vertical;
  font-size: var(--_typography---font-size--text-small);
  line-height: 1.5;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .form_input.is-text-area-compact {
    --_theme---border--primary: var(--_theme---controller--input-border);
    color: var(--_theme---text--field);
    background-color: var(--_theme---background--field);
  }
}
.form_input.is-text-area-plain {
  min-height: 8rem;
  resize: vertical;
  font-size: var(--_typography---font-size--text-regular);
  line-height: 1.6;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .form_input.is-text-area-plain {
    --_theme---border--primary: var(--_theme---controller--input-border);
    color: var(--_theme---text--field);
    background-color: var(--_theme---background--field);
  }
}
.form_label {
  margin: 0;
  color: var(--_theme---text--heading);
  font-size: var(--_typography---font-size--text-small);
  font-weight: 500;
}
.form_label.is-check {
  display: flex;
  align-items: center;
  gap: var(--_layout---spacing--xtiny);
  padding: var(--_layout---spacing--xxtiny) 0;
  cursor: pointer;
}

.form_label.is-inline {
  display: flex;
  align-items: center;
  gap: var(--_layout---spacing--xxsmall);
}
.form_label.is-search {
  position: relative;
  display: flex;
  align-items: center;
}
/* ---------- Global: grid ---------- */

.grid_autofit {
  display: grid;
  gap: var(--_layout---spacing--grid-gap);
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--_sizes---grid--min, 15rem)), 1fr));
}
.grid_autofit.is-small {
  --_sizes---grid--min: 8rem;
}
.grid_autofit.is-hairline {
  gap: 1px;
  padding-top: 1px;
  padding-bottom: 1px;
}
.grid_autofit.is-rule-below {
  padding-bottom: var(--_layout---spacing--large);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.grid_component {
  display: grid;
  list-style: none;
}
.grid_component.is-auto {
  gap: var(--_layout---spacing--grid-gap);
  --_sizes---grid--min: 20rem;
  min-width: 0;
  width: 100%;
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 4 + 1px)), 1fr));
}
.grid_component.is-auto-center {
  gap: var(--_layout---spacing--grid-gap);
  min-width: 0;
  width: 100%;
  align-items: center;
  column-gap: var(--_layout---spacing--xxlarge);
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 3 + 1px)), 1fr));
  grid-template-rows: auto;
}
@media screen and (max-width: 991px) {
  .grid_component.is-auto-center {
    column-gap: var(--_layout---spacing--large);
    grid-template-rows: auto;
  }
}
.grid_component.is-autofit {
  gap: var(--_layout---spacing--grid-gap);
}
.grid_component.is-autofit-wide {
  --_sizes---grid--min: 10rem;
  gap: var(--_layout---spacing--grid-gap);
  min-width: 0;
  width: 100%;
  grid-column-gap: var(--_layout---spacing--xxsmall);
  grid-row-gap: var(--_layout---spacing--xxsmall);
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 4 + 1px)), 1fr));
}
@media screen and (max-width: 991px) {
  .grid_component.is-autofit-wide {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .grid_component.is-autofit-wide {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-bordered {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.grid_component.is-center {
  align-items: center;
}
.grid_component.is-halves {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .grid_component.is-halves {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-quarters {
  gap: var(--_layout---spacing--small);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .grid_component.is-quarters {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .grid_component.is-quarters {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-split {
  align-items: flex-start;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
@media screen and (max-width: 991px) {
  .grid_component.is-split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .grid_component.is-split {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-split-start {
  align-items: flex-start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  .grid_component.is-split-start {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-split-start-alternate {
  align-items: flex-start;
  grid-column-gap: var(--_layout---spacing--xxlarge);
  grid-row-gap: var(--_layout---spacing--xxlarge);
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
@media screen and (max-width: 991px) {
  .grid_component.is-split-start-alternate {
    column-gap: var(--_layout---spacing--large);
    row-gap: var(--_layout---spacing--large);
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  }
}
@media screen and (max-width: 767px) {
  .grid_component.is-split-start-alternate {
    grid-column-gap: var(--_layout---spacing--large);
    grid-row-gap: var(--_layout---spacing--large);
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-split-start-spaced {
  align-items: flex-start;
  row-gap: var(--_layout---spacing--large);
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
}
@media screen and (max-width: 991px) {
  .grid_component.is-split-start-spaced {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-split-stretch {
  align-items: stretch;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .grid_component.is-split-stretch {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-stack {
  min-width: 0;
  position: relative;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  column-gap: var(--_layout---spacing--small);
  flex-direction: column;
  grid-column-gap: var(--_layout---spacing--xtiny);
  grid-row-gap: var(--_layout---spacing--xtiny);
}
@media screen and (max-width: 767px) {
  .grid_component.is-stack {
    column-gap: var(--_layout---spacing--xxsmall);
  }
}
.grid_component.is-slider {
  display: flex;
}
.grid_component.is-marquee {
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 2 * var(--_layout---spacing--small)) / 3);
  gap: var(--_layout---spacing--small);
}
@media screen and (max-width: 767px) {
  .grid_component.is-marquee {
    grid-auto-columns: 75%;
  }
}
.grid_component.is-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--_layout---spacing--small);
  row-gap: var(--_layout---spacing--large);
}
@media screen and (max-width: 991px) {
  .grid_component.is-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .grid_component.is-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-thirds {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .grid_component.is-thirds {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-thirds-wide-center {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr);
  align-items: center;
}
@media screen and (max-width: 767px) {
  .grid_component.is-thirds-wide-center {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-thirds-alternate {
  grid-template-columns: repeat(3,minmax(0,1fr));
}
@media screen and (max-width: 991px) {
  .grid_component.is-thirds-alternate {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .grid_component.is-thirds-alternate {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-three-column {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid_single {
  display: grid;
  column-gap: var(--_layout---spacing--large);
  row-gap: var(--_layout---spacing--medium);
  align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}
@media screen and (max-width: 991px) {
  .grid_single {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_single.is-center {
  align-items: center;
}
.grid_single.is-reverse {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .grid_single.is-reverse {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_single.is-bordered {
  column-gap: var(--_layout---spacing--small);
  row-gap: 0;
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.grid_single.is-stretch {
  align-items: stretch;
}
.grid_single.is-narrow-start {
  grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
}
@media screen and (max-width: 991px) {
  .grid_single.is-narrow-start {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_spaced {
  display: grid;
  gap: var(--_layout---spacing--large);
}
.grid_spaced.is-auto {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}
.grid_spaced.is-half {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .grid_spaced.is-half {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_spaced.is-ruled {
  padding-top: var(--_layout---spacing--xxsmall);
  padding-bottom: var(--_layout---spacing--xxsmall);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.grid_spaced.is-narrow {
  align-items: center;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
@media screen and (max-width: 991px) {
  .grid_spaced.is-narrow {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_spaced.is-table {
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-columns: minmax(0, 2fr);
}
@media screen and (max-width: 991px) {
  .grid_spaced.is-table {
    grid-template-columns: minmax(0, 2fr);
  }
}
.grid_spaced.is-wide {
  align-items: center;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
@media screen and (max-width: 991px) {
  .grid_spaced.is-wide {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_spaced.is-flush {
  align-items: stretch;
  gap: 0;
}

.grid_spaced.is-ruled-top {
  padding-top: var(--_layout---spacing--xxsmall);
  padding-bottom: var(--_layout---spacing--xxsmall);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
/* ---------- Global: icon ---------- */

.icon_embed {
  display: flex;
  flex: none;
  width: var(--_sizes---icon--small);
  height: var(--_sizes---icon--small);
  justify-content: center;
  align-items: center;
}
.icon_embed.is-fill {
  display: block;
  width: 100%;
  height: 100%;
}
.icon_embed.is-large {
  width: var(--_sizes---icon--medium);
  height: var(--_sizes---icon--medium);
}
.icon_embed.is-small {
  width: 1rem;
  height: 1rem;
}
.icon_embed.is-small-padded {
  padding: var(--_layout---spacing--xxtiny);
  width: 1rem;
  height: 1rem;
}

.icon_embed.is-round-padded {
  width: var(--_sizes---icon--small);
  height: var(--_sizes---icon--small);
  padding: var(--_layout---spacing--xxtiny);
  border-radius: var(--_sizes---border-radius--round);
}
.icon_embed.is-badge {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: var(--_sizes---border-radius--round);
}
/* ---------- Global: label ---------- */

.label_component {
  letter-spacing: .1em;
}

/* ---------- Global: layer ---------- */

.layer_component {
  position: absolute;
  inset: 0;
}

/* ---------- Global: line ---------- */

.line_component {
  height: 1px;
  flex-shrink: 0;
}
.line_component.is-short {
  width: 2rem;
}
.line_component.is-tape {
  width: 100%;
  height: 0.75rem;
  background-image: repeating-linear-gradient(-45deg, var(--_theme---text--heading) 0 0.375rem, transparent 0.375rem 0.75rem);
}

/* ---------- Global: list ---------- */

.list_component {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-direction: column;
  max-width: 100%;
}
.list_component.is-caps-row {
  letter-spacing: var(--_typography---eyebrow--eyebrow-letter-spacing);
  text-transform: uppercase;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.list_component.is-center {
  align-items: center;
}
.list_component.is-center-text {
  align-items: center;
  text-align: center;
}
.list_component.is-center-offset {
  margin-top: var(--_layout---spacing--large);
  align-items: center;
}
.list_component.is-offset {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  padding-top: 0;
  padding-bottom: 0;
  flex-direction: column;
}
.list_component.is-row {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.list_component.is-row-end {
  flex-direction: row;
  align-items: flex-end;
}
.list_component.is-row-accent {
  color: var(--_theme---accent--primary);
  letter-spacing: var(--_typography---eyebrow--eyebrow-letter-spacing);
  text-transform: uppercase;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.list_component.is-row-compact {
  font-size: var(--_typography---font-size--text-small);
  line-height: 1.5;
  font-weight: 500;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.list_component.is-row-compact-alternate {
  font-size: var(--_typography---font-size--text-small);
  line-height: 1.5;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.list_component.is-row-muted {
  opacity: .7;
  color: var(--_theme---text--body);
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.list_component.is-row-strong {
  color: var(--_theme---text--heading);
  font-weight: 500;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.list_item {
  display: flex;
  gap: var(--_layout---spacing--xtiny);
  min-width: 0;
  align-items: flex-start;
}
.list_item.is-center {
  align-items: center;
}
.list_text {
  flex: 1 1 0;
  min-width: 0;
}

/* ---------- Global: marquee-item ---------- */

.marquee-item_component {
  display: flex;
  flex: none;
  gap: var(--_layout---spacing--xtiny);
  width: auto;
  align-items: center;
}
.marquee-item_component.is-card {
  width: 22.5rem;
  align-items: stretch;
}

/* ---------- Global: media ---------- */

.media_frame {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--_sizes---border-radius--medium);
  max-width: 100%;
}
.media_frame.is-viewer {
  position: fixed;
  inset: 0;
  width: min(92vw, 72rem);
  max-width: 92vw;
  height: fit-content;
  max-height: 92vh;
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background-color: transparent;
}
.media_frame.is-viewer::backdrop {
  background-color: rgb(0 0 0 / .85);
}
.media_frame.is-cover {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 0;
}
.media_frame.is-angled {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 50%;
  z-index: 0;
  width: auto;
  border-radius: 0;
  clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
}
@media screen and (max-width: 991px) {
  .media_frame.is-angled {
    position: relative;
    left: auto;
    width: 100%;
    aspect-ratio: 4 / 3;
    clip-path: none;
  }
}
.media_frame.is-flat {
  border-radius: 0;
}
.media_frame.is-offset-shadow {
  border-radius: 0;
  box-shadow: 1rem 1rem 0 var(--_theme---accent--primary);
}
.media_frame.is-flat-framed {
  aspect-ratio: 1 / 1;
  border-radius: 0;
}
.media_frame.is-round {
  border-radius: var(--_sizes---border-radius--round);
}
.media_frame.is-round-padded {
  padding: var(--_layout---spacing--xxtiny);
  border-radius: var(--_sizes---border-radius--round);
}
.media_frame.is-corner {
  position: absolute;
  top: 0;
  right: 0;
  width: 35%;
  border: 0.375rem solid var(--_theme---background--page);
  border-radius: 0;
}
.media_frame.is-avatar {
  width: 5rem;
  flex: none;
}
.media_frame.is-avatar-small {
  width: 3rem;
  flex: none;
}
.media_frame.is-logo {
  flex: none;
  width: 10rem;
  border-radius: 0;
}
.media_frame.is-half-bleed {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 50%;
  z-index: 0;
  width: auto;
  border-radius: 0;
}
@media screen and (max-width: 991px) {
  .media_frame.is-half-bleed {
    position: relative;
    left: auto;
    width: 100%;
    aspect-ratio: 4 / 3;
  }
}
.media_frame.is-half {
  flex: 1 1 0;
  min-width: 0;
}
.media_frame.is-two-fifths {
  flex: 2 1 0;
  min-width: 0;
}
@media screen and (max-width: 991px) {
  .media_frame.is-half {
    flex: 0 1 auto;
  }
}
@media screen and (max-width: 991px) {
  .media_frame.is-two-fifths {
    flex: 0 1 auto;
  }
}
@media screen and (max-width: 991px) {
  .media_frame.is-landscape-stacked {
    aspect-ratio: 3 / 2;
  }
}
.media_frame.is-fill {
  flex: 1 1 auto;
}
.media_frame.is-thumb {
  display: inline-block;
  width: 3rem;
  vertical-align: middle;
  margin-right: var(--_layout---spacing--small);
  border-radius: var(--_sizes---border-radius--small);
}
.media_frame.is-flat-fill {
  border-radius: 0;
  aspect-ratio: auto;
  min-height: 100%;
}
@media screen and (max-width: 991px) {
  .media_frame.is-flat-fill {
    aspect-ratio: 16 / 10;
    min-height: 0;
  }
}
.media_frame.is-overlap-up {
  position: relative;
  z-index: 2;
  margin-top: calc(-8rem - var(--_layout---section-padding--medium));
}
@media screen and (max-width: 767px) {
  .media_frame.is-overlap-up {
    margin-top: calc(-3rem - var(--_layout---section-padding--medium));
  }
}
.media_frame.is-pulled-start {
  margin-left: calc(var(--_layout---spacing--medium) * -1);
  width: auto;
}
@media screen and (max-width: 767px) {
  .media_frame.is-pulled-start {
    margin-left: 0;
  }
}
.media_frame.is-corner-start {
  position: absolute;
  bottom: var(--_layout---spacing--large);
  left: var(--_layout---spacing--large);
  width: 18%;
  z-index: 2;
  border: 0.375rem solid var(--_theme---background--page);
  border-radius: 0;
}
@media screen and (max-width: 767px) {
  .media_frame.is-corner-start {
    display: none;
  }
}
.media_frame.is-span-wide {
  grid-column: span 2;
}
.media_frame.is-clipped-corners {
  clip-path: polygon(10% 0, 100% 0, 100% 90%, 90% 100%, 0 100%, 0 10%);
}
.media_frame.is-clipped-corner {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 12% 100%, 0 85%);
}
.media_frame.is-tint-block {
  position: absolute;
  top: calc(-1 * var(--_layout---spacing--small));
  right: calc(-1 * var(--_layout---spacing--small));
  z-index: 0;
  width: 70%;
  height: 70%;
  border-radius: 0;
  background-color: color-mix(in srgb, var(--_theme---accent--primary) 14%, transparent);
}
@media screen and (max-width: 767px) {
  .media_frame.is-tint-block {
    top: 0;
    right: 0;
  }
}
.media_image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  max-width: 100%;
}
.media_image.is-video {
  display: none;
}
.media_image.is-video.is-shown {
  display: block;
}
.media_image.is-contain {
  position: relative;
  inset: auto;
  height: auto;
  max-height: 80vh;
  object-fit: contain;
}
/* is-top: crops from the top (a headshot keeps its head in a wide frame) */
.media_image.is-top {
  object-position: 50% 15%;
}
.media_image.is-static {
  position: static;
  display: block;
}
.media_image.is-fit {
  object-fit: contain;
}
.media_image.is-logo {
  position: static;
  display: block;
  width: auto;
  height: var(--_sizes---icon--small);
  max-width: none;
}
.media_image.is-reveal {
  z-index: 3;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.media_image.is-tone-main {
  display: var(--_theme---logo--main, block);
}
.media_image.is-tone-light {
  display: var(--_theme---logo--light, none);
  filter: brightness(0) invert(1);
}
.media_image.is-reveal:hover {
  opacity: 0.2;
}
.media_overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  pointer-events: none;
}
.media_overlay.is-wash {
  background-color: color-mix(in srgb, var(--_theme---background--card) 45%, transparent);
}
.media_overlay.is-scrim {
  background: var(--_theme---controller--scrim-fill, color-mix(in srgb, var(--_theme---background--page) calc(var(--_theme---controller--scrim-strength, 70) * 1%), transparent));
}
.media_overlay.is-card-scrim {
  background: var(--_theme---controller--scrim-fill, transparent);
}
.media_overlay.is-shade {
  background-image: linear-gradient(0deg, var(--others--black-70) 0%, var(--others--black-40) 45%, transparent 80%);
}

/* ---------- Global: nav ---------- */

.nav_actions {
  display: flex;
  flex: none;
  gap: var(--_layout---spacing--xxsmall);
  align-items: center;
}
.nav_brand {
  display: flex;
  flex: none;
  gap: var(--_layout---spacing--xtiny);
  color: var(--_theme---text--heading);
  text-decoration: none;
  align-items: center;
}
/* is-image: the brand shown as the client's logo image, sized to the nav's logo height (Oct 31) */
.nav_brand.is-image {
  display: var(--_theme---logo--main, block);
  width: auto;
  height: 3rem;
  max-width: 12rem;
  object-fit: contain;
}
/* is-light-logo: the client's logo for dark surfaces (dark modes, theme-dark, dark strips); the surface's mode shows one or the other */
.nav_brand.is-image.is-light-logo {
  display: var(--_theme---logo--light, none);
}
.nav_button {
  display: flex;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0;
  color: var(--_theme---text--heading);
  cursor: pointer;
  list-style: none;
  justify-content: center;
  align-items: center;
  background-color: transparent;
}
.nav_container {
  position: relative;
  display: flex;
  gap: var(--_layout---spacing--medium);
  width: 100%;
  min-height: var(--_sizes---navigation--height);
  justify-content: space-between;
  align-items: center;
}
/* is-inset: the floating nav (Garrett 2026-11-02: a full bar or an inset card / pill over the hero): a card surface inside the page
   gutter, its corners from the look's radius variables so the controller's corner choice shapes it */
.nav_container.is-inset {
  --_theme---text--heading: var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-card-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted));
  --_theme---logo--main: var(--_theme---controller--mode-card-logo-main, block);
  --_theme---logo--light: var(--_theme---controller--mode-card-logo-light, none);
  --_theme---controller--accent-head: initial;
  --_theme---controller--card-button: var(--_theme---controller--mode-card-button);
  --_theme---controller--card-label: var(--_theme---controller--mode-card-label);
  --_theme---button-secondary--text: var(--_theme---text--heading);
  --_theme---button-secondary--border: var(--_theme---text--heading);
  --_theme---background--page: var(--_theme---background--card);
  margin-top: var(--_layout---spacing--xxsmall);
  padding-left: var(--_layout---spacing--small);
  padding-right: var(--_layout---spacing--small);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: calc(var(--button-radius, var(--_sizes---border-radius--button)) * 2);
  background-color: var(--_theme---background--card);
  color: var(--_theme---text--body);
}
/* is-pill: the inset nav as a pill; its corners still follow the chosen button rounding (Garrett 2026-11-02) */
.nav_container.is-inset.is-pill {
  padding-left: var(--_layout---spacing--medium);
  padding-right: var(--_layout---spacing--medium);
}
/* is-links-center: logo left, links centered, actions right */
@media screen and (min-width: 992px) {
  .nav_container.is-links-center {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
}
.nav_dropdown {
  position: relative;
}
.nav_dropdown-link {
  display: block;
  padding: var(--_layout---spacing--xtiny) var(--_layout---spacing--xxsmall);
  color: var(--_theme---text--heading);
  text-decoration: none;
}
.nav_dropdown-link:hover {
  color: var(--_theme---link--primary);
}
.nav_dropdown-list {
  --_theme---text--heading: var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-card-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted));
  --_theme---text--eyebrow: var(--_theme---controller--mode-card-eyebrow, var(--_theme---text--card-eyebrow));
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  position: absolute;
  z-index: 10;
  display: flex;
  min-width: 14rem;
  padding: var(--_layout---spacing--xtiny);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--medium);
  top: calc(100% + var(--_layout---spacing--xxsmall));
  left: 0;
  flex-direction: column;
  background-color: var(--_theme---background--card);
}
@media screen and (max-width: 991px) {
  .nav_dropdown-list {
    position: static;
    border: 0;
    padding: 0 0 0 var(--_layout---spacing--xxsmall);
    background-color: transparent;
  }
}
.nav_dropdown-list.is-dropdown {
  display: none;
}
.nav_dropdown-list.is-dropdown.w--open {
  display: flex;
}
.nav_dropdown-toggle {
  display: inline-flex;
  gap: var(--_layout---spacing--xxtiny);
  padding: 0;
  border: 0;
  color: var(--_theme---text--heading);
  font: inherit;
  cursor: pointer;
  align-items: center;
  background-color: transparent;
}
.nav_link {
  display: inline-flex;
  padding: var(--_layout---spacing--xtiny) 0;
  color: var(--_theme---text--heading);
  text-decoration: none;
  align-items: center;
}
.nav_link:hover {
  color: var(--_theme---link--primary);
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .nav_link:hover {
    --_theme---accent--primary: var(--_theme---controller--accent-ink);
  }
}
.nav_menu {
  display: flex;
  gap: var(--_layout---spacing--small);
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: center;
}
@media(max-width:1100px) {
  .nav_menu {
    max-width: calc(100vw - 2.5rem);
  }
}

.nav_menu.is-center {
  justify-content: center;
}
/* ---------- Global: note ---------- */

.note_component {
  margin-top: var(--_layout---spacing--xxsmall);
}

/* ---------- Global: panel ---------- */

.panel_component {
  border-radius: var(--_sizes---border-radius--round);
}
.panel_component.is-filled {
  background: var(--_theme---accent--primary);
  flex-shrink: 0;
}
.panel_component.is-flex-center {
  color: var(--_theme---button-primary--text);
  display: flex;
  height: 2.75rem;
  width: 2.75rem;
  align-items: center;
  justify-content: center;
}
.panel_component.is-overlay {
  position: absolute;
  transform: translateY(-50%);
  left: 0;
}
.panel_component.is-row {
  display: flex;
  height: var(--_sizes---icon--medium);
  padding: var(--_layout---spacing--xxsmall);
  width: var(--_sizes---icon--medium);
}
.panel_component.is-stack {
  display: flex;
  width: 100%;
  align-items: flex-start;
  flex-direction: column;
  row-gap: var(--_layout---spacing--xxsmall);
}
@media screen and (max-width: 767px) {
  .panel_component.is-stack {
    padding: var(--_layout---spacing--small);
  }
}

.panel_component.is-boxed {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  row-gap: var(--_layout---spacing--xxsmall);
  padding: var(--_layout---spacing--medium);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--small);
}
.panel_component.is-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--_layout---spacing--medium);
  padding: var(--_layout---spacing--medium);
  border-radius: 0;
}
@media screen and (max-width: 767px) {
  .panel_component.is-bar {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* ---------- Global: question ---------- */

.question_component {
  cursor: pointer;
  display: flex;
  gap: var(--_layout---spacing--small);
  list-style: none;
  align-items: center;
  justify-content: space-between;
}
.question_component::-webkit-details-marker {
  display: none;
}

.question_component.is-numbered {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--_layout---spacing--small);
  padding: var(--_layout---spacing--small);
}
/* ---------- Global: rating ---------- */

.rating_component {
  display: flex;
  gap: var(--_layout---spacing--xxtiny);
  color: var(--_theme---accent--primary);
  align-items: center;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .rating_component {
    --_theme---accent--primary: var(--_theme---controller--accent-ui);
  }
}
.rating_star {
  flex: none;
  width: 1rem;
  height: 1rem;
}
.rating_star.is-large {
  width: 1.5rem;
  height: 1.5rem;
}

/* ---------- Global: row ---------- */

.row_baseline {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
}
.row_baseline.is-end {
  align-items: flex-end;
  justify-content: space-between;
}
.row_baseline.is-ruled {
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  justify-content: space-between;
}
.row_baseline.is-spread {
  justify-content: space-between;
}
.row_center {
  display: flex;
  gap: var(--_layout---spacing--xtiny);
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
}
.row_center.is-between {
  justify-content: space-between;
}
.row_center.is-center {
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .row_center.is-stack {
    flex-direction: column;
    align-items: flex-start;
  }
}
.row_center.is-ruled {
  justify-content: space-between;
  padding-top: var(--_layout---spacing--xtiny);
  padding-bottom: var(--_layout---spacing--xtiny);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.row_center.is-ruled-start {
  padding-top: var(--_layout---spacing--small);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.row_center.is-ornament {
  flex-wrap: nowrap;
  justify-content: center;
  gap: var(--_layout---spacing--small);
  width: 100%;
  max-width: 24rem;
}
.row_component {
  display: flex;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .row_component {
    --_theme---accent--primary: var(--_theme---controller--accent-ui);
  }
}
.row_component.is-baseline {
  align-items: baseline;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  justify-content: space-between;
}
.row_component.is-between-baseline {
  align-items: baseline;
  justify-content: space-between;
}
.row_component.is-between-center {
  gap: var(--_layout---spacing--xxsmall);
  align-items: center;
  justify-content: space-between;
}
.row_component.is-block {
  display: block;
}
.row_component.is-center {
  flex: none;
  gap: var(--_layout---spacing--xtiny);
  height: 1.25rem;
  transition: transform .2s;
  width: 1.25rem;
  align-items: center;
}
.row_component.is-center-wrap {
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .row_component.is-center-wrap {
    justify-content: space-between;
  }
}
.row_component.is-contents {
  display: contents;
}
.row_component.is-grid {
  display: grid;
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 767px) {
  .row_component.is-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.row_component.is-stack {
  flex-direction: column;
}
.row_component.is-stack-divided {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  flex-direction: column;
}
.row_component.is-stack-ruled {
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  flex-direction: column;
}
.row_component.is-three-column {
  display: grid;
  align-items: center;
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 4fr);
}
@media screen and (max-width: 767px) {
  .row_component.is-three-column {
    grid-template-columns: minmax(0, 1fr);
  }
}
.row_component.is-wrap {
  flex-wrap: wrap;
}
.row_component.is-wrap-between {
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
}
.row_component.is-wrap-center {
  flex-wrap: wrap;
  justify-content: center;
}
.row_component.is-wrap-divided {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  flex-wrap: nowrap;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}
.row_component.is-wrap-start {
  position: relative;
  width: 100%;
  align-items: flex-start;
  flex-wrap: wrap;
}
.row_spread {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.row_spread.is-boxed {
  padding-top: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--small);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 479px) {
  .row_spread.is-boxed {
    flex-direction: column;
    align-items: flex-start;
  }
}
.row_spread.is-ruled {
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.row_spread.is-ruled-bottom {
  padding-top: var(--_layout---spacing--xtiny);
  padding-bottom: var(--_layout---spacing--xtiny);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.row_spread.is-ruled-padded {
  padding-top: var(--_layout---spacing--medium);
  padding-bottom: var(--_layout---spacing--xxsmall);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.row_spread.is-ruled-padded-alternate {
  padding-top: var(--_layout---spacing--small);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.row_spread.is-full {
  width: 100%;
}
.row_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: var(--_layout---spacing--xxsmall);
}
.row_wrap.is-spread {
  justify-content: space-between;
}
.row_wrap.is-spread-baseline {
  align-items: baseline;
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  grid-column-gap: var(--_layout---spacing--xxsmall);
  grid-row-gap: var(--_layout---spacing--xxsmall);
  justify-content: space-between;
}

/* ---------- Global: rule ---------- */

.rule_component {
  position: relative;
  flex: 1 1 3rem;
  width: 100%;
  height: 1px;
  background-color: var(--_theme---border--primary);
}
@media screen and (max-width: 767px) {
  .rule_component {
    display: none;
  }
}
.rule_component.is-thick {
  height: .375rem;
}

.rule_component.is-accent-bar {
  flex: 0 0 auto;
  width: 4rem;
  height: .25rem;
}
@media screen and (max-width: 767px) {
  .rule_component.is-accent-bar {
    display: block;
  }
}
.rule_component.is-ornament {
  flex: 1 1 0;
  width: auto;
  min-width: 1rem;
}
@media screen and (max-width: 767px) {
  .rule_component.is-ornament {
    display: block;
  }
}
/* ---------- Global: section-header ---------- */

.section-header_component {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  width: 100%;
  max-width: var(--_sizes---max-width--medium);
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: var(--_layout---spacing--large);
  transition: opacity .6s ease, transform .6s ease;
}
@media screen and (max-width: 767px) {
  .section-header_component {
    margin-bottom: var(--_layout---spacing--medium);
  }
}
.section-header_component.is-center {
  text-align: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
.section-header_component.is-center-offset {
  text-align: center;
  margin-bottom: var(--_layout---spacing--large);
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
.section-header_component.is-flush {
  margin-bottom: 0;
}
.section-header_component.is-split {
  display: grid;
  max-width: none;
  align-items: end;
  column-gap: var(--_layout---spacing--large);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .section-header_component.is-split {
    row-gap: var(--_layout---spacing--xxsmall);
    grid-template-columns: minmax(0, 1fr);
  }
}
.section-header_eyebrow {
  margin: 0;
  color: var(--_theme---text--eyebrow);
  letter-spacing: var(--_typography---eyebrow--eyebrow-letter-spacing);
  text-transform: uppercase;
  font-size: var(--_typography---font-size--text-tiny);
  font-weight: 600;
  line-height: 1.3;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .section-header_eyebrow {
    --_theme---accent--primary: var(--_theme---controller--accent-ui);
  }
}
.section-header_eyebrow.is-tinted {
  --_theme---text--eyebrow: var(--_theme---text--icon);
  color: var(--_theme---text--icon);
  background-color: var(--_theme---background--icon);
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .section-header_eyebrow:hover {
    --_theme---accent--primary: var(--_theme---controller--accent-ink);
  }
}
.section-header_heading {
  margin: 0;
}
.section-header_heading.is-huge {
  font-size: clamp(3rem, 8vw, 6.5rem);
  line-height: 1;
}
.section-header_intro {
  margin: 0;
  max-width: 40rem;
  color: var(--_theme---text--body);
}

/* ---------- Global: slider ---------- */

.slider_arrow {
  --_theme---text--heading: var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-card-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted));
  --_theme---text--eyebrow: var(--_theme---controller--mode-card-eyebrow, var(--_theme---text--card-eyebrow));
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  display: inline-flex;
  flex: none;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--round);
  color: var(--_theme---text--heading);
  cursor: pointer;
  justify-content: center;
  align-items: center;
  background-color: var(--_theme---background--card);
}
.slider_arrow:focus-visible {
  outline: 0.125rem solid var(--_theme---accent--primary);
  outline-offset: 0.125rem;
}
.slider_arrow:hover {
  border-color: var(--_theme---text--heading);
}
.slider_arrow.is-square {
  border-radius: 0;
}
.slider_arrow.is-flank {
  pointer-events: auto;
  color: var(--brand--white);
  border-color: transparent;
  background-color: var(--_theme---button-primary--background);
}
.slider_component {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.slider_component.is-offset {
  align-self: stretch;
  grid-column: 5 / 13;
}
@media screen and (max-width: 991px) {
  .slider_component.is-offset {
    grid-column: 1 / -1;
  }
}
.slider_controls {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  width: 100%;
  justify-content: center;
  align-items: center;
  margin-top: var(--_layout---spacing--small);
  max-width: 100%;
}
.slider_controls.is-overlay {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: var(--_layout---spacing--large);
  margin-top: 0;
}
.slider_controls.is-start {
  justify-content: flex-start;
}
.slider_controls.is-spread {
  justify-content: space-between;
}
.slider_controls.is-end {
  justify-content: flex-end;
  margin-top: 0;
}
.slider_controls.is-flank {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 0;
  right: 0;
  margin-top: 0;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
}
.slider_thumb {
  opacity: .55;
  transition: opacity .2s;
  cursor: pointer;
}
.slider_thumb.swiper-slide-thumb-active {
  opacity: 1;
}
.slider_pagination {
  position: absolute;
  display: flex;
  gap: .375rem;
  left: 0;
  right: 0;
  bottom: var(--_layout---spacing--xxsmall);
  justify-content: center;
}
.slider_pagination.is-inline {
  position: static;
  flex: none;
  width: auto;
}

/* ---------- Global: stack ---------- */

.stack_component {
  display: flex;
  gap: var(--_layout---spacing--xtiny);
  flex-direction: column;
  max-width: 100%;
  list-style: none;
}
.stack_component.is-contents {
  display: contents;
}
.stack_component.is-overlay {
  padding: var(--_layout---spacing--medium);
  position: absolute;
  bottom: 0;
  grid-column-gap: var(--_layout---spacing--xxtiny);
  grid-row-gap: var(--_layout---spacing--xxtiny);
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .stack_component.is-overlay {
    padding: var(--_layout---spacing--xxsmall);
  }
}
.stack_component.is-row-divided {
  display: block;
  width: 100%;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  flex-direction: row;
}
.stack_component.is-row-start {
  display: block;
  align-items: flex-start;
  flex-direction: row;
}
@media screen and (max-width: 991px) {
  .stack_component.is-row-start {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .stack_component.is-row-start {
    grid-template-columns: minmax(0, 1fr);
  }
}
.stack_component.is-start {
  align-items: flex-start;
}
.stack_component.is-sticky {
  position: sticky;
  row-gap: var(--_layout---spacing--xxsmall);
  top: calc(var(--_sizes---navigation--height, 5rem) + var(--_layout---spacing--small));
}
.stack_component.is-overlay-card {
  --_theme---text--heading: var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-card-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted));
  --_theme---text--eyebrow: var(--_theme---controller--mode-card-eyebrow, var(--_theme---text--card-eyebrow));
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  color: var(--_theme---text--body);
  position: absolute;
  left: var(--_layout---spacing--xxsmall);
  bottom: var(--_layout---spacing--xxsmall);
  z-index: 2;
  max-width: 55%;
  row-gap: var(--_layout---spacing--xtiny);
  padding: var(--_layout---spacing--xxsmall);
  background-color: color-mix(in srgb, var(--_theme---background--card) 85%, transparent);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .stack_component.is-overlay-card {
    max-width: calc(100% - 2 * var(--_layout---spacing--xxsmall));
  }
}
.stack_component.is-center {
  align-items: center;
}
.stack_component.is-spread {
  justify-content: space-between;
}
.stack_component.is-snap {
  flex: 0 0 40%;
  gap: var(--_layout---spacing--xxtiny);
  scroll-snap-align: start;
  margin-right: var(--_layout---spacing--small);
}
@media screen and (max-width: 767px) {
  .stack_component.is-snap {
    flex-basis: 75%;
  }
}
.stack_component.is-half {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 991px) {
  .stack_component.is-half {
    flex: 0 1 auto;
  }
}
.stack_component.is-caption-bar {
  position: absolute;
  left: var(--_layout---spacing--xtiny);
  right: var(--_layout---spacing--xtiny);
  bottom: var(--_layout---spacing--xtiny);
  z-index: 2;
  row-gap: var(--_layout---spacing--xxtiny);
  padding: var(--_layout---spacing--small);
  background-color: var(--others--black-70);
  color: var(--neutral--0);
}
.stack_component.is-grow {
  flex: 1 1 auto;
}
.stack_component.is-overlay-card.is-dark {
  --_theme---text--heading: var(--brand--white);
  --_theme---text--body: var(--others--white-70);
  --_theme---text--muted: var(--others--white-70);
  --_theme---text--eyebrow: var(--brand--white);
  --_theme---controller--accent-ink: var(--brand--white);
  color: var(--others--white-70);
  background-color: var(--others--black-70);
}
.stack_component.is-photo-panel {
  padding: var(--_layout---spacing--large) var(--_layout---spacing--large) var(--_layout---spacing--large) 0;
  background-color: var(--_theme---background--alternate);
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .stack_component.is-photo-panel {
    padding-left: var(--_layout---spacing--large);
  }
}
.stack_component.is-middle {
  justify-content: center;
}
.stack_component.is-between {
  justify-content: space-between;
  align-self: stretch;
}
.stack_component.is-overlay-wash {
  --_theme---text--heading: var(--brand--white);
  --_theme---text--body: var(--others--white-70);
  --_theme---text--muted: var(--others--white-70);
  --_theme---text--eyebrow: var(--brand--white);
  color: var(--others--white-70);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  row-gap: var(--_layout---spacing--xxsmall);
  padding: var(--_layout---spacing--medium);
  background-image: linear-gradient(0deg, var(--others--black-70) 0%, var(--others--black-40) 70%, transparent 100%);
}
.stack_content {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
.stack_content.is-stretch {
  align-items: stretch;
}
.stack_content.is-stretch-spaced {
  align-items: stretch;
  row-gap: var(--_layout---spacing--xxtiny);
}
.stack_content.is-sticky {
  position: sticky;
  top: calc(var(--_sizes---navigation--height, 5rem) + var(--_layout---spacing--small));
  row-gap: var(--_layout---spacing--small);
}
.stack_content.is-centered {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.stack_content.is-column-center {
  align-items: center;
}
.stack_spaced {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  min-width: 0;
  flex-direction: column;
}
.stack_spaced.is-center {
  align-items: center;
}
.stack_spaced.is-center-alternate {
  text-align: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
.stack_spaced.is-divided {
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.stack_spaced.is-brand {
  --_theme---text--heading: var(--_theme---button-primary--text);
  --_theme---text--body: var(--_theme---button-primary--text);
  --_theme---text--muted: var(--_theme---button-primary--text);
  --_theme---text--eyebrow: var(--_theme---button-primary--text);
  color: var(--_theme---button-primary--text);
  background-color: var(--_theme---button-primary--background);
}
.stack_spaced.is-overlay {
  position: relative;
  z-index: 1;
}
.stack_spaced.is-sticky {
  position: sticky;
  top: var(--_layout---spacing--large);
  align-self: flex-start;
}
@media screen and (max-width: 991px) {
  .stack_spaced.is-sticky {
    position: relative;
    top: auto;
  }
}
.stack_spaced.is-end {
  align-items: flex-end;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .stack_spaced.is-end {
    align-items: flex-start;
    text-align: left;
  }
}
.stack_spaced.is-middle {
  justify-content: center;
}
.stack_spaced.is-columns {
  display: block;
  column-count: 2;
  column-gap: var(--_layout---spacing--large);
  text-align: left;
}
@media screen and (max-width: 767px) {
  .stack_spaced.is-columns {
    column-count: 1;
  }
}
.stack_start {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  flex-direction: column;
  align-items: flex-start;
}
.stack_start.is-ruled {
  padding-top: var(--_layout---spacing--small);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.stack_start.is-side {
  padding-left: var(--_layout---spacing--small);
  border-left: var(--_sizes---border--width) solid var(--_theme---border--primary);
  margin-left: calc(var(--_sizes---border--width) * -1);
}

.stack_start.is-center {
  align-items: center;
  text-align: center;
}
.stack_start.is-accent-ruled {
  padding-top: var(--_layout---spacing--small);
  border-top: 0.1875rem solid var(--_theme---accent--primary);
}
.stack_start.is-half {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 991px) {
  .stack_start.is-half {
    flex: 0 1 auto;
  }
}
.stack_start.is-ruled-bottom {
  padding-bottom: var(--_layout---spacing--small);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
/* ---------- Global: stat ---------- */

.stat_component {
  font-family: var(--font-family--heading);
  line-height: 1;
}

/* ---------- Global: table-body ---------- */

@media screen and (max-width: 767px) {
  .table-body_component {
    display: block;
    width: 100%;
  }
}

/* ---------- Global: text ---------- */

.text_block {
  display: block;
  transition: opacity .6s ease, transform .6s ease;
}
.text_block.is-block {
  font-weight: var(--_typography---heading--heading-font-weight);
  line-height: 1.25;
}
.text_block.is-inline {
  display: inline;
}
.text_component {
  margin: 0;
}
.text_grow {
  flex: none;
}
.text_grow.is-divided {
  height: 0;
  border-top-color: var(--brand--accent-300);
  border-top-style: solid;
  border-top-width: var(--_sizes---border--width);
}
.text_grow.is-leader {
  flex: 1 1 0;
  height: 0;
  min-width: var(--_layout---spacing--small);
  border-top: 1px dotted var(--_theme---border--primary);
}
.text_relaxed {
  margin: 0;
  line-height: 1.5;
}
.text_snug {
  line-height: 1;
}
.text_title {
  line-height: 1.3;
}

/* ---------- Global: title ---------- */

.title_component {
  margin-block-start: var(--_layout---spacing--xxsmall,1rem);
}

/* ---------- Global: track ---------- */

.track_component {
  width: 100%;
  max-width: 100%;
}

/* ---------- Global: value ---------- */

.value_component {
  font-family: var(--font-family--heading);
  line-height: 1.2;
}

/* ---------- Global: video ---------- */

.video_component {
  border-radius: 0;
}

/* ---------- about ---------- */

.about_display-text {
  letter-spacing: var(--_typography---display--display-letter-spacing);
  font-family: var(--font-family--heading);
  line-height: 1;
}
.about_divider {
  position: relative;
  width: 100%;
  height: 1px;
  flex-shrink: 0;
}
.about_divider.is-accent {
  border-top: 0.125rem solid var(--_theme---accent--primary);
}
.about_divider-vertical {
  width: 0;
  align-self: stretch;
  border-left: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 767px) {
  .about_divider-vertical {
    width: 100%;
    border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
    border-left-style: none;
  }
}
.about_dot {
  position: absolute;
  width: var(--_layout---spacing--xxsmall);
  height: var(--_layout---spacing--xxsmall);
  border-radius: var(--_sizes---border-radius--round);
  transform: translateY(-50%);
  top: 50%;
  left: 0;
}
.about_float {
  position: absolute;
  left: var(--_layout---spacing--small);
  bottom: var(--_layout---spacing--small);
}
.about_float.is-badge {
  z-index: 2;
  display: flex;
  width: var(--_layout---spacing--xxlarge);
  height: var(--_layout---spacing--xxlarge);
  border-radius: var(--_sizes---border-radius--button);
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.about_float.is-label {
  z-index: 2;
  border-radius: var(--_sizes---border-radius--small);
  color: var(--_theme---text--eyebrow);
  letter-spacing: var(--_typography---eyebrow--eyebrow-letter-spacing);
  text-transform: uppercase;
  font-size: var(--eyebrow-size, var(--_typography---font-size--text-tiny));
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .about_float.is-label {
    display: inline-block;
  }
}
.about_float.is-filled {
  --_theme---text--heading: var(--_theme---button-primary--text);
  --_theme---text--body: var(--_theme---button-primary--text);
  --_theme---text--muted: var(--_theme---button-primary--text);
  --_theme---text--eyebrow: var(--_theme---button-primary--text);
  color: var(--_theme---button-primary--text);
  background-color: var(--_theme---button-primary--background);
}
.about_grid {
  display: grid;
  gap: var(--_layout---spacing--medium);
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}
@media screen and (max-width: 767px) {
  .about_grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.about_grid.is-stats {
  gap: var(--_layout---spacing--small);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr));
}
@media screen and (max-width: 479px) {
  .about_grid.is-stats {
    row-gap: var(--_layout---spacing--xxsmall);
    grid-template-columns: minmax(0, 1fr);
  }
}
.about_grid.is-table {
  gap: 0;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-left: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.about_grid.is-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  .about_grid.is-two {
    grid-template-columns: minmax(0, 1fr);
  }
}
.about_inset {
  position: absolute;
  width: 45%;
  overflow: hidden;
  border-radius: var(--_sizes---border-radius--medium);
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .about_inset {
    display: none;
  }
}
.about_inset.is-ring {
  border: var(--_layout---spacing--xtiny) solid var(--_theme---background--page);
}
.about_inset.is-round {
  border-radius: var(--_sizes---border-radius--round);
}
.about_item {
  display: grid;
  column-gap: var(--_layout---spacing--small);
  row-gap: var(--_layout---spacing--xxsmall);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  grid-template-columns: auto 1fr;
}
@media screen and (max-width: 479px) {
  .about_item {
    grid-template-columns: minmax(0, 1fr);
  }
}
.about_item.is-table {
  align-items: center;
  padding: var(--_layout---spacing--small);
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .about_item.is-table {
    row-gap: var(--_layout---spacing--xxtiny);
    grid-template-columns: minmax(0, 1fr);
  }
}
.about_item.is-index {
  grid-template-columns: 5rem minmax(0, 1fr);
}
@media screen and (max-width: 479px) {
  .about_item.is-index {
    grid-template-columns: minmax(0, 1fr);
  }
}
.about_label {
  letter-spacing: var(--_typography---eyebrow--eyebrow-letter-spacing);
  text-transform: uppercase;
  font-weight: 600;
}
.about_layout {
  display: grid;
  width: 100%;
  min-width: 0;
  align-items: center;
  column-gap: var(--_layout---spacing--xxlarge);
  row-gap: var(--_layout---spacing--large);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .about_layout {
    column-gap: var(--_layout---spacing--large);
  }
}
@media screen and (max-width: 767px) {
  .about_layout {
    grid-template-columns: minmax(0, 1fr);
  }
}
.about_layout.is-narrow-end {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
@media screen and (max-width: 991px) {
  .about_layout.is-narrow-end {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .about_layout.is-narrow-end {
    grid-template-columns: minmax(0, 1fr);
  }
}
.about_layout.is-narrow-start {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
@media screen and (max-width: 991px) {
  .about_layout.is-narrow-start {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .about_layout.is-narrow-start {
    grid-template-columns: minmax(0, 1fr);
  }
}
.about_layout.is-three {
  column-gap: var(--_layout---spacing--large);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.about_layout.is-wide-center {
  column-gap: var(--_layout---spacing--large);
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .about_layout.is-wide-center {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media screen and (max-width: 991px) {
  .about_layout.is-three {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .about_layout.is-three {
    grid-template-columns: minmax(0, 1fr);
  }
}
.about_layout.is-icon-start {
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
}
.about_layout.is-top {
  align-items: start;
}
.about_layout.is-stretch {
  align-items: stretch;
}
.about_layout.is-wide-start {
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
}
@media screen and (max-width: 767px) {
  .about_layout.is-wide-start {
    grid-template-columns: minmax(0, 1fr);
  }
}
.about_layout.is-ruled-split {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .about_layout.is-ruled-split {
    grid-template-columns: minmax(0, 1fr);
  }
}
.about_lead {
  font-family: var(--font-family--heading);
  line-height: 1.3;
}
.about_link {
  display: inline-flex;
  gap: var(--_layout---spacing--xtiny);
  color: var(--_theme---text--heading);
  text-decoration: none;
  transition: color .25s;
  align-items: center;
  padding-bottom: var(--_layout---spacing--xxtiny);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---accent--primary);
  line-height: 1.4;
}
.about_link:focus-visible {
  outline: 0.125rem solid var(--_theme---accent--primary);
  outline-offset: 0.125rem;
}
.about_link:hover {
  color: var(--_theme---accent--primary);
}
.about_link.is-eyebrow {
  letter-spacing: var(--_typography---eyebrow--eyebrow-letter-spacing);
  text-transform: uppercase;
  font-size: var(--eyebrow-size, var(--_typography---font-size--text-tiny));
  font-weight: 600;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .about_link.is-eyebrow {
    --_theme---accent--primary: var(--_theme---controller--accent-ui);
  }
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .about_link.is-eyebrow:hover {
    --_theme---accent--primary: var(--_theme---controller--accent-ink);
  }
}
.about_list-item {
  color: var(--_theme---text--heading);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  font-size: var(--_typography---font-size--text-regular);
  font-weight: 500;
}
.about_media {
  position: relative;
}
@media screen and (max-width: 767px) {
  .about_media {
    display: flex;
    gap: var(--_layout---spacing--xxsmall);
    flex-direction: column;
    padding-bottom: 0;
    padding-right: 0;
  }
}
.about_media.is-sticky {
  position: sticky;
  min-width: 0;
  top: 6rem;
  align-self: flex-start;
}
@media screen and (max-width: 991px) {
  .about_media.is-sticky {
    position: relative;
    max-width: var(--_sizes---max-width--large);
    top: auto;
  }
}
@media screen and (max-width: 767px) {
  .about_media.is-sticky {
    max-width: 100%;
  }
}
.about_quote {
  text-wrap: balance;
  line-height: 1.4;
}
.about_row {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
}
.about_row.is-between {
  justify-content: space-between;
}
.about_row.is-caption {
  gap: var(--_layout---spacing--xtiny);
  color: var(--_theme---text--heading);
  font-size: var(--_typography---font-size--text-small);
  font-weight: 500;
}
.about_row.is-center {
  justify-content: center;
}
.about_row.is-divided {
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.about_row.is-divided-start {
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  flex-wrap: nowrap;
  align-items: flex-start;
}

/* ---------- blog ---------- */

.blog_article {
  display: flex;
  gap: var(--_layout---spacing--small);
  width: 100%;
  min-width: 0;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .blog_article {
    max-width: 100%;
  }
}
.blog_article-heading {
  margin-top: var(--_layout---spacing--medium);
  margin-bottom: var(--_layout---spacing--medium);
}
.blog_article-heading.is-small {
  margin-top: var(--_layout---spacing--xxsmall);
  margin-bottom: var(--_layout---spacing--xxsmall);
}
.blog_callout {
  display: flex;
  gap: var(--_layout---spacing--small);
  border-radius: var(--_sizes---border-radius--large);
  align-items: flex-start;
}
@media screen and (max-width: 479px) {
  .blog_callout {
    flex-direction: column;
  }
}
.blog_card-heading {
  margin-top: 0;
  margin-bottom: 0;
  font-size: var(--_typography---h5--h5-font-size);
  line-height: 1.25;
}
.blog_card-text {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.5;
}
.blog_layout {
  display: grid;
  gap: var(--_layout---spacing--xxlarge);
  align-items: start;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .blog_layout {
    gap: var(--_layout---spacing--large);
    grid-template-columns: minmax(0, 1fr);
  }
}
.blog_layout.is-rail-start {
  grid-template-columns: minmax(0, 1fr) minmax(0, 4fr);
}
@media screen and (max-width: 991px) {
  .blog_layout.is-rail-start {
    grid-template-columns: minmax(0, 1fr);
  }
}
.blog_layout.is-narrow-start {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
@media screen and (max-width: 991px) {
  .blog_layout.is-narrow-start {
    grid-template-columns: minmax(0, 1fr);
  }
}
.blog_list {
  display: grid;
  gap: var(--_layout---spacing--grid-gap);
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, 15rem), calc(100% / 3 + 1px)), 1fr));
}
@media screen and (max-width: 991px) {
  .blog_list {
    grid-template-columns: minmax(0, 1fr);
  }
}
.blog_post-row {
  display: grid;
  gap: var(--_layout---spacing--small);
  color: inherit;
  text-decoration: none;
  align-items: center;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}
@media screen and (max-width: 767px) {
  .blog_post-row {
    grid-template-columns: minmax(0, 1fr);
  }
}
.blog_post-row.is-ruled {
  align-items: start;
  padding-top: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--small);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.blog_post-row.is-thumb {
  grid-template-columns: minmax(0, 12rem) minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .blog_post-row.is-thumb {
    grid-template-columns: minmax(0, 1fr);
  }
}
.blog_post-row.is-mini {
  align-items: center;
  grid-template-columns: minmax(0, 5rem) minmax(0, 1fr);
}
.blog_quote {
  margin: var(--_layout---spacing--xxsmall) 0;
}
.blog_section {
  position: relative;
  isolation: isolate;
}
.blog_section.is-body {
  color: var(--_theme---text--body);
  position: relative;
  isolation: isolate;
  background-color: var(--_theme---background--page);
}
.blog_section.is-body-alternate {
  color: var(--_theme---text--body);
  --_theme---text--heading: var(--_theme---controller--mode-alt-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-alt-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-alt-muted, var(--_theme---text--card-muted));
  --_theme---text--eyebrow: var(--_theme---controller--mode-alt-eyebrow, var(--_theme---text--card-eyebrow));
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  position: relative;
  isolation: isolate;
  background-color: var(--_theme---background--alternate);
}
.blog_section.is-photo-page {
  overflow: hidden;
  background-color: var(--_theme---background--page);
}
.blog_section.is-photo-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-color: color-mix(in srgb, var(--_theme---background--page) 70%, transparent);
}
.blog_sidebar {
  position: sticky;
  display: flex;
  gap: var(--_layout---spacing--small);
  min-width: 0;
  top: var(--_sizes---navigation--height, 5rem);
  flex-direction: column;
  align-self: start;
}
.blog_sidebar.is-ruled {
  gap: var(--_layout---spacing--xxsmall);
  border-left: 1px solid var(--_theme---border--primary);
}

.blog_sidebar.is-top {
  position: static;
  gap: var(--_layout---spacing--medium);
}
.blog_sidebar.is-scroll {
  position: static;
  gap: var(--_layout---spacing--xxsmall);
  max-height: 18rem;
  overflow-y: auto;
  border-left: 1px solid var(--_theme---border--primary);
}
/* ---------- careers ---------- */

.careers_row {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  color: inherit;
  text-decoration: none;
  transition: color .2s;
  justify-content: space-between;
  align-items: center;
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.careers_summary {
  flex-grow: 1;
}

/* ---------- city ---------- */

.city_layer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  .city_layer {
    position: relative;
  }
}
.city_layer.is-band {
  z-index: 0;
  bottom: auto;
  height: 20rem;
}
.city_map {
  height: 100%;
  position: relative;
  width: 100%;
}
.city_section {
  display: flex;
  min-height: 44rem;
  overflow: hidden;
  position: relative;
  align-items: flex-end;
}
@media screen and (max-width: 991px) {
  .city_section {
    min-height: 40rem;
  }
}
@media screen and (max-width: 767px) {
  .city_section {
    min-height: 0;
    align-items: stretch;
    flex-direction: column;
  }
}
.city_section.is-body {
  color: var(--_theme---text--body);
  display: flex;
  min-height: 44rem;
  overflow: hidden;
  position: relative;
  background-color: var(--_theme---background--page);
  align-items: flex-end;
}
@media screen and (max-width: 991px) {
  .city_section.is-body {
    min-height: 40rem;
  }
}
@media screen and (max-width: 767px) {
  .city_section.is-body {
    min-height: 0;
    align-items: stretch;
    flex-direction: column;
  }
}

/* ---------- comparison ---------- */

.comparison_bar {
  height: 100%;
  border-radius: var(--_sizes---border-radius--round);
}
.comparison_layer {
  position: absolute;
  pointer-events: none;
}
.comparison_layer.is-fill {
  inset: 0;
  z-index: 0;
}
.comparison_layer.is-round {
  aspect-ratio: 1;
  border-radius: var(--_sizes---border-radius--round);
  transform: translateX(-50%);
  top: 0;
  left: var(--compare-position, 50%);
}
.comparison_layer.is-before {
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  clip-path: inset(0 calc(100% - var(--compare-position, 50%)) 0 0);
}
.comparison_layer.is-handle {
  top: 0;
  bottom: 0;
  left: var(--compare-position, 50%);
  z-index: 2;
  display: flex;
  width: .125rem;
  transform: translateX(-50%);
  justify-content: center;
  align-items: center;
  background-color: var(--brand--white);
}
.comparison_layer.is-behind {
  aspect-ratio: 1;
  border-radius: var(--_sizes---border-radius--round);
  transform: translateX(-50%);
  top: 0;
  left: 50%;
  max-width: 100%;
  z-index: -1;
}
.comparison_number {
  display: flex;
  flex: none;
  width: var(--_layout---spacing--large);
  height: var(--_layout---spacing--large);
  border-radius: var(--_sizes---border-radius--round);
  justify-content: center;
  align-items: center;
  line-height: 1;
}
.comparison_tag {
  --_theme---text--heading: var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-card-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted));
  --_theme---text--eyebrow: var(--_theme---controller--mode-card-eyebrow, var(--_theme---text--card-eyebrow));
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  position: absolute;
  z-index: 4;
  padding: var(--_layout---spacing--xtiny) var(--_layout---spacing--xxsmall);
  border-radius: var(--_sizes---border-radius--small);
  color: var(--_theme---text--heading);
  letter-spacing: .08em;
  text-transform: uppercase;
  pointer-events: none;
  top: var(--_layout---spacing--xxsmall);
  background-color: var(--_theme---background--card);
  font-size: var(--_typography---font-size--text-tiny);
  line-height: 1.4;
}
.comparison_tag.is-end {
  right: var(--_layout---spacing--xxsmall);
}
.comparison_tag.is-start {
  left: var(--_layout---spacing--xxsmall);
}

/* ---------- contact ---------- */

.contact_aside {
  position: sticky;
  display: flex;
  min-width: 0;
  gap: var(--_layout---spacing--small);
  top: 6.5rem;
  align-self: start;
  flex-direction: column;
  align-items: flex-start;
}
.contact_bar {
  display: flex;
  min-width: 0;
  gap: var(--_layout---spacing--small);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .contact_bar {
    flex-direction: column;
    align-items: stretch;
  }
}
.contact_bar.is-center {
  width: 100%;
  gap: var(--_layout---spacing--xxsmall);
  justify-content: center;
}
.contact_calendar {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.25fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .contact_calendar {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .contact_calendar {
    grid-template-columns: minmax(0, 1fr);
  }
}
.contact_calendar.is-two-column {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .contact_calendar.is-two-column {
    grid-template-columns: minmax(0, 1fr);
  }
}
.contact_calendar.is-stacked {
  grid-template-columns: minmax(0, 1fr);
}
.contact_calendar-day {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  max-height: 3.25rem;
  min-width: 0;
  border-radius: var(--_sizes---border-radius--medium, 0rem);
  letter-spacing: .04em;
  text-align: center;
  color: var(--_theme---text--muted);
  font-size: var(--_typography---font-size--text-small);
}
.contact_calendar-day:first-child {
  grid-column-start: var(--_theme---controller--booker-start, 1);
}
.contact_calendar-day.is-open {
  color: var(--_theme---text--heading);
  text-transform: uppercase;
  font-weight: 600;
  background-color: color-mix(in srgb, var(--_theme---button-primary--background) 10%, transparent);
}
.contact_calendar-day.is-selected {
  color: var(--_theme---button-primary--text);
  text-transform: uppercase;
  font-weight: 600;
  background-color: var(--_theme---button-primary--background);
}
.contact_calendar-day.w--current {
  color: var(--_theme---button-primary--text);
  text-transform: uppercase;
  font-weight: 600;
  background-color: var(--_theme---button-primary--background);
}
.contact_calendar-header {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  justify-content: space-between;
  align-items: center;
}
.contact_calendar-meta {
  min-width: 0;
  border-right: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 991px) {
  .contact_calendar-meta {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  }
}
.contact_calendar-nav {
  display: inline-flex;
  flex: none;
  width: 2.25rem;
  height: 2.25rem;
  padding: var(--_layout---spacing--xtiny);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--button, var(--_sizes---border-radius--medium, 0rem));
  justify-content: center;
  align-items: center;
}
.contact_calendar-nav:last-child {
  order: 2;
}
.contact_calendar-slot {
  display: block;
  padding: var(--_layout---spacing--xtiny);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--button, var(--_sizes---border-radius--medium, 0rem));
  text-align: center;
  color: var(--_theme---text--heading);
  font-size: var(--_typography---font-size--text-small);
  font-weight: 600;
}
.contact_calendar-slot.is-selected {
  box-shadow: inset 0 0 0 1px var(--_theme---button-primary--background);
  border-color: var(--_theme---button-primary--background);
}
.contact_calendar-slot.w--current {
  box-shadow: inset 0 0 0 1px var(--_theme---button-primary--background);
  border-color: var(--_theme---button-primary--background);
}
.contact_calendar-slots {
  display: grid;
  gap: var(--_layout---spacing--xtiny);
  grid-template-columns: repeat(auto-fill, minmax(6.5rem, 1fr));
}
.contact_calendar-times {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border-left: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 767px) {
  .contact_calendar-times {
    border-left: 0;
    border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  }
}
.contact_calendar-times.is-stacked {
  gap: var(--_layout---spacing--xxsmall);
  border-left: 0;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.contact_calendar-times.is-gapped {
  gap: var(--_layout---spacing--xxsmall);
}
.contact_calendar-title {
  flex: 1;
  order: 1;
  text-align: center;
  font-family: var(--font-family--heading);
}
.contact_calendar-week {
  display: grid;
  gap: var(--_layout---spacing--xxtiny);
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.contact_calendar-wrap {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.contact_grid {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: var(--_layout---spacing--medium);
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 20rem)), calc(100% / 3 + 1px)), 1fr));
}
@media screen and (max-width: 991px) {
  .contact_grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.contact_grid.is-split {
  gap: var(--_layout---spacing--xxsmall);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 479px) {
  .contact_grid.is-split {
    grid-template-columns: minmax(0, 1fr);
  }
}
.contact_grid.is-five-column {
  gap: var(--_layout---spacing--xtiny);
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media screen and (max-width: 479px) {
  .contact_grid.is-five-column {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.contact_grid.is-three-column {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (max-width: 991px) {
  .contact_grid.is-three-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 479px) {
  .contact_grid.is-three-column {
    grid-template-columns: minmax(0, 1fr);
  }
}
.contact_info-item {
  display: flex;
  width: 100%;
  min-width: 0;
  gap: var(--_layout---spacing--xxtiny);
  flex-direction: column;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.contact_info-item.is-inverse {
  border-top-color: var(--others--white-20);
}
.contact_info-list {
  display: flex;
  flex-direction: column;
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.contact_layout {
  display: grid;
  column-gap: var(--_layout---spacing--xxlarge);
  row-gap: var(--_layout---spacing--large);
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
@media screen and (max-width: 991px) {
  .contact_layout {
    grid-template-columns: minmax(0, 1fr);
  }
}
.contact_layout.is-center {
  align-items: center;
}
.contact_layout.is-reverse {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
@media screen and (max-width: 991px) {
  .contact_layout.is-reverse {
    grid-template-columns: minmax(0, 1fr);
  }
}
.contact_layout.is-top {
  align-items: start;
}
.contact_logo {
  position: relative;
  display: block;
  height: var(--_sizes---icon--medium);
  border-radius: var(--_sizes---border-radius--medium);
}
.contact_map {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--large);
}
@media screen and (max-width: 767px) {
  .contact_map {
    aspect-ratio: 4 / 3;
  }
}
.contact_map-embed {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 0;
  top: 0;
  left: 0;
}
.contact_panel {
  position: relative;
  display: flex;
  min-width: 0;
  gap: var(--_layout---spacing--small);
  border-radius: var(--_sizes---border-radius--large);
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .contact_panel {
    padding: var(--_layout---spacing--medium);
  }
}
@media screen and (max-width: 479px) {
  .contact_panel {
    padding: var(--_layout---spacing--small);
  }
}
.contact_panel.is-end {
  height: 100%;
  gap: var(--_layout---spacing--xtiny);
  justify-content: flex-end;
}
.contact_panel.is-row {
  width: 100%;
  gap: var(--_layout---spacing--xxsmall);
  flex-direction: row;
  align-items: center;
}
.contact_row {
  display: flex;
  align-items: center;
  column-gap: var(--_layout---spacing--xxsmall);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.contact_row.is-between {
  justify-content: space-between;
  align-items: baseline;
  column-gap: var(--_layout---spacing--small);
}
.contact_row.is-numbered {
  display: grid;
  align-items: start;
  column-gap: var(--_layout---spacing--small);
  grid-template-columns: auto minmax(0, 1fr);
}
@media screen and (max-width: 479px) {
  .contact_row.is-numbered {
    row-gap: var(--_layout---spacing--xtiny);
    grid-template-columns: minmax(0, 1fr);
  }
}
.contact_row.is-fixed-number {
  grid-template-columns: 2rem minmax(0, 1fr);
  padding-bottom: var(--_layout---spacing--small);
}
.contact_rule {
  width: 3rem;
  height: 1px;
  flex-shrink: 0;
  background-color: var(--_theme---border--primary);
}
.contact_step-number {
  display: flex;
  width: var(--_sizes---icon--medium);
  height: var(--_sizes---icon--medium);
  border-radius: var(--_sizes---border-radius--round);
  color: var(--_theme---text--icon);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-family: var(--font-family--heading);
  line-height: 1;
  background-color: var(--_theme---background--icon);
}
.contact_step-number.is-accent {
  color: var(--_theme---controller--on-accent);
  background-color: var(--_theme---accent--primary);
  font-weight: var(--_typography---heading--heading-font-weight);
  font-size: var(--_typography---font-size--text-regular);
  line-height: 1.6;
}
.contact_step-number.is-small {
  width: var(--_sizes---icon--small);
  height: var(--_sizes---icon--small);
  font-size: var(--_typography---font-size--text-small);
}
.contact_step-number.is-square {
  border-radius: var(--_sizes---border-radius--small);
}
.contact_step-number.is-tile {
  width: var(--_layout---spacing--medium);
  height: var(--_layout---spacing--medium);
  border-radius: var(--_sizes---border-radius--small);
  font-weight: var(--_typography---display--display-font-weight);
}
.contact_text {
  margin-top: 0;
  margin-bottom: 0;
}
.contact_text.is-relaxed {
  line-height: 1.5;
}

/* ---------- cta ---------- */

.cta_line {
  flex: 1 1 0;
  height: 1px;
  opacity: .4;
  background-color: currentColor;
}

/* ---------- detail ---------- */

@media screen and (min-width: 992px) {
  .detail_column {
    padding-left: max(0px, (100cqw - var(--_sizes---container--large)) / 2 - var(--_layout---spacing--global-padding));
  }
}
.detail_content {
  flex-direction: column;
}
.detail_content.is-grid {
  display: grid;
}
.detail_content.is-stack {
  display: flex;
}
.detail_figure {
  border-radius: var(--_sizes---border-radius--medium);
  display: flex;
  flex-direction: column;
}
.detail_heading {
  margin: var(--_layout---spacing--xxtiny) 0 0;
  margin-block-start: var(--_layout---spacing--xxsmall,1rem);
}
.detail_layout {
  display: grid;
  gap: var(--_layout---spacing--xxlarge);
}
@media screen and (max-width: 991px) {
  .detail_layout {
    grid-template-columns: minmax(0, 1fr);
  }
}
.detail_layout.is-autofit {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 5 + 1px)), 1fr));
}
@media screen and (max-width: 991px) {
  .detail_layout.is-autofit {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.detail_layout.is-start {
  align-items: flex-start;
}
.detail_layout.is-narrow-start {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}
.detail_layout.is-narrow-end {
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
}
@media screen and (max-width: 991px) {
  .detail_layout.is-narrow-start {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media screen and (max-width: 991px) {
  .detail_layout.is-narrow-end {
    grid-template-columns: minmax(0, 1fr);
  }
}
.detail_link {
  gap: var(--_layout---spacing--xxsmall);
  padding: var(--_layout---spacing--xxsmall);
  text-underline-offset: .2em;
  padding-left: 0;
  padding-right: 0;
}
.detail_link.is-flex {
  display: flex;
  align-items: center;
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  justify-content: space-between;
}
.detail_list {
  display: grid;
  width: 100%;
}
@media screen and (max-width: 479px) {
  .detail_list {
    grid-template-columns: minmax(0, 1fr);
  }
}
.detail_list.is-columns {
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  column-gap: var(--_layout---spacing--large);
}
.detail_map {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--small);
  height: clamp(22.5rem,45vw,26.25rem);
  min-height: 22.5rem;
  width: 100%;
}
.detail_meta-wrap {
  letter-spacing: var(--_typography---eyebrow--eyebrow-letter-spacing);
}
.detail_row {
  display: flex;
  column-gap: var(--_layout---spacing--small);
}
.detail_sidebar {
  border-radius: var(--_sizes---border-radius--medium);
  display: flex;
  flex-direction: column;
  top: var(--_sizes---navigation--height);
}
.detail_sidebar.is-outlined {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.detail_sidebar.is-sticky {
  position: sticky;
}
.detail_sidebar.is-padded {
  gap: var(--_layout---spacing--small);
  padding: var(--_layout---spacing--medium);
}
.detail_stack {
  display: flex;
  gap: var(--_layout---spacing--xtiny);
  min-width: 0;
  flex-direction: column;
}
.detail_stack.is-top-rule {
  border-top: var(--_sizes---border--width) solid var(--_theme---text--heading);
}
.detail_stack.is-tile {
  padding: var(--_layout---spacing--xxsmall);
}
.detail_tab {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  padding: var(--_layout---spacing--xtiny) var(--_layout---spacing--small);
  transition: background-color .2s, color .2s;
  border-color: transparent;
}
.detail_tab:hover {
  background-color: var(--_theme---background--alternate);
}
.detail_toggle {
  border: 0;
  border-radius: var(--_sizes---border-radius--medium);
  display: block;
  position: relative;
  width: 100%;
}

/* ---------- faq ---------- */

.faq_content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  row-gap: var(--_layout---spacing--small);
}
@media screen and (max-width: 767px) {
  .faq_content {
    max-width: 100%;
  }
}
.faq_content.is-inset {
  align-items: flex-start;
}
.faq_content.is-ruled {
  border-top-color: var(--_theme---text--heading);
  border-top-style: solid;
  border-top-width: 0.125rem;
}
.faq_decoration {
  border-radius: var(--_sizes---border-radius--round);
  pointer-events: none;
  position: absolute;
  width: 40%;
}
.faq_decoration.is-inset {
  aspect-ratio: 1 / 1;
  display: none;
}
.faq_grid {
  display: grid;
  align-items: flex-start;
  column-gap: var(--_layout---spacing--xxlarge);
  row-gap: var(--_layout---spacing--large);
}
.faq_grid.is-inset {
  grid-column-gap: var(--_layout---spacing--xxlarge);
  grid-row-gap: var(--_layout---spacing--xxlarge);
}
@media screen and (max-width: 991px) {
  .faq_grid.is-inset {
    column-gap: var(--_layout---spacing--large);
    row-gap: var(--_layout---spacing--large);
    grid-template-columns: minmax(0, 1fr);
  }
}
.faq_grid.is-split {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
@media screen and (max-width: 991px) {
  .faq_grid.is-split {
    grid-template-columns: minmax(0, 1fr);
  }
}
.faq_grid.is-two-column {
  border: 0;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  flex-direction: column;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .faq_grid.is-two-column {
    grid-template-columns: minmax(0, 1fr);
  }
}
.faq_grid.is-narrow {
  max-width: var(--_sizes---max-width--large);
  margin-left: auto;
  margin-right: auto;
}
.faq_grid.is-split-wide {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
@media screen and (max-width: 991px) {
  .faq_grid.is-split-wide {
    grid-template-columns: minmax(0, 1fr);
  }
}
.faq_heading {
  color: var(--_theme---text--field);
  display: block;
}
.faq_list {
  display: flex;
  width: 100%;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  flex-direction: column;
}
.faq_list.is-boxed {
  border-top: 0;
  padding: var(--_layout---spacing--large);
  border-radius: var(--_sizes---border-radius--medium);
}
.faq_list.is-ruled {
  border-top: 0.125rem solid var(--_theme---text--heading);
}
.faq_name {
  margin: var(--_layout---spacing--xxsmall);
  font-weight: var(--_typography---heading--heading-font-weight);
  line-height: 1.4;
  margin-left: 0;
  margin-right: 0;
}
.faq_number {
  letter-spacing: var(--_typography---display--display-letter-spacing);
  flex-shrink: 0;
  font-weight: var(--_typography---display--display-font-weight);
  line-height: 1;
}
.faq_question {
  cursor: pointer;
  list-style: none;
  align-items: center;
  grid-column-gap: var(--_layout---spacing--small);
  grid-row-gap: var(--_layout---spacing--small);
  justify-content: space-between;
}
.faq_question::-webkit-details-marker {
  display: none;
}
.faq_question.is-row {
  display: flex;
}
.faq_row {
  display: flex;
  height: var(--_sizes---icon--small);
  transition: transform .2s;
  width: var(--_sizes---icon--small);
  flex-shrink: 0;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .faq_row {
    --_theme---accent--primary: var(--_theme---controller--accent-ui);
  }
}
.faq_row.is-center {
  align-items: center;
  grid-column-gap: var(--_layout---spacing--xxsmall);
  grid-row-gap: var(--_layout---spacing--xxsmall);
  justify-content: center;
}
.faq_sidebar {
  min-width: 0;
  position: sticky;
  align-self: flex-start;
  row-gap: var(--_layout---spacing--small);
}
.faq_sidebar.is-inset {
  top: calc(var(--_sizes---navigation--height) + var(--_layout---spacing--small));
}
.faq_sidebar.is-stack {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  align-items: flex-start;
  flex-direction: column;
  top: var(--_layout---spacing--xxlarge);
}
.faq_text {
  color: var(--_theme---text--body);
}

/* ---------- features ---------- */

.features_grid {
  display: grid;
  gap: var(--_layout---spacing--grid-gap);
  min-width: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .features_grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.features_grid.is-auto {
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 3 + 1px)), 1fr));
}
.features_grid.is-auto-center {
  align-items: center;
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 3 + 1px)), 1fr));
}
@media screen and (max-width: 991px) {
  .features_grid.is-auto-center {
    grid-template-columns: minmax(0, 1fr);
  }
}
.features_grid.is-single {
  grid-template-columns: minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .features_grid.is-single {
    row-gap: var(--_layout---spacing--small);
  }
}
.features_grid.is-lead-column {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .features_grid.is-lead-column {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .features_grid.is-lead-column {
    grid-template-columns: minmax(0, 1fr);
  }
}
.features_item {
  display: flex;
  align-items: flex-start;
}
.features_item.is-auto-center {
  display: grid;
  gap: var(--_layout---spacing--xxlarge);
  align-items: center;
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, 8rem), calc((100% - 1 * (var(--_layout---spacing--xxlarge) + 1rem)) / 2)), 1fr));
  grid-template-rows: auto;
}
@media screen and (max-width: 991px) {
  .features_item.is-auto-center {
    gap: var(--_layout---spacing--large);
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
  }
}
.features_item.is-split-divided {
  border-radius: var(--_sizes---border-radius--large);
  color: var(--_theme---text--heading);
  display: grid;
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-left: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-right: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  column-gap: var(--_layout---spacing--medium);
  row-gap: var(--_layout---spacing--xtiny);
  grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
}
@media screen and (max-width: 767px) {
  .features_item.is-split-divided {
    grid-template-columns: minmax(0, 1fr);
  }
}
.features_item.is-stack-bordered {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--large);
  flex-direction: column;
  row-gap: var(--_layout---spacing--xxsmall);
}
.features_item.is-numbered {
  display: grid;
  align-items: baseline;
  column-gap: var(--_layout---spacing--medium);
  grid-template-columns: auto minmax(0, 1fr);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.features_item.is-gapped {
  gap: var(--_layout---spacing--xxsmall);
  align-items: center;
}
.features_item.is-rule-below {
  padding-bottom: var(--_layout---spacing--xxlarge);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.features_item.is-overlap-alternate {
  display: flex;
  align-items: center;
  gap: 0;
  --_layout---overlap--start: calc(var(--_layout---spacing--xxlarge) * -1);
  --_layout---overlap--end: 0rem;
}
@media screen and (max-width: 991px) {
  .features_item.is-overlap-alternate {
    flex-direction: column;
    --_layout---overlap--start: 0rem;
    --_layout---overlap--end: 0rem;
  }
}
@media screen and (max-width: 991px) {
  .features_item.is-overlap-alternate:nth-child(even) {
    flex-direction: column;
    --_layout---overlap--start: 0rem;
    --_layout---overlap--end: 0rem;
  }
}
.features_item.is-overlap-alternate:nth-child(even) {
  flex-direction: row-reverse;
  --_layout---overlap--start: 0rem;
  --_layout---overlap--end: calc(var(--_layout---spacing--xxlarge) * -1);
}
@media screen and (max-width: 991px) {
  .features_item.is-alternate:nth-child(even) {
    flex-direction: column;
  }
}
.features_item.is-alternate:nth-child(even) {
  display: flex;
  flex-direction: row-reverse;
}
.features_layout {
  display: grid;
  align-items: flex-start;
  column-gap: var(--_layout---spacing--xxlarge);
  row-gap: var(--_layout---spacing--large);
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
@media screen and (max-width: 991px) {
  .features_layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ---------- footer ---------- */

.footer_bottom {
  display: flex;
  gap: var(--_layout---spacing--xtiny) var(--_layout---spacing--small);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 767px) {
  .footer_bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}
.footer_bottom.is-stack {
  gap: var(--_layout---spacing--small);
  flex-direction: column;
  align-items: flex-start;
}
.footer_bottom.is-center {
  padding-top: var(--_layout---spacing--medium);
  justify-content: center;
  gap: var(--_layout---spacing--xxsmall) var(--_layout---spacing--medium);
}
.footer_grid {
  display: grid;
  gap: var(--_layout---spacing--large);
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr));
}
@media screen and (max-width: 991px) {
  .footer_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .footer_grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.footer_grid.is-center {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .footer_grid.is-center {
    grid-template-columns: minmax(0, 1fr);
  }
}
.footer_grid.is-even {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
}
.footer_grid.is-split {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
@media screen and (max-width: 991px) {
  .footer_grid.is-split {
    grid-template-columns: minmax(0, 1fr);
  }
}
.footer_grid.is-card-end {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
@media screen and (max-width: 767px) {
  .footer_grid.is-card-end {
    grid-template-columns: minmax(0, 1fr);
  }
}
.footer_grid.is-three-part {
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 3fr) minmax(0, 2fr);
  align-items: start;
}
@media screen and (max-width: 991px) {
  .footer_grid.is-three-part {
    grid-template-columns: minmax(0, 1fr);
  }
}
.footer_grid.is-brand-narrow {
  grid-template-columns: minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
}
@media screen and (max-width: 991px) {
  .footer_grid.is-brand-narrow {
    grid-template-columns: minmax(0, 1fr);
  }
}
.footer_intro {
  display: flex;
  gap: var(--_layout---spacing--small);
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (max-width: 991px) {
  .footer_intro {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .footer_intro {
    grid-column: 1 / -1;
  }
}
.footer_map {
  position: relative;
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  width: 100%;
  padding: var(--_layout---spacing--small);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--large);
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 991px) {
  .footer_map {
    grid-column: 1 / -1;
  }
}
.footer_row {
  display: flex;
  gap: var(--_layout---spacing--xxsmall) var(--_layout---spacing--medium);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .footer_row {
    flex-direction: column;
    align-items: flex-start;
  }
}
.footer_row.is-boxed {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--large);
  padding: var(--_layout---spacing--large);
}
.footer_row.is-top {
  align-items: flex-start;
}
.footer_social-link {
  display: flex;
  width: var(--_sizes---icon--small);
  height: var(--_sizes---icon--small);
  color: inherit;
  transition: color .2s;
  justify-content: center;
  align-items: center;
}
.footer_social-link:hover {
  color: var(--_theme---link--primary);
}
.footer_top {
  display: flex;
  gap: var(--_layout---spacing--small) var(--_layout---spacing--large);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 767px) {
  .footer_top {
    flex-direction: column;
    align-items: flex-start;
  }
}

.gallery_layer {
  position: absolute;
  z-index: 2;
  left: var(--_layout---spacing--xxsmall);
  bottom: var(--_layout---spacing--xxsmall);
}
.gallery_layer.is-thumbs {
  left: 50%;
  bottom: var(--_layout---spacing--small);
  width: 32rem;
  max-width: calc(100% - 2 * var(--_layout---spacing--small));
  transform: translateX(-50%);
}
.gallery_layer.is-end {
  left: auto;
  right: var(--_layout---spacing--xxsmall);
}
.gallery_layer.is-top {
  top: var(--_layout---spacing--xxsmall);
  bottom: auto;
}
.gallery_layer.is-edge-center {
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
.gallery_list-row {
  column-gap: var(--_layout---spacing--small);
}
@media screen and (max-width: 767px) {
  .gallery_list-row {
    column-gap: var(--_layout---spacing--xxsmall);
  }
}
.gallery_list-row.is-masonry {
  column-count: 3;
}
@media screen and (max-width: 991px) {
  .gallery_list-row.is-masonry {
    column-count: 2;
  }
}
@media screen and (max-width: 479px) {
  .gallery_list-row.is-masonry {
    column-count: 1;
  }
}
.gallery_row {
  flex: 0 0 1rem;
  height: 1rem;
  width: 1rem;
}
.gallery_slide {
  width: 45%;
}
.gallery_slide.is-auto {
  width: auto;
}
.gallery_slide.is-narrow {
  width: 22%;
}
@media screen and (max-width: 991px) {
  .gallery_slide.is-narrow {
    width: 32%;
  }
}
@media screen and (max-width: 767px) {
  .gallery_slide.is-narrow {
    width: 48%;
  }
}
@media screen and (max-width: 479px) {
  .gallery_slide.is-narrow {
    width: 70%;
  }
}
.gallery_slide.is-wide {
  width: var(--_sizes---max-width--medium);
}
.gallery_tile {
  break-inside: avoid;
}

/* ---------- hero ---------- */

.hero_content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}
.hero_content.is-center {
  text-align: center;
  align-items: center;
}
.hero_dot {
  flex: none;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--_sizes---border-radius--round);
  background-color: currentColor;
}
.hero_frame {
  border: 0.1875rem double var(--_theme---text--heading);
}
.hero_grid {
  display: grid;
  gap: var(--_layout---hero--content-gap);
  align-items: center;
  grid-template-columns: minmax(0, 1fr);
}
.hero_grid.is-bleed {
  min-height: calc(100dvh - var(--_sizes---navigation--height, 5rem));
  --_layout---hero--content-gap: 0;
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .hero_grid.is-bleed {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .hero_grid.is-bleed {
    min-height: 0;
  }
}
.hero_grid.is-bottom {
  align-items: end;
}
.hero_grid.is-center {
  justify-items: center;
}
.hero_grid.is-split {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .hero_grid.is-split {
    grid-template-columns: minmax(0, 1fr);
  }
}
.hero_grid.is-stepped {
  width: 100%;
  align-items: end;
  grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 4fr);
}
@media screen and (max-width: 479px) {
  .hero_grid.is-stepped {
    grid-template-columns: minmax(0, 1fr);
  }
}
.hero_grid.is-narrow-start {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
@media screen and (max-width: 991px) {
  .hero_grid.is-narrow-start {
    grid-template-columns: minmax(0, 1fr);
  }
}
.hero_grid.is-text-wide {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
@media screen and (max-width: 991px) {
  .hero_grid.is-text-wide {
    grid-template-columns: minmax(0, 1fr);
  }
}
.hero_media {
  position: absolute;
  width: 100%;
}
.hero_media.is-offset {
  width: 55%;
  border: 0.375rem solid var(--_theme---background--page);
  z-index: 2;
  right: 0;
  bottom: -8%;
}
.hero_media.is-top {
  width: 85%;
  border-radius: var(--_sizes---border-radius--medium);
  top: 0;
  left: 0;
}
.hero_media.is-overhang {
  width: 40%;
  border: 0.375rem solid var(--_theme---background--page);
  z-index: 2;
  left: -15%;
  bottom: 15%;
}
.hero_panel {
  display: flex;
  padding: var(--_layout---spacing--medium);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--medium);
  align-items: center;
  align-self: stretch;
  background-color: var(--_theme---background--page);
}
.hero_panel.is-flat {
  border: 0;
  border-radius: 0;
}
.hero_play {
  display: grid;
  place-items: center;
  cursor: pointer;
}
.hero_play.is-badge {
  position: absolute;
  padding: var(--_layout---spacing--xxsmall);
  transform: translate(-50%, -50%);
  border-radius: var(--_sizes---border-radius--small);
  top: 50%;
  left: 50%;
  background-color: var(--_theme---background--page);
}
.hero_play.is-fill {
  width: 100%;
  height: 100%;
  background-color: var(--_theme---background--page);
}
.hero_row {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  width: 100%;
  flex-wrap: wrap;
  align-items: center;
}
.hero_row.is-center {
  justify-content: center;
}
.hero_row.is-ruled {
  justify-content: space-between;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.hero_row.is-steps {
  gap: var(--_layout---spacing--large);
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.hero_row.is-strip {
  justify-content: space-between;
  margin-top: var(--_layout---spacing--medium);
  padding-top: var(--_layout---spacing--medium);
  padding-bottom: var(--_layout---spacing--xxsmall);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.hero_section {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  overflow: hidden;
  --_layout---hero--content-gap: var(--_layout---spacing--large);
  padding-top: calc(var(--_layout---hero--space, var(--_layout---section-padding--medium)) + var(--_sizes---navigation--height, 5rem));
  padding-bottom: var(--_layout---hero--space, var(--_layout---section-padding--medium));
}
.hero_section.is-bottom {
  display: flex;
  min-height: calc(100dvh - var(--_sizes---navigation--height, 5rem));
  --_layout---hero--space: clamp(1.5rem, 9svh, 5rem);
  --_theme---photo--wash: color-mix(in srgb,var(--_theme---background--page) 70%,transparent);
  --_theme---photo--wash-fill: linear-gradient(0deg,var(--_theme---photo--wash) 0%,var(--_theme---photo--wash) 62%,color-mix(in srgb,var(--_theme---background--page) 40%,transparent) 100%);
  flex-direction: column;
  justify-content: flex-end;
}
.hero_section.is-bottom::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--_theme---controller--scrim-fill, var(--_theme---photo--wash-fill));
}
.hero_section.is-flush {
  padding-top: 0;
  padding-bottom: 0;
}
.hero_section.is-photo {
  display: flex;
  min-height: calc(100dvh - var(--_sizes---navigation--height, 5rem));
  --_layout---hero--space: clamp(1.5rem, 9svh, 5rem);
  --_theme---photo--wash: color-mix(in srgb,var(--_theme---background--page) 70%,transparent);
  --_theme---photo--wash-fill: var(--_theme---photo--wash);
  flex-direction: column;
  justify-content: center;
}
.hero_section.is-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--_theme---controller--scrim-fill, var(--_theme---photo--wash-fill));
}
.hero_section.is-viewport {
  display: flex;
  min-height: calc(100dvh - var(--_sizes---navigation--height, 5rem));
  --_layout---hero--space: clamp(1.5rem, 9svh, 5rem);
  flex-direction: column;
  justify-content: center;
}
.hero_stat {
  display: flex;
  gap: var(--_layout---spacing--xxtiny);
  flex-direction: column;
  align-items: flex-start;
}
.hero_stat.is-center {
  align-items: center;
}
.hero_stat.is-divided {
  align-items: center;
  border-left: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.hero_stat.is-ruled {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.stat_value {
  letter-spacing: -.02em;
  text-transform: none;
  margin: 0;
  font-family: var(--font-family--heading);
  line-height: 1.05;
}
@media screen and (max-width: 991px) {
  .stat_value {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .stat_value {
    font-size: 1.75rem;
  }
}
.stat_value.is-large {
  font-weight: var(--_typography---heading--heading-font-weight);
}
@media screen and (max-width: 991px) {
  .stat_value.is-large {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .stat_value.is-large {
    font-size: 3rem;
  }
}
@media screen and (max-width: 479px) {
  .stat_value.is-large {
    font-size: 2.25rem;
  }
}
.hero_stats {
  display: grid;
  gap: var(--_layout---spacing--small);
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
}
.hero_stats.is-two-column {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.hero_stats.is-ruled {
  gap: var(--_sizes---border--width);
  background-color: var(--_theme---border--primary);
}
.hero_stats.is-narrow-start {
  gap: var(--_layout---spacing--large);
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}
@media screen and (max-width: 479px) {
  .hero_stats.is-narrow-start {
    grid-template-columns: minmax(0, 1fr);
  }
}
.hero_stats.is-ruled-top {
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.hero_stats.is-stepped {
  gap: var(--_layout---spacing--xxsmall);
  align-items: end;
  grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 4fr);
}
@media screen and (max-width: 479px) {
  .hero_stats.is-stepped {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ---------- listing-detail ---------- */

.listing-detail_block {
  height: var(--_layout---spacing--small);
  width: var(--_layout---spacing--small);
  flex-shrink: 0;
}
.listing-detail_grid {
  --_sizes---grid--min: 15rem;
  display: grid;
  gap: var(--_layout---spacing--grid-gap);
  min-width: 0;
  width: 100%;
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 3 + 1px)), 1fr));
}
@media screen and (max-width: 767px) {
  .listing-detail_grid.is-responsive {
    grid-template-columns: minmax(0, 1fr);
  }
}
.listing-detail_grid.is-three-column {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .listing-detail_grid.is-three-column {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media screen and (max-width: 479px) {
  .listing-detail_grid.is-three-column {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.listing-detail_grid.is-two-column {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 479px) {
  .listing-detail_grid.is-two-column {
    grid-template-columns: minmax(0, 1fr);
  }
}
.listing-detail_grid.is-thirds {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  .listing-detail_grid.is-thirds {
    grid-template-columns: minmax(0, 1fr);
  }
}
.listing-detail_item {
  display: flex;
  gap: var(--_layout---spacing--xxtiny);
}
.listing-detail_item.is-stack {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  flex-direction: column;
}
.listing-detail_item.is-start {
  align-items: flex-start;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.listing-detail_row {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
}
.listing-detail_row.is-center {
  align-items: center;
}
.listing-detail_row.is-spread {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  justify-content: space-between;
}
.listing-detail_row.is-tall-band {
  position: relative;
  overflow: hidden;
  min-height: 48rem;
  flex-direction: column;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .listing-detail_row.is-tall-band {
    min-height: 32rem;
  }
}
.listing-detail_stack {
  display: flex;
  gap: var(--_layout---spacing--xxtiny);
  flex-direction: column;
}
.listing-detail_stack.is-accent-line {
  border-left: 1px solid var(--_theme---border--primary);
}
.listing-detail_stack.is-divided {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.listing-detail_stack.is-ruled {
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}

.listing-detail_stack.is-half {
  flex: 1 1 0;
  min-width: 0;
}
.listing-detail_stack.is-three-fifths {
  flex: 3 1 0;
  min-width: 0;
}
@media screen and (max-width: 991px) {
  .listing-detail_stack.is-half {
    flex: 0 1 auto;
  }
}
@media screen and (max-width: 991px) {
  .listing-detail_stack.is-three-fifths {
    flex: 0 1 auto;
  }
}
.listing-detail_stack.is-inset-half {
  flex: 1 1 0;
  min-width: 0;
  justify-content: center;
  gap: var(--_layout---spacing--small);
  padding: var(--_layout---spacing--xxlarge);
}
@media screen and (max-width: 991px) {
  .listing-detail_stack.is-inset-half {
    flex: 0 1 auto;
    padding: var(--_layout---spacing--large);
  }
}
.listing-detail_stack.is-box {
  gap: var(--_layout---spacing--small);
  padding: var(--_layout---spacing--xxsmall);
  border-radius: var(--_sizes---border-radius--small);
  background-color: var(--_theme---background--page);
}
/* ---------- listings ---------- */

.listings_block {
  height: var(--_sizes---icon--small);
  position: relative;
  width: var(--_sizes---icon--small);
}
.listings_item {
  display: grid;
  gap: var(--_layout---spacing--grid-gap);
  min-width: 0;
}
.listings_item.is-autofit {
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 3 + 1px)), 1fr));
}
@media screen and (max-width: 767px) {
  .listings_item.is-autofit {
    grid-template-columns: minmax(0, 1fr);
  }
}
.listings_item.is-center {
  align-items: center;
}
@media screen and (max-width: 991px) {
  .listings_item.is-center {
    grid-template-columns: minmax(0, 1fr);
  }
}
.listings_item.is-flex {
  display: flex;
  flex-direction: column;
}
.listings_item.is-two-column {
  align-items: center;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
@media screen and (max-width: 991px) {
  .listings_item.is-two-column {
    grid-template-columns: minmax(0, 1fr);
  }
}
.listings_item.is-split {
  column-gap: var(--_layout---spacing--xxlarge);
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}
@media screen and (max-width: 767px) {
  .listings_item.is-split {
    grid-template-columns: minmax(0, 1fr);
  }
}
.listings_item.is-halves {
  display: flex;
  gap: 0;
  align-items: stretch;
}
@media screen and (max-width: 991px) {
  .listings_item.is-halves {
    flex-direction: column;
  }
}
@media screen and (max-width: 991px) {
  .listings_item.is-alternate:nth-child(even) {
    flex-direction: column;
  }
}
.listings_item.is-alternate:nth-child(even) {
  display: flex;
  flex-direction: row-reverse;
}
.listings_layer {
  position: absolute;
  text-transform: uppercase;
  z-index: 2;
  font-weight: 600;
}
.listings_layer.is-corner {
  top: var(--_layout---spacing--small);
  left: var(--_layout---spacing--small);
}
.listings_layout {
  display: grid;
  gap: var(--_layout---spacing--xxsmall);
}
.listings_layout.is-autofit {
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 4 + 1px)), 1fr));
}
.listings_layout.is-divided {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 479px) {
  .listings_layout.is-divided {
    grid-template-columns: minmax(0, 1fr);
  }
}
.listings_layout.is-table {
  grid-auto-flow: column;
  grid-template-columns: minmax(0, 2fr);
  grid-auto-columns: minmax(0, 1fr);
  column-gap: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--xtiny);
}
@media screen and (max-width: 767px) {
  .listings_layout.is-table {
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.listings_layout.is-sidebar {
  grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
  column-gap: var(--_layout---spacing--xxlarge);
  align-items: start;
}
@media screen and (max-width: 767px) {
  .listings_layout.is-sidebar {
    grid-template-columns: minmax(0, 1fr);
  }
}
.listings_layout.is-map {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--_layout---spacing--large);
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .listings_layout.is-map {
    grid-template-columns: minmax(0, 1fr);
  }
}
.listings_link {
  display: flex;
  gap: var(--_layout---spacing--xtiny);
}
.listings_link.is-center {
  align-items: center;
}
.listings_link.is-centered {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .listings_link.is-centered {
    justify-content: flex-start;
  }
}
.listings_link.is-grid {
  display: grid;
  align-items: baseline;
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 767px) {
  .listings_link.is-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.listings_link.is-ruled {
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  flex-direction: column;
}
.listings_link.is-stack {
  position: relative;
  flex-direction: column;
}
.listings_link.is-stack-alternate {
  flex-direction: column;
}
.listings_link.is-two-column {
  display: grid;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}
@media screen and (max-width: 479px) {
  .listings_link.is-two-column {
    grid-template-columns: minmax(0, 1fr);
  }
}
.listings_meta {
  border-radius: var(--_sizes---border-radius--small);
  height: var(--_layout---spacing--xxsmall);
  width: var(--_layout---spacing--xxsmall);
  flex-shrink: 0;
}
.listings_meta.is-contents {
  display: contents;
}
.listings_meta.is-inline {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
}
.listings_sidebar {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--large);
  display: flex;
  gap: var(--_layout---spacing--medium);
  position: sticky;
  flex-direction: column;
  top: var(--_sizes---navigation--height);
}

/* ---------- markets ---------- */

.markets_grid {
  --_sizes---grid--min: 15rem;
  display: grid;
  gap: var(--_layout---spacing--grid-gap);
  min-width: 0;
  width: 100%;
  column-gap: var(--_layout---spacing--medium);
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 3 + 1px)), 1fr));
}
@media screen and (max-width: 767px) {
  .markets_grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.markets_grid.is-autofit {
  position: absolute;
  bottom: var(--_layout---spacing--medium);
  left: var(--_layout---spacing--medium);
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 4 + 1px)), 1fr));
}
@media screen and (max-width: 991px) {
  .markets_grid.is-autofit {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media screen and (max-width: 479px) {
  .markets_grid.is-responsive {
    grid-template-columns: minmax(0, 1fr);
  }
}
.markets_grid.is-bento {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(8rem, auto);
  gap: var(--_layout---spacing--xtiny);
}
@media screen and (max-width: 767px) {
  .markets_grid.is-bento {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.markets_layer {
  position: absolute;
  bottom: var(--_layout---spacing--xxsmall);
  left: 1rem;
}
.markets_layer.is-flex {
  display: flex;
  align-items: center;
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-left: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-right: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: var(--_layout---spacing--small);
}
@media screen and (max-width: 767px) {
  .markets_layer.is-flex {
    align-self: flex-start;
  }
}
.markets_layout {
  display: grid;
  gap: var(--_layout---spacing--xxlarge);
  column-gap: var(--_layout---spacing--xxlarge);
  row-gap: var(--_layout---spacing--large);
}
.markets_layout.is-autofit {
  align-items: center;
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, var(--_sizes---grid--min, 15rem)), calc(100% / 3 + 1px)), 1fr));
}
@media screen and (max-width: 991px) {
  .markets_layout.is-autofit {
    grid-template-columns: minmax(0, 1fr);
  }
}
.markets_layout.is-end {
  align-items: flex-end;
}
@media screen and (max-width: 991px) {
  .markets_layout.is-end {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .markets_layout.is-end {
    grid-template-columns: minmax(0, 1fr);
  }
}
.markets_layout.is-two-column {
  align-items: flex-start;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
@media screen and (max-width: 991px) {
  .markets_layout.is-two-column {
    grid-template-columns: minmax(0, 1fr);
  }
}
.markets_layout.is-halves {
  align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .markets_layout.is-halves {
    grid-template-columns: minmax(0, 1fr);
  }
}
.markets_link {
  padding: var(--_layout---spacing--xxtiny);
  align-items: center;
  column-gap: var(--_layout---spacing--xtiny);
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
}
.markets_link.is-inline {
  display: inline-flex;
}
.map_component {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--large);
  height: clamp(22.5rem,45vw,26.25rem);
  min-height: 22.5rem;
  width: 100%;
}
@media screen and (max-width: 991px) {
  .map_component {
    aspect-ratio: 16 / 9;
  }
}
@media screen and (max-width: 479px) {
  .map_component {
    aspect-ratio: 4 / 3;
  }
}
.map_component.is-fill {
  height: 100%;
  min-height: 22.5rem;
  aspect-ratio: auto;
}
.markets_row {
  display: flex;
  align-items: center;
}
.markets_row.is-spread {
  flex-wrap: wrap;
  justify-content: space-between;
}
.markets_row.is-stretch {
  height: var(--_sizes---icon--medium);
  width: var(--_sizes---icon--medium);
  align-items: stretch;
}
.markets_stack {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  row-gap: var(--_layout---spacing--small);
}

/* ---------- nav ---------- */

.nav_caret {
  width: .625rem;
  height: .625rem;
  transform: translateY(var(--nav-caret-y, -.125rem)) rotate(var(--nav-caret-turn, 45deg));
  transition: transform .15s ease;
  border-right: .09375rem solid currentColor;
  border-bottom: .09375rem solid currentColor;
}
.nav_group {
  display: flex;
  gap: var(--_layout---spacing--medium);
  min-width: 0;
  align-items: center;
}
.nav_group.is-center {
  justify-content: center;
}
.nav_group.is-end {
  justify-content: flex-end;
}
@media screen and (min-width: 992px) {
  .nav_container.is-center-brand {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
}
.nav_group.is-label {
  gap: var(--_layout---spacing--xtiny);
  font-size: var(--_typography---font-size--text-tiny);
  font-weight: 500;
  line-height: 1.2;
}
@media screen and (max-width: 479px) {
  .nav_group.is-label {
    line-height: 1.5;
  }
}
.nav_group.is-spread {
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .nav_group.is-spread {
    justify-content: center;
  }
}
.nav_mobile {
  position: relative;
  display: none;
  flex: none;
}
@media screen and (max-width: 991px) {
  .nav_mobile {
    display: block;
    overflow-x: clip;
  }
}
@media(max-width:1100px) {
  .nav_mobile {
    display: block;
  }
}
.nav_pill {
  display: flex;
  gap: var(--_layout---spacing--xxtiny);
  padding: var(--_layout---spacing--xxtiny);
  border-radius: var(--_sizes---border-radius--button);
  align-items: center;
}
.nav_pill.is-bordered {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
}

.nav_pill.is-center {
  justify-self: center;
  gap: var(--_layout---spacing--medium);
  padding: var(--_layout---spacing--xxtiny) var(--_layout---spacing--small);
}
/* ---------- page-header ---------- */

.page-header_avatar {
  position: relative;
  flex: none;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--_sizes---border-radius--round);
  overflow: hidden;
  object-fit: cover;
}
.page-header_band {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
}
.page-header_band.is-stripe {
  height: var(--_layout---spacing--xtiny);
}
.page-header_cover {
  position: relative;
  display: flex;
  gap: var(--_layout---spacing--small);
  min-height: 32rem;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
.page-header_cover.is-start {
  align-items: flex-start;
}
.page-header_divider {
  width: 100%;
  height: 1px;
  background-color: var(--_theme---border--primary);
}
.page-header_divider.is-short {
  width: 3rem;
  flex: none;
}
.page-header_grid {
  display: grid;
  gap: var(--_layout---spacing--large);
  align-items: center;
  grid-template-columns: minmax(0, 1fr);
}
.page-header_grid.is-aside {
  align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
}
@media screen and (max-width: 991px) {
  .page-header_grid.is-aside {
    grid-template-columns: minmax(0, 1fr);
  }
}
.page-header_grid.is-center {
  justify-items: center;
}
.page-header_grid.is-split {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .page-header_grid.is-split {
    grid-template-columns: minmax(0, 1fr);
  }
}
.page-header_grid.is-split-end {
  align-items: end;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
@media screen and (max-width: 991px) {
  .page-header_grid.is-split-end {
    grid-template-columns: minmax(0, 1fr);
  }
}
.page-header_grid.is-split-wide {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
@media screen and (max-width: 991px) {
  .page-header_grid.is-split-wide {
    grid-template-columns: minmax(0, 1fr);
  }
}
.page-header_grid.is-split-flush {
  gap: 0;
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 991px) {
  .page-header_grid.is-split-flush {
    grid-template-columns: minmax(0, 1fr);
  }
}
.page-header_meta {
  display: flex;
  gap: var(--_layout---spacing--xtiny);
  flex-wrap: wrap;
  align-items: center;
}
.page-header_meta.is-between {
  justify-content: space-between;
}
.page-header_meta-dot {
  flex: none;
  width: .25rem;
  height: .25rem;
  border-radius: var(--_sizes---border-radius--round);
  opacity: .6;
  background-color: currentColor;
}
.page-header_nav-offset {
  padding-top: var(--_sizes---navigation--height, 5rem);
}
.page-header_panel {
  display: flex;
  border-radius: var(--_sizes---border-radius--medium);
  padding: var(--_layout---spacing--large);
  align-items: center;
  align-self: stretch;
}
@media screen and (max-width: 767px) {
  .page-header_panel {
    padding: var(--_layout---spacing--medium);
  }
}
.page-header_rule-fill {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
.page-header_rule-fill.is-segment {
  left: 10%;
  width: 25%;
}
.page-header_section {
  position: relative;
  isolation: isolate;
  padding-top: calc(var(--_layout---section-padding--medium) + var(--_sizes---navigation--height, 5rem));
  padding-bottom: var(--_layout---section-padding--medium);
}
.page-header_section.is-overlap-band {
  padding-bottom: calc(var(--_layout---section-padding--medium) + 8rem);
}
@media screen and (max-width: 767px) {
  .page-header_section.is-overlap-band {
    padding-bottom: calc(var(--_layout---section-padding--medium) + 3rem);
  }
}
.page-header_separator {
  color: var(--_theme---border--primary);
}
.page-header_share-link {
  display: inline-grid;
  flex: none;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: .625rem;
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--round);
}
.page-header_share-link:hover {
  color: var(--_theme---accent--primary);
  border-color: var(--_theme---text--heading);
}
.page-header_stack {
  display: flex;
  gap: var(--_layout---spacing--small);
  flex-direction: column;
}
.page-header_stack.is-center {
  text-align: center;
  align-items: center;
}
.page-header_stats {
  display: grid;
  gap: var(--_layout---spacing--grid-gap);
  width: 100%;
  min-width: 0;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  grid-template-columns: repeat(auto-fill, minmax(max(min(100%, 10rem), calc(100% / 4 + 1px)), 1fr));
}
@media screen and (max-width: 767px) {
  .page-header_stats {
    grid-template-columns: minmax(0, 1fr);
  }
}
.page-header_stats.is-thirds {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  .page-header_stats.is-thirds {
    grid-template-columns: minmax(0, 1fr);
  }
}
.page-header_tag {
  position: absolute;
  z-index: 2;
  padding: var(--_layout---spacing--xxsmall) var(--_layout---spacing--small);
  border-radius: var(--_sizes---border-radius--medium);
  bottom: var(--_layout---spacing--small);
  left: var(--_layout---spacing--small);
}
.page-header_title-block {
  display: flex;
  gap: var(--_layout---spacing--xtiny);
  flex-direction: column;
  align-items: center;
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}

.process_item {
  border: var(--_sizes---border--width) solid var(--_theme---accent--primary);
  border-radius: var(--_sizes---border-radius--small);
}
.process_number {
  border-radius: var(--_sizes---border-radius--round);
  height: var(--_sizes---icon--medium);
  z-index: 1;
  font-weight: 600;
  line-height: 1;
}
.process_number.is-grid {
  background: var(--_theme---background--page);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  display: grid;
  place-items: center;
  position: relative;
  width: var(--_sizes---icon--medium);
  align-items: center;
  border-bottom-left-radius: var(--_sizes---border-radius--button);
  border-bottom-right-radius: var(--_sizes---border-radius--button);
  border-top-left-radius: var(--_sizes---border-radius--button);
  border-top-right-radius: var(--_sizes---border-radius--button);
  font-size: var(--_typography---font-size--text-medium);
  justify-content: center;
}
.process_number.is-overlay {
  background: var(--_theme---background--page);
  box-sizing: border-box;
  color: var(--_theme---button-primary--text);
  display: none;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  position: absolute;
  white-space: normal;
  left: var(--_layout---spacing--xxsmall);
  top: var(--_layout---spacing--xxsmall);
}
@media screen and (max-width: 767px) {
  .process_number.is-overlay {
    align-self: flex-start;
  }
}
.process_sidebar {
  display: flex;
  position: sticky;
  align-self: flex-start;
  flex-direction: column;
  grid-column-gap: var(--_layout---spacing--small);
  grid-row-gap: var(--_layout---spacing--small);
  top: var(--_layout---spacing--xxlarge);
}
.process_sidebar.is-inset {
  align-items: flex-start;
}
.process_sidebar.is-ruled {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.process_step {
  display: flex;
  min-width: 0;
  flex-direction: column;
  row-gap: var(--_layout---spacing--small);
}
.process_step.is-center {
  position: relative;
  align-items: center;
  grid-column-gap: var(--_layout---spacing--xtiny);
  grid-row-gap: var(--_layout---spacing--xtiny);
}
.process_step.is-inset {
  align-items: flex-start;
  column-gap: var(--_layout---spacing--xxsmall);
}
@media screen and (max-width: 767px) {
  .process_step.is-inset {
    max-width: 100%;
  }
}
.process_step.is-ruled {
  position: relative;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  grid-column-gap: var(--_layout---spacing--xtiny);
  grid-row-gap: var(--_layout---spacing--xtiny);
}

.process_step.is-milestone {
  position: relative;
  border-top: var(--_sizes---border--width) solid var(--_theme---accent--primary);
  row-gap: var(--_layout---spacing--xtiny);
}
/* ---------- projects ---------- */

.projects_content {
  align-items: center;
}
.projects_content.is-grid {
  display: grid;
}
@media screen and (max-width: 991px) {
  .projects_content.is-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.projects_content.is-row {
  display: inline-flex;
  border-bottom-color: currentColor;
  border-bottom-style: solid;
  border-bottom-width: var(--_sizes---border--width);
}
.projects_content.is-split {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--_layout---spacing--xxlarge);
  align-items: start;
}
@media screen and (max-width: 991px) {
  .projects_content.is-split {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--_layout---spacing--large);
  }
}
.projects_layer {
  position: absolute;
  left: var(--_layout---spacing--xxsmall);
  top: var(--_layout---spacing--xxsmall);
}
.projects_layer.is-end {
  padding: var(--_layout---spacing--xtiny);
  left: auto;
  right: var(--_layout---spacing--xxsmall);
}
.projects_meta {
  border-radius: var(--_sizes---border-radius--small);
  vertical-align: middle;
}
.projects_meta-layer {
  pointer-events: none;
  position: absolute;
  left: 1rem;
}
.projects_meta-layer.is-centered {
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.projects_meta-row {
  font-weight: 500;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .projects_meta-row {
    --_theme---controller--p-bg: var(--brand--light);
    --_theme---controller--p-accent: var(--brand--accent);
    --_theme---controller--p-eyebrow: var(--brand--accent);
    --_theme---controller--p-text-heading: var(--brand--dark);
    --_theme---controller--p-text-body: color-mix(in srgb,var(--brand--dark) 85%,var(--brand--light));
    --_theme---controller--p-text-muted: color-mix(in srgb,var(--brand--dark) 75%,var(--brand--light));
    --_theme---text--heading: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-text-heading) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---text--body: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-text-body) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---text--muted: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-text-muted) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---text--eyebrow: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-eyebrow) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
    --_theme---controller--accent-ui: color(from color(from color-mix(in xyz-d65, color(from var(--_theme---controller--p-accent) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-bg) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 3.2 - 0.05)) * 100000, 1)) * min(1, (3.2 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
    --_theme---controller--on-accent: color(from color(from color-mix(in xyz-d65, color(from var(--brand--dark) xyz-d65 x y z / 1) 99%, color(from var(--_theme---controller--p-accent) xyz-d65 0 0 0 / y) 1%) xyz-d65 calc(x / max(y, 0.000001)) calc(clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1) * (clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1) * max((y * (alpha / 0.99)), (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) + (1 - clamp(0, (1 - (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)) * 100000, 1)) * max(0, ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05))) + (1 - clamp(0, ((y * (alpha / 0.99)) - ((alpha - 0.99) * 100)) * 100000, 1)) * (clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1) * min((y * (alpha / 0.99)), ((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) + (1 - clamp(0, (((((alpha - 0.99) * 100) + 0.05) / 4.7 - 0.05)) * 100000, 1)) * min(1, (4.7 * (((alpha - 0.99) * 100) + 0.05) - 0.05)))) calc(z / max(y, 0.000001)) / calc((y * (alpha / 0.99)))) xyz-d65 calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (x * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (0.95047 - x * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * x * y) y calc(clamp(0, (y - alpha - 0.000001) * 100000, 1) * (z * alpha + ((y - alpha) / max(0.000001, 1 - alpha)) * (1.08883 - z * alpha)) + (1 - clamp(0, (y - alpha - 0.000001) * 100000, 1)) * z * y) / 1);
  }
}
.projects_meta-row.is-inline {
  display: inline-flex;
  align-items: center;
}
.projects_meta-row.is-row {
  display: inline-flex;
}
.projects_meta-row.is-padded-chip {
  color: var(--_theme---text--heading);
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: var(--_layout---spacing--xxtiny);
  padding: var(--_layout---spacing--xxtiny) var(--_layout---spacing--xtiny);
  border-radius: var(--_sizes---border-radius--small);
}
.projects_panel {
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .projects_panel {
    min-width: 0;
  }
}
.projects_scroll {
  overflow-x: auto;
}
@media screen and (max-width: 767px) {
  .projects_table-frame {
    height: 1px;
    overflow: hidden;
    position: absolute;
  }
}
.projects_toggle {
  border: 0;
  cursor: pointer;
  font-weight: 500;
  background-color: transparent;
}
.projects_toggle.is-row {
  display: inline-flex;
  align-items: center;
}

/* ---------- reviews ---------- */

.reviews_avatar {
  overflow: hidden;
  flex-shrink: 0;
}
.reviews_avatar.is-round {
  border-radius: var(--_sizes---border-radius--round);
}
.reviews_bar-fill {
  width: var(--value, 0%);
  height: 100%;
  border-radius: inherit;
  background-color: var(--_theme---accent--primary);
}
.reviews_bar-row {
  display: grid;
  column-gap: var(--_layout---spacing--xxsmall);
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(0, 3fr) minmax(0, 1fr);
}
.reviews_counter {
  display: flex;
  flex: none;
  gap: var(--_layout---spacing--xtiny);
  color: var(--_theme---text--heading);
  align-items: center;
  font-size: var(--_typography---font-size--text-small);
  line-height: 1.5;
  font-weight: 500;
}
.reviews_divider {
  width: 100%;
  height: 1px;
  flex-shrink: 0;
  background-color: var(--_theme---border--primary);
}
.reviews_panel {
  overflow: hidden;
  border-radius: var(--_sizes---border-radius--large);
}
.reviews_panel.is-outline {
  padding: var(--_layout---spacing--small);
  border: var(--_sizes---border--width) solid var(--_theme---accent--primary);
}
.reviews_panel.is-center {
  max-width: var(--_sizes---container--medium);
  margin-left: auto;
  margin-right: auto;
}
.reviews_quote {
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .reviews_quote {
    max-width: 100%;
  }
}
.reviews_quote.is-center {
  margin-left: auto;
  margin-right: auto;
}
.reviews_quote-stack {
  display: flex;
  gap: var(--_layout---spacing--small);
  text-align: center;
  flex-direction: column;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
.reviews_quote-stack.is-center {
  margin-left: auto;
  margin-right: auto;
}
.reviews_slide {
  pointer-events: none;
  transition-property: opacity;
}
.reviews_stack {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  text-align: right;
  flex-direction: column;
  align-items: flex-end;
}
.reviews_thumbs {
  display: flex;
  justify-content: center;
}

/* ---------- section ---------- */

.section_about {
  position: relative;
}
.section_careers {
  position: relative;
}
.section_content {
  position: relative;
}
.section_footer {
  position: relative;
  color: var(--_theme---text--body);
  background-color: var(--_theme---background--page);
}
.section_footer.is-divided {
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.section_gallery {
  position: relative;
}
.section_intro {
  position: relative;
}
.section_listings {
  position: relative;
}
.section_markets {
  position: relative;
}
.section_navigation {
  position: absolute;
  z-index: 60;
  width: 100%;
  color: var(--_theme---text--heading);
  top: 0;
  left: 0;
  right: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.section_navigation.is-divided {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.section_navigation.is-overlay {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  background-color: color-mix(in srgb, var(--_theme---background--page) 80%, transparent);
}
.section_page-header {
  position: relative;
  isolation: isolate;
  padding-top: calc(var(--_layout---section-padding--medium) + var(--_sizes---navigation--height, 5rem));
  padding-bottom: var(--_layout---section-padding--medium);
}
.section_page-header.is-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--_theme---controller--scrim-fill, color-mix(in srgb, var(--_theme---background--page) 70%, transparent));
}
.section_page-header.is-ruled {
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.section_page-header.is-tall {
  overflow: hidden;
  display: flex;
  min-height: 30rem;
  align-items: flex-end;
}
@media screen and (max-width: 991px) {
  .section_page-header.is-tall {
    min-height: 26rem;
  }
}
@media screen and (max-width: 767px) {
  .section_page-header.is-tall {
    min-height: 24rem;
  }
}
.section_page-header.is-viewport {
  display: flex;
  min-height: calc(100dvh - var(--_sizes---navigation--height, 5rem));
  flex-direction: column;
  justify-content: center;
}
.section_page-header.is-viewport::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-color: color-mix(in srgb, var(--_theme---background--page) 70%, transparent);
}
.section_portfolio-detail {
  position: relative;
}
.section_projects {
  position: relative;
}
.section_video {
  position: relative;
}

.service-detail_item {
  display: flex;
  align-items: flex-start;
  line-height: 1.45;
}
.service-detail_item.is-block-stretch {
  display: block;
  align-items: stretch;
}
.service-detail_item.is-block-stretch::marker {
  color: var(--_theme---text--muted);
}
.service-detail_item.is-divided {
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.service-detail_item.is-stack-stretch {
  position: relative;
  align-items: stretch;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .service-detail_item.is-stack-stretch {
    flex-direction: row;
  }
}
.service-detail_item.is-ruled-row {
  align-items: center;
  column-gap: var(--_layout---spacing--small);
  padding-top: var(--_layout---spacing--xxsmall);
  padding-bottom: var(--_layout---spacing--xxsmall);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.service-detail_layout {
  display: grid;
  align-items: flex-start;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .service-detail_layout {
    grid-template-columns: minmax(0, 1fr);
  }
}
.service-detail_layout.is-middle {
  align-items: center;
}
.service-detail_list {
  display: flex;
  list-style: none;
  flex-direction: column;
}
.service-detail_list.is-spaced {
  margin: 0;
  gap: var(--_layout---spacing--xxsmall);
}
.service-detail_list.is-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--_layout---spacing--medium);
}
@media screen and (max-width: 767px) {
  .service-detail_list.is-two-column {
    grid-template-columns: minmax(0, 1fr);
  }
}
.service-detail_row {
  display: flex;
  justify-content: space-between;
}
.service-detail_row.is-wrap-center {
  align-items: center;
  flex-wrap: wrap;
}
.service-detail_sticky {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--medium);
  display: flex;
  position: sticky;
  flex-direction: column;
  top: 6rem;
}
.service-detail_sticky.is-padded {
  padding: var(--_layout---spacing--medium);
  row-gap: var(--_layout---spacing--xxsmall);
}
.service-detail_table {
  border-collapse: collapse;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .service-detail_table {
    display: block;
    width: 100%;
  }
}
.service-detail_table-cell {
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .service-detail_table-cell {
    display: block;
    width: 100%;
  }
}
.service-detail_table-cell.is-bordered {
  padding: var(--_layout---spacing--small);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  text-align: left;
}
@media screen and (max-width: 767px) {
  .service-detail_table-head {
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .service-detail_table-row {
    --_theme---text--heading: var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading));
    --_theme---text--body: var(--_theme---controller--mode-card-body, var(--_theme---text--card-body));
    --_theme---text--muted: var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted));
    --_theme---text--eyebrow: var(--_theme---controller--mode-card-eyebrow, var(--_theme---text--card-eyebrow));
    --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
    color: var(--_theme---text--body);
    border: var(--_sizes---border--width) solid var(--_theme---border--primary);
    border-radius: var(--_sizes---border-radius--medium);
    display: block;
    overflow: hidden;
    width: 100%;
    background-color: var(--_theme---background--card);
  }
}

/* ---------- services ---------- */

.services_decor {
  position: absolute;
}
.services_decor.is-stack {
  display: flex;
  flex-direction: column;
}
.services_decor.is-fill {
  inset: 0;
}
.services_decor.is-caption {
  white-space: normal;
  text-transform: uppercase;
  letter-spacing: var(--_typography---eyebrow--eyebrow-letter-spacing);
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: var(--_layout---spacing--small);
  white-space: nowrap;
}
.services_layout {
  display: grid;
  align-items: center;
}
@media screen and (max-width: 991px) {
  .services_layout {
    grid-template-columns: minmax(0, 1fr);
  }
}
.services_layout.is-split {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
@media screen and (max-width: 991px) {
  .services_layout.is-split {
    grid-template-columns: minmax(0, 1fr);
  }
}
.services_sticky {
  position: sticky;
}
@media screen and (max-width: 991px) {
  .services_sticky {
    position: relative;
  }
}
.services_sticky.is-half {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 991px) {
  .services_sticky.is-half {
    flex: 0 1 auto;
  }
}
.services_summary {
  display: -webkit-box;
  margin: 0;
  -webkit-box-orient: vertical;
  line-height: 1.6;
}
.services_tab {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  flex: none;
  white-space: nowrap;
}
.services_tab.is-block-bordered {
  border: 0;
  cursor: pointer;
  display: block;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  opacity: .6;
  transition: opacity .2s;
}
.services_tab.is-divided {
  letter-spacing: var(--_typography---eyebrow--eyebrow-letter-spacing);
  text-transform: uppercase;
  transition: background-color .2s, color .2s;
  border-bottom-color: var(--_theme---button-primary--background);
  border-bottom-style: solid;
}
.services_tab.is-pill {
  border-radius: var(--_sizes---border-radius--small);
}
.services_tab.w--current {
  border-color: var(--_theme---button-primary--background);
}
.services_tab.is-block-bordered.w--current {
  opacity: 1;
  border-top: calc(var(--_sizes---border--width) * 2) solid var(--_theme---button-primary--background);
}
.services_tab.is-fixed {
  flex: 0 0 auto;
  width: 20rem;
  white-space: normal;
}
.services_tag {
  display: inline-flex;
  gap: var(--_layout---spacing--xxtiny);
  align-items: center;
}
@supports (color: color(from red xyz-d65 x y z)) and (color: color-mix(in xyz-d65, red, blue)) and (width: calc(pow(2, 2) * 1px)) {
  .services_tag {
    --_theme---accent--primary: var(--_theme---controller--accent-ui);
  }
}
.services_tag.is-center {
  justify-content: center;
  line-height: 1;
}
.services_tag.is-boxed {
  align-self: flex-start;
  padding: var(--_layout---spacing--xxtiny) var(--_layout---spacing--xtiny);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.services_tag.is-center-bordered {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--small);
  justify-content: center;
}
.services_tag.is-chip {
  padding: var(--_layout---spacing--xxtiny) var(--_layout---spacing--xtiny);
  font-size: var(--_typography---font-size--text-tiny);
  line-height: 1.4;
}
.services_tag.is-spaced {
  margin-bottom: var(--_layout---spacing--small);
}
.services_tag.is-on-image {
  position: absolute;
  z-index: 2;
  bottom: var(--_layout---spacing--xtiny);
  left: var(--_layout---spacing--xtiny);
}
.services_tag.is-on-image-end {
  position: absolute;
  z-index: 2;
  bottom: var(--_layout---spacing--xtiny);
  right: var(--_layout---spacing--xtiny);
}
.services_tag.is-on-image-top {
  position: absolute;
  z-index: 2;
  top: var(--_layout---spacing--xtiny);
  left: var(--_layout---spacing--xtiny);
}
.services_title {
  margin: 0;
  line-height: 1.3;
}

.team_line {
  flex: 1 1 0;
  height: 1px;
  flex-grow: 1;
}
.team_meta {
  line-height: 1.5;
}
.team_meta.is-center {
  border-radius: var(--_sizes---border-radius--medium);
  color: var(--_theme---link--primary);
  display: inline-flex;
  position: relative;
  white-space: nowrap;
  z-index: 2;
  align-items: center;
  font-size: var(--_typography---font-size--text-tiny);
  font-weight: 500;
  padding-left: 0;
  padding-right: 0;
}
.team_meta.is-outline {
  aspect-ratio: 1 / 1;
  border: 1px solid var(--_theme---text--heading);
}
.team_meta.is-on-card {
  color: var(--_theme---text--heading);
}
.team_name {
  margin-block-start: var(--_layout---spacing--xxsmall);
}
.team_panel {
  border-radius: var(--_sizes---border-radius--medium);
  display: flex;
}
.team_panel.is-stack {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  align-items: flex-start;
  flex-direction: column;
  grid-column-gap: var(--_layout---spacing--xtiny);
  grid-row-gap: var(--_layout---spacing--xtiny);
}
.team_panel.is-row {
  align-items: center;
  gap: var(--_layout---spacing--small);
  padding: var(--_layout---spacing--medium);
}
.team_text {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  line-height: 1.6;
}

/* ---------- trust ---------- */

.trust_logo {
  display: flex;
  gap: var(--_layout---spacing--xxsmall);
  color: var(--_theme---text--heading);
  white-space: nowrap;
  flex-direction: row;
  align-items: center;
  font-weight: var(--_typography---heading--heading-font-weight);
}

/* ---------- utility ---------- */

.utility_code {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  color: var(--neutral--0);
  justify-content: center;
  align-items: center;
  font-family: var(--font-family--heading);
  line-height: 1;
}
.utility_code.is-inline {
  position: static;
  inset: auto;
  font-size: clamp(7rem, 20vw, 14rem);
}
.utility_result {
  display: grid;
  gap: var(--_layout---spacing--small);
  grid-template-columns: 6rem minmax(0, 1fr);
  padding-top: var(--_layout---spacing--medium);
  padding-bottom: var(--_layout---spacing--medium);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 479px) {
  .utility_result {
    gap: var(--_layout---spacing--xtiny);
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ---------- values ---------- */

.values_title {
  font-size: calc(1.375rem * var(--_theme---controller--head-fit, 1));
  line-height: 1.25;
}
@media screen and (max-width: 991px) {
  .values_title {
    font-size: calc(1.1875rem * var(--_theme---controller--head-fit, 1));
  }
}

/* ---------- video ---------- */

.video_play {
  --_sizes---media--control-size: 2.75rem;
  position: absolute;
  inset: 0;
  margin: auto;
  display: flex;
  flex: 0 0 auto;
  width: var(--_sizes---media--control-size);
  height: var(--_sizes---media--control-size);
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--round);
  background: var(--_theme---background--page);
  justify-content: center;
  align-items: center;
  line-height: 1;
}
.video_play:focus-visible {
  outline: 0.125rem solid var(--_theme---accent--primary);
  outline-offset: .25rem;
}
@media screen and (max-width: 767px) {
  .video_play {
    padding: var(--_layout---spacing--xxsmall);
  }
}
.video_play.is-inline {
  position: relative;
  inset: auto;
  margin: 0;
}
.video_player {
  position: relative;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

/* ---------- Behavior states (public/runtime/behaviors.js adds these combos on the element itself) ---------- */

.section-header_component.is-out {
  opacity: 0;
  transform: translateY(1.5rem);
}
.section-header_component.is-split.is-top-aligned {
  align-items: start;
  column-gap: var(--_layout---spacing--small);
}
.section-header_component.is-action {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  max-width: none;
  column-gap: var(--_layout---spacing--large);
  row-gap: var(--_layout---spacing--small);
}
@media screen and (max-width: 767px) {
  .section-header_component.is-action {
    flex-direction: column;
    align-items: flex-start;
  }
}
.text_block.is-out {
  opacity: 0;
  transform: translateY(1.5rem);
}
.projects_toggle.is-active {
  color: var(--_theme---link--primary);
}
.form_component.is-sending {
  opacity: .6;
  pointer-events: none;
}
.w-form-done.is-shown {
  display: block;
}
.grid_component.is-list {
  grid-template-columns: minmax(0, 1fr);
}
.grid_component.is-numbered-row {
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: var(--_layout---spacing--small);
  align-items: start;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  padding-top: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--medium);
}
.grid_component.is-index {
  align-items: center;
  column-gap: var(--_layout---spacing--small);
  padding-top: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--small);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  margin-top: calc(var(--_sizes---border--width) * -1);
  grid-template-columns: 3rem minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto;
}
@media screen and (max-width: 767px) {
  .grid_component.is-index {
    grid-template-columns: 2rem minmax(0, 1fr) auto;
  }
}
.grid_component.is-narrow-start-stretch {
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}
@media screen and (max-width: 991px) {
  .grid_component.is-narrow-start-stretch {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-ruled-band {
  align-items: center;
  column-gap: var(--_layout---spacing--large);
  row-gap: var(--_layout---spacing--xxsmall);
  padding-top: var(--_layout---spacing--medium);
  padding-bottom: var(--_layout---spacing--medium);
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  grid-template-columns: minmax(0, 1fr) minmax(0, 7fr) auto;
}
@media screen and (max-width: 767px) {
  .grid_component.is-ruled-band {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-sixths {
  gap: var(--_layout---spacing--xxtiny);
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media screen and (max-width: 991px) {
  .grid_component.is-sixths {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (max-width: 479px) {
  .grid_component.is-sixths {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.grid_component.is-aside {
  gap: var(--_layout---spacing--medium);
  align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(0, 4fr);
}
@media screen and (max-width: 991px) {
  .grid_component.is-aside {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-bento-pair {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.grid_component.is-inset-spaced {
  margin-top: var(--_layout---spacing--xxlarge);
  margin-right: var(--_layout---spacing--large);
  margin-left: var(--_layout---spacing--large);
}
@media screen and (max-width: 767px) {
  .grid_component.is-inset-spaced {
    margin-top: var(--_layout---spacing--large);
    margin-right: 0;
    margin-left: 0;
  }
}
.grid_component.is-mosaic {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 17.5rem;
  gap: var(--_layout---spacing--xxsmall);
}
.grid_component.is-mosaic-wide {
  grid-column: span 2;
}
.grid_component.is-mosaic-tall {
  grid-row: span 2;
}
@media screen and (max-width: 767px) {
  .grid_component.is-mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 9rem;
  }
}
@media screen and (max-width: 767px) {
  .grid_component.is-mosaic-wide {
    grid-column: span 2;
  }
}
.grid_component.is-hairline {
  gap: 0;
  padding-top: 1px;
  padding-left: 1px;
}
.grid_component.is-grid.is-two-wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--_layout---spacing--large);
}
@media screen and (max-width: 991px) {
  .grid_component.is-grid.is-two-wide {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-chevron-row {
  column-gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media screen and (max-width: 991px) {
  .grid_component.is-chevron-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .grid_component.is-chevron-row {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--_layout---spacing--xxsmall);
  }
}
.grid_component.is-fill {
  width: 100%;
}
.grid_component.is-row-cells {
  padding-top: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--small);
}
.grid_component.is-split-equal {
  align-items: stretch;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  .grid_component.is-split-equal {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-steps {
  gap: var(--_layout---spacing--xxsmall);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid_component.is-halves-even {
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .grid_component.is-halves-even {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-two-column {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  column-gap: var(--_layout---spacing--small);
  row-gap: var(--_layout---spacing--medium);
}
@media screen and (max-width: 767px) {
  .grid_component.is-two-column {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid_component.is-spotlight {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  min-height: 36rem;
  padding: var(--_layout---spacing--large);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .grid_component.is-spotlight {
    min-height: 28rem;
    padding: var(--_layout---spacing--small);
    align-items: flex-end;
  }
}
.grid_component.is-photo-stack {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--_layout---spacing--xxtiny);
  align-content: start;
}
@media screen and (max-width: 767px) {
  .grid_component.is-alternate:nth-child(even) {
    flex-direction: column;
  }
}
.grid_component.is-alternate:nth-child(even) {
  display: flex;
  flex-direction: row-reverse;
}
.blog_list.is-list {
  grid-template-columns: minmax(0, 1fr);
}
.row_wrap.is-list {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
}
.row_wrap.is-centered {
  justify-content: center;
}
.row_wrap.is-middle {
  align-items: center;
}
.row_wrap.is-ruled {
  padding-bottom: var(--_layout---spacing--small);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.row_component.is-list {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
}
.row_component.is-tile {
  flex-direction: column;
  justify-content: space-between;
  padding: var(--_layout---spacing--small);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.row_component.is-index {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  column-gap: var(--_layout---spacing--small);
  align-items: start;
  padding-top: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--small);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
@media screen and (max-width: 479px) {
  .row_component.is-index {
    grid-template-columns: 2rem minmax(0, 1fr);
    column-gap: var(--_layout---spacing--xxsmall);
  }
}
.row_component.is-panels {
  height: 30rem;
}
@media screen and (max-width: 767px) {
  .row_component.is-panels {
    height: auto;
    flex-direction: column;
  }
}
.row_component.is-pinned {
  margin-top: auto;
}
.row_component.is-scroll:hover {
  scrollbar-width: thin;
}
.row_component.is-scroll {
  flex-wrap: nowrap;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
  justify-content: safe center;
  align-items: flex-start;
}
.list_component.is-list {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
}
.list_component.is-left-rule {
  border-left: var(--_sizes---border--width) solid var(--_theme---accent--primary);
}
.list_component.is-end {
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .list_component.is-end {
    align-items: flex-start;
  }
}
.list_component.is-wrap-center {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.list_component.is-ruled-top {
  gap: 0;
  border-top: var(--_sizes---border--width) solid var(--_theme---border--primary);
}
.list_component.is-row-end-wrap {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
}
.list_component.is-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--_layout---spacing--medium);
}
@media screen and (max-width: 767px) {
  .list_component.is-two-column {
    grid-template-columns: minmax(0, 1fr);
  }
}
.list_component.is-middle {
  justify-content: center;
}
.list_component.is-ruled-start {
  padding-left: var(--_layout---spacing--large);
  border-left: 1px solid var(--_theme---border--primary);
}
@media screen and (max-width: 767px) {
  .list_component.is-ruled-start {
    padding-left: 0;
    border-left: 0;
  }
}
.list_component.is-bullets {
  list-style: disc;
  padding-left: var(--_layout---spacing--small);
}
.list_component.is-row-middle {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.list_component.is-row-right {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
@media screen and (max-width: 991px) {
  .list_component.is-row-right {
    justify-content: flex-start;
  }
}
.list_component.is-overlay-strip {
  --_theme---text--heading: var(--brand--white);
  --_theme---text--muted: var(--others--white-70);
  --_theme---text--accent: var(--brand--white);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: var(--_layout---spacing--xxsmall) var(--_layout---spacing--small);
  background-color: var(--others--black-70);
}
.listings_link.is-list {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
}

/* Picked, current and pressed (w--current, set by behaviors.js on the element itself) */

.nav_link.w--current {
  color: var(--_theme---link--primary);
}
.nav_dropdown-link.w--current {
  color: var(--_theme---link--primary);
}
.nav_link.is-toc {
  display: block;
  color: var(--_theme---text--body);
}
.nav_link.is-toc.w--current {
  color: var(--_theme---text--heading);
  font-weight: 600;
}
.filter_component.w--current {
  color: var(--chs-mode-card-link, var(--_theme---link--primary));
  font-weight: 600;
}
.filter_component.is-tab {
  padding: 0 var(--_layout---spacing--small);
  gap: var(--_layout---spacing--xtiny);
}
.filter_component.is-pill {
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  background-color: transparent;
}
.listings_link.w--current {
  color: var(--_theme---link--primary);
  font-weight: 600;
}
.listings_link.is-four-column {
  display: grid;
  align-items: center;
  gap: var(--_layout---spacing--medium);
  padding-top: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--small);
  border-bottom: var(--_sizes---border--width) solid var(--_theme---border--primary);
  grid-template-columns: minmax(0, 2fr) minmax(0, 5fr) minmax(0, 2fr) minmax(0, 1.5fr);
}
@media screen and (max-width: 767px) {
  .listings_link.is-four-column {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.listings_link.is-table {
  grid-auto-flow: column;
  grid-template-columns: minmax(0, 2fr);
  grid-auto-columns: minmax(0, 1fr);
  column-gap: var(--_layout---spacing--small);
  padding-top: var(--_layout---spacing--xtiny);
  padding-bottom: var(--_layout---spacing--xtiny);
}
@media screen and (max-width: 767px) {
  .listings_link.is-table {
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.markets_link.w--current {
  color: var(--_theme---link--primary);
  font-weight: 600;
}
.markets_link.is-split {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  column-gap: var(--_layout---spacing--medium);
  row-gap: var(--_layout---spacing--xxtiny);
  align-items: baseline;
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .markets_link.is-split {
    grid-template-columns: minmax(0, 1fr);
  }
}
.markets_link.is-pill {
  padding: var(--_layout---spacing--xxtiny) var(--_layout---spacing--xtiny);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--small);
}
.projects_toggle.w--current {
  color: var(--_theme---link--primary);
  font-weight: 600;
}
.projects_toggle.is-outlined {
  color: var(--_theme---text--heading);
  padding: var(--_layout---spacing--xxsmall) var(--_layout---spacing--small);
  gap: var(--_layout---spacing--xxsmall);
  border: var(--_sizes---border--width) solid var(--_theme---border--primary);
  border-radius: var(--_sizes---border-radius--small);
}
.card_component.w--current {
  border-color: var(--_theme---button-primary--background);
}
.card_component.is-split {
  display: grid;
  gap: 0;
  padding: 0;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  overflow: hidden;
}
@media screen and (max-width: 991px) {
  .card_component.is-split {
    grid-template-columns: minmax(0, 1fr);
  }
}
.card_component.is-stretch {
  align-self: stretch;
}
.card_component.is-chevron {
  border: 0;
  border-radius: 0;
  padding-right: var(--_layout---spacing--large);
  clip-path: polygon(0 0, calc(100% - var(--_layout---spacing--small)) 0, 100% 50%, calc(100% - var(--_layout---spacing--small)) 100%, 0 100%);
}
.card_component.is-split-ruled {
  display: grid;
  column-gap: var(--_layout---spacing--large);
  align-items: center;
  grid-template-columns: minmax(0, 2fr) auto minmax(0, 3fr);
}
@media screen and (max-width: 767px) {
  .card_component.is-split-ruled {
    row-gap: var(--_layout---spacing--small);
    grid-template-columns: minmax(0, 1fr);
  }
}
.card_component.is-float-start {
  position: absolute;
  left: var(--_layout---spacing--small);
  bottom: var(--_layout---spacing--small);
  max-width: 50%;
  z-index: 2;
}
.card_component.is-left-rule {
  border: 0;
  border-left: var(--_sizes---border--width) solid var(--_theme---accent--primary);
  border-radius: 0;
}
.card_component.is-banner {
  min-height: 0;
  padding: var(--_layout---spacing--large) var(--_layout---spacing--medium);
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: var(--_layout---spacing--large);
}
@media screen and (max-width: 767px) {
  .card_component.is-banner {
    flex-direction: column;
    align-items: flex-start;
    row-gap: var(--_layout---spacing--medium);
  }
}
.card_component.is-tall {
  min-height: 32rem;
}
.card_component.is-row-span {
  grid-row: span 2;
}
@media screen and (max-width: 767px) {
  .card_component.is-row-span {
    grid-row: auto;
  }
}
.card_component.is-bottom {
  justify-content: flex-end;
}
.card_component.is-dashed-center {
  border-style: dashed;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.card_component.is-floating {
  z-index: 2;
  box-shadow: 0 1.5rem 3rem color-mix(in srgb, var(--_theme---text--heading) 15%, transparent);
}
.card_component.is-equal-height {
  height: auto;
}
.card_component.is-panel {
  padding: var(--_layout---spacing--large);
  gap: var(--_layout---spacing--large);
}
@media screen and (max-width: 767px) {
  .card_component.is-panel {
    padding: var(--_layout---spacing--medium);
  }
}
.card_component.is-hairline {
  --_theme---text--heading: inherit;
  --_theme---controller--card-button: inherit;
  --_theme---controller--card-label: inherit;
  --_theme---button-secondary--text: inherit;
  --_theme---button-secondary--border: inherit;
  --_theme---background--page: inherit;
  --_theme---text--body: inherit;
  --_theme---text--muted: inherit;
  --_theme---text--eyebrow: inherit;
  --_theme---controller--accent-ink: inherit;
  border-radius: 0;
  margin-top: -1px;
  margin-left: -1px;
  padding: var(--_layout---spacing--large);
  background-color: transparent;
}
.card_component.is-tile {
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  text-align: left;
  gap: var(--_layout---spacing--medium);
  padding: var(--_layout---spacing--small);
  min-width: 14rem;
}
.card_component.is-chevron-step {
  border: 0;
  border-radius: 0;
  padding-left: calc(var(--_layout---spacing--medium) + var(--_layout---spacing--small));
  padding-right: var(--_layout---spacing--large);
  clip-path: polygon(0 0, calc(100% - var(--_layout---spacing--small)) 0, 100% 50%, calc(100% - var(--_layout---spacing--small)) 100%, 0 100%, var(--_layout---spacing--small) 50%);
}
.card_component.is-fill {
  height: 100%;
  padding: var(--_layout---spacing--large);
  justify-content: space-between;
  gap: var(--_layout---spacing--small);
}
.card_component.is-chevron.is-first {
  padding-left: calc(var(--_layout---spacing--medium) + var(--_layout---spacing--small));
}
.card_component.is-top-rule {
  border-top-width: 0.25rem;
}
.card_component.is-accent-top {
  border-top-color: var(--_theme---accent--primary);
}
.card_component.is-overlap-start {
  position: relative;
  z-index: 2;
  width: calc(100% - var(--_layout---spacing--large));
  max-width: 34rem;
  margin-top: calc(var(--_layout---spacing--xxlarge) * -1);
  margin-left: var(--_layout---spacing--medium);
  box-shadow: 0 1.5rem 3rem color-mix(in srgb, var(--_theme---text--heading) 15%, transparent);
}
.card_component.is-featured-panel {
  --_theme---text--heading: var(--_theme---button-primary--text);
  display: flex;
  flex-direction: column;
  gap: var(--_layout---spacing--large);
  padding: var(--_layout---spacing--large);
  border-radius: var(--_sizes---border-radius--medium);
  background-color: var(--_theme---accent--primary);
}
@media screen and (max-width: 767px) {
  .card_component.is-featured-panel {
    padding: var(--_layout---spacing--small);
  }
}
.card_component.is-dropdown.is-end {
  left: auto;
  right: 0;
}
.card_component.is-float-end {
  position: absolute;
  right: var(--_layout---spacing--large);
  bottom: var(--_layout---spacing--medium);
  z-index: 2;
  width: min(24rem, 45%);
  display: flex;
  flex-direction: column;
  gap: var(--_layout---spacing--small);
}
@media screen and (max-width: 767px) {
  .card_component.is-float-end {
    right: var(--_layout---spacing--xtiny);
    left: var(--_layout---spacing--xtiny);
    bottom: var(--_layout---spacing--xtiny);
    width: auto;
  }
}
.card_component.is-slide-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: var(--_layout---spacing--large);
  padding: var(--_layout---spacing--small);
}
@media screen and (max-width: 767px) {
  .card_component.is-slide-row {
    grid-template-columns: minmax(0, 1fr);
  }
}
.card_component.is-inset {
  position: relative;
  z-index: 2;
  width: min(100%, 27rem);
  flex: none;
}
.card_component.is-photo-text {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  align-self: stretch;
  gap: 0;
  padding: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .card_component.is-photo-text {
    flex-direction: column;
  }
}
.card_component.is-overlap-inline {
  position: relative;
  z-index: 2;
  flex: 1 1 0;
  min-width: 0;
  margin-left: var(--_layout---overlap--start);
  margin-right: var(--_layout---overlap--end);
  box-shadow: 0 1.5rem 3rem color-mix(in srgb, var(--_theme---text--heading) 15%, transparent);
}
@media screen and (max-width: 991px) {
  .card_component.is-overlap-inline {
    margin-top: calc(var(--_layout---spacing--large) * -1);
    width: calc(100% - var(--_layout---spacing--large));
  }
}
.card_component.is-alternate:nth-child(even) {
  margin-left: var(--_layout---spacing--large);
}
.button.is-secondary.w--current {
  color: var(--_theme---button-primary--text);
  border-color: var(--_theme---button-primary--background);
  background-color: var(--_theme---button-primary--background);
}
.badge_component:disabled {
  opacity: .4;
  cursor: default;
}

/* ===== Utilities last (Garrett 2026-11-01): a utility on an element wins over its component's same property ===== */

/* ---------- Utilities: aspect ---------- */

.aspect-ratio-square {
  aspect-ratio: 1 / 1;
}
.aspect-ratio-16-10 {
  aspect-ratio: 16 / 10;
}
.aspect-ratio-16-8 {
  aspect-ratio: 16 / 8;
}
.aspect-ratio-widescreen {
  aspect-ratio: 16 / 9;
}
.aspect-ratio-21-8 {
  aspect-ratio: 21 / 8;
}
.aspect-ratio-21-9 {
  aspect-ratio: 21 / 9;
}
.aspect-ratio-landscape {
  aspect-ratio: 3 / 2;
}
.aspect-ratio-3-4 {
  aspect-ratio: 3 / 4;
}
.aspect-ratio-4-3 {
  aspect-ratio: 4 / 3;
}
.aspect-ratio-4-5 {
  aspect-ratio: 4 / 5;
}
.aspect-ratio-5-4 {
  aspect-ratio: 5 / 4;
}

/* ---------- Utilities: background ---------- */

.background-color-accent {
  background-color: var(--_theme---accent--primary);
}
.background-color-alternate {
  --_theme---text--heading: var(--_theme---controller--mode-alt-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-alt-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-alt-muted, var(--_theme---text--card-muted));
  --_theme---text--eyebrow: var(--_theme---controller--mode-alt-eyebrow, var(--_theme---text--card-eyebrow));
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  color: var(--_theme---text--body);
  background-color: var(--_theme---background--alternate);
}
.background-color-border {
  background-color: var(--_theme---border--primary);
}
.background-color-brand {
  /* a band of brand color inside a section (nav top bars, floating cards): the look's band color and the text that
     reads on it, so it changes with every look; without a look, the brand color */
  --_theme---controller--accent-head: initial;
  --_theme---controller--card-button: initial;
  --_theme---controller--card-label: initial;
  --_theme---background--page: var(--chs-mode-panel, var(--brand--primary));
  --_theme---text--body: var(--chs-mode-panel-text, var(--brand--primary-100));
  --_theme---background--alternate: var(--brand--primary-700);
  --_theme---text--heading: var(--chs-mode-panel-text, var(--neutral--0));
  --_theme---text--muted: var(--chs-mode-panel-text, var(--brand--primary-200));
  --_theme---border--primary: var(--others--white-20);
  --_theme---accent--primary: var(--brand--accent);
  --_theme---button-primary--background: var(--brand--white);
  --_theme---button-primary--text: var(--brand--primary);
  --_theme---link--primary: var(--chs-mode-panel-text, var(--neutral--0));
  --_theme---background--icon: var(--others--white-10);
  --_theme---text--icon: var(--chs-mode-panel-text, var(--neutral--0));
  --_theme---text--eyebrow: var(--chs-mode-panel-text, var(--brand--accent-300));
  --_theme---background--card: var(--brand--primary-600);
  --_theme---button-secondary--border: var(--others--white-70);
  --_theme---button-primary--background-hover: var(--brand--primary-50);
  --_theme---button-secondary--text: var(--chs-mode-panel-text, var(--neutral--0));
  --_theme---background--overlay: var(--others--black-40);
  background-color: var(--chs-mode-panel, var(--brand--primary));
}
.background-color-button {
  background-color: var(--_theme---controller--card-button, var(--_theme---button-primary--background));
}
.background-color-card {
  --_theme---text--heading: var(--_theme---controller--mode-card-heading, var(--_theme---text--card-heading));
  --_theme---text--body: var(--_theme---controller--mode-card-body, var(--_theme---text--card-body));
  --_theme---text--muted: var(--_theme---controller--mode-card-muted, var(--_theme---text--card-muted));
  --_theme---text--eyebrow: var(--_theme---controller--mode-card-eyebrow, var(--_theme---text--card-eyebrow));
  --_theme---controller--accent-ink: var(--_theme---text--eyebrow);
  --_theme---logo--main: var(--_theme---controller--mode-card-logo-main, block);
  --_theme---logo--light: var(--_theme---controller--mode-card-logo-light, none);
  --_theme---controller--accent-head: initial;
  --_theme---controller--card-button: var(--_theme---controller--mode-card-button);
  --_theme---controller--card-label: var(--_theme---controller--mode-card-label);
  --_theme---button-secondary--text: var(--_theme---text--heading);
  --_theme---button-secondary--border: var(--_theme---text--heading);
  --_theme---background--page: var(--_theme---background--card);
  color: var(--_theme---text--body);
  background-color: var(--_theme---background--card);
}
.background-color-dark {
  --_theme---controller--card-button: initial;
  --_theme---controller--card-label: initial;
  --_theme---logo--main: none;
  --_theme---logo--light: block;
  --_theme---text--body: var(--brand--white);
  --_theme---text--heading: var(--brand--white);
  --_theme---text--muted: var(--others--white-70);
  --_theme---link--primary: var(--brand--white);
  --_theme---border--primary: var(--others--white-10);
  --_theme---background--icon: var(--others--white-10);
  color: var(--_theme---text--body);
  background-color: var(--brand--dark);
}
.background-color-icon {
  background-color: var(--_theme---background--icon);
}
.background-color-overlay {
  background-color: var(--others--black-40);
}
.background-color-page {
  background-color: var(--_theme---background--page);
}
.background-color-primary {
  background-color: var(--brand--primary);
}
.background-color-transparent {
  --_theme---text--heading: inherit;
  --_theme---text--body: inherit;
  --_theme---text--muted: inherit;
  --_theme---text--eyebrow: inherit;
  --_theme---controller--accent-ink: inherit;
  background-color: transparent;
}
.background-color-white {
  background-color: var(--brand--white);
}

/* ---------- Utilities: gap ---------- */

.gap-large {
  gap: var(--_layout---spacing--large);
}
.gap-medium {
  gap: var(--_layout---spacing--medium);
}
.gap-small {
  gap: var(--_layout---spacing--small);
}
.gap-xtiny {
  gap: var(--_layout---spacing--xtiny);
}
.gap-xxlarge {
  gap: var(--_layout---spacing--xxlarge);
}
.gap-xxsmall {
  gap: var(--_layout---spacing--xxsmall);
}
.gap-xxtiny {
  gap: var(--_layout---spacing--xxtiny);
}

/* ---------- Utilities: heading ---------- */

.heading-style-h1 {
  color: var(--_theme---text--heading);
  overflow-wrap: break-word;
  min-width: 0;
  text-wrap: balance;
  text-transform: none;
  letter-spacing: var(--_typography---heading--heading-letter-spacing);
  font-family: var(--font-family--heading);
  font-weight: var(--_typography---heading--heading-font-weight);
  margin-top: 0;
  margin-bottom: 0;
  font-size: var(--_typography---h1--h1-font-size);
  line-height: 1.12;
}
.heading-style-h2 {
  color: var(--_theme---text--heading);
  overflow-wrap: break-word;
  min-width: 0;
  text-wrap: balance;
  text-transform: none;
  letter-spacing: var(--_typography---heading--heading-letter-spacing);
  font-family: var(--font-family--heading);
  font-weight: var(--_typography---heading--heading-font-weight);
  margin-top: 0;
  margin-bottom: 0;
  font-size: var(--_typography---h2--h2-font-size);
  line-height: 1.2;
}
.heading-style-h3 {
  color: var(--_theme---text--heading);
  overflow-wrap: break-word;
  min-width: 0;
  text-wrap: balance;
  text-transform: none;
  letter-spacing: var(--_typography---heading--heading-letter-spacing);
  font-family: var(--font-family--heading);
  font-weight: var(--_typography---heading--heading-font-weight);
  margin-top: 0;
  margin-bottom: 0;
  font-size: var(--_typography---h3--h3-font-size);
  line-height: 1.2;
}
.heading-style-h4 {
  color: var(--_theme---text--heading);
  text-transform: none;
  letter-spacing: var(--_typography---heading--heading-letter-spacing);
  font-family: var(--font-family--heading);
  font-weight: var(--_typography---subheading--subheading-font-weight);
  margin-top: 0;
  margin-bottom: 0;
  font-size: var(--_typography---h4--h4-font-size);
  line-height: 1.2;
}
.heading-style-h5 {
  color: var(--_theme---text--heading);
  text-transform: none;
  letter-spacing: var(--_typography---heading--heading-letter-spacing);
  font-family: var(--font-family--heading);
  font-weight: var(--_typography---subheading--subheading-font-weight);
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.125rem;
  line-height: 1.3;
}
.heading-style-h6 {
  color: var(--_theme---text--heading);
  text-transform: none;
  letter-spacing: var(--_typography---heading--heading-letter-spacing);
  font-family: var(--font-family--heading);
  font-weight: var(--_typography---subheading--subheading-font-weight);
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.3;
}

/* ---------- Utilities: hide ---------- */

.hide {
  display: none;
}
@media screen and (max-width: 767px) {
  .hide-mobile-landscape {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .hide-tablet {
    display: none;
  }
}

/* ---------- Utilities: margin ---------- */

.margin-0 {
  margin: 0;
}
.align-center {
  margin-left: auto;
  margin-right: auto;
}
.margin-bottom-0 {
  margin-bottom: 0;
}
.margin-bottom-large {
  margin-bottom: var(--_layout---spacing--large);
}
.margin-bottom-medium {
  margin-bottom: var(--_layout---spacing--medium);
}
.margin-bottom-small {
  margin-bottom: var(--_layout---spacing--small);
}
.margin-bottom-xtiny {
  margin-bottom: var(--_layout---spacing--xtiny);
}
.margin-bottom-xxlarge {
  margin-bottom: var(--_layout---spacing--xxlarge);
}
.margin-bottom-xxsmall {
  margin-bottom: var(--_layout---spacing--xxsmall);
}
.margin-bottom-xxtiny {
  margin-bottom: var(--_layout---spacing--xxtiny);
}
.margin-horizontal-0 {
  margin-left: 0;
  margin-right: 0;
}
.margin-horizontal-large {
  margin-left: var(--_layout---spacing--large);
  margin-right: var(--_layout---spacing--large);
}
.margin-horizontal-medium {
  margin-left: var(--_layout---spacing--medium);
  margin-right: var(--_layout---spacing--medium);
}
.margin-horizontal-small {
  margin-left: var(--_layout---spacing--small);
  margin-right: var(--_layout---spacing--small);
}
.margin-horizontal-xtiny {
  margin-left: var(--_layout---spacing--xtiny);
  margin-right: var(--_layout---spacing--xtiny);
}
.margin-horizontal-xxlarge {
  margin-left: var(--_layout---spacing--xxlarge);
  margin-right: var(--_layout---spacing--xxlarge);
}
.margin-horizontal-xxsmall {
  margin-left: var(--_layout---spacing--xxsmall);
  margin-right: var(--_layout---spacing--xxsmall);
}
.margin-horizontal-xxtiny {
  margin-left: var(--_layout---spacing--xxtiny);
  margin-right: var(--_layout---spacing--xxtiny);
}
.margin-large {
  margin: var(--_layout---spacing--large);
}
.margin-left-0 {
  margin-left: 0;
}
.margin-left-large {
  margin-left: var(--_layout---spacing--large);
}
.margin-left-medium {
  margin-left: var(--_layout---spacing--medium);
}
.margin-left-small {
  margin-left: var(--_layout---spacing--small);
}
.margin-left-xtiny {
  margin-left: var(--_layout---spacing--xtiny);
}
.margin-left-xxlarge {
  margin-left: var(--_layout---spacing--xxlarge);
}
.margin-left-xxsmall {
  margin-left: var(--_layout---spacing--xxsmall);
}
.margin-left-xxtiny {
  margin-left: var(--_layout---spacing--xxtiny);
}
.margin-medium {
  margin: var(--_layout---spacing--medium);
}
.margin-right-0 {
  margin-right: 0;
}
.margin-right-large {
  margin-right: var(--_layout---spacing--large);
}
.margin-right-medium {
  margin-right: var(--_layout---spacing--medium);
}
.margin-right-small {
  margin-right: var(--_layout---spacing--small);
}
.margin-right-xtiny {
  margin-right: var(--_layout---spacing--xtiny);
}
.margin-right-xxlarge {
  margin-right: var(--_layout---spacing--xxlarge);
}
.margin-right-xxsmall {
  margin-right: var(--_layout---spacing--xxsmall);
}
.margin-right-xxtiny {
  margin-right: var(--_layout---spacing--xxtiny);
}
.margin-small {
  margin: var(--_layout---spacing--small);
}
.margin-top-0 {
  margin-top: 0;
}
.margin-top-large {
  margin-top: var(--_layout---spacing--large);
}
.margin-top-medium {
  margin-top: var(--_layout---spacing--medium);
}
.margin-top-small {
  margin-top: var(--_layout---spacing--small);
}
.margin-top-xtiny {
  margin-top: var(--_layout---spacing--xtiny);
}
.margin-top-xxlarge {
  margin-top: var(--_layout---spacing--xxlarge);
}
.margin-top-xxsmall {
  margin-top: var(--_layout---spacing--xxsmall);
}
.margin-top-xxtiny {
  margin-top: var(--_layout---spacing--xxtiny);
}
.margin-vertical-0 {
  margin-top: 0;
  margin-bottom: 0;
}
.margin-vertical-large {
  margin-top: var(--_layout---spacing--large);
  margin-bottom: var(--_layout---spacing--large);
}
.margin-vertical-medium {
  margin-top: var(--_layout---spacing--medium);
  margin-bottom: var(--_layout---spacing--medium);
}
.margin-vertical-small {
  margin-top: var(--_layout---spacing--small);
  margin-bottom: var(--_layout---spacing--small);
}
.margin-vertical-xtiny {
  margin-top: var(--_layout---spacing--xtiny);
  margin-bottom: var(--_layout---spacing--xtiny);
}
.margin-vertical-xxlarge {
  margin-top: var(--_layout---spacing--xxlarge);
  margin-bottom: var(--_layout---spacing--xxlarge);
}
.margin-vertical-xxsmall {
  margin-top: var(--_layout---spacing--xxsmall);
  margin-bottom: var(--_layout---spacing--xxsmall);
}
.margin-vertical-xxtiny {
  margin-top: var(--_layout---spacing--xxtiny);
  margin-bottom: var(--_layout---spacing--xxtiny);
}
.margin-xtiny {
  margin: var(--_layout---spacing--xtiny);
}
.margin-xxlarge {
  margin: var(--_layout---spacing--xxlarge);
}
.margin-xxsmall {
  margin: var(--_layout---spacing--xxsmall);
}
.margin-xxtiny {
  margin: var(--_layout---spacing--xxtiny);
}

/* ---------- Utilities: max ---------- */

.max-width-large {
  width: 100%;
  max-width: var(--_sizes---container--small);
}
.max-width-medium {
  width: 100%;
  max-width: var(--_sizes---max-width--large);
}
.max-width-full {
  max-width: none;
}
.max-width-small {
  width: 100%;
  max-width: var(--_sizes---max-width--medium);
}
.max-width-xlarge {
  width: 100%;
  max-width: var(--_sizes---container--medium);
}

/* ---------- Utilities: overflow ---------- */

.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}

/* ---------- Utilities: padding ---------- */

.padding-0 {
  padding: 0;
}
.padding-bottom-0 {
  padding-bottom: 0;
}
.padding-bottom-large {
  padding-bottom: var(--_layout---spacing--large);
}
.padding-bottom-medium {
  padding-bottom: var(--_layout---spacing--medium);
}
.padding-bottom-small {
  padding-bottom: var(--_layout---spacing--small);
}
.padding-bottom-xtiny {
  padding-bottom: var(--_layout---spacing--xtiny);
}
.padding-bottom-xxlarge {
  padding-bottom: var(--_layout---spacing--xxlarge);
}
.padding-bottom-xxsmall {
  padding-bottom: var(--_layout---spacing--xxsmall);
}
.padding-bottom-xxtiny {
  padding-bottom: var(--_layout---spacing--xxtiny);
}
.padding-horizontal-0 {
  padding-left: 0;
  padding-right: 0;
}
.padding-horizontal-large {
  padding-left: var(--_layout---spacing--large);
  padding-right: var(--_layout---spacing--large);
}
.padding-horizontal-medium {
  padding-left: var(--_layout---spacing--medium);
  padding-right: var(--_layout---spacing--medium);
}
.padding-horizontal-small {
  padding-left: var(--_layout---spacing--small);
  padding-right: var(--_layout---spacing--small);
}
.padding-horizontal-xtiny {
  padding-left: var(--_layout---spacing--xtiny);
  padding-right: var(--_layout---spacing--xtiny);
}
.padding-horizontal-xxlarge {
  padding-left: var(--_layout---spacing--xxlarge);
  padding-right: var(--_layout---spacing--xxlarge);
}
.padding-horizontal-xxsmall {
  padding-left: var(--_layout---spacing--xxsmall);
  padding-right: var(--_layout---spacing--xxsmall);
}
.padding-horizontal-xxtiny {
  padding-left: var(--_layout---spacing--xxtiny);
  padding-right: var(--_layout---spacing--xxtiny);
}
.padding-large {
  padding: var(--_layout---spacing--large);
}
.padding-left-0 {
  padding-left: 0;
}
.padding-left-large {
  padding-left: var(--_layout---spacing--large);
}
.padding-left-medium {
  padding-left: var(--_layout---spacing--medium);
}
.padding-left-small {
  padding-left: var(--_layout---spacing--small);
}
.padding-left-xtiny {
  padding-left: var(--_layout---spacing--xtiny);
}
.padding-left-xxlarge {
  padding-left: var(--_layout---spacing--xxlarge);
}
.padding-left-xxsmall {
  padding-left: var(--_layout---spacing--xxsmall);
}
.padding-left-xxtiny {
  padding-left: var(--_layout---spacing--xxtiny);
}
.padding-medium {
  padding: var(--_layout---spacing--medium);
}
.padding-right-0 {
  padding-right: 0;
}
.padding-right-large {
  padding-right: var(--_layout---spacing--large);
}
.padding-right-medium {
  padding-right: var(--_layout---spacing--medium);
}
.padding-right-small {
  padding-right: var(--_layout---spacing--small);
}
.padding-right-xtiny {
  padding-right: var(--_layout---spacing--xtiny);
}
.padding-right-xxlarge {
  padding-right: var(--_layout---spacing--xxlarge);
}
.padding-right-xxsmall {
  padding-right: var(--_layout---spacing--xxsmall);
}
.padding-right-xxtiny {
  padding-right: var(--_layout---spacing--xxtiny);
}
.padding-small {
  padding: var(--_layout---spacing--small);
}
.padding-top-0 {
  padding-top: 0;
}
.padding-top-large {
  padding-top: var(--_layout---spacing--large);
}
.padding-top-medium {
  padding-top: var(--_layout---spacing--medium);
}
.padding-top-small {
  padding-top: var(--_layout---spacing--small);
}
.padding-top-xtiny {
  padding-top: var(--_layout---spacing--xtiny);
}
.padding-top-xxlarge {
  padding-top: var(--_layout---spacing--xxlarge);
}
.padding-top-xxsmall {
  padding-top: var(--_layout---spacing--xxsmall);
}
.padding-top-xxtiny {
  padding-top: var(--_layout---spacing--xxtiny);
}
.padding-vertical-0 {
  padding-top: 0;
  padding-bottom: 0;
}
.padding-vertical-large {
  padding-top: var(--_layout---spacing--large);
  padding-bottom: var(--_layout---spacing--large);
}
.padding-vertical-medium {
  padding-top: var(--_layout---spacing--medium);
  padding-bottom: var(--_layout---spacing--medium);
}
.padding-vertical-small {
  padding-top: var(--_layout---spacing--small);
  padding-bottom: var(--_layout---spacing--small);
}
.padding-vertical-xtiny {
  padding-top: var(--_layout---spacing--xtiny);
  padding-bottom: var(--_layout---spacing--xtiny);
}
.padding-vertical-xxlarge {
  padding-top: var(--_layout---spacing--xxlarge);
  padding-bottom: var(--_layout---spacing--xxlarge);
}
.padding-vertical-xxsmall {
  padding-top: var(--_layout---spacing--xxsmall);
  padding-bottom: var(--_layout---spacing--xxsmall);
}
.padding-vertical-xxtiny {
  padding-top: var(--_layout---spacing--xxtiny);
  padding-bottom: var(--_layout---spacing--xxtiny);
}
.padding-xtiny {
  padding: var(--_layout---spacing--xtiny);
}
.padding-xxlarge {
  padding: var(--_layout---spacing--xxlarge);
}
.padding-xxsmall {
  padding: var(--_layout---spacing--xxsmall);
}
.padding-xxtiny {
  padding: var(--_layout---spacing--xxtiny);
}

/* ---------- Utilities: text ---------- */

.text-align-center {
  text-align: center;
}
.text-align-left {
  text-align: left;
}
.text-align-right {
  text-align: right;
}
.text-size-large {
  font-size: var(--_typography---font-size--text-large);
  line-height: 1.6;
}
.text-size-medium {
  font-size: var(--_typography---font-size--text-medium);
  line-height: 1.6;
}
.text-size-regular {
  font-size: var(--_typography---font-size--text-regular);
  line-height: 1.6;
}
.text-size-small {
  font-size: var(--_typography---font-size--text-small);
  line-height: 1.5;
}
.text-size-tiny {
  font-size: var(--_typography---font-size--text-tiny);
  line-height: 1.5;
}
.text-style-allcaps {
  letter-spacing: var(--_typography---eyebrow--eyebrow-letter-spacing);
  text-transform: uppercase;
}
.text-style-eyebrow {
  color: var(--_theme---text--eyebrow);
  letter-spacing: var(--_typography---eyebrow--eyebrow-letter-spacing);
  text-transform: uppercase;
  font-family: var(--font-family--body);
  line-height: 1.4;
  font-weight: var(--_typography---interface--interface-font-weight);
  font-size: var(--eyebrow-size, var(--_typography---font-size--text-tiny));
}
.text-style-inherit {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
.text-style-italic {
  font-style: italic;
}
.text-style-link {
  color: var(--_theme---link--primary);
  text-decoration: underline;
}
.text-style-nowrap {
  white-space: nowrap;
}
.text-style-underline {
  text-decoration: underline;
  text-underline-offset: 0.18em;
  text-decoration-color: var(--_theme---accent--primary);
  text-decoration-thickness: 0.08em;
}
.text-weight-bold {
  font-weight: 700;
}
.text-weight-heading {
  font-weight: var(--_typography---heading--heading-font-weight);
}
.text-weight-medium {
  font-weight: 500;
}
.text-weight-normal {
  font-weight: var(--_typography---body--body-font-weight);
}
.text-weight-semibold {
  font-weight: 600;
}
.text-weight-xbold {
  font-weight: var(--_typography---display--display-font-weight);
}

/* ---------- Utilities: z ---------- */

.z-index-1 {
  z-index: 1;
}
.z-index-2 {
  z-index: 2;
}

/* ---------- Utilities: text color last (an element's text-color-* wins over the color a text or heading style sets) ---------- */

.text-color-accent {
  color: var(--_theme---accent--primary);
}
.text-color-body {
  color: var(--_theme---text--body);
}
.text-color-heading {
  color: var(--_theme---text--heading);
}
.text-color-inverse-muted {
  color: color-mix(in srgb, var(--brand--white) 85%, transparent);
}
.text-color-muted {
  opacity: .7;
  color: var(--_theme---text--body);
}
.text-color-white {
  color: var(--brand--white);
}
.text-color-white-muted {
  color: var(--others--white-70);
}
