/*
Theme Name: Thrive 2026
Theme URI: https://thrivescholars.org/
Template: twentytwentyone
Author: Nico del Castillo
Author URI: https://nicodelcastillo.com/
Description: Custom Thrive Scholars theme based on default 2021 theme.
Requires at least: WordPress 4.9.6
Version: 0.24
License: GNU General Public License v2 or later
--------------------------------------------------------------*/
/*** Resets ***/
html,
body {
  margin: 0;
  padding: 0;
}
.post-thumbnail,
.entry-content .wp-audio-shortcode,
.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator),
*[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator),
.default-max-width {
  max-width: unset;
  margin-left: unset;
  margin-right: unset;
}
.screen-reader-text {
  display: none;
}
.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
  background: transparent;
}
.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
  text-decoration-thickness: 0px;
}
.wp-block-cover,
.wp-block-cover-image {
  background-color: unset;
}
.site .button:focus,
button:focus,
input[type=submit]:focus,
input[type=reset]:focus,
.wp-block-search .wp-block-search__button:focus,
.wp-block-button .wp-block-button__link:focus,
.wp-block-file a.wp-block-file__button:focus {
  outline: 1px solid rgba(240, 78, 35, 0.5);
  outline-offset: 2px;
}
.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
  text-decoration: none;
  color: #000;
}
button:not(:hover):not(:active):not(.has-background):not(.cookie-notice__btn) {
  background-color: transparent;
  color: var(--global--color-primary);
}
/*** Fonts ***/
@font-face {
  font-family: 'Switzer';
  src: url('css/fonts/Switzer-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('css/fonts/Switzer-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Switzer';
  src: url('css/fonts/Switzer-Semibold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'GeneralSans';
  src: url('css/fonts/GeneralSans-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'GeneralSans';
  src: url('css/fonts/GeneralSans-Semibold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
body {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
}
/*** Color Palette ***/
.bg-parchment {
  background-color: #F7F1E5;
}
.bg-parchment-light {
  background-color: #f3ebd9;
}
.bg-light-border {
  background-color: #E6E0D2;
}
.bg-parchment-deep {
  background-color: #EAE0CA;
}
.bg-ink {
  background-color: #1E2A4A;
}
.bg-ember {
  background-color: #f04e23;
}
.bg-amber {
  background-color: #F2A33C;
}
.bg-midnight {
  background-color: #131C33;
}
.bg-sky {
  background-color: #6FB2D6;
}
.bg-lake {
  background-color: #2F7FA6;
}
.bg-blue {
  background-color: #1A5B9E;
}
.bg-paper {
  background-color: #FFFFFF;
}
.color-parchment {
  color: #F7F1E5;
}
.color-light-border {
  color: #E6E0D2;
}
.color-parchment-deep {
  color: #EAE0CA;
}
.color-ink {
  color: #1E2A4A;
}
.color-ember {
  color: #f04e23;
}
.color-amber {
  color: #F2A33C;
}
.color-midnight {
  color: #131C33;
}
.color-sky {
  color: #6FB2D6;
}
.color-lake {
  color: #2F7FA6;
}
.color-blue {
  color: #1A5B9E;
}
.color-paper {
  color: #FFFFFF;
}
.has-ember-color {
  color: #f04e23;
}
.has-ember-background-color {
  background-color: #f04e23;
}
.has-amber-color {
  color: #F2A33C;
}
.has-amber-background-color {
  background-color: #F2A33C;
}
.has-sky-color {
  color: #6FB2D6;
}
.has-sky-background-color {
  background-color: #6FB2D6;
}
.has-lake-color {
  color: #2F7FA6;
}
.has-lake-background-color {
  background-color: #2F7FA6;
}
.has-blue-color {
  color: #1A5B9E;
}
.has-blue-background-color {
  background-color: #1A5B9E;
}
.has-paper-color {
  color: #FFFFFF;
}
.has-paper-background-color {
  background-color: #FFFFFF;
}
.has-parchment-color {
  color: #F7F1E5;
}
.has-parchment-background-color {
  background-color: #F7F1E5;
}
.has-midnight-color {
  color: #131C33;
}
.has-midnight-background-color {
  background-color: #131C33;
}
.has-ink-color {
  color: #1E2A4A;
}
.has-ink-background-color {
  background-color: #1E2A4A;
}
.bg-fadeout {
  background: var(--page-hero-scrim);
}
.block-shadow-ink {
  position: relative;
  isolation: isolate;
}
.block-shadow-ink > img {
  border-radius: 12px;
  overflow: hidden;
  display: block;
}
.block-shadow-ink:after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  background-color: #1E2A4A;
  z-index: -1;
  pointer-events: none;
}
.block-shadow-ember {
  position: relative;
  isolation: isolate;
}
.block-shadow-ember > img {
  border-radius: 12px;
  overflow: hidden;
  display: block;
}
.block-shadow-ember:after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  background-color: #f04e23;
  z-index: -1;
  pointer-events: none;
}
.block-shadow-amber {
  position: relative;
  isolation: isolate;
}
.block-shadow-amber > img {
  border-radius: 12px;
  overflow: hidden;
  display: block;
}
.block-shadow-amber:after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  background-color: #F2A33C;
  z-index: -1;
  pointer-events: none;
}
.block-shadow-sky {
  position: relative;
  isolation: isolate;
}
.block-shadow-sky > img {
  border-radius: 12px;
  overflow: hidden;
  display: block;
}
.block-shadow-sky:after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  background-color: #6FB2D6;
  z-index: -1;
  pointer-events: none;
}
.block-shadow-lake {
  position: relative;
  isolation: isolate;
}
.block-shadow-lake > img {
  border-radius: 12px;
  overflow: hidden;
  display: block;
}
.block-shadow-lake:after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  background-color: #2F7FA6;
  z-index: -1;
  pointer-events: none;
}
.block-shadow-blue {
  position: relative;
  isolation: isolate;
}
.block-shadow-blue > img {
  border-radius: 12px;
  overflow: hidden;
  display: block;
}
.block-shadow-blue:after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  background-color: #1A5B9E;
  z-index: -1;
  pointer-events: none;
}
.block-shadow-paper {
  position: relative;
  isolation: isolate;
}
.block-shadow-paper > img {
  border-radius: 12px;
  overflow: hidden;
  display: block;
}
.block-shadow-paper:after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  background-color: #FFFFFF;
  z-index: -1;
  pointer-events: none;
}
.block-shadow-parchment {
  position: relative;
  isolation: isolate;
}
.block-shadow-parchment > img {
  border-radius: 12px;
  overflow: hidden;
  display: block;
}
.block-shadow-parchment:after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  background-color: #F7F1E5;
  z-index: -1;
  pointer-events: none;
}
.block-shadow-midnight {
  position: relative;
  isolation: isolate;
}
.block-shadow-midnight > img {
  border-radius: 12px;
  overflow: hidden;
  display: block;
}
.block-shadow-midnight:after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  background-color: #131C33;
  z-index: -1;
  pointer-events: none;
}
.square-shadow-ink {
  position: relative;
  isolation: isolate;
  overflow: visible;
}
.square-shadow-ink::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  border: 5px solid #1E2A4A;
  box-sizing: border-box;
  background: transparent;
  pointer-events: none;
  z-index: -1;
}
.square-shadow-ember {
  position: relative;
  isolation: isolate;
  overflow: visible;
}
.square-shadow-ember::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  border: 5px solid #f04e23;
  box-sizing: border-box;
  background: transparent;
  pointer-events: none;
  z-index: -1;
}
.square-shadow-amber {
  position: relative;
  isolation: isolate;
  overflow: visible;
}
.square-shadow-amber::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  border: 5px solid #F2A33C;
  box-sizing: border-box;
  background: transparent;
  pointer-events: none;
  z-index: -1;
}
.square-shadow-sky {
  position: relative;
  isolation: isolate;
  overflow: visible;
}
.square-shadow-sky::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  border: 5px solid #6FB2D6;
  box-sizing: border-box;
  background: transparent;
  pointer-events: none;
  z-index: -1;
}
.square-shadow-lake {
  position: relative;
  isolation: isolate;
  overflow: visible;
}
.square-shadow-lake::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  border: 5px solid #2F7FA6;
  box-sizing: border-box;
  background: transparent;
  pointer-events: none;
  z-index: -1;
}
.square-shadow-blue {
  position: relative;
  isolation: isolate;
  overflow: visible;
}
.square-shadow-blue::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  border: 5px solid #1A5B9E;
  box-sizing: border-box;
  background: transparent;
  pointer-events: none;
  z-index: -1;
}
.square-shadow-paper {
  position: relative;
  isolation: isolate;
  overflow: visible;
}
.square-shadow-paper::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  border: 5px solid #FFFFFF;
  box-sizing: border-box;
  background: transparent;
  pointer-events: none;
  z-index: -1;
}
.square-shadow-parchment {
  position: relative;
  isolation: isolate;
  overflow: visible;
}
.square-shadow-parchment::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  border: 5px solid #F7F1E5;
  box-sizing: border-box;
  background: transparent;
  pointer-events: none;
  z-index: -1;
}
.square-shadow-midnight {
  position: relative;
  isolation: isolate;
  overflow: visible;
}
.square-shadow-midnight::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(20px, 20px);
  border: 5px solid #131C33;
  box-sizing: border-box;
  background: transparent;
  pointer-events: none;
  z-index: -1;
}
.left-border-ink {
  border-left: 5px solid #1E2A4A;
  padding: 0 2em 0 1em;
}
.left-border-ember {
  border-left: 5px solid #f04e23;
  padding: 0 2em 0 1em;
}
.left-border-amber {
  border-left: 5px solid #F2A33C;
  padding: 0 2em 0 1em;
}
.left-border-sky {
  border-left: 5px solid #6FB2D6;
  padding: 0 2em 0 1em;
}
.left-border-lake {
  border-left: 5px solid #2F7FA6;
  padding: 0 2em 0 1em;
}
.left-border-blue {
  border-left: 5px solid #1A5B9E;
  padding: 0 2em 0 1em;
}
.left-border-paper {
  border-left: 5px solid #FFFFFF;
  padding: 0 2em 0 1em;
}
.left-border-parchment {
  border-left: 5px solid #F7F1E5;
  padding: 0 2em 0 1em;
}
.left-border-midnight {
  border-left: 5px solid #131C33;
  padding: 0 2em 0 1em;
}
.wp-block-group:not(.left-border-group) .left-border-ink h3,
.wp-block-group:not(.left-border-group) .left-border-ember h3,
.wp-block-group:not(.left-border-group) .left-border-amber h3,
.wp-block-group:not(.left-border-group) .left-border-sky h3,
.wp-block-group:not(.left-border-group) .left-border-lake h3,
.wp-block-group:not(.left-border-group) .left-border-blue h3,
.wp-block-group:not(.left-border-group) .left-border-paper h3,
.wp-block-group:not(.left-border-group) .left-border-parchment h3,
.wp-block-group:not(.left-border-group) .left-border-midnight h3,
.wp-block-group:not(.left-border-group) .left-border-ink h4,
.wp-block-group:not(.left-border-group) .left-border-ember h4,
.wp-block-group:not(.left-border-group) .left-border-amber h4,
.wp-block-group:not(.left-border-group) .left-border-sky h4,
.wp-block-group:not(.left-border-group) .left-border-lake h4,
.wp-block-group:not(.left-border-group) .left-border-blue h4,
.wp-block-group:not(.left-border-group) .left-border-paper h4,
.wp-block-group:not(.left-border-group) .left-border-parchment h4,
.wp-block-group:not(.left-border-group) .left-border-midnight h4 {
  padding: 0;
  margin: 0;
  line-height: 1.5em;
}
.wp-block-group:not(.left-border-group) .left-border-ink p,
.wp-block-group:not(.left-border-group) .left-border-ember p,
.wp-block-group:not(.left-border-group) .left-border-amber p,
.wp-block-group:not(.left-border-group) .left-border-sky p,
.wp-block-group:not(.left-border-group) .left-border-lake p,
.wp-block-group:not(.left-border-group) .left-border-blue p,
.wp-block-group:not(.left-border-group) .left-border-paper p,
.wp-block-group:not(.left-border-group) .left-border-parchment p,
.wp-block-group:not(.left-border-group) .left-border-midnight p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.2;
  margin: 0.5em 0 0;
}
/*** Variables ***/
:root {
  --color-ember: #f04e23;
  --color-amber: #F2A33C;
  --color-sky: #6FB2D6;
  --color-lake: #2F7FA6;
  --color-blue: #1A5B9E;
  --color-paper: #FFFFFF;
  --color-parchment: #F7F1E5;
  --color-parchment-deep: #EAE0CA;
  --color-midnight: #131C33;
  --color-ink: #1E2A4A;
  --global--color-background: var(--global--color-white);
  --text-body-small: 14px;
  --text-body-medium: 16px;
  --text-body-large: 18px;
  --text-body-xlarge: 20px;
  --text-body-xxlarge: 22px;
  --text-body-xxxlarge: 24px;
  --text-body-xxxxlarge: 26px;
  --text-body-xxxxxlarge: 28px;
  --nav-height: 88px;
  --journey-step: 14px;
  --journey-tilt: 0.55deg;
  --journey-frame: 7px;
  --radius-panel: 12px;
  --journey-inner-radius: calc(var(--radius-panel) - var(--journey-frame));
  --shadow-card-lift: 0 18px 40px -18px rgba(19, 28, 51, 0.45);
  --duration-reveal: 700ms;
  --easing-reveal: cubic-bezier(0.16, 1, 0.3, 1);
  --btn-arrow-shift: 4px;
  --stat-num-size: clamp(2.25rem, 3.6vw, 3rem);
  --stat-rule-width: 5px;
  --stat-rule-gap: 20px;
  --rail-mark: 5px;
  --rail-mark-length: 50px;
  --stage-disc-size: 36px;
  --plated-ratio: 5 / 4;
  --plated-max: 420px;
  --plated-offset: 1rem;
  --page-hero-scrim: linear-gradient(to top, color-mix(in srgb, var(--color-midnight) 88%, transparent) 0%, color-mix(in srgb, var(--color-midnight) 62%, transparent) 55%, color-mix(in srgb, var(--color-midnight) 34%, transparent) 100%);
  /* Cube pit — design component tokens */
  --cube-pit-height: 200px;
  --cube-pit-height-compact: 120px;
  --cube-pit-gap: 32px;
  --cube-pit-cursor-radius: 30px;
  --cube-shape-1: #f04e23;
  --cube-shape-2: #F2A33C;
  --cube-shape-3: #2F7FA6;
  --cube-shape-4: #EAE0CA;
  --cube-shape-5: #1A5B9E;
  --cube-shape-6: #131C33;
}
/* Layout */
/* Responsive Breakpoints
   Mobile → tablet → laptop → desktop (fluid to @content-max) → desktop-xl (full content width fits)
*/
/* iPad */
/* LESS Mixins
 --------------------*/
.container {
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 1025px) {
  .container {
    max-width: 1440px;
  }
}
.container .inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1440px;
  padding: 0 50px;
  box-sizing: border-box;
}
.button {
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.square-period:after {
  content: "▪";
  display: inline-block;
  position: relative;
  top: 0.25em;
  font-size: 0.75em;
  margin: 0 0.05em;
  color: #f04e23;
}
/*** Header ***/
.eyebrow {
  position: relative;
  background-color: #131C33;
  padding: 0.5em 3.25em;
  text-align: center;
}
.eyebrow[hidden] {
  display: none;
}
.eyebrow p,
.eyebrow a {
  color: #F7F1E5;
  font-size: var(--text-body-small);
  font-family: 'GeneralSans', sans-serif;
  font-weight: 500;
}
.eyebrow p {
  margin: 0;
}
.eyebrow__inner {
  max-width: 1440px;
  margin: 0 auto;
}
.eyebrow__close {
  position: absolute;
  top: 50%;
  right: 0.25em;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: #FFFFFF;
  opacity: 0.7;
  cursor: pointer;
  transform: translateY(-50%);
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.eyebrow__close:hover,
.eyebrow__close:focus {
  opacity: 1;
}
.eyebrow__close i {
  color: #FFFFFF;
  font-size: 1rem;
  line-height: 1;
}
html.eyebrow-dismissed .eyebrow {
  display: none;
}
html.eyebrow-preview .eyebrow,
html.eyebrow-preview .eyebrow[hidden] {
  display: block;
}
#masthead {
  border-bottom: 1px solid #E6E0D2;
  position: relative;
  z-index: 70;
  background: #FFFFFF;
}
@media screen and (min-width: 769px) {
  #masthead {
    position: sticky;
    top: 0;
  }
}
@media screen and (min-width: 769px) {
  .admin-bar #masthead {
    top: var(--wp-admin--admin-bar--height, 32px);
  }
}
#masthead .site-header {
  padding: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 1025px) {
  #masthead .site-header {
    max-width: 1440px;
  }
}
#masthead .site-header .inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1440px;
  padding: 0 50px;
  box-sizing: border-box;
}
#masthead .site-header .nav-external-icon {
  display: inline-block;
  margin-left: 0.3em;
  font-size: 0.9em;
  line-height: 1;
  vertical-align: -0.08em;
}
#masthead .site-header .inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 1.5em;
  padding: 1em 50px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #masthead .site-header .inner {
    padding: 0.75em 1.25em;
    gap: 0.75em;
  }
}
#masthead .site-header .site-branding {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  flex-shrink: 0;
}
@media screen and (min-width: 1025px) {
}
#masthead .site-header .site-branding .site-logo {
  margin: 0;
}
#masthead .site-header .site-branding .site-logo img {
  width: 150px;
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  #masthead .site-header .site-branding .site-logo img {
    width: 120px;
  }
}
#masthead .site-header .site-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5em;
  flex-shrink: 0;
}
#masthead .site-header .site-actions .site-actions__search {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  color: #1E2A4A;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#masthead .site-header .site-actions .site-actions__search i {
  font-size: 1.25em;
  line-height: 1;
}
#masthead .site-header .site-actions .site-actions__search:hover,
#masthead .site-header .site-actions .site-actions__search:focus {
  color: #f04e23;
}
@media screen and (max-width: 768px) {
  #masthead .site-header .site-actions .site-actions__search {
    display: none;
  }
}
#masthead .site-header .site-actions .site-actions__portal {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 0.9375rem;
  color: #1E2A4A;
  text-decoration: none;
  padding: 0 0.35em;
  white-space: nowrap;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#masthead .site-header .site-actions .site-actions__portal:hover,
#masthead .site-header .site-actions .site-actions__portal:focus {
  color: #f04e23;
}
@media screen and (max-width: 768px) {
  #masthead .site-header .site-actions .site-actions__portal {
    display: none;
  }
}
#masthead .site-header .site-actions .site-actions__apply {
  padding: 9px 15px;
  font-size: 15px;
  white-space: nowrap;
  color: #FFFFFF;
}
#masthead .site-header .nav-toggle {
  display: none;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: #1E2A4A;
  cursor: pointer;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  #masthead .site-header .nav-toggle {
    display: grid;
  }
}
#masthead .site-header .nav-toggle .nav-toggle__icon {
  font-size: 1.35em;
  line-height: 1;
}
#masthead .site-header .nav-toggle .nav-toggle__icon--close {
  display: none;
}
#masthead .site-header .nav-toggle[aria-expanded="true"] .nav-toggle__icon--open {
  display: none;
}
#masthead .site-header .nav-toggle[aria-expanded="true"] .nav-toggle__icon--close {
  display: block;
}
#masthead .site-header .site-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 1em;
  flex: 1 1 auto;
  min-width: 0;
}
#masthead .site-header .site-nav .site-nav__utilities {
  display: none;
}
#masthead .site-header .site-nav .nav-item__row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.15em;
}
#masthead .site-header .site-nav .nav-item__toggle {
  display: none;
  place-items: center;
  width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: #1E2A4A;
  cursor: pointer;
  flex-shrink: 0;
}
#masthead .site-header .site-nav .nav-item__toggle i {
  font-size: 0.85em;
  line-height: 1;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#masthead .site-header .site-nav .nav-item__toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}
#masthead .site-header .site-nav .nav-item {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
}
#masthead .site-header .site-nav .nav-item .nav-item__row > a {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-medium);
  text-decoration: none;
  color: #1E2A4A;
  padding: 0;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#masthead .site-header .site-nav .nav-item.has-children .nav-item__row > a:after {
  content: '\25be';
  display: inline-block;
  font-size: var(--text-body-small);
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  padding-left: 0.25em;
}
#masthead .site-header .site-nav .nav-item:hover .nav-item__row > a,
#masthead .site-header .site-nav .nav-item.is-open .nav-item__row > a {
  color: #f04e23;
}
#masthead .site-header .site-nav .nav-item:hover .nav-item__row > a:after,
#masthead .site-header .site-nav .nav-item.is-open .nav-item__row > a:after {
  transform: rotate(180deg);
}
#masthead .site-header .site-nav .nav-item .submenu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  margin: 0;
  border-top: 12px solid transparent;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  width: max-content;
  min-width: 14em;
  max-width: calc(100vw - 3em);
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  border-radius: 14px;
  background: #F7F1E5;
  background-clip: padding-box;
  box-shadow: none;
  filter: drop-shadow(0 4px 14px rgba(19, 28, 51, 0.14)) drop-shadow(0 1px 2px rgba(19, 28, 51, 0.1));
}
#masthead .site-header .site-nav .nav-item .submenu ul.submenu-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.15em;
  margin: 0;
  padding: 0.75em;
  width: auto;
  min-width: max-content;
  box-sizing: border-box;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__toggle {
  display: none;
  place-items: center;
  width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: #1E2A4A;
  cursor: pointer;
  flex-shrink: 0;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__toggle i {
  font-size: 0.85em;
  line-height: 1;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__row > a {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.75em;
  width: 100%;
  box-sizing: border-box;
  padding: 0.75em;
  border-radius: 10px;
  text-decoration: none;
  color: #1E2A4A;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 500;
  font-size: var(--text-body-small);
  white-space: nowrap;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__row > a i[class*="ph-"] {
  flex-shrink: 0;
  margin-top: 0.1em;
  font-size: 1.25em;
  line-height: 1;
  color: #1E2A4A;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__row > a .submenu-rail__title {
  flex: 0 1 auto;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__row > a .submenu-rail__title .nav-external-icon {
  font-size: 0.95em;
  margin-top: 0;
  margin-left: 0.3em;
  color: inherit;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__row > a .submenu-rail__caret {
  flex-shrink: 0;
  margin-top: 0.2em;
  margin-left: 0.5em;
  font-size: 0.85em;
  color: #1E2A4A;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__row > a:hover,
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__row > a:focus {
  background: rgba(30, 42, 74, 0.06);
  color: #1E2A4A;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__row > a:hover i[class*="ph-"],
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__row > a:focus i[class*="ph-"] {
  color: #1A5B9E;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item.is-active .submenu-rail__row > a,
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item.has-children:hover .submenu-rail__row > a {
  background: rgba(30, 42, 74, 0.06);
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item.is-active .submenu-rail__row > a i[class*="ph-"],
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item.has-children:hover .submenu-rail__row > a i[class*="ph-"] {
  color: #1A5B9E;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-flyout {
  list-style: none;
  position: absolute;
  top: 0;
  left: auto;
  right: calc(100% - 1px);
  z-index: 2;
  margin: 0;
  padding: 0.75em;
  width: max-content;
  max-width: calc(100vw - 3em);
  border: 1px solid #E6E0D2;
  border-radius: 14px;
  background: #F7F1E5;
  box-shadow: 0 4px 14px rgba(19, 28, 51, 0.14);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0s linear 0.2s;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-flyout li {
  margin: 0;
  padding: 0;
  width: auto;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-flyout li > a {
  position: relative;
  display: inline-block;
  display: block;
  width: max-content;
  max-width: none;
  min-height: 2.75em;
  line-height: 2.75em;
  padding: 0 0.75em;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 500;
  font-size: var(--text-body-small);
  color: #1E2A4A;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-flyout li > a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #f04e23;
  transform: scaleX(0);
  transform-origin: left;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-flyout li > a:hover,
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-flyout li > a:focus {
  color: #f04e23;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-flyout li > a:hover:after,
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-flyout li > a:focus:after {
  transform: scaleX(1);
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-flyout.is-flipped {
  left: calc(100% - 1px);
  right: auto;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item.is-active > .submenu-flyout {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.2s ease, visibility 0s linear 0s;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-panel {
  width: auto;
  min-width: max-content;
  margin: 0;
  box-sizing: border-box;
  padding: 1em;
  border-top: 1px solid #E6E0D2;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.75em;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-panel .figure {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  padding: 0 0.5em;
  width: 0;
  min-width: 100%;
  box-sizing: border-box;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-panel .figure .figure__label {
  color: #000;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-panel .row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5em;
  width: max-content;
  min-width: 100%;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-panel .button-thrive {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #f04e23;
  color: #FFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  width: max-content;
  min-width: 100%;
  padding: 0.5em 1em;
  justify-content: center;
  white-space: nowrap;
  box-sizing: border-box;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-panel .button-thrive:hover,
#masthead .site-header .site-nav .nav-item .submenu .submenu-panel .button-thrive:focus {
  background-color: transparent;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-panel .button-thrive:hover,
#masthead .site-header .site-nav .nav-item .submenu .submenu-panel .button-thrive:focus {
  color: #000;
}
#masthead .site-header .site-nav .nav-item .submenu .submenu-panel p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
  color: #1E2A4A;
  margin: 0;
  padding: 0;
  width: 0;
  min-width: 100%;
}
#masthead .site-header .site-nav .nav-item.is-open > .submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
@media screen and (max-width: 768px) {
  #masthead .site-header .site-nav {
    position: fixed;
    top: var(--mobile-menu-top, 0px);
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 65;
    display: none;
    flex: none;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    margin: 0;
    padding: 0 0.75em env(safe-area-inset-bottom);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    background: #F7F1E5;
    border-top: 1px solid #E6E0D2;
  }
  #masthead .site-header .site-nav.is-open {
    display: flex;
  }
  #masthead .site-header .site-nav .site-nav__utilities {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1em;
    padding: 1em 0;
    margin-top: auto;
  }
  #masthead .site-header .site-nav .site-nav__utilities .site-nav__portal {
    font-family: 'GeneralSans', sans-serif;
    font-weight: 600;
    font-size: var(--text-body-medium);
    color: #1E2A4A;
    text-decoration: none;
    -webkit-transition: all 0.25s;
    -moz-transition: all 0.25s;
    transition: all 0.25s;
  }
  #masthead .site-header .site-nav .site-nav__utilities .site-nav__portal:hover,
  #masthead .site-header .site-nav .site-nav__utilities .site-nav__portal:focus {
    color: #f04e23;
  }
  #masthead .site-header .site-nav .site-nav__utilities .site-nav__search {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5em;
    font-family: 'GeneralSans', sans-serif;
    font-weight: 600;
    font-size: var(--text-body-medium);
    color: #1E2A4A;
    text-decoration: none;
    -webkit-transition: all 0.25s;
    -moz-transition: all 0.25s;
    transition: all 0.25s;
  }
  #masthead .site-header .site-nav .site-nav__utilities .site-nav__search i {
    font-size: 1.15em;
    line-height: 1;
  }
  #masthead .site-header .site-nav .site-nav__utilities .site-nav__search:hover,
  #masthead .site-header .site-nav .site-nav__utilities .site-nav__search:focus {
    color: #f04e23;
  }
  #masthead .site-header .site-nav .nav-item {
    display: block;
    width: 100%;
    border-bottom: 1px solid #E6E0D2;
  }
  #masthead .site-header .site-nav .nav-item:hover .nav-item__row > a,
  #masthead .site-header .site-nav .nav-item.is-open .nav-item__row > a {
    color: #1E2A4A;
  }
  #masthead .site-header .site-nav .nav-item.has-children .nav-item__row > a:after {
    display: none;
  }
  #masthead .site-header .site-nav .nav-item .nav-item__row {
    width: 100%;
  }
  #masthead .site-header .site-nav .nav-item .nav-item__row > a {
    flex: 1;
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 0.65em 0;
    font-size: var(--text-body-medium);
  }
  #masthead .site-header .site-nav .nav-item .nav-item__toggle {
    display: grid;
    width: 40px;
    min-height: 40px;
  }
  #masthead .site-header .site-nav .nav-item .submenu {
    position: static;
    top: auto;
    right: auto;
    width: 100%;
    min-width: 0;
    max-width: none;
    border-top: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    display: none;
    padding: 0 0 0.5em;
    filter: none;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail {
    display: flex;
    width: 100%;
    border-radius: 0;
    background: transparent;
    filter: none;
  }
  #masthead .site-header .site-nav .nav-item .submenu ul.submenu-links {
    width: 100%;
    min-width: 0;
    padding: 0;
    gap: 0.15em;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail__row {
    width: 100%;
    align-items: center;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail__toggle {
    display: grid;
    width: 40px;
    min-height: 40px;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__row > a {
    white-space: normal;
    padding: 0.4em 0;
    border-radius: 0;
    min-height: 40px;
    align-items: center;
    gap: 0.55em;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__row > a:hover,
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__row > a:focus {
    background: transparent;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item.is-active .submenu-rail__row > a,
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item.has-children:hover .submenu-rail__row > a {
    background: transparent;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-rail__caret {
    display: none;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-flyout {
    position: static;
    left: auto;
    right: auto;
    z-index: auto;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 0 0.15em 1.75em;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    display: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: none;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-flyout li > a {
    font-family: 'GeneralSans', sans-serif;
    font-weight: 600;
    width: 100%;
    max-width: none;
    min-height: 36px;
    line-height: 1.3;
    display: flex;
    align-items: center;
    padding: 0.35em 0;
    white-space: normal;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item .submenu-flyout li > a:after {
    display: none;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-rail__item.is-open > .submenu-flyout {
    display: block;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-panel {
    width: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
    padding: 0.65em 0 0;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-panel .figure,
  #masthead .site-header .site-nav .nav-item .submenu .submenu-panel p {
    width: auto;
    min-width: 0;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-panel .row {
    width: 100%;
    min-width: 0;
  }
  #masthead .site-header .site-nav .nav-item .submenu .submenu-panel .button-thrive {
    width: 100%;
    white-space: normal;
  }
  #masthead .site-header .site-nav .nav-item.is-open > .submenu {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}
.site-footer {
  padding: 2em 0 0;
  border-top: 10px solid #f3ebd9;
  border-left: 1px solid #E6E0D2;
  border-right: 1px solid #E6E0D2;
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 1025px) {
  .site-footer {
    max-width: 1440px;
  }
}
.site-footer .inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1440px;
  padding: 0 50px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .site-footer {
    padding: 1em 0 0;
  }
}
.site-footer .inner > * {
  border-bottom: 1px solid #E6E0D2;
  padding: 2em 0;
  font-size: var(--text-body-medium);
}
.site-footer .inner > *:last-child {
  border-bottom: none;
}
.site-footer .inner .footer-bottom {
  padding: 0;
  border-bottom: none;
}
.site-footer .inner .footer-upper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
}
@media screen and (max-width: 768px) {
  .site-footer .inner {
    padding: 0 1em;
  }
}
.site-footer .inner .footer-mid {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1em;
}
@media screen and (max-width: 768px) {
  .site-footer .inner .footer-mid {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1em;
  }
}
.site-footer .inner .footer-mid .footer-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  gap: 1em;
}
.site-footer .inner .footer-mid a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.site-footer .inner .footer-mid a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #f04e23;
  transform: scaleX(0);
  transform-origin: left;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.site-footer .inner .footer-mid a:hover,
.site-footer .inner .footer-mid a:focus {
  color: #f04e23;
}
.site-footer .inner .footer-mid a:hover:after,
.site-footer .inner .footer-mid a:focus:after {
  transform: scaleX(1);
}
.site-footer .inner .footer-mid a:hover,
.site-footer .inner .footer-mid a:focus {
  color: #f04e23;
}
.site-footer .inner .footer-mid .footer-info {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1em;
}
.site-footer .inner .footer-mid .footer-info p {
  font-size: var(--text-body-small);
  color: #1E2A4A;
  text-align: left;
}
.site-footer .inner .footer-mid .footer-info ul.footer-social-icons {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1em;
  padding: 0;
}
.site-footer .inner .footer-mid .footer-info ul.footer-social-icons li {
  list-style: none;
}
.site-footer .inner .footer-mid .footer-info ul.footer-social-icons li a {
  font-size: var(--text-body-large);
  color: #1E2A4A;
  text-decoration: none;
}
.site-footer .inner .footer-mid .footer-nav {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: flex-start;
  gap: 1em;
  flex: 1;
}
.site-footer .inner .footer-mid .footer-nav .nav-column {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.25em;
}
.site-footer .inner .footer-mid .footer-nav .nav-column h4.nav-header {
  font-size: var(--text-body-small);
  text-align: left;
  margin: 0;
  padding: 0;
  color: #1E2A4A;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.14em;
}
.site-footer .inner .footer-mid .footer-nav .nav-column ul.nav-list {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  margin: 0;
}
.site-footer .inner .footer-mid .footer-nav .nav-column ul.nav-list li {
  list-style: none;
  display: inline-block;
}
.site-footer .inner .footer-mid .footer-nav .nav-column ul.nav-list li a {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 500;
  font-size: var(--text-body-small);
  color: #1E2A4A;
  position: relative;
  display: inline-block;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.site-footer .inner .footer-mid .footer-nav .nav-column ul.nav-list li a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #f04e23;
  transform: scaleX(0);
  transform-origin: left;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.site-footer .inner .footer-mid .footer-nav .nav-column ul.nav-list li a:hover,
.site-footer .inner .footer-mid .footer-nav .nav-column ul.nav-list li a:focus {
  color: #f04e23;
}
.site-footer .inner .footer-mid .footer-nav .nav-column ul.nav-list li a:hover:after,
.site-footer .inner .footer-mid .footer-nav .nav-column ul.nav-list li a:focus:after {
  transform: scaleX(1);
}
.site-footer .inner .footer-lower {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  font-size: var(--text-body-small);
  color: #1E2A4A;
  text-align: left;
  margin: 0;
  padding: 2em 0;
}
@media screen and (max-width: 768px) {
  .site-footer .inner .footer-lower {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    text-align: center;
  }
}
.site-footer .inner .footer-lower .copyright p {
  margin: 0;
  font-size: var(--text-body-small);
  color: #1E2A4A;
}
.site-footer .inner .footer-lower .footer-privacy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5em;
}
.site-footer .inner .footer-lower .footer-privacy a,
.site-footer .inner .footer-lower .footer-privacy button {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 500;
  font-size: var(--text-body-small);
  color: #1E2A4A;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.site-footer .inner .footer-lower .footer-privacy a:hover,
.site-footer .inner .footer-lower .footer-privacy button:hover,
.site-footer .inner .footer-lower .footer-privacy a:focus,
.site-footer .inner .footer-lower .footer-privacy button:focus {
  color: #f04e23;
}
.site-footer .inner .footer-lower .powered-by {
  font-size: var(--text-body-small);
  color: #1E2A4A;
  text-align: left;
  margin: 0;
  padding: 0;
}
.site-footer .inner .footer-lower .powered-by a {
  color: #1E2A4A;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.site-footer .inner .footer-lower .powered-by a:hover,
.site-footer .inner .footer-lower .powered-by a:focus {
  text-decoration: underline;
  color: #f04e23;
}
.site-footer .footer-under {
  padding: 0;
  margin: 0;
}
/*** Cube pit — settled brand-shape pile (design CubePit) ***/
.cube-pit {
  position: relative;
  height: var(--cube-pit-height);
  margin-top: var(--cube-pit-gap);
}
.cube-pit canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 48rem) {
  .cube-pit {
    height: var(--cube-pit-height-compact);
  }
}
/*** Cookie notice — corner card (design CookieNotice) ***/
.cookie-notice {
  --cookie-notice-width: 26rem;
  --cookie-notice-inset: 24px;
  --cookie-notice-z: 60;
  --cookie-btn-duration: 150ms;
  position: fixed;
  bottom: var(--cookie-notice-inset);
  left: var(--cookie-notice-inset);
  z-index: var(--cookie-notice-z);
  width: min(var(--cookie-notice-width), calc(100vw - var(--cookie-notice-inset) * 2));
  padding: 24px;
  border-radius: var(--radius-panel);
  background-color: #131C33;
  color: #FFFFFF;
  box-shadow: 0 28px 56px -18px rgba(19, 28, 51, 0.28), 0 2px 6px rgba(19, 28, 51, 0.06);
  animation: cookie-notice-in var(--duration-reveal) var(--easing-reveal) both;
}
.cookie-notice[hidden] {
  display: none;
}
@keyframes cookie-notice-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
}
.cookie-notice__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.cookie-notice__label {
  margin: 0;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #FFFFFF;
}
.cookie-notice__close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: -8px -8px 0 0;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  opacity: 0.7;
  cursor: pointer;
  transition: opacity var(--cookie-btn-duration);
}
.cookie-notice__close:hover,
.cookie-notice__close:focus {
  opacity: 1;
}
.cookie-notice__close i {
  font-size: 1rem;
  line-height: 1;
}
.cookie-notice__copy {
  margin: 12px 0 0;
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
  line-height: 1.45;
  color: #FFFFFF;
}
.cookie-notice__link {
  color: #FFFFFF;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--cookie-btn-duration);
}
.cookie-notice__link:hover,
.cookie-notice__link:focus {
  color: #F2A33C;
}
.cookie-notice__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}
.cookie-notice__btn {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-medium);
  background-color: #f04e23;
  padding: 0.5em 1.5em;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.cookie-notice__btn:hover,
.cookie-notice__btn:focus {
  color: #FFFFFF;
  background-color: transparent;
}
button.cookie-notice__btn--accept {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #f04e23;
  color: #FFFFFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  --global--color-primary: #f04e23;
}
button.cookie-notice__btn--accept:hover,
button.cookie-notice__btn--accept:focus {
  background-color: transparent;
}
button.cookie-notice__btn--decline {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #1E2A4A;
  color: #FFFFFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  --global--color-primary: #1E2A4A;
}
button.cookie-notice__btn--decline:hover,
button.cookie-notice__btn--decline:focus {
  background-color: transparent;
}
@media (prefers-reduced-motion: reduce) {
  .cookie-notice {
    animation: none;
  }
}
/*** entry-footer ***/
.site-main > article > footer.entry-footer {
  position: fixed;
  display: flex;
  bottom: 1em;
  right: 1em;
  z-index: 1000;
  padding: 0 !important;
  margin: 0 !important;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border: 2px solid #1E2A4A;
  border-bottom: 2px solid #1E2A4A;
  background-color: #f3ebd9;
  color: #1E2A4A;
  border-radius: 50px;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.site-main > article > footer.entry-footer .screen-reader-text {
  display: none;
}
.site-main > article > footer.entry-footer .edit-link {
  line-height: 0;
}
.site-main > article > footer.entry-footer .edit-link .post-edit-link {
  text-decoration: none;
  font-size: var(--text-body-small);
  text-transform: uppercase;
}
/*** Hero block — homepage slideshow + content / photo layouts ***/
:root {
  --page-hero-height: 440px;
  --hero-figure-max: 520px;
  --page-hero-scrim: linear-gradient(to top, rgba(19, 28, 51, 0.78) 0%, rgba(19, 28, 51, 0.42) 45%, rgba(19, 28, 51, 0.18) 100%);
}
.site-main .entry-content section.hero-block {
  padding: 2em;
}
.hero-block {
  width: 100%;
  position: relative;
  margin-bottom: 0;
}
.hero-block--content.hero--has-bg {
  isolation: isolate;
}
/*** Slideshow layout (design HeroSlider) ***/
.hero-slideshow {
  width: 100%;
}
.hero-slideshow.slick-dotted {
  margin-bottom: 0;
}
.hero-slideshow .slick-list,
.hero-slideshow .slick-track {
  height: auto;
}
.hero-slideshow .slick-slide {
  height: auto;
}
.hero-slide {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  gap: 1rem;
}
@media screen and (min-width: 1025px) {
  .hero-slide {
    padding-top: 3em;
  }
}
@media screen and (max-width: 1024px) {
  .hero-slide {
    padding-top: 0;
  }
}
.hero-slide__inner {
  width: 100%;
  display: flex;
  gap: 1rem;
}
@media screen and (min-width: 1025px) {
  .hero-slide__inner {
    flex-direction: row;
  }
}
@media screen and (max-width: 1024px) {
  .hero-slide__inner {
    flex-direction: column;
  }
}
.hero-slide__copy {
  padding-bottom: 1em;
}
@media screen and (min-width: 1025px) {
  .hero-slide__copy {
    width: 60%;
  }
}
@media screen and (max-width: 1024px) {
  .hero-slide__copy {
    width: 100%;
    justify-content: center;
    align-items: center;
  }
  .hero-slide__copy .row {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 1rem;
  }
  .hero-slide__copy .row .col {
    width: 100%;
  }
}
.hero-slide__copy h1,
.hero-slide__copy h2 {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  margin: 0;
  font-size: clamp(3rem, 4.5vw, 5rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #000000;
}
.hero-slide__copy p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  margin: 1.5em 0 0;
  font-size: 18px;
  line-height: 1.45;
  color: #1E2A4A;
}
.hero-slide__copy .wp-block-buttons,
.hero-slide__copy .hero-slide__actions,
.hero-slide__copy p + .button-thrive,
.hero-slide__copy p + a.button-thrive {
  margin-top: 2em;
}
.hero-slide__copy .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75em;
}
.hero-slide__copy .button-thrive {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #f04e23;
  color: #FFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  font-size: 1rem;
  line-height: 1.45;
}
.hero-slide__copy .button-thrive:hover,
.hero-slide__copy .button-thrive:focus {
  background-color: transparent;
}
@media screen and (max-width: 1024px) {
  .hero-slide__copy .button-thrive {
    margin: 0.5em auto;
  }
}
.hero-slide__copy .button-thrive.button-secondary {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #1E2A4A;
  color: #FFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.hero-slide__copy .button-thrive.button-secondary:hover,
.hero-slide__copy .button-thrive.button-secondary:focus {
  background-color: transparent;
  color: #FFF !important;
}
.hero-slide__copy .row {
  display: flex;
}
@media screen and (min-width: 1025px) {
  .hero-slide__copy .row {
    margin: 1em 0;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    gap: 0.5em;
  }
}
@media screen and (max-width: 1024px) {
  .hero-slide__copy .row {
    margin: 0.5em 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0;
  }
  .hero-slide__copy .row br {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .hero-slide__media {
    width: 40%;
  }
}
@media screen and (min-width: 1025px) {
  .hero-block--order-image .hero-slide__media {
    order: -1;
    justify-self: start;
  }
  .hero-block--order-image .hero-slide__copy {
    justify-self: stretch;
  }
}
@media screen and (max-width: 1024px) {
  .hero-block--order-image .hero-slide__media {
    order: 1;
    justify-self: center;
  }
  .hero-block--order-image .hero-slide__copy {
    justify-self: center;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .hero-slide--copy-only,
  .hero-slide:not(:has(.hero-slide__media)) {
    grid-template-columns: 1fr;
  }
}
/*** Content layout (optional photo ground via bg_img) ***/
.hero-block--content.hero--has-bg:not(.bg-img-right) {
  min-height: var(--page-hero-height);
  display: flex;
  align-items: flex-end;
  color: #FFFFFF;
  background-color: #131C33;
  background-image: var(--hero-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero-block--content.hero--has-bg:not(.bg-img-right)::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--page-hero-scrim);
  pointer-events: none;
}
.hero-block--content.hero--has-bg:not(.bg-img-right) .hero-content,
.hero-block--content.hero--has-bg:not(.bg-img-right) .hero-content__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 50vh;
}
.hero-block--content.hero--has-bg:not(.bg-img-right) .hero-content__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1em;
}
.hero-block--content.hero--has-bg:not(.bg-img-right).align-end .hero-content {
  min-height: 40vh;
}
.hero-block--content.hero--has-bg:not(.bg-img-right).align-end .hero-content__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
.hero-block--content.hero--has-bg:not(.bg-img-right) h1,
.hero-block--content.hero--has-bg:not(.bg-img-right) h2,
.hero-block--content.hero--has-bg:not(.bg-img-right) h3,
.hero-block--content.hero--has-bg:not(.bg-img-right) h4,
.hero-block--content.hero--has-bg:not(.bg-img-right) h5,
.hero-block--content.hero--has-bg:not(.bg-img-right) h6,
.hero-block--content.hero--has-bg:not(.bg-img-right) p,
.hero-block--content.hero--has-bg:not(.bg-img-right) a {
  color: #FFFFFF;
}
.hero-block--content.hero--has-bg:not(.bg-img-right) a:hover,
.hero-block--content.hero--has-bg:not(.bg-img-right) a:focus {
  color: #F2A33C;
}
.hero-block--content.hero--has-bg.bg-img-right {
  background-position: right center;
  background-repeat: no-repeat;
}
.hero-block--content.hero--has-bg.bg-img-right:before {
  position: absolute;
  content: '';
  right: 0;
  bottom: 0;
  top: 0;
}
@media screen and (min-width: 769px) {
  .hero-block--content.hero--has-bg.bg-img-right:before {
    width: 45%;
    background-image: var(--hero-bg-image);
    pointer-events: none;
    background-size: cover;
    background-position: center;
  }
}
@media screen and (max-width: 768px) {
  .hero-block--content.hero--has-bg.bg-img-right:before {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .hero-block--content.hero--has-bg.bg-img-right {
    background-size: 50% auto;
  }
}
@media screen and (max-width: 768px) {
  .hero-block--content.hero--has-bg.bg-img-right {
    background: none;
  }
}
@media screen and (min-width: 769px) {
  .hero-block--content.hero--has-bg.bg-img-right .hero-content {
    padding-right: 50%;
  }
}
@media screen and (max-width: 768px) {
  .hero-block--content.hero--has-bg.bg-img-right .hero-content {
    padding-right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .hero-block--content.hero--has-bg.bg-img-right .hero-content::before {
    content: '';
    display: block;
    width: 100%;
    height: 35vw;
    max-height: 220px;
    min-height: 128px;
    background-image: var(--hero-bg-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 1.5em;
    border-radius: 0.5em;
  }
}
.hero-block--content.hero--has-bg.bg-img-right .hero-content .row {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .hero-block--content.hero--has-bg.bg-img-right .hero-content .row {
    flex-direction: column;
  }
}
.hero-content {
  position: relative;
  width: 100%;
}
.hero-content #breadcrumbs {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 500;
  align-self: flex-start;
  margin: 0;
  padding: 0 0 1em 0;
  font-size: var(--text-body-small);
  line-height: 1.2;
}
.hero-content h1 {
  line-height: 1.2;
  padding: 0;
}
@media screen and (min-width: 769px) {
  .hero-content h1 {
    margin: 1em 0;
    font-size: 2.5em;
  }
}
@media screen and (max-width: 768px) {
  .hero-content h1 {
    margin: 0;
    font-size: 1.5em;
  }
}
.hero-content p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 500;
  line-height: 1.5;
  margin: 1em 0;
  padding: 0;
  font-size: 18px;
}
.hero-content .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5rem;
}
@media screen and (min-width: 1025px) {
  .hero-content .row {
    flex-direction: row;
  }
}
@media screen and (max-width: 1024px) {
  .hero-content .row {
    flex-direction: column;
  }
}
.hero-content .row .col-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
@media screen and (min-width: 1025px) {
  .hero-content .row .col-content {
    width: 60%;
  }
}
@media screen and (max-width: 1024px) {
  .hero-content .row .col-content {
    width: 100%;
  }
}
.hero-content .row .col-img {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1rem;
}
@media screen and (min-width: 1025px) {
  .hero-content .row .col-img {
    width: 40%;
  }
}
@media screen and (max-width: 1024px) {
  .hero-content .row .col-img {
    width: 100%;
  }
}
/*** Entrance motion ***/
@keyframes hero-rise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero-rise {
  animation: hero-rise var(--duration-reveal) var(--easing-reveal) both;
}
@media (prefers-reduced-motion: reduce) {
  .hero-rise {
    animation: none;
  }
}
/*** Hero Jump List, @the fold point ***/
.wp-block-group.jump-band {
  display: flex;
  justify-content: center;
  gap: 0;
  border-right: 1px solid #E6E0D2;
  border-top: 1px solid #E6E0D2;
}
@media screen and (min-width: 769px) {
  .wp-block-group.jump-band {
    flex-direction: row;
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .wp-block-group.jump-band {
    flex-direction: column;
    align-items: stretch;
  }
}
.wp-block-group.jump-band:last-child {
  border-right: none;
}
/*** Journey — sticky card stack ***/
.journey-block {
  padding: 3em 0;
}
/* Horizontal — stage heading, snap scroller, progress (design section#journey layout=rail) */
.journey-block.is-style-horizontal,
.journey-block.is-style-rail,
.is-style-horizontal .journey-block,
.is-style-rail .journey-block {
  --journey-scroll-gutter: 0;
  --journey-scroll-progress: 0;
  --journey-scroll-accent: #f04e23;
}
@media screen and (min-width: 1025px) {
  .journey-block.is-style-horizontal,
  .journey-block.is-style-rail,
  .is-style-horizontal .journey-block,
  .is-style-rail .journey-block {
    --journey-scroll-gutter: 50px;
  }
}
.journey-block.is-style-horizontal .journey-inner,
.journey-block.is-style-rail .journey-inner,
.is-style-horizontal .journey-block .journey-inner,
.is-style-rail .journey-block .journey-inner {
  min-width: 0;
}
/* The page gutter the scroller bleeds past and then reinstates — the same
   measure .journey-deck holds the stack in. */
.journey-horizontal {
  min-width: 0;
  padding: 0 var(--journey-scroll-gutter);
}
/*
 * Below @desktop the horizontal style *is* the stack: a scroller competes with
 * the browser's own swipe-back on a handset, and there is no room beside a card
 * for the peek that says it scrolls. The stage heading and the progress line
 * only exist for the scroller, so they only appear with it.
 */
.journey-horizontal-title,
.journey-horizontal-progress {
  display: none;
}
@media screen and (min-width: 1025px) {
  .journey-horizontal-title,
  .journey-horizontal-progress {
    display: block;
  }
}
.journey-horizontal-title {
  margin: 0 auto;
  max-width: 24ch;
  text-align: center;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #1E2A4A;
}
.journey-horizontal-track {
  display: flex;
  flex-direction: column;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.journey-horizontal-track > .journey-card {
  list-style: none;
  /* Read from a property, not written inline, so the scroller can drop it. */
  top: var(--journey-card-top);
  transform: rotate(var(--journey-card-tilt));
  margin-bottom: var(--journey-card-gap, 0);
}
.journey-horizontal-track > .journey-card::marker {
  content: none;
}
@media screen and (min-width: 1025px) {
  .journey-horizontal-track {
    flex-direction: row;
    align-items: stretch;
    gap: 2em;
    /* Bleed to the page frame, then reinstate the gutter as the scroller's own
       padding so the first card still lines up under the heading above it. */
    margin: 0 calc(-1 * var(--journey-scroll-gutter));
    /* Room for the lift shadow: an x-scroller clips on every side. */
    padding: 3em var(--journey-scroll-gutter);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--journey-scroll-gutter);
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
    /* Held, for the length of a pointer drag — see initJourneyHorizontal.
       Mandatory snap fights a scrollLeft written by hand, so it is suspended
       until release, which is what re-snaps the track. */
  }
  .journey-horizontal-track::-webkit-scrollbar {
    display: none;
  }
  .journey-horizontal-track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
  }
  .journey-horizontal-track > .journey-card {
    position: relative;
    top: auto;
    z-index: auto;
    flex: 0 0 auto;
    /* A definite width, not a minimum: the card's height is content-sized, so
         the photo needs a bounded track to resolve against. */
    width: 56rem;
    max-width: 85vw;
    margin: 0;
    scroll-snap-align: start;
    /* No tilt in the scroller — a snapping card reads as travel. */
    transform: none;
  }
  .journey-horizontal-track .journey-card__frame {
    height: 30rem;
  }
  .journey-horizontal-track .journey-card__eyebrow {
    /* The stage marker is the headline above the track instead. */
    display: none;
  }
  .journey-horizontal-track .journey-card__text {
    min-height: 0;
    overflow-y: auto;
  }
}
.journey-horizontal-progress {
  margin-top: 1em;
}
.journey-horizontal-progress__bar {
  position: relative;
  height: var(--rail-mark);
}
.journey-horizontal-progress__track,
.journey-horizontal-progress__fill {
  position: absolute;
  inset: 0;
  border-radius: 999px;
}
.journey-horizontal-progress__track {
  background-color: #E6E0D2;
}
.journey-horizontal-progress__fill {
  right: auto;
  width: calc(var(--journey-scroll-progress) * 100%);
  background-color: var(--journey-scroll-accent);
  transition: width 150ms ease-out, background-color 150ms ease-out;
}
.journey-horizontal-progress__disc {
  position: absolute;
  top: 50%;
  left: calc(var(--journey-scroll-progress) * 100%);
  width: calc(var(--stage-disc-size) / 2);
  height: calc(var(--stage-disc-size) / 2);
  border-radius: 999px;
  background-color: var(--journey-scroll-accent);
  transform: translate(-50%, -50%);
  transition: left 150ms ease-out, background-color 150ms ease-out;
}
.journey-deck {
  display: flex;
}
@media screen and (min-width: 1025px) {
  .journey-deck {
    gap: 3em;
    padding: 0 50px;
  }
}
@media screen and (max-width: 1024px) {
  .journey-deck {
    gap: 1em;
  }
}
.journey-rail {
  display: none;
  flex-shrink: 0;
  position: sticky;
  top: calc(var(--nav-height) + 24px);
  align-self: flex-start;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  height: fit-content;
}
@media screen and (min-width: 1025px) {
  .journey-rail {
    display: block;
  }
}
.journey-rail__label {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  margin: 0;
  padding: 0;
  font-size: var(--text-body-small);
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1E2A4A;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 1em;
}
.journey-rail__label:before {
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: var(--rail-mark);
  height: var(--rail-mark-length);
  background-color: #f04e23;
}
.journey-cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  flex: 1;
}
.journey-card {
  position: sticky;
  z-index: 1;
}
.journey-card__frame {
  display: grid;
  gap: var(--journey-frame);
  padding: var(--journey-frame);
  background-color: var(--journey-accent, #f04e23);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-card-lift);
}
@media screen and (min-width: 769px) {
  .journey-card__frame {
    grid-template-columns: 1fr 1fr;
  }
}
.journey-card__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1em;
  padding: 1.5em;
  background-color: #FFFFFF;
  border-radius: var(--journey-inner-radius);
  color: #1E2A4A;
}
@media screen and (min-width: 1025px) {
  .journey-card__text {
    padding: 2em;
  }
}
.journey-card__eyebrow {
  margin: 0;
  font-size: var(--text-body-small);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1E2A4A;
}
.journey-card__title {
  margin: 0;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.2;
  color: #1E2A4A;
}
.journey-card__body {
  margin: 0;
  max-width: 44ch;
  font-size: var(--text-body-medium);
  line-height: 1.5;
  color: #1E2A4A;
}
.journey-card__body p,
.journey-card__body li,
.journey-card__body .switzer {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  line-height: 1.5;
  font-size: 14px;
  margin: 0;
}
.journey-card__body p + p,
.journey-card__body li + p,
.journey-card__body .switzer + p {
  margin-top: 0.75em;
}
.journey-card__body i.ph-square {
  margin-right: 1em;
  font-size: 0.65em;
  position: relative;
  top: -0.3em;
}
.journey-card__body ul {
  padding: 0.75em 0 0 1em;
  list-style-type: none;
}
.journey-card__body ul li {
  list-style-type: none;
  position: relative;
}
.journey-card__body ul li::before {
  content: "▪";
  color: var(--journey-accent);
  font-size: 2.5em;
  display: inline-block;
  position: absolute;
  left: -16px;
  top: -16px;
  width: 1em;
  height: 1em;
}
.journey-card__media {
  /* A ratio while the card is one column, so the box has a height of its own
       for the image to fill. From 769px the frame splits and the media is
       stretched to the copy half's row instead. */
  aspect-ratio: 3 / 2;
  border-radius: var(--journey-inner-radius);
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .journey-card__media {
    aspect-ratio: auto;
    height: 100%;
  }
}
.journey-card__img {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  border-radius: var(--journey-inner-radius);
}
/* Reveal */
.reveal {
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity var(--duration-reveal) var(--easing-reveal), transform var(--duration-reveal) var(--easing-reveal);
}
.reveal.is-revealed {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .journey-card {
    transform: none !important;
  }
  .journey-horizontal-progress__fill,
  .journey-horizontal-progress__disc {
    transition: none;
  }
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/*** Figures — count-up stats ***/
.figures-block {
  width: 100%;
  display: flex;
}
.figures {
  display: grid;
}
@media screen and (min-width: 1025px) {
  .figures {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5em 0;
  }
}
@media screen and (max-width: 1024px) {
  .figures {
    grid-template-columns: 1fr;
    gap: 1em 0;
  }
}
@media screen and (min-width: 769px) {
  .figures-block.three-across .figures {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5em 0;
  }
}
@media screen and (max-width: 768px) {
  .figures-block.three-across .figures {
    grid-template-columns: 1fr;
    gap: 1em 0;
  }
}
.figure {
  --figure-accent: #131C33;
  display: flex;
  flex-direction: column;
  align-content: start;
  gap: 0.5em;
  box-sizing: border-box;
  min-width: 0;
  margin: 0;
  padding-right: 1.5em;
  padding-inline-start: var(--stat-rule-gap);
  border-inline-start: var(--stat-rule-width) solid var(--figure-accent);
  color: var(--figure-accent);
  --figure-text-color: #000;
}
@media screen and (max-width: 740px) {
  .figure {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media screen and (max-width: 440px) {
  .figure {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
  }
}
.figure--parchment {
  --figure-accent: #F7F1E5;
}
.figure--parchment-light {
  --figure-accent: #f3ebd9;
}
.figure--parchment-deep {
  --figure-accent: #EAE0CA;
}
.figure--midnight {
  --figure-accent: #131C33;
}
.figure--ink {
  --figure-accent: #1E2A4A;
}
.figure--ember {
  --figure-accent: #f04e23;
}
.figure--amber {
  --figure-accent: #F2A33C;
}
.figure--sky {
  --figure-accent: #6FB2D6;
}
.figure--lake {
  --figure-accent: #2F7FA6;
}
.figure--blue {
  --figure-accent: #1A5B9E;
}
.figure--paper {
  --figure-accent: #131C33;
}
.figure--midnight {
  --figure-text-color: #FFF;
}
.figure__label {
  order: 2;
  margin: 0;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 0.8125rem;
  line-height: 1.4;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--figure-text-color);
}
.figure__value {
  order: 1;
  margin: 0;
  padding: 0;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--stat-num-size);
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--figure-accent);
  display: flex;
  flex-direction: row;
}
.figure__prefix,
.figure__num,
.figure__suffix {
  display: inline;
}
/* Inverse surfaces (e.g. Group with .bg-midnight) */
.bg-midnight .figures-block,
.bg-ink .figures-block,
.surface-inverse .figures-block {
  color: #FFFFFF;
}
.bg-midnight .figures-block .figure__label,
.bg-ink .figures-block .figure__label,
.surface-inverse .figures-block .figure__label {
  color: #FFFFFF;
}
/*** Slick Slider (v1.8.1) ***/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
[dir='rtl'] .slick-slide {
  float: right;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 1;
}
.slick-prev:hover,
.slick-next:hover,
.slick-prev:focus,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}
.slick-prev:hover:before,
.slick-next:hover:before,
.slick-prev:focus:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-size: 20px;
  line-height: 1;
  opacity: 0.75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-prev {
  left: -25px;
}
.slick-prev:before {
  content: '←';
}
[dir='rtl'] .slick-prev {
  right: -25px;
  left: auto;
}
[dir='rtl'] .slick-prev:before {
  content: '→';
}
.slick-next {
  right: -25px;
}
.slick-next:before {
  content: '→';
}
[dir='rtl'] .slick-next {
  right: auto;
  left: -25px;
}
[dir='rtl'] .slick-next:before {
  content: '←';
}
/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}
.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  border: 0;
  outline: none;
  background-color: transparent !important;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: inherit;
  font-size: 1rem;
  line-height: 20px;
  content: '•';
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  text-align: center;
  opacity: 0.25;
  color: #1E2A4A;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.slick-dots li.slick-active button:before {
  opacity: 0.75;
  color: black;
}
/*** Slideshow block ***/
.slideshow-block {
  width: 100%;
  overflow: hidden;
}
.slideshow-block .slideshow {
  height: 100%;
}
.slideshow-block .slick-list,
.slideshow-block .slick-track {
  height: 100% !important;
}
.slideshow-block .slideshow__slide,
.slideshow-block .slick-slide {
  height: 100%;
}
.slideshow-block .slideshow__slide {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
/*** Slideshow block ***/
.slideshow-block {
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
}
.slideshow-block .slideshow {
  height: 100%;
}
/*** Journey Cards — tilted stage rail (Slick, ~3 visible) ***/
:root {
  --journey-rail-card: clamp(20rem, 30vw, 22.25rem);
  --journey-rail-media: clamp(11rem, 18vw, 12rem);
  --journey-cards-gap: 2rem;
  /* mockup --space-4 */
  --journey-cards-arrow-size: 44px;
  --shadow-panel: 0 28px 56px -18px rgba(19, 28, 51, 0.28),
    0 2px 6px fade(#131C33, 6%);
}
.journey-cards-block {
  padding: 0 !important;
}
.journey-cards-inner {
  min-width: 0;
}
.journey-cards-nav {
  display: none;
  justify-content: flex-end;
  align-items: center;
  gap: 0.25em;
  margin-bottom: 0.25em;
}
@media screen and (min-width: 769px) {
  .journey-cards-nav {
    display: flex;
  }
}
/*
 * Slick adds .slick-prev/.slick-next and forces color:transparent + absolute
 * positioning. Keep our ink glyphs visible at rest, not only on hover.
 */
.journey-cards-nav .slick-prev,
.journey-cards-nav .slick-next,
.journey-cards__arrow {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: var(--journey-cards-arrow-size) !important;
  height: var(--journey-cards-arrow-size) !important;
  padding: 0 !important;
  border: none;
  border-radius: 999px;
  font-size: 0 !important;
  line-height: 1 !important;
  background-color: rgba(30, 42, 74, 0.08) !important;
  color: #1E2A4A !important;
  opacity: 1 !important;
  cursor: pointer;
  z-index: 2;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.journey-cards-nav .slick-prev:before,
.journey-cards-nav .slick-next:before,
.journey-cards__arrow:before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}
.journey-cards-nav .slick-prev:hover,
.journey-cards-nav .slick-next:hover,
.journey-cards__arrow:hover,
.journey-cards-nav .slick-prev:focus,
.journey-cards-nav .slick-next:focus,
.journey-cards__arrow:focus {
  background-color: rgba(30, 42, 74, 0.16) !important;
  color: #1E2A4A !important;
  opacity: 1 !important;
  outline: none;
}
.journey-cards-nav .slick-prev.slick-disabled,
.journey-cards-nav .slick-next.slick-disabled,
.journey-cards__arrow.slick-disabled,
.journey-cards-nav .slick-prev.slick-disabled:hover,
.journey-cards-nav .slick-next.slick-disabled:hover,
.journey-cards__arrow.slick-disabled:hover,
.journey-cards-nav .slick-prev.slick-disabled:focus,
.journey-cards-nav .slick-next.slick-disabled:focus,
.journey-cards__arrow.slick-disabled:focus {
  opacity: 0.35 !important;
  cursor: default;
  pointer-events: none;
}
.journey-cards-nav .slick-prev.slick-hidden,
.journey-cards-nav .slick-next.slick-hidden,
.journey-cards__arrow.slick-hidden {
  display: inline-flex !important;
}
.journey-cards-nav .slick-prev svg,
.journey-cards-nav .slick-next svg,
.journey-cards__arrow svg {
  display: block;
  width: 16px;
  height: 16px;
  fill: currentColor;
  color: inherit;
}
/* Mobile / tablet: stacked cards. Desktop Slick owns the track. */
.journey-cards-track {
  display: flex;
  flex-direction: column;
  gap: var(--journey-cards-gap);
  margin: 1.5em 0 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1025px) {
  .journey-cards-track {
    display: block;
    margin-top: 0;
    /* Room for tilt + panel shadow so Slick does not clip the cards. */
    padding: 48px 0;
  }
}
.journey-cards-track.slick-initialized .slick-list {
  /* Side overflow stays visible; clip at a parent wp-block-group instead. */
  overflow: visible;
}
.journey-cards-track.slick-initialized .slick-track {
  display: flex;
  align-items: stretch;
  overflow: visible;
}
.journey-cards-track.slick-initialized .slick-slide {
  height: auto;
  overflow: visible;
  /* Half-gap each side → full --journey-cards-gap between cards */
  padding: 0.5em;
  box-sizing: content-box;
}
/*
 * Accent frame as padding; paper copy panel above, photograph inset below.
 * Fixed rail width (not a 1/3 slice of the track) so the card stays portrait
 * like the mockup and ~3 fit with a peek of the next.
 */
.journey-cards-slide {
  display: flex;
  flex-direction: column;
  gap: 1em;
  margin: 1em;
  width: 100%;
  height: 100%;
  padding: 12px;
  box-sizing: border-box;
  background-color: var(--journey-slide-accent, #f04e23);
  transform: rotate(var(--journey-slide-tilt, 0deg));
  border-radius: 12px;
  box-shadow: var(--shadow-panel);
  /* Upper half — title, body, CTA on paper */
  /* Lower half — photograph inset in the accent frame */
}
@media screen and (min-width: 769px) {
  .journey-cards-slide {
    width: var(--journey-rail-card);
    max-width: none;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .journey-cards-slide {
    margin: 0.5em !important;
  }
}
@media screen and (max-width: 768px) {
  .journey-cards-slide {
    width: 100%;
    margin: 0 !important;
    gap: 0.25em;
  }
}
.journey-cards-slide__copy {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.5em;
  background-color: #FFFFFF;
  border-radius: var(--journey-inner-radius);
  color: #1E2A4A;
  height: var(--journey-rail-media);
  justify-content: space-between;
}
@media screen and (min-width: 1025px) {
  .journey-cards-slide__copy {
    padding: 0.5em;
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
  .journey-cards-slide__copy {
    height: auto;
  }
}
.journey-cards-slide__title {
  margin: 0;
  max-width: 20ch;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #1E2A4A;
}
.journey-cards-slide__body {
  margin: 0;
  max-width: 38ch;
  font-size: var(--text-body-medium);
  line-height: 1.5;
  color: rgba(30, 42, 74, 0.72);
}
.journey-cards-slide__body p {
  margin: 0;
}
.journey-cards-slide__body p + p {
  margin-top: 0.75em;
}
.journey-cards-slide__cta-wrap {
  margin-top: 0;
  padding-top: 0.5em;
}
.journey-cards-slide__cta-wrap a.button-thrive {
  white-space: nowrap;
  padding: 0.5em 1em;
}
.journey-cards-slide__cta {
  align-self: flex-start;
  background-color: var(--journey-slide-accent, #f04e23) !important;
  color: var(--journey-slide-accent-ink, #fff) !important;
}
.journey-cards-slide__cta:hover,
.journey-cards-slide__cta:focus {
  background-color: transparent !important;
  color: #1E2A4A !important;
}
.journey-cards-slide__cta:hover .button-thrive__arrow,
.journey-cards-slide__cta:focus .button-thrive__arrow {
  color: #F2A33C;
}
.journey-cards-slide__figure {
  flex: 0 0 auto;
  width: 100%;
  height: var(--journey-rail-media);
  margin: 0.5em 0 0 0;
  border-radius: var(--journey-inner-radius);
  overflow: hidden;
  background-color: rgba(30, 42, 74, 0.08);
  background-image: var(--journey-slide-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1025px) {
  .journey-cards-slide__figure {
    height: clamp(12rem, 15vw, 11rem);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .journey-cards-slide__figure {
    height: clamp(12rem, 15vw, 11rem);
  }
}
.journey-cards-actions {
  margin-top: 2.5em;
}
@media (prefers-reduced-motion: reduce) {
  .journey-cards-slide {
    transform: none;
  }
}
/*** Logo Marquee — infinite CSS scroll ***/
:root {
  --marquee-duration: 140s;
  --marquee-gap: 56px;
  --marquee-logo-height: 100px;
  --marquee-logo-max-height: 100px;
  --marquee-logo-max-width: 300px;
  --marquee-fade: 8%;
  --marquee-surface: #FFFFFF;
}
@keyframes marquee {
  0% {
    transform: translate(0);
  }
  100% {
    transform: translate(-50%);
  }
}
/* Stay the width of the parent (column, group, grid cell) — do not
   size to the scrolling track, which is wider than the viewport. */
.wp-block-acf-logo-marquee,
.logo-marquee,
.custom-grid-block.marquee {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}
.wp-block-column:has(.logo-marquee),
.wp-block-column:has(.wp-block-acf-logo-marquee),
.wp-block-column:has(.custom-grid-block.marquee) {
  min-width: 0;
  max-width: 100%;
}
.marquee-track {
  display: flex;
  width: max-content;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
  animation: marquee var(--marquee-duration) linear infinite;
}
.marquee-track > li {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.marquee:hover .marquee-track,
.marquee:focus-within .marquee-track {
  animation-play-state: paused;
}
.marquee-inner {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  padding-right: var(--marquee-gap);
  list-style: none;
  gap: var(--marquee-gap);
}
.marquee-logo {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  height: var(--marquee-logo-height);
  margin: 0;
  padding: 0;
  list-style: none;
}
.marquee-logo__img {
  display: block;
  width: auto;
  max-width: var(--marquee-logo-max-width);
  height: auto;
  max-height: var(--marquee-logo-max-height);
  object-fit: contain;
}
.marquee-fade {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: block;
  width: var(--marquee-fade);
  pointer-events: none;
}
.marquee-fade--left {
  left: 0;
  background: linear-gradient(to right, var(--marquee-surface), transparent);
}
.marquee-fade--right {
  right: 0;
  background: linear-gradient(to left, var(--marquee-surface), transparent);
}
/* Match fade color to common group backgrounds */
.bg-parchment {
  --marquee-surface: #F7F1E5;
}
.bg-parchment-deep {
  --marquee-surface: #EAE0CA;
}
.bg-paper {
  --marquee-surface: #FFFFFF;
}
.bg-midnight {
  --marquee-surface: #131C33;
}
.bg-ink {
  --marquee-surface: #1E2A4A;
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track {
    animation: none;
  }
}
/*** Testimonials — rail + Slick story carousel ***/
:root {
  --story-frame-width: var(--journey-frame);
  --story-frame-color: #F7F1E5;
  --story-figure-inset: 32px;
  --story-figure-max-width: 475px;
  --story-figure-plane: calc(var(--story-figure-max-width) - 2 * var(--story-frame-width) - 2 * var(--story-figure-inset));
  --rail-width: 40px;
  --rail-stack-leading: 1.9;
  --testimonials-arrow-size: 44px;
}
section.testimonials-block {
  padding: 4em 0;
  /* Force opacity-only transitions (Slick can still translate on the first step) */
}
@media screen and (min-width: 1025px) {
  section.testimonials-block {
    padding: 6em 0;
  }
}
@media screen and (max-width: 1024px) {
  section.testimonials-block {
    padding: 0 !important;
    width: 100%;
  }
}
section.testimonials-block .slick-track {
  transform: translate3d(0, 0, 0) !important;
}
section.testimonials-block .slick-slide {
  transition: opacity 500ms linear;
}
.testimonials-inner {
  display: flex;
  gap: 2em;
  min-width: 0;
}
@media screen and (min-width: 1025px) {
  .testimonials-inner {
    gap: 3em;
    padding: 2em;
  }
}
.testimonials-rail {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  width: var(--rail-width);
}
@media screen and (max-width: 1024px) {
  .testimonials-rail {
    display: none;
  }
}
.testimonials-rail--stack {
  align-items: flex-start;
  width: calc(var(--rail-width) * 2);
}
.testimonials-rail__label {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  margin: 0;
  padding: 0;
  font-size: var(--text-body-small);
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1E2A4A;
  white-space: nowrap;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.testimonials-rail--stack .testimonials-rail__label {
  line-height: var(--rail-stack-leading);
}
.testimonials-rail__mark {
  display: block;
  flex-shrink: 0;
  width: var(--rail-mark);
  height: var(--rail-mark-length);
  background-color: #f04e23;
}
.testimonials-rail--stack .testimonials-rail__mark {
  margin-inline-start: calc(var(--text-body-small) * var(--rail-stack-leading) / 2 - var(--rail-mark) / 2);
}
.testimonials-stage {
  display: grid;
  min-width: 0;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .testimonials-stage {
    grid-template-columns: 1fr 1fr;
    flex: 1;
    gap: 3.5em;
    align-items: start;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .testimonials-stage {
    grid-template-columns: 1fr 1fr;
    flex: 1;
    gap: 2em;
    align-items: start;
  }
}
@media screen and (max-width: 768px) {
  .testimonials-stage {
    grid-template-columns: 1fr;
    gap: 1em;
    align-items: stretch;
    width: 425px;
    max-width: 100%;
    margin: 0 auto;
  }
}
.testimonials-figures {
  order: 2;
  width: 100%;
  max-width: var(--story-figure-max-width);
  min-width: 0;
  margin: 0 auto;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .testimonials-figures {
    order: 1;
    margin: 0;
  }
}
@media screen and (min-width: 1025px) {
  .testimonials-figures {
    order: 1;
    margin: 0;
  }
}
.testimonials-figures .slick-list,
.testimonials-figures .slick-track {
  height: 100%;
}
.testimonials__figure-slide {
  outline: none;
  width: 100%;
}
.testimonials__frame {
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  padding: var(--story-frame-width);
  background-color: var(--story-frame-color);
  border-radius: var(--radius-panel);
}
.testimonials__plane {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: var(--story-figure-plane);
  background-color: #FFFFFF;
  border-radius: calc(var(--radius-panel) - var(--story-frame-width));
}
/*
  Element box fills the plane; object-fit lets the bitmap scale up and crop.
  Explicit width/height required — inset alone won't stretch replaced <img>s.
*/
.testimonials__plane .testimonials__img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
}
/* Additional CSS class `circle-img` on the Testimonials block */
.testimonials-block.circle-img .testimonials__frame {
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  padding: var(--story-frame-width);
}
.testimonials-block.circle-img .testimonials__plane {
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}
.testimonials-copy {
  order: 1;
  display: flex;
  flex-direction: column;
  gap: 1.25em;
  min-width: 0;
  width: 100%;
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .testimonials-copy {
    order: 2;
  }
}
@media screen and (min-width: 1025px) {
  .testimonials-copy {
    order: 2;
  }
}
.testimonials-copy--loud .testimonials__quote > p {
  font-size: clamp(1.25rem, 2.2vw, 1.5rem);
}
.testimonials__mark {
  display: block;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  color: #f04e23;
}
.testimonials-quotes {
  min-width: 0;
}
.testimonials-quotes .slick-slide {
  outline: none;
}
.testimonials__quote-slide {
  display: flex !important;
  flex-direction: column;
  gap: 1.25em;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.testimonials__quote {
  margin: 0;
}
.testimonials__quote > p {
  margin: 0;
  max-width: 28ch;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-large);
  letter-spacing: -0.01em;
  line-height: 1.2;
  color: #1E2A4A;
  text-wrap: balance;
}
@media screen and (min-width: 1025px) {
  .testimonials__quote > p {
    font-size: var(--text-body-xxlarge);
  }
}
@media screen and (min-width: 1025px) {
  .testimonials-copy--loud .testimonials__quote > p {
    font-size: clamp(1.375rem, 2.4vw, 1.75rem);
  }
}
.testimonials__attribution {
  margin-top: 1.25em;
}
.testimonials__name {
  margin: 0;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-style: normal;
  color: #1E2A4A;
}
.testimonials__meta {
  margin: 0;
  font-size: var(--text-body-small);
  font-style: normal;
  color: rgba(30, 42, 74, 0.68);
}
.testimonials__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1em;
  margin-top: auto;
  padding-top: 1em;
  min-height: var(--testimonials-arrow-size);
}
.testimonials-block--nav .testimonials__actions {
  padding-right: calc(var(--testimonials-arrow-size) * 2 + 1.5em);
}
.testimonials__cta {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: rgba(30, 42, 74, 0.2);
  color: #1E2A4A;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.testimonials__cta:hover,
.testimonials__cta:focus {
  background-color: transparent;
  color: #1E2A4A !important;
}
.testimonials__cta-spacer {
  display: block;
  min-height: 1px;
}
.testimonials-nav {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  gap: 0.75em;
  z-index: 2;
}
.testimonials__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--testimonials-arrow-size);
  height: var(--testimonials-arrow-size);
  padding: 0;
  border: none;
  border-radius: 999px;
  background-color: rgba(30, 42, 74, 0.08);
  color: #1E2A4A;
  cursor: pointer;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.testimonials__arrow:hover,
.testimonials__arrow:focus {
  background-color: rgba(30, 42, 74, 0.16);
  color: #1E2A4A;
  outline: none;
}
.testimonials__arrow.slick-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}
.testimonials__arrow svg {
  display: block;
}
/* Match framed figure to common group backgrounds */
.bg-parchment {
  --story-frame-color: #F7F1E5;
}
.bg-parchment-deep {
  --story-frame-color: #EAE0CA;
}
.bg-paper {
  --story-frame-color: #F7F1E5;
}
.bg-midnight,
.bg-ink {
  --story-frame-color: rgba(255, 255, 255, 0.12);
}
.bg-midnight .testimonials-rail__label,
.bg-ink .testimonials-rail__label,
.bg-midnight .testimonials__quote > p,
.bg-ink .testimonials__quote > p,
.bg-midnight .testimonials__name,
.bg-ink .testimonials__name {
  color: #fff;
}
.bg-midnight .testimonials__meta,
.bg-ink .testimonials__meta {
  color: rgba(255, 255, 255, 0.68);
}
.bg-midnight .testimonials__arrow,
.bg-ink .testimonials__arrow {
  background-color: rgba(255, 255, 255, 0.14);
  color: #fff;
}
.bg-midnight .testimonials__arrow:hover,
.bg-ink .testimonials__arrow:hover,
.bg-midnight .testimonials__arrow:focus,
.bg-ink .testimonials__arrow:focus {
  background-color: rgba(255, 255, 255, 0.24);
  color: #fff;
}
.bg-midnight .testimonials__cta,
.bg-ink .testimonials__cta {
  background-color: rgba(255, 255, 255, 0.14);
  color: #fff;
}
.bg-midnight .testimonials__cta:hover,
.bg-ink .testimonials__cta:hover,
.bg-midnight .testimonials__cta:focus,
.bg-ink .testimonials__cta:focus {
  background-color: transparent;
  color: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .testimonials-figures .slick-track,
  .testimonials-quotes .slick-track {
    transition: none !important;
  }
}
/*** Testimonial Cards — gray quote rail (Slick, 2-up / 1-up). Additional class `not-quotes` = roster. ***/
:root {
  --testimonial-card-avatar: 50px;
  --testimonial-cards-gap: 1.5em;
}
.testimonial-cards-block {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}
.testimonial-cards-track {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  /*
   * Do not flex the Slick track. Flex min-content of 3+ slides inflates
   * listWidth, Slick then sets each slide to ~viewport width.
   */
}
.testimonial-cards-track:not(.slick-initialized) {
  display: flex;
  gap: var(--testimonial-cards-gap);
}
@media screen and (max-width: 768px) {
  .testimonial-cards-track:not(.slick-initialized) {
    flex-direction: column;
  }
}
.testimonial-cards-track:not(.slick-initialized) .testimonial-cards-slide {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
}
@media screen and (min-width: 769px) {
  .testimonial-cards-track:not(.slick-initialized) .testimonial-cards-slide {
    max-width: calc(50% - var(--testimonial-cards-gap) / 2);
  }
}
.testimonial-cards-track.slick-initialized,
.testimonial-cards-track.slick-slider {
  display: block;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}
.testimonial-cards-track.slick-initialized .slick-list {
  display: block;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  overflow: hidden !important;
  margin: 0;
}
.testimonial-cards-track.slick-initialized .slick-track {
  display: block;
  min-width: 0;
}
.testimonial-cards-track.slick-initialized .slick-slide {
  box-sizing: border-box !important;
  float: left;
  display: block !important;
  height: auto;
  min-width: 0 !important;
  padding: 0 calc(var(--testimonial-cards-gap) / 2);
}
.testimonial-cards-slide {
  min-width: 0;
  height: auto;
  outline: none;
}
.testimonial-card {
  display: flex;
  flex-direction: column;
  gap: 1em;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  padding: 1.75em 1.5em;
  background-color: #ebecf0;
  border-radius: var(--radius-panel);
  color: #1E2A4A;
}
.testimonial-card__mark {
  display: block;
  flex-shrink: 0;
  font-size: 1.5em;
  line-height: 1;
}
.testimonial-card__content {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: break-word;
}
.testimonial-card__content > :first-child {
  margin-top: 0;
}
.testimonial-card__content > :last-child {
  margin-bottom: 0;
}
.testimonial-card__content p,
.testimonial-card__content li {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-medium);
  line-height: 1.5;
  color: #1E2A4A;
}
.testimonial-card__person {
  display: flex;
  align-items: center;
  gap: 0.75em;
  margin-top: auto;
  min-width: 0;
}
.testimonial-card__avatar {
  display: block;
  flex-shrink: 0;
  overflow: hidden;
  width: var(--testimonial-card-avatar);
  height: var(--testimonial-card-avatar);
  border-radius: 50%;
  background-color: rgba(30, 42, 74, 0.08);
}
.testimonial-card__avatar-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.testimonial-card__byline {
  display: flex;
  flex-direction: column;
  gap: 0.15em;
  min-width: 0;
}
.testimonial-card__name {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-medium);
  line-height: 1.3;
  color: #1E2A4A;
}
.testimonial-card__affiliation {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
  line-height: 1.4;
  color: rgba(30, 42, 74, 0.68);
}
/* Additional class `not-quotes` — 2-up draggable roster instead of quotes. */
.testimonial-cards-block.not-quotes {
  --testimonial-card-avatar: 160px;
}
.testimonial-cards-block.not-quotes .testimonial-card {
  align-items: center;
  gap: 0.75em;
  padding: 2em 1.5em;
  text-align: center;
}
.testimonial-cards-block.not-quotes .testimonial-card__mark {
  display: none;
}
.testimonial-cards-block.not-quotes .testimonial-card__person {
  flex-direction: column;
  align-items: center;
  gap: 0.75em;
  margin-top: 0;
  width: 100%;
}
.testimonial-cards-block.not-quotes .testimonial-card__avatar {
  border: 6px solid #FFFFFF;
}
.testimonial-cards-block.not-quotes .testimonial-card__byline {
  align-items: center;
}
.testimonial-cards-block.not-quotes .testimonial-card__name {
  font-size: 20px;
  line-height: 1.2;
}
.testimonial-cards-block.not-quotes .testimonial-card__affiliation {
  font-size: 14px;
}
.testimonial-cards-block.not-quotes .testimonial-card__content {
  width: 100%;
  margin-top: 0.5em;
}
.testimonial-cards-block.not-quotes .testimonial-card__content p,
.testimonial-cards-block.not-quotes .testimonial-card__content li {
  font-size: 16px;
}
@media (prefers-reduced-motion: reduce) {
  .testimonial-cards-track .slick-track {
    transition: none !important;
  }
}
/*** Flat Cards — hover accent + tilt grid ***/
:root {
  --flat-card-tilt: 1.2deg;
  --flat-card-border-weight: var(--journey-frame);
  --flat-card-fill: rgba(30, 42, 74, 0.06);
  --flat-card-pad: 1em;
  --duration-button: 0.15s;
  --duration-banner: 0.35s;
}
.flat-cards-block {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .flat-cards-block {
    padding: 0 1em !important;
    width: 100%;
  }
}
.flat-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5em;
  max-width: 62rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1025px) {
  .flat-cards {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 2em;
  }
}
@media screen and (max-width: 1024px) {
  .flat-cards {
    margin-top: 0;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 1024px) {
  .flat-cards .flat-cards__item {
    margin: 0 auto;
  }
}
@media screen and (min-width: 1025px) {
  .four-across .flat-cards {
    grid-template-columns: repeat(4, 1fr);
    gap: 1em;
    max-width: unset;
  }
}
/* Topics — gray wash tiles (contact TopicCards).
   Rest is ink-on-paper wash; hover tints the fill and draws the accent frame. */
.is-style-topics .flat-cards-block .flat-cards,
.flat-cards-block.is-style-topics .flat-cards,
.flat-cards-block.topics .flat-cards {
  gap: 1rem;
  max-width: none;
}
@media screen and (min-width: 769px) {
  .is-style-topics .flat-cards-block .flat-cards,
  .flat-cards-block.is-style-topics .flat-cards,
  .flat-cards-block.topics .flat-cards {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 0;
  }
}
@media screen and (min-width: 1025px) {
  .is-style-topics .flat-cards-block .flat-cards,
  .flat-cards-block.is-style-topics .flat-cards,
  .flat-cards-block.topics .flat-cards {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 2em;
  }
}
@media screen and (max-width: 1024px) {
  .is-style-topics .flat-cards-block .flat-cards__item,
  .flat-cards-block.is-style-topics .flat-cards__item,
  .flat-cards-block.topics .flat-cards__item {
    width: auto;
    margin: 0;
  }
}
.is-style-topics .flat-cards-block .flat-card,
.flat-cards-block.is-style-topics .flat-card,
.flat-cards-block.topics .flat-card {
  --flat-card-fill: color-mix(in srgb, #1E2A4A 8%, #FFFFFF);
  --flat-card-fill-hover: color-mix(in srgb, var(--flat-card-plane) 12%, var(--flat-card-fill));
  padding: 1.5em;
  background-color: var(--flat-card-fill);
  border-color: transparent;
}
.is-style-topics .flat-cards-block .flat-card:hover,
.flat-cards-block.is-style-topics .flat-card:hover,
.flat-cards-block.topics .flat-card:hover,
.is-style-topics .flat-cards-block .flat-card:focus-visible,
.flat-cards-block.is-style-topics .flat-card:focus-visible,
.flat-cards-block.topics .flat-card:focus-visible,
.is-style-topics .flat-cards-block .flat-card:has(:focus-visible),
.flat-cards-block.is-style-topics .flat-card:has(:focus-visible),
.flat-cards-block.topics .flat-card:has(:focus-visible) {
  background-color: var(--flat-card-fill-hover);
  border-color: var(--flat-card-plane);
  color: #1E2A4A;
}
.is-style-topics .flat-cards-block .flat-card h3,
.flat-cards-block.is-style-topics .flat-card h3,
.flat-cards-block.topics .flat-card h3 {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-xxlarge);
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.is-style-topics .flat-cards-block .flat-card p,
.flat-cards-block.is-style-topics .flat-card p,
.flat-cards-block.topics .flat-card p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
  line-height: 1.45;
}
.is-style-topics .flat-cards-block .flat-card__content,
.flat-cards-block.is-style-topics .flat-card__content,
.flat-cards-block.topics .flat-card__content {
  gap: 0.5em;
}
.is-style-topics .flat-cards-block .flat-card__content > :nth-child(2),
.flat-cards-block.is-style-topics .flat-card__content > :nth-child(2),
.flat-cards-block.topics .flat-card__content > :nth-child(2) {
  margin-top: auto;
  padding-top: 1.5em;
}
.is-style-topics .flat-cards-block .flat-card__content > :last-child,
.flat-cards-block.is-style-topics .flat-card__content > :last-child,
.flat-cards-block.topics .flat-card__content > :last-child {
  margin-top: 0;
  padding-top: 0;
}
.is-style-topics .flat-cards-block .flat-card__content img,
.flat-cards-block.is-style-topics .flat-card__content img,
.flat-cards-block.topics .flat-card__content img,
.is-style-topics .flat-cards-block .flat-card__content svg,
.flat-cards-block.is-style-topics .flat-card__content svg,
.flat-cards-block.topics .flat-card__content svg {
  width: 2rem;
  max-width: 2rem;
}
.is-style-topics .flat-cards-block .flat-card__content i[class*="ph-"],
.flat-cards-block.is-style-topics .flat-card__content i[class*="ph-"],
.flat-cards-block.topics .flat-card__content i[class*="ph-"] {
  font-size: 2rem;
}
.is-style-topics .flat-cards-block .flat-card__content p:last-child,
.flat-cards-block.is-style-topics .flat-card__content p:last-child,
.flat-cards-block.topics .flat-card__content p:last-child {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
}
.flat-card {
  --flat-card-plane: #f04e23;
  --flat-card-ink: #1E2A4A;
  --flat-card-sign: 1;
  --flat-card-fill-hover: rgba(240, 78, 35, 0.14);
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: var(--flat-card-pad);
  box-sizing: border-box;
  background-color: var(--flat-card-fill);
  border: var(--flat-card-border-weight) solid transparent;
  border-radius: var(--radius-panel);
  color: #1E2A4A;
  text-decoration: none;
  transition: background-color var(--duration-button), border-color var(--duration-button), color var(--duration-button), transform var(--duration-banner) var(--easing-reveal), box-shadow var(--duration-banner) var(--easing-reveal);
}
.flat-card:hover,
.flat-card:focus-visible,
.flat-card:has(:focus-visible) {
  background-color: var(--flat-card-fill-hover);
  background-color: color-mix(in srgb, var(--flat-card-plane) 18%, #FFFFFF);
  border-color: var(--flat-card-plane);
  transform: rotate(calc(var(--flat-card-tilt) * var(--flat-card-sign, 1)));
  box-shadow: var(--shadow-card-lift);
}
a.flat-card {
  cursor: pointer;
}
.flat-card--ember {
  --flat-card-plane: #f04e23;
  --flat-card-ink: #1E2A4A;
  --flat-card-numeral: #FFFFFF;
}
.flat-card--amber {
  --flat-card-plane: #F2A33C;
  --flat-card-ink: #1E2A4A;
  --flat-card-numeral: #1E2A4A;
}
.flat-card--sky {
  --flat-card-plane: #6FB2D6;
  --flat-card-ink: #1E2A4A;
  --flat-card-numeral: #1E2A4A;
}
.flat-card--lake {
  --flat-card-plane: #2F7FA6;
  --flat-card-ink: #FFFFFF;
  --flat-card-numeral: #FFFFFF;
}
.flat-card--blue {
  --flat-card-plane: #1A5B9E;
  --flat-card-ink: #FFFFFF;
  --flat-card-numeral: #FFFFFF;
}
.flat-card--parchment {
  --flat-card-plane: #F7F1E5;
  --flat-card-ink: #1E2A4A;
  --flat-card-numeral: #1E2A4A;
}
.flat-card--midnight {
  --flat-card-plane: #131C33;
  --flat-card-ink: #FFFFFF;
  --flat-card-numeral: #FFFFFF;
}
.flat-card--ink {
  --flat-card-plane: #1E2A4A;
  --flat-card-ink: #FFFFFF;
  --flat-card-numeral: #FFFFFF;
}
.flat-card p {
  font-size: var(--text-body-small);
  line-height: 1.2;
  margin: 0;
}
.flat-card h4 {
  font-size: var(--text-body-small);
  margin: 0;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.flat-card h3 {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 600;
  font-size: var(--text-body-xxlarge);
  margin: 0;
}
/* Journey-style framed cards (section after #after-graduation):
   always bordered; hover fills with the accent plane. */
.flat-card-framed {
  --flat-card-fill: #FFFFFF;
  --flat-card-fill-hover: var(--flat-card-plane);
  border-color: var(--flat-card-plane);
  min-height: 16.25rem;
}
.flat-card-framed:hover,
.flat-card-framed:focus-visible,
.flat-card-framed:has(:focus-visible) {
  background-color: var(--flat-card-fill-hover);
  color: var(--flat-card-ink);
  cursor: pointer;
}
.flat-card__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  gap: 0.5em;
  min-width: 0;
}
.flat-card__content > * {
  margin: 0;
}
.flat-card__content > :last-child {
  margin-top: auto;
  padding-top: 1.5em;
}
.flat-card__content img,
.flat-card__content svg {
  display: block;
  width: 3rem;
  height: auto;
  max-width: 3rem;
  flex-shrink: 0;
}
.flat-card__content i[class*="ph-"] {
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
}
.flat-card__content p:last-child {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 18px;
}
/* Staggered children when parent .reveal becomes visible */
.reveal-stagger > * {
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity var(--duration-reveal) var(--easing-reveal), transform var(--duration-reveal) var(--easing-reveal);
  transition-delay: calc(var(--reveal-index, 0) * 70ms);
}
.reveal.is-revealed .reveal-stagger > *,
.reveal-stagger.is-revealed > * {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .flat-card:hover,
  .flat-card:focus-visible,
  .flat-card:has(:focus-visible) {
    transform: none;
  }
  .reveal-stagger > * {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/* Timeline — numbered process track (partners/process).
   Accent colors the disc and the rule under h3; no hover tilt. */
.is-style-timeline .flat-cards-block .flat-cards,
.flat-cards-block.is-style-timeline .flat-cards,
.flat-cards-block.timeline .flat-cards {
  gap: 0;
  max-width: none;
  margin: 0;
}
@media screen and (min-width: 769px) {
  .is-style-timeline .flat-cards-block .flat-cards,
  .flat-cards-block.is-style-timeline .flat-cards,
  .flat-cards-block.timeline .flat-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1025px) {
  .is-style-timeline .flat-cards-block .flat-cards,
  .flat-cards-block.is-style-timeline .flat-cards,
  .flat-cards-block.timeline .flat-cards {
    grid-template-columns: repeat(4, 1fr);
  }
}
.is-style-timeline .flat-cards-block .flat-cards__item,
.flat-cards-block.is-style-timeline .flat-cards__item,
.flat-cards-block.timeline .flat-cards__item {
  position: relative;
  padding-inline-end: 2rem;
  /* Vertical hairline between columns, from under the disc. */
}
@media screen and (max-width: 1024px) {
  .is-style-timeline .flat-cards-block .flat-cards__item,
  .flat-cards-block.is-style-timeline .flat-cards__item,
  .flat-cards-block.timeline .flat-cards__item {
    width: auto;
    margin: 0;
  }
}
@media screen and (min-width: 769px) {
  .is-style-timeline .flat-cards-block .flat-cards__item:nth-child(even),
  .flat-cards-block.is-style-timeline .flat-cards__item:nth-child(even),
  .flat-cards-block.timeline .flat-cards__item:nth-child(even) {
    padding-inline-start: 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .is-style-timeline .flat-cards-block .flat-cards__item:nth-child(odd):not(:first-child),
  .flat-cards-block.is-style-timeline .flat-cards__item:nth-child(odd):not(:first-child),
  .flat-cards-block.timeline .flat-cards__item:nth-child(odd):not(:first-child) {
    padding-inline-start: 2rem;
  }
}
.is-style-timeline .flat-cards-block .flat-cards__item:not(:first-child),
.flat-cards-block.is-style-timeline .flat-cards__item:not(:first-child),
.flat-cards-block.timeline .flat-cards__item:not(:first-child) {
  margin-top: 3rem;
}
@media screen and (min-width: 769px) {
  .is-style-timeline .flat-cards-block .flat-cards__item:not(:first-child),
  .flat-cards-block.is-style-timeline .flat-cards__item:not(:first-child),
  .flat-cards-block.timeline .flat-cards__item:not(:first-child) {
    margin-top: 0;
  }
}
.is-style-timeline .flat-cards-block .flat-cards__item:not(:first-child)::before,
.flat-cards-block.is-style-timeline .flat-cards__item:not(:first-child)::before,
.flat-cards-block.timeline .flat-cards__item:not(:first-child)::before {
  content: '';
  position: absolute;
  top: var(--stage-disc-size);
  bottom: 0;
  inset-inline-start: 0;
  border-inline-start: 1px solid #E6E0D2;
  display: none;
}
@media screen and (min-width: 769px) {
  .is-style-timeline .flat-cards-block .flat-cards__item:nth-child(even)::before,
  .flat-cards-block.is-style-timeline .flat-cards__item:nth-child(even)::before,
  .flat-cards-block.timeline .flat-cards__item:nth-child(even)::before {
    display: block;
  }
}
@media screen and (min-width: 1025px) {
  .is-style-timeline .flat-cards-block .flat-cards__item:nth-child(odd):not(:first-child)::before,
  .flat-cards-block.is-style-timeline .flat-cards__item:nth-child(odd):not(:first-child)::before,
  .flat-cards-block.timeline .flat-cards__item:nth-child(odd):not(:first-child)::before {
    display: block;
  }
}
.is-style-timeline .flat-cards-block .flat-card,
.flat-cards-block.is-style-timeline .flat-card,
.flat-cards-block.timeline .flat-card {
  --flat-card-numeral: #FFFFFF;
  height: auto;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  transition: none;
}
.is-style-timeline .flat-cards-block .flat-card:hover,
.flat-cards-block.is-style-timeline .flat-card:hover,
.flat-cards-block.timeline .flat-card:hover,
.is-style-timeline .flat-cards-block .flat-card:focus-visible,
.flat-cards-block.is-style-timeline .flat-card:focus-visible,
.flat-cards-block.timeline .flat-card:focus-visible,
.is-style-timeline .flat-cards-block .flat-card:has(:focus-visible),
.flat-cards-block.is-style-timeline .flat-card:has(:focus-visible),
.flat-cards-block.timeline .flat-card:has(:focus-visible) {
  background: none;
  border-color: transparent;
  transform: none;
  box-shadow: none;
}
.is-style-timeline .flat-cards-block .flat-card--ember,
.flat-cards-block.is-style-timeline .flat-card--ember,
.flat-cards-block.timeline .flat-card--ember,
.is-style-timeline .flat-cards-block .flat-card--lake,
.flat-cards-block.is-style-timeline .flat-card--lake,
.flat-cards-block.timeline .flat-card--lake,
.is-style-timeline .flat-cards-block .flat-card--blue,
.flat-cards-block.is-style-timeline .flat-card--blue,
.flat-cards-block.timeline .flat-card--blue,
.is-style-timeline .flat-cards-block .flat-card--midnight,
.flat-cards-block.is-style-timeline .flat-card--midnight,
.flat-cards-block.timeline .flat-card--midnight,
.is-style-timeline .flat-cards-block .flat-card--ink,
.flat-cards-block.is-style-timeline .flat-card--ink,
.flat-cards-block.timeline .flat-card--ink {
  --flat-card-numeral: #FFFFFF;
}
.is-style-timeline .flat-cards-block .flat-card--amber,
.flat-cards-block.is-style-timeline .flat-card--amber,
.flat-cards-block.timeline .flat-card--amber,
.is-style-timeline .flat-cards-block .flat-card--sky,
.flat-cards-block.is-style-timeline .flat-card--sky,
.flat-cards-block.timeline .flat-card--sky,
.is-style-timeline .flat-cards-block .flat-card--parchment,
.flat-cards-block.is-style-timeline .flat-card--parchment,
.flat-cards-block.timeline .flat-card--parchment {
  --flat-card-numeral: #1E2A4A;
}
.is-style-timeline .flat-cards-block .flat-card h3,
.flat-cards-block.is-style-timeline .flat-card h3,
.flat-cards-block.timeline .flat-card h3 {
  display: flex;
  flex-direction: column;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-xxlarge);
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin: 2rem 0 0;
  /* Two-line title slot so the rule sits at the same height in every column. */
  min-height: calc((var(--text-body-xxlarge) * 1.3 * 2) + 1rem + var(--rail-mark));
}
.is-style-timeline .flat-cards-block .flat-card h3:after,
.flat-cards-block.is-style-timeline .flat-card h3:after,
.flat-cards-block.timeline .flat-card h3:after {
  content: '';
  display: block;
  flex-shrink: 0;
  width: var(--rail-mark-length);
  height: var(--rail-mark);
  margin-top: auto;
  background-color: var(--flat-card-plane);
}
.is-style-timeline .flat-cards-block .flat-card p,
.flat-cards-block.is-style-timeline .flat-card p,
.flat-cards-block.timeline .flat-card p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
  line-height: 1.45;
  margin: 1rem 0 0;
  color: color-mix(in srgb, #1E2A4A 68%, #FFFFFF);
}
.is-style-timeline .flat-cards-block .flat-card__content,
.flat-cards-block.is-style-timeline .flat-card__content,
.flat-cards-block.timeline .flat-card__content {
  display: block;
  flex: none;
  gap: 0;
}
.is-style-timeline .flat-cards-block .flat-card__content > *,
.flat-cards-block.is-style-timeline .flat-card__content > *,
.flat-cards-block.timeline .flat-card__content > * {
  margin: 0;
}
.is-style-timeline .flat-cards-block .flat-card__content > :last-child,
.flat-cards-block.is-style-timeline .flat-card__content > :last-child,
.flat-cards-block.timeline .flat-card__content > :last-child {
  margin-top: 1rem;
  padding-top: 0;
}
.is-style-timeline .flat-cards-block .flat-card__content p:last-child,
.flat-cards-block.is-style-timeline .flat-card__content p:last-child,
.flat-cards-block.timeline .flat-card__content p:last-child {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
}
.is-style-timeline .flat-cards-block .flat-card__track,
.flat-cards-block.is-style-timeline .flat-card__track,
.flat-cards-block.timeline .flat-card__track {
  position: relative;
  display: flex;
  align-items: center;
  height: var(--stage-disc-size);
}
.is-style-timeline .flat-cards-block .flat-card__track:before,
.flat-cards-block.is-style-timeline .flat-card__track:before,
.flat-cards-block.timeline .flat-card__track:before {
  content: '';
  position: absolute;
  inset-inline: 0;
  top: 50%;
  border-top: 1px solid #E6E0D2;
  display: none;
}
@media screen and (min-width: 769px) {
  .is-style-timeline .flat-cards-block .flat-card__track:before,
  .flat-cards-block.is-style-timeline .flat-card__track:before,
  .flat-cards-block.timeline .flat-card__track:before {
    display: block;
  }
}
.is-style-timeline .flat-cards-block .flat-card__disc,
.flat-cards-block.is-style-timeline .flat-card__disc,
.flat-cards-block.timeline .flat-card__disc {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--stage-disc-size);
  height: var(--stage-disc-size);
  border-radius: 50%;
  background-color: var(--flat-card-plane);
  color: var(--flat-card-numeral);
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-small);
  line-height: 1;
}
.is-style-timeline .flat-cards-block .flat-card__arrow,
.flat-cards-block.is-style-timeline .flat-card__arrow,
.flat-cards-block.timeline .flat-card__arrow {
  display: none;
  position: absolute;
  z-index: 1;
  inset-inline-end: 0;
  width: 1rem;
  height: 1rem;
  color: #E6E0D2;
}
@media screen and (min-width: 769px) {
  .is-style-timeline .flat-cards-block .flat-card__arrow,
  .flat-cards-block.is-style-timeline .flat-card__arrow,
  .flat-cards-block.timeline .flat-card__arrow {
    display: block;
  }
}
.is-style-timeline .flat-cards-block .flat-cards__item:last-child .flat-card__arrow,
.flat-cards-block.is-style-timeline .flat-cards__item:last-child .flat-card__arrow,
.flat-cards-block.timeline .flat-cards__item:last-child .flat-card__arrow {
  display: none;
}
/* Deck — stacked fade (scholars/program JourneyPreviewCard).
   Always-on path-card frame; Slick cycles opacity. No hover fill. */
.is-style-deck .flat-cards-block,
.flat-cards-block.is-style-deck,
.flat-cards-block.deck {
  max-width: 28rem;
}
.is-style-deck .flat-cards-block .flat-cards,
.flat-cards-block.is-style-deck .flat-cards,
.flat-cards-block.deck .flat-cards {
  display: block;
  max-width: none;
  margin: 0;
  padding: 1.5em 0.75em;
  list-style: none;
}
@media screen and (min-width: 1025px) {
  .is-style-deck .flat-cards-block .flat-cards,
  .flat-cards-block.is-style-deck .flat-cards,
  .flat-cards-block.deck .flat-cards {
    grid-template-columns: none;
    margin-top: 0;
  }
}
@media screen and (max-width: 1024px) {
  .is-style-deck .flat-cards-block .flat-cards,
  .flat-cards-block.is-style-deck .flat-cards,
  .flat-cards-block.deck .flat-cards {
    margin-top: 0;
    grid-template-columns: none;
  }
}
@media screen and (max-width: 1024px) {
  .is-style-deck .flat-cards-block .flat-cards__item,
  .flat-cards-block.is-style-deck .flat-cards__item,
  .flat-cards-block.deck .flat-cards__item {
    width: auto;
    margin: 0;
  }
}
.is-style-deck .flat-cards-block .flat-cards__item:not(:first-child),
.flat-cards-block.is-style-deck .flat-cards__item:not(:first-child),
.flat-cards-block.deck .flat-cards__item:not(:first-child) {
  display: none;
}
.is-style-deck .flat-cards-block .flat-cards.slick-initialized .slick-list,
.flat-cards-block.is-style-deck .flat-cards.slick-initialized .slick-list,
.flat-cards-block.deck .flat-cards.slick-initialized .slick-list {
  display: grid;
  overflow: visible;
}
.is-style-deck .flat-cards-block .flat-cards.slick-initialized .slick-track,
.flat-cards-block.is-style-deck .flat-cards.slick-initialized .slick-track,
.flat-cards-block.deck .flat-cards.slick-initialized .slick-track {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100% !important;
  transform: none !important;
}
.is-style-deck .flat-cards-block .flat-cards.slick-initialized .slick-slide,
.flat-cards-block.is-style-deck .flat-cards.slick-initialized .slick-slide,
.flat-cards-block.deck .flat-cards.slick-initialized .slick-slide,
.is-style-deck .flat-cards-block .flat-cards.slick-initialized .flat-cards__item,
.flat-cards-block.is-style-deck .flat-cards.slick-initialized .flat-cards__item,
.flat-cards-block.deck .flat-cards.slick-initialized .flat-cards__item {
  display: block;
  float: none;
  width: 100% !important;
  height: auto;
  grid-area: 1 / 1;
  position: relative !important;
  left: 0 !important;
  pointer-events: none;
}
.is-style-deck .flat-cards-block .flat-cards.slick-initialized .slick-slide.slick-active,
.flat-cards-block.is-style-deck .flat-cards.slick-initialized .slick-slide.slick-active,
.flat-cards-block.deck .flat-cards.slick-initialized .slick-slide.slick-active,
.is-style-deck .flat-cards-block .flat-cards.slick-initialized .slick-slide.slick-current,
.flat-cards-block.is-style-deck .flat-cards.slick-initialized .slick-slide.slick-current,
.flat-cards-block.deck .flat-cards.slick-initialized .slick-slide.slick-current {
  pointer-events: auto;
  z-index: 1;
}
.is-style-deck .flat-cards-block .flat-card,
.flat-cards-block.is-style-deck .flat-card,
.flat-cards-block.deck .flat-card {
  --flat-card-tilt: var(--journey-tilt);
  --flat-card-fill: color-mix(in srgb, var(--flat-card-plane) 12%, #FFFFFF);
  min-height: 12rem;
  padding: 2em;
  justify-content: center;
  background-color: var(--flat-card-fill);
  border-color: var(--flat-card-plane);
  transform: rotate(calc(var(--flat-card-tilt) * var(--flat-card-sign, 1) * 1.6)) scale(0.97);
  box-shadow: none;
  transition: transform var(--duration-reveal) var(--easing-reveal), box-shadow var(--duration-reveal) var(--easing-reveal);
}
.is-style-deck .flat-cards-block .flat-card:hover,
.flat-cards-block.is-style-deck .flat-card:hover,
.flat-cards-block.deck .flat-card:hover,
.is-style-deck .flat-cards-block .flat-card:focus-visible,
.flat-cards-block.is-style-deck .flat-card:focus-visible,
.flat-cards-block.deck .flat-card:focus-visible,
.is-style-deck .flat-cards-block .flat-card:has(:focus-visible),
.flat-cards-block.is-style-deck .flat-card:has(:focus-visible),
.flat-cards-block.deck .flat-card:has(:focus-visible) {
  background-color: var(--flat-card-fill);
  border-color: var(--flat-card-plane);
  color: #1E2A4A;
  transform: rotate(calc(var(--flat-card-tilt) * var(--flat-card-sign, 1) * 1.6)) scale(0.97);
  box-shadow: none;
}
.is-style-deck .flat-cards-block .flat-card h3,
.flat-cards-block.is-style-deck .flat-card h3,
.flat-cards-block.deck .flat-card h3 {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-xxxxxlarge);
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.is-style-deck .flat-cards-block .flat-cards:not(.slick-initialized) .flat-cards__item:first-child .flat-card,
.flat-cards-block.is-style-deck .flat-cards:not(.slick-initialized) .flat-cards__item:first-child .flat-card,
.flat-cards-block.deck .flat-cards:not(.slick-initialized) .flat-cards__item:first-child .flat-card,
.is-style-deck .flat-cards-block .slick-slide.slick-active .flat-card,
.flat-cards-block.is-style-deck .slick-slide.slick-active .flat-card,
.flat-cards-block.deck .slick-slide.slick-active .flat-card,
.is-style-deck .flat-cards-block .slick-slide.slick-current .flat-card,
.flat-cards-block.is-style-deck .slick-slide.slick-current .flat-card,
.flat-cards-block.deck .slick-slide.slick-current .flat-card {
  transform: rotate(calc(var(--flat-card-tilt) * var(--flat-card-sign, 1))) scale(1);
  box-shadow: var(--shadow-card-lift);
}
.is-style-deck .flat-cards-block .slick-slide.slick-active .flat-card:hover,
.flat-cards-block.is-style-deck .slick-slide.slick-active .flat-card:hover,
.flat-cards-block.deck .slick-slide.slick-active .flat-card:hover,
.is-style-deck .flat-cards-block .slick-slide.slick-active .flat-card:focus-visible,
.flat-cards-block.is-style-deck .slick-slide.slick-active .flat-card:focus-visible,
.flat-cards-block.deck .slick-slide.slick-active .flat-card:focus-visible,
.is-style-deck .flat-cards-block .slick-slide.slick-active .flat-card:has(:focus-visible),
.flat-cards-block.is-style-deck .slick-slide.slick-active .flat-card:has(:focus-visible),
.flat-cards-block.deck .slick-slide.slick-active .flat-card:has(:focus-visible),
.is-style-deck .flat-cards-block .slick-slide.slick-current .flat-card:hover,
.flat-cards-block.is-style-deck .slick-slide.slick-current .flat-card:hover,
.flat-cards-block.deck .slick-slide.slick-current .flat-card:hover,
.is-style-deck .flat-cards-block .slick-slide.slick-current .flat-card:focus-visible,
.flat-cards-block.is-style-deck .slick-slide.slick-current .flat-card:focus-visible,
.flat-cards-block.deck .slick-slide.slick-current .flat-card:focus-visible,
.is-style-deck .flat-cards-block .slick-slide.slick-current .flat-card:has(:focus-visible),
.flat-cards-block.is-style-deck .slick-slide.slick-current .flat-card:has(:focus-visible),
.flat-cards-block.deck .slick-slide.slick-current .flat-card:has(:focus-visible),
.is-style-deck .flat-cards-block .flat-cards:not(.slick-initialized) .flat-cards__item:first-child .flat-card:hover,
.flat-cards-block.is-style-deck .flat-cards:not(.slick-initialized) .flat-cards__item:first-child .flat-card:hover,
.flat-cards-block.deck .flat-cards:not(.slick-initialized) .flat-cards__item:first-child .flat-card:hover,
.is-style-deck .flat-cards-block .flat-cards:not(.slick-initialized) .flat-cards__item:first-child .flat-card:focus-visible,
.flat-cards-block.is-style-deck .flat-cards:not(.slick-initialized) .flat-cards__item:first-child .flat-card:focus-visible,
.flat-cards-block.deck .flat-cards:not(.slick-initialized) .flat-cards__item:first-child .flat-card:focus-visible,
.is-style-deck .flat-cards-block .flat-cards:not(.slick-initialized) .flat-cards__item:first-child .flat-card:has(:focus-visible),
.flat-cards-block.is-style-deck .flat-cards:not(.slick-initialized) .flat-cards__item:first-child .flat-card:has(:focus-visible),
.flat-cards-block.deck .flat-cards:not(.slick-initialized) .flat-cards__item:first-child .flat-card:has(:focus-visible) {
  transform: rotate(calc(var(--flat-card-tilt) * var(--flat-card-sign, 1))) scale(1);
  box-shadow: var(--shadow-card-lift);
}
.is-style-deck .flat-cards-block .flat-card__content,
.flat-cards-block.is-style-deck .flat-card__content,
.flat-cards-block.deck .flat-card__content {
  justify-content: center;
  gap: 0.75em;
}
.is-style-deck .flat-cards-block .flat-card__content > :last-child,
.flat-cards-block.is-style-deck .flat-card__content > :last-child,
.flat-cards-block.deck .flat-card__content > :last-child {
  margin-top: 0;
  padding-top: 0;
}
.is-style-deck .flat-cards-block .flat-card__content p:last-child,
.flat-cards-block.is-style-deck .flat-card__content p:last-child,
.flat-cards-block.deck .flat-card__content p:last-child {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
}
@media (prefers-reduced-motion: reduce) {
  .is-style-deck .flat-cards-block .flat-card,
  .flat-cards-block.is-style-deck .flat-card,
  .flat-cards-block.deck .flat-card {
    transform: none;
    transition: none;
  }
}
/*** Expanding Cards — framed grid that opens into a journey-style panel ***/
.expanding-cards-block {
  --duration-banner: 0.35s;
  --color-parchment: #d4c5a5;
  width: 100%;
}
.expanding-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5em;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 769px) {
  .expanding-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1025px) {
  .expanding-cards {
    grid-template-columns: repeat(4, 1fr);
    gap: 1em;
  }
}
.expanding-cards__item {
  min-width: 0;
}
@media screen and (max-width: 1024px) {
  .expanding-cards__item {
    width: auto;
    margin: 0;
  }
}
.expanding-card {
  position: relative;
  min-height: 16.25rem;
  padding: 1.5em;
}
.expanding-card--parchment {
  --flat-card-plane: #d4c5a5;
}
.expanding-card:has(.expanding-card__hit) {
  cursor: pointer;
}
.expanding-card__closed {
  pointer-events: none;
}
.expanding-card__closed h2,
.expanding-card__closed h3,
.expanding-card__closed h4 {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-xxlarge);
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin: 0;
  max-width: 18ch;
}
.expanding-card__closed h4 {
  text-transform: none;
}
.expanding-card__closed p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
  line-height: 1.45;
  margin: 0;
}
.expanding-card__closed .expanding-card__cta {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.2;
}
.expanding-card__closed .expanding-card__cta:after {
  content: '';
  display: block;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='black' d='M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='black' d='M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform var(--duration-button, 0.15s);
}
.expanding-card:hover .expanding-card__cta:after,
.expanding-card:focus-visible .expanding-card__cta:after,
.expanding-card:has(:focus-visible) .expanding-card__cta:after {
  transform: translateX(var(--btn-arrow-shift));
}
button.expanding-card__hit {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: none;
  background-color: transparent !important;
  box-shadow: none;
  color: transparent;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
button.expanding-card__hit:hover,
button.expanding-card__hit:active,
button.expanding-card__hit:focus {
  background: none;
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
  color: transparent;
  outline: none;
}
button.expanding-card__hit:focus-visible {
  outline: 1px solid rgba(240, 78, 35, 0.5);
  outline-offset: 2px;
}
.expanding-cards-block.is-open .expanding-cards {
  display: none;
}
.expanding-card-panel {
  animation: expanding-card-panel-in var(--duration-banner) var(--easing-reveal) both;
  padding: 7px;
  border-radius: 18px;
  overflow: hidden;
}
.expanding-card-panel[hidden] {
  display: none !important;
  padding: 1em;
}
@keyframes expanding-card-panel-in {
  from {
    opacity: 0;
    transform: translateY(var(--journey-step));
  }
}
.expanding-card-panel__plate {
  display: flex;
  flex-direction: column;
  gap: 2em;
  padding: 1em;
  background-color: #FFFFFF;
  border-radius: 12px;
  color: #1E2A4A;
  overflow: hidden;
}
.expanding-card-panel__plate div,
.expanding-card-panel__plate p,
.expanding-card-panel__plate li {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 1025px) {
  .expanding-card-panel__plate {
    gap: 3em;
    padding: 1.5em;
  }
}
button.expanding-card-panel__back {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  align-self: flex-start;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  background-color: transparent;
  box-shadow: none;
  color: #1E2A4A;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-medium);
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
button.expanding-card-panel__back svg {
  display: block;
  flex-shrink: 0;
  transition: transform var(--duration-button, 0.15s);
}
button.expanding-card-panel__back:hover,
button.expanding-card-panel__back:active,
button.expanding-card-panel__back:focus {
  background: none;
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
  color: #f04e23;
  outline: none;
}
button.expanding-card-panel__back:focus-visible {
  outline: 1px solid rgba(240, 78, 35, 0.5);
  outline-offset: 2px;
}
button.expanding-card-panel__back:hover svg,
button.expanding-card-panel__back:focus-visible svg {
  transform: translateX(calc(-1 * var(--btn-arrow-shift)));
}
.expanding-card-panel__body {
  min-width: 0;
}
.expanding-card-panel__body > *:first-child {
  margin-top: 0;
}
.expanding-card-panel__body > *:last-child {
  margin-bottom: 0;
}
.expanding-card-panel__body h2,
.expanding-card-panel__body h3,
.expanding-card-panel__body h4 {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 0.5em;
  max-width: 18ch;
}
.expanding-card-panel__body h2,
.expanding-card-panel__body h3 {
  font-size: clamp(1.75rem, 3vw, 2.75rem);
}
.expanding-card-panel__body h4 {
  font-size: var(--text-body-xxlarge);
}
.expanding-card-panel__body p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-medium);
  line-height: 1.5;
  margin: 0 0 1em;
  max-width: 62ch;
}
.expanding-card-panel__body img,
.expanding-card-panel__body video,
.expanding-card-panel__body iframe {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: var(--journey-inner-radius);
}
.expanding-card-panel__body figure {
  margin: 0;
}
.expanding-card-panel__body figure img {
  width: 100%;
  object-fit: cover;
}
.expanding-card-panel__body ul,
.expanding-card-panel__body ol {
  margin: 0 0 1em;
  padding: 0;
  max-width: 62ch;
}
.expanding-card-panel__body li + li {
  margin-top: 0.5em;
}
/*
 * Inner-only hairlines for a 3-column logo grid.
 *
 * Every cell gets a full border, then the outer edge is cancelled:
 *   first row     :nth-child(-n + cols)        → no top
 *   last row      :nth-last-child(-n + cols)   → no bottom
 *   first column  :nth-child(colsn + 1)        → no left
 *   last column   :nth-child(colsn)            → no right
 *
 * Last-row math only holds on a complete rectangle, so PHP pads empty
 * cells to a multiple of --logo-cols (first / third / 3rd-from-end / last
 * then match the corners the design calls for).
 */
.expanding-card-logos {
  --logo-cols: 3;
  --logo-cell-pad: 1em;
  --logo-mark-height: 56px;
  display: grid;
  grid-template-columns: repeat(var(--logo-cols), minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 1024px) {
  .expanding-card-logos {
    --logo-cell-pad: 0.5em;
    --logo-mark-height: 32px;
  }
}
.expanding-card-logos > li {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 1em;
  border: 1px solid #E6E0D2;
  box-sizing: border-box;
}
.expanding-card-logos > li:nth-child(-n + 3) {
  border-top: none;
}
.expanding-card-logos > li:nth-last-child(-n + 3) {
  border-bottom: none;
}
.expanding-card-logos > li:nth-child(3n + 1) {
  border-left: none;
}
.expanding-card-logos > li:nth-child(3n) {
  border-right: none;
}
.expanding-card-panel__body + .expanding-card-logos-block {
  padding-top: 1.5em;
  border-top: 1px solid #E6E0D2;
}
@media screen and (min-width: 1025px) {
  .expanding-card-panel__body + .expanding-card-logos-block {
    padding-top: 2em;
  }
}
.expanding-card-logos-block {
  display: flex;
  flex-direction: column;
  gap: 1em;
  min-width: 0;
}
.expanding-card-logos__heading {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-small);
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0;
}
.expanding-card-logos__img {
  display: inline-block;
  height: 56px !important;
  width: auto;
  max-width: 200px !important;
  max-height: 100%;
  object-fit: contain;
  border-radius: 0;
}
.expanding-card-split {
  display: grid;
  gap: 2em;
  min-width: 0;
}
@media screen and (min-width: 1025px) {
  .expanding-card-split {
    grid-template-columns: 1fr 1fr;
    gap: 4em;
    align-items: start;
  }
}
.expanding-card-split > * {
  min-width: 0;
}
@media (prefers-reduced-motion: reduce) {
  .expanding-card-panel {
    animation: none;
  }
  .expanding-card:hover .expanding-card__cta:after,
  .expanding-card:focus-visible .expanding-card__cta:after,
  .expanding-card:has(:focus-visible) .expanding-card__cta:after {
    transform: none;
  }
  .expanding-card-panel__back:hover svg,
  .expanding-card-panel__back:focus-visible svg {
    transform: none;
  }
}
/*** Ambassador Cards — fanned flip portraits (FAQs Student Ambassadors) ***/
.ambassador-cards {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
  gap: 1.5em;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .ambassador-cards {
    flex-wrap: nowrap;
    gap: 0;
  }
}
.ambassador-card {
  --ambassador-plane: #f04e23;
  --ambassador-ink: #1E2A4A;
  --ambassador-fan: 0deg;
  position: relative;
  width: 100%;
  max-width: 15rem;
  flex-shrink: 0;
  rotate: var(--ambassador-fan);
}
.ambassador-card:hover,
.ambassador-card:focus-within,
.ambassador-card.is-flipped {
  z-index: 10;
}
@media screen and (min-width: 1025px) {
  .ambassador-cards .ambassador-card {
    width: 33.333%;
  }
  .ambassador-cards .ambassador-card:nth-child(1 of .ambassador-card) {
    --ambassador-fan: -6deg;
    margin-right: -2.5rem;
  }
  .ambassador-cards .ambassador-card:nth-child(2 of .ambassador-card) {
    margin-bottom: 2rem;
  }
  .ambassador-cards .ambassador-card:nth-child(3 of .ambassador-card) {
    --ambassador-fan: 6deg;
    margin-left: -2.5rem;
  }
}
.ambassador-card--ember {
  --ambassador-plane: #f04e23;
  --ambassador-ink: #1E2A4A;
}
.ambassador-card--amber {
  --ambassador-plane: #F2A33C;
  --ambassador-ink: #1E2A4A;
}
.ambassador-card--sky {
  --ambassador-plane: #6FB2D6;
  --ambassador-ink: #1E2A4A;
}
.ambassador-card--lake {
  --ambassador-plane: #2F7FA6;
  --ambassador-ink: #FFFFFF;
}
.ambassador-card--blue {
  --ambassador-plane: #1A5B9E;
  --ambassador-ink: #FFFFFF;
}
.ambassador-card--parchment {
  --ambassador-plane: #d4c5a5;
  --ambassador-ink: #1E2A4A;
}
.ambassador-card--midnight {
  --ambassador-plane: #131C33;
  --ambassador-ink: #FFFFFF;
}
.ambassador-card--ink {
  --ambassador-plane: #1E2A4A;
  --ambassador-ink: #FFFFFF;
}
button.ambassador-card__flip {
  display: block;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--radius-panel);
  background: none;
  background-color: transparent !important;
  box-shadow: none;
  color: inherit;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-align: start;
  text-transform: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  perspective: 1000px;
}
button.ambassador-card__flip:hover,
button.ambassador-card__flip:active,
button.ambassador-card__flip:focus {
  background: none;
  background-color: transparent !important;
  border-color: transparent;
  box-shadow: none;
  color: inherit;
  outline: none;
}
button.ambassador-card__flip:focus-visible {
  outline: 1px solid rgba(240, 78, 35, 0.5);
  outline-offset: 2px;
}
.ambassador-card__inner {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  transform-style: preserve-3d;
  transition: transform 500ms ease;
}
.ambassador-card:hover .ambassador-card__inner,
.ambassador-card:focus-within .ambassador-card__inner,
.ambassador-card.is-flipped .ambassador-card__inner {
  transform: rotateY(180deg);
}
@media (hover: none) {
  .ambassador-card:hover .ambassador-card__inner {
    transform: none;
  }
  .ambassador-card.is-flipped .ambassador-card__inner,
  .ambassador-card:focus-within .ambassador-card__inner {
    transform: rotateY(180deg);
  }
}
.ambassador-card__face {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-card-lift);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.ambassador-card__face--front {
  background-color: #EAE0CA;
}
.ambassador-card__face--front img,
.ambassador-card__face--front .ambassador-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.ambassador-card__face--back {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.25em;
  padding: 1.5em;
  background-color: var(--ambassador-plane);
  color: var(--ambassador-ink);
  transform: rotateY(180deg);
}
.ambassador-card__name {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-xxlarge);
  line-height: 1.3;
}
.ambassador-card__school {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
  line-height: 1.45;
}
@media (prefers-reduced-motion: reduce) {
  .ambassador-card__inner {
    transition: none;
  }
}
/*** Link Provider — compact download cards (design ResourceList) ***/
.link-provider-block {
  width: 100%;
}
.link-provider {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5em;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 769px) {
  .link-provider {
    grid-template-columns: repeat(2, 1fr);
  }
}
.link-provider__item {
  min-width: 0;
}
.link-provider__card.flat-card {
  flex-direction: row;
  align-items: center;
  gap: 0.75em;
  min-height: 0;
  padding: 0.75em 1em;
  text-align: start;
}
.link-provider__card.flat-card.flat-card--parchment {
  --flat-card-plane: #D4C5A5;
}
a.link-provider__card {
  cursor: pointer;
}
.link-provider__card.is-static {
  cursor: default;
}
.link-provider__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: var(--flat-card-plane);
  line-height: 1;
}
.link-provider__icon i {
  display: block;
  font-size: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  line-height: 1;
}
.link-provider__label {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  flex: 1;
  min-width: 0;
  font-size: var(--text-body-medium);
  line-height: 1.3;
}
.link-provider__download {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  color: #1E2A4A;
  line-height: 1;
}
.link-provider__download i {
  display: block;
  font-size: 1rem;
  width: 1rem;
  height: 1rem;
  line-height: 1;
}
/*** Custom Grid — freeform WYSIWYG cells ***/
.custom-grid-block {
  width: 100%;
}
.custom-grid-block.gray-tags.marquee,
.custom-grid-block.parchment-tags.marquee {
  --marquee-gap: 1em;
  --marquee-duration: 80s;
}
.jump-band-block {
  width: 100%;
}
.custom-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5em;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .custom-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  }
}
.custom-grid__item {
  min-width: 0;
}
ul.ul-custom-grid {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 1em;
}
@media screen and (min-width: 1025px) {
  ul.ul-custom-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 1024px) {
  ul.ul-custom-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
ul.ul-custom-grid.gray-cards li {
  background-color: #ebecf0;
  display: flex;
  flex-direction: column;
  padding: 2em 1em;
  justify-content: center;
  align-items: center;
  border-radius: 12px;
}
ul.ul-custom-grid.gray-cards li .img-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 6px solid #FFFFFF;
  border-radius: 100px;
  width: 200px;
  height: 200px;
}
ul.ul-custom-grid.gray-cards li .img-circle img {
  width: 200px;
  height: 200px;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 1 / 1;
  display: block;
}
ul.ul-custom-grid.gray-cards li p {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  margin: 1em 0 0;
  padding: 0;
  text-align: center;
}
ul.ul-custom-grid.gray-cards li p strong {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 20px;
}
ul.ul-custom-grid.gray-tags {
  border-radius: 12px;
  display: grid;
  gap: 1em;
  list-style-type: none;
  margin: 0;
  /* Additional class `gray-tags marquee` — infinite strip of tag cards. */
}
@media screen and (min-width: 1025px) {
  ul.ul-custom-grid.gray-tags {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1024px) {
  ul.ul-custom-grid.gray-tags {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 440px) {
  ul.ul-custom-grid.gray-tags {
    grid-template-columns: repeat(1, 1fr);
  }
}
ul.ul-custom-grid.gray-tags li {
  background-color: #ebecf0;
  padding: 1em;
  border-radius: 12px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.5em;
}
ul.ul-custom-grid.gray-tags li .img-circle {
  display: block;
  overflow: hidden;
  border: none;
  border-radius: 50%;
  width: 72px;
  height: 72px;
  flex-shrink: 0;
}
ul.ul-custom-grid.gray-tags li .img-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  padding: 0;
  margin: 0;
  display: block;
}
ul.ul-custom-grid.gray-tags li p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.2;
  margin: 0;
  padding: 0;
  text-align: left;
  flex: 1;
}
ul.ul-custom-grid.gray-tags li strong {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.2;
  margin: 0;
  padding: 0;
}
ul.ul-custom-grid.gray-tags.marquee,
.custom-grid-block.marquee ul.ul-custom-grid.gray-tags {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: max-content;
  max-width: none;
  grid-template-columns: none;
  gap: 1em;
}
ul.ul-custom-grid.gray-tags.marquee li,
.custom-grid-block.marquee ul.ul-custom-grid.gray-tags li {
  flex: 0 0 auto;
  width: 20rem;
  max-width: min(22rem, 85vw);
}
ul.ul-custom-grid.gray-tags.marquee li:last-child,
.custom-grid-block.marquee ul.ul-custom-grid.gray-tags li:last-child {
  margin-right: 1em;
}
ul.ul-custom-grid.parchment-tags {
  border-radius: 12px;
  display: grid;
  gap: 1em;
  list-style-type: none;
  margin: 0;
  /* Additional class `parchment-tags marquee` — same strip as gray-tags. */
}
@media screen and (min-width: 1025px) {
  ul.ul-custom-grid.parchment-tags {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1024px) {
  ul.ul-custom-grid.parchment-tags {
    grid-template-columns: repeat(2, 1fr);
  }
}
ul.ul-custom-grid.parchment-tags li {
  background-color: #eae0ca;
  padding: 1.5em;
  border-radius: 12px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.5em;
}
ul.ul-custom-grid.parchment-tags li .img-circle {
  display: block;
  overflow: hidden;
  border: none;
  border-radius: 50%;
  width: 72px;
  height: 72px;
  flex-shrink: 0;
}
ul.ul-custom-grid.parchment-tags li .img-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  padding: 0;
  margin: 0;
  display: block;
}
ul.ul-custom-grid.parchment-tags li p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  text-align: left;
  flex: 1;
}
ul.ul-custom-grid.parchment-tags li strong {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.2;
  margin: 0;
  padding: 0;
}
ul.ul-custom-grid.parchment-tags.marquee,
.custom-grid-block.marquee ul.ul-custom-grid.parchment-tags {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: max-content;
  max-width: none;
  grid-template-columns: none;
  gap: 1em;
}
ul.ul-custom-grid.parchment-tags.marquee li,
.custom-grid-block.marquee ul.ul-custom-grid.parchment-tags li {
  flex: 0 0 auto;
  width: 20rem;
  max-width: min(22rem, 85vw);
}
ul.ul-custom-grid.parchment-tags.marquee li:last-child,
.custom-grid-block.marquee ul.ul-custom-grid.parchment-tags li:last-child {
  margin-right: 1em;
}
@media screen and (min-width: 1025px) {
  ul.ul-custom-grid.region-cards {
    grid-template-columns: repeat(3, 1fr);
  }
  ul.ul-custom-grid.region-cards.four-across {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 1024px) {
  ul.ul-custom-grid.region-cards {
    grid-template-columns: repeat(1, 1fr);
  }
}
ul.ul-custom-grid.region-cards li {
  background-color: #FFFFFF;
  display: flex;
  flex-direction: column;
  padding: 0;
  align-items: center;
  border-radius: 12px;
  overflow: hidden;
}
ul.ul-custom-grid.region-cards li a {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  height: 100%;
}
ul.ul-custom-grid.region-cards li .img {
  aspect-ratio: 4 / 3;
  display: block;
  overflow: hidden;
}
ul.ul-custom-grid.region-cards li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
ul.ul-custom-grid.region-cards li .img img {
  min-height: 100%;
}
ul.ul-custom-grid.region-cards li .description {
  padding: 1em;
}
ul.ul-custom-grid.region-cards li .description h3 {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 22px;
  line-height: 1.2;
  margin: 0;
  padding: 0 0 0.5em;
}
ul.ul-custom-grid.region-cards li .description p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  margin: 0.5em 0 0;
  padding: 0;
}
ul.ul-custom-grid.region-cards li .description p.meta {
  padding: 0.5em 0;
  border-top: 1px solid #E6E0D2;
  gap: 1em;
}
ul.ul-custom-grid.region-cards li .description p.meta .micro-label {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.2;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
ul.ul-custom-grid.logo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
ul.ul-custom-grid.logo-grid li {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0;
  align-items: center;
  justify-content: center;
  border-top: 1px solid #E6E0D2;
  border-left: 1px solid #E6E0D2;
}
ul.ul-custom-grid.logo-grid li p {
  padding: 1em;
  margin: 0;
}
ul.ul-custom-grid.logo-grid li:nth-child(-n + 4) {
  border-top: none;
  border-bottom: 1px solid #E6E0D2;
}
ul.ul-custom-grid.logo-grid li:nth-child(n + 5):nth-child(-n + 8) {
  border-top: none;
}
ul.ul-custom-grid.logo-grid li:nth-child(4n + 1) {
  border-left: none;
}
@media screen and (min-width: 1025px) {
  ul.ul-custom-grid.white-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1024px) {
  ul.ul-custom-grid.white-cards {
    grid-template-columns: repeat(1, 1fr);
  }
}
ul.ul-custom-grid.white-cards li {
  background-color: #FFFFFF;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.5em;
  gap: 1em;
}
ul.ul-custom-grid.white-cards li h3 {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.2;
  margin: 0;
  padding: 0 0 0.5em;
}
ul.ul-custom-grid.white-cards li p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
ul.ul-custom-grid.white-cards li p.meta {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  border-top: 1px solid #E6E0D2;
  font-size: 12px;
  line-height: 1.2;
  margin: 0;
  padding: 0.5em 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
ul.ul-custom-grid.jump-band {
  gap: 0;
}
@media screen and (min-width: 1025px) {
  ul.ul-custom-grid.jump-band {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1024px) {
  ul.ul-custom-grid.jump-band {
    grid-template-columns: repeat(1, 1fr);
  }
}
ul.ul-custom-grid.jump-band li {
  background-color: #FFFFFF;
  display: inline-flex;
  flex-direction: column;
  border: 1px solid #E6E0D2;
  padding: 1em;
}
ul.ul-custom-grid.jump-band li:nth-child(n + 1):nth-child(-n + 3) {
  border-top: 1px solid #E6E0D2 !important;
}
ul.ul-custom-grid.jump-band li:nth-last-child(-n+3) {
  border-top: none !important;
  border-bottom: 1px solid #E6E0D2 !important;
}
ul.ul-custom-grid.jump-band li a.hero-jump {
  text-decoration: none;
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  margin: 0;
}
ul.ul-custom-grid.jump-band li a.hero-jump .jump {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}
ul.ul-custom-grid.jump-band li a.hero-jump .jump .icon i {
  font-size: 32px;
  margin: 0 0.5em;
}
ul.ul-custom-grid.jump-band li a.hero-jump .jump .text-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  flex: 1;
}
ul.ul-custom-grid.jump-band li a.hero-jump .jump .text-stack p {
  margin: 0;
  padding: 0;
  font-size: var(--text-body-small);
}
ul.ul-custom-grid.jump-band li a.hero-jump .jump .text-stack p strong {
  display: block;
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 600;
  font-size: var(--text-body-medium);
}
ul.ul-custom-grid.jump-band li a.hero-jump .jump .arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-left: 1em;
  transform: translateX(0);
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
ul.ul-custom-grid.jump-band li a.hero-jump .jump .arrow i {
  display: inline-block;
  font-size: 32px;
  line-height: 1;
}
ul.ul-custom-grid.jump-band li a.hero-jump:hover .jump > .arrow,
ul.ul-custom-grid.jump-band li a.hero-jump:focus .jump > .arrow {
  transform: translateX(10px);
}
@media screen and (min-width: 1025px) {
  ul.ul-custom-grid.ambassadors {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 1024px) {
  ul.ul-custom-grid.ambassadors {
    grid-template-columns: repeat(1, 1fr);
  }
}
ul.ul-custom-grid.ambassadors li {
  display: flex;
  flex-direction: column;
  padding: 0;
  align-items: center;
  border-radius: 12px;
  overflow: hidden;
  border-width: 5px;
  border-style: solid;
}
ul.ul-custom-grid.ambassadors li:nth-child(1) {
  border-color: #f04e23;
}
ul.ul-custom-grid.ambassadors li:nth-child(2) {
  border-color: #F2A33C;
}
ul.ul-custom-grid.ambassadors li:nth-child(3) {
  border-color: #6FB2D6;
}
ul.ul-custom-grid.ambassadors li:nth-child(4) {
  border-color: #1E2A4A;
}
ul.ul-custom-grid.ambassadors li:nth-child(5) {
  border-color: #2F7FA6;
}
ul.ul-custom-grid.ambassadors li:nth-child(5n+1) {
  border-color: #f04e23;
}
ul.ul-custom-grid.ambassadors li:nth-child(5n+2) {
  border-color: #F2A33C;
}
ul.ul-custom-grid.ambassadors li:nth-child(5n+3) {
  border-color: #6FB2D6;
}
ul.ul-custom-grid.ambassadors li:nth-child(5n+4) {
  border-color: #1E2A4A;
}
ul.ul-custom-grid.ambassadors li:nth-child(5n) {
  border-color: #2F7FA6;
}
ul.ul-custom-grid.ambassadors li a {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  height: 100%;
}
ul.ul-custom-grid.ambassadors li .img {
  aspect-ratio: 4 / 3;
  display: block;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
ul.ul-custom-grid.ambassadors li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
ul.ul-custom-grid.ambassadors li .img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}
ul.ul-custom-grid.ambassadors li .description {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1em;
}
ul.ul-custom-grid.ambassadors li .description h3 {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.2;
  margin: 0;
  padding: 0 0 0.25em;
}
ul.ul-custom-grid.ambassadors li .description p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  margin: 0.5em 0 0;
  padding: 0;
}
ul.ul-custom-grid.ambassadors li .description p.meta {
  margin-top: 1em;
  padding: 0.5em 0;
  border-bottom: 1px solid #E6E0D2;
  gap: 1em;
  width: 100%;
  display: flex;
  align-items: center;
}
ul.ul-custom-grid.ambassadors li .description p.meta:after {
  content: "\e582";
  font-family: "Phosphor";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: inline-block;
  flex-shrink: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
ul.ul-custom-grid.ambassadors li .description span.micro-label {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.2;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
/*** Accordion — Panel Accordion (OptionTabs) and FAQ ***/
.accordion-block {
  --accordion-pad-y: 1em;
  --accordion-measure: 52ch;
  --accordion-plate: #EAE0CA;
  --duration-button: 150ms;
  --radius-card: 8px;
  width: 100%;
  /* Beat Twenty Twenty-One's generic `button` fill/color/padding. */
  /* FAQ on paper: hairlines between rows, no plate on the open answer. */
}
.accordion-block .accordion-layout {
  display: grid;
  align-items: start;
  gap: 2.5em;
}
@media screen and (min-width: 1025px) {
  .accordion-block .accordion-layout {
    grid-template-columns: 1fr 1fr;
    gap: 4em;
  }
}
.accordion-block:not(.accordion-block--media) .accordion-layout {
  grid-template-columns: 1fr;
}
@media (min-width: 60em) {
  .accordion-block.turnaround .accordion-layout {
    direction: rtl;
  }
  .accordion-block.turnaround .accordion-layout > * {
    direction: ltr;
  }
}
.accordion-block .accordion-row {
  position: relative;
  padding-left: 0.5em;
}
.accordion-block .accordion-row + .accordion-row {
  margin-top: 0.5rem;
}
.accordion-block .accordion-row::before {
  content: "";
  position: absolute;
  inset-block: 0;
  left: 0;
  width: var(--stat-rule-width);
  background-color: var(--accordion-plane);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform var(--duration-reveal) var(--easing-reveal);
}
.accordion-block .accordion-row:hover::before,
.accordion-block .accordion-row:focus-within::before {
  transform: scaleY(0.33);
}
.accordion-block .accordion-row[data-open]::before {
  transform: scaleY(1);
}
.accordion-block .accordion-row[data-open] .accordion-stack {
  background-color: var(--accordion-plate);
  border-radius: var(--radius-card);
}
.accordion-block .accordion-row[data-open] .accordion-caret {
  transform: rotate(180deg);
}
.accordion-block .accordion-row[data-open] .accordion-region {
  grid-template-rows: 1fr;
}
.accordion-block button.accordion-control {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  width: 100%;
  margin: 0;
  padding: 1em;
  background: none;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  color: #1E2A4A;
  appearance: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.accordion-block button.accordion-control:not(:hover):not(:active):not(.has-text-color),
.accordion-block button.accordion-control:not(:hover):not(:active):not(.has-background) {
  background: none;
  background-color: transparent;
  border-color: transparent;
  color: #1E2A4A;
}
.accordion-block button.accordion-control:hover,
.accordion-block button.accordion-control:active,
.accordion-block button.accordion-control:focus {
  background: none;
  background-color: transparent;
  border-color: transparent;
  color: #f04e23;
  outline: none;
}
.accordion-block button.accordion-control:focus-visible {
  outline: 1px solid rgba(240, 78, 35, 0.5);
  outline-offset: 2px;
}
.accordion-block .accordion-control__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.accordion-block .accordion-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: var(--accordion-plane);
  line-height: 1;
}
.accordion-block .accordion-icon i,
.accordion-block .accordion-icon svg {
  display: block;
  font-size: 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
  line-height: 1;
}
.accordion-block h3.accordion-heading {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
.accordion-block .accordion-title {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  color: inherit;
  font-size: 1.375rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
.accordion-block .accordion-caret {
  display: block;
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  transition: transform var(--duration-button);
}
.accordion-block .accordion-region {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--duration-reveal) var(--easing-reveal);
}
.accordion-block .accordion-clip {
  overflow: hidden;
  min-height: 0;
}
.accordion-block .accordion-body {
  margin: 0;
  max-width: var(--accordion-measure);
  padding: 0 1.5rem var(--accordion-pad-y);
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-large);
  line-height: 1.5;
  color: rgba(30, 42, 74, 0.68);
}
.accordion-block .accordion-body > *:first-child {
  margin-top: 0;
}
.accordion-block .accordion-body > *:last-child {
  margin-bottom: 0;
}
.accordion-block .accordion-body p,
.accordion-block .accordion-body ul,
.accordion-block .accordion-body ol {
  margin: 0 0 0.75em;
}
.accordion-block .accordion-body ul,
.accordion-block .accordion-body ol {
  padding-left: 1.25em;
}
.accordion-block.accordion-box {
  --accordion-pad-y: 2rem;
  --accordion-measure: 68ch;
}
.accordion-block.accordion-box .accordion-row[data-open] .accordion-stack {
  background-color: transparent;
}
.accordion-block.accordion-box .accordion-row + .accordion-row {
  margin-top: 0;
  border-top: 1px solid #E6E0D2;
}
.accordion-block .option-media {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-panel);
  overflow: hidden;
}
.accordion-block .option-media-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity var(--duration-reveal) var(--easing-reveal);
}
.accordion-block .option-media-frame[data-open] {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .accordion-block .accordion-row::before,
  .accordion-block .accordion-region,
  .accordion-block .accordion-caret,
  .accordion-block .option-media-frame {
    transition: none;
  }
}
/*** Impact Cloud — chips over a photograph (design ImpactCloud) ***/
.impact-cloud-block {
  --chip-pad-y: 7px;
  --chip-pad-x: 14px;
  --chip-ink: #1E2A4A;
  --color-parchment-deep: #EAE0CA;
  --color-slate: #000000;
  --duration-button: 150ms;
  --duration-banner: 350ms;
  --radius-button: 999px;
  --shadow-quote-card: 0 12px 32px rgba(19, 28, 51, 0.1);
  --shadow-panel: 0 28px 56px -18px rgba(19, 28, 51, 0.28),
    0 2px 6px fade(#131C33, 6%);
  --track-dot-size: 8px;
  --impact-panel-chip: calc(1.4 * 0.8125rem + var(--chip-pad-y) * 2);
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .impact-cloud-block {
    padding-inline: 4rem;
  }
}
.impact-cloud-stage {
  position: relative;
  max-width: 52rem;
  margin: 0 auto;
  overflow: visible;
}
.impact-cloud-figure {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-panel);
}
@media screen and (max-width: 1024px) {
  .impact-cloud-block--expandable .impact-cloud-figure {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .impact-cloud-block--expandable .impact-cloud-figure {
    display: block;
  }
}
.impact-cloud-figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 3 / 2;
  border-radius: var(--radius-panel);
}
.impact-cloud-tags {
  display: none;
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: visible;
}
@media screen and (min-width: 1025px) {
  .impact-cloud-tags {
    display: block;
  }
}
.impact-cloud-block:not(.impact-cloud-block--expandable) .impact-cloud-tags {
  pointer-events: none;
}
.impact-cloud-tags__item {
  position: absolute;
}
.impact-cloud-block .chip {
  --micro-label-ink: var(--chip-ink);
  display: inline-flex;
  align-items: center;
  padding: var(--chip-pad-y) var(--chip-pad-x);
  border-radius: var(--radius-button);
  background-color: var(--chip-fill);
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 0.8125rem;
  line-height: 1.4;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chip-ink);
  white-space: nowrap;
  box-shadow: var(--shadow-quote-card);
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.impact-cloud-block .chip:hover,
.impact-cloud-block .chip:focus-visible {
  background-color: var(--chip-ink);
  color: var(--chip-fill);
}
.impact-cloud-block button.impact-tag-control {
  margin: 0;
  padding: var(--chip-pad-y) var(--chip-pad-x);
  border: 0;
  border-radius: var(--radius-button);
  box-shadow: var(--shadow-quote-card);
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: left;
  text-decoration: none;
  background-color: var(--chip-fill);
  color: var(--chip-ink);
  cursor: pointer;
  appearance: none;
  outline: 0 solid transparent;
  outline-offset: 3px;
}
.impact-cloud-block button.impact-tag-control:not(:hover):not(:active):not(.has-text-color),
.impact-cloud-block button.impact-tag-control:not(:hover):not(:active):not(.has-background) {
  background-color: var(--chip-fill);
  color: var(--chip-ink);
  border-color: transparent;
}
.impact-cloud-block button.impact-tag-control:hover,
.impact-cloud-block button.impact-tag-control:active,
.impact-cloud-block button.impact-tag-control:focus {
  background-color: var(--chip-ink) !important;
  color: var(--chip-fill) !important;
  box-shadow: var(--shadow-quote-card);
  outline: none;
}
.impact-cloud-block button.impact-tag-control:focus-visible {
  outline: 2px solid #1E2A4A;
}
.impact-cloud-block button.impact-tag-control[aria-expanded="true"] {
  background-color: var(--chip-ink) !important;
  color: var(--chip-fill) !important;
  outline: 2px solid #1E2A4A;
}
.impact-cloud-block.is-open .impact-tag-control:not([aria-expanded="true"]) {
  opacity: 0.4;
}
.impact-panel {
  position: relative;
  z-index: 2;
  background-color: #FFFFFF;
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-panel);
  padding: 24px;
  animation: impact-panel-in var(--duration-banner) var(--easing-reveal) both;
}
@media screen and (min-width: 1025px) {
  .impact-panel {
    display: none;
    position: absolute;
    width: 17rem;
  }
  .impact-panel[hidden] {
    display: none !important;
  }
  .impact-panel:not([hidden]) {
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  .impact-panel {
    display: none !important;
  }
}
@media screen and (min-width: 1025px) {
  .impact-panel--left {
    left: 1.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .impact-panel--right {
    right: 1.5rem;
  }
}
.impact-panel__body {
  display: flex;
  flex-direction: column;
  padding-right: 2.5rem;
}
.impact-panel__title {
  margin: 0;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 1.375rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #1E2A4A;
}
.impact-panel__text {
  margin: 1rem 0 0;
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
  line-height: 1.45;
  color: rgba(30, 42, 74, 0.68);
}
@media screen and (min-width: 1025px) {
  .impact-panel-anchored {
    top: var(--impact-panel-top);
    bottom: var(--impact-panel-bottom);
  }
}
@keyframes impact-panel-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
}
.impact-cloud-block button.impact-panel-close {
  position: absolute;
  top: 8px;
  inset-inline-end: 8px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  background: none;
  background-color: transparent;
  border: 0;
  border-radius: var(--radius-button);
  box-shadow: none;
  color: rgba(30, 42, 74, 0.55);
  cursor: pointer;
  appearance: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.impact-cloud-block button.impact-panel-close:hover,
.impact-cloud-block button.impact-panel-close:focus,
.impact-cloud-block button.impact-panel-close:active {
  background: none;
  background-color: transparent;
  color: #f04e23;
  outline: none;
}
.impact-cloud-block button.impact-panel-close:focus-visible {
  outline: 1px solid rgba(240, 78, 35, 0.5);
  outline-offset: 2px;
}
.impact-cloud-block button.impact-panel-close svg {
  display: block;
  width: 16px;
  height: 16px;
}
/* Label-only cloud: wrap under the picture below desktop. */
.impact-cloud-wrap {
  display: none;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 1024px) {
  .impact-cloud-block:not(.impact-cloud-block--expandable) .impact-cloud-wrap {
    display: flex;
  }
}
/* Expandable cloud: swipe deck below desktop. */
.impact-cloud-deck {
  display: none;
  margin-top: 2rem;
}
@media screen and (max-width: 1024px) {
  .impact-cloud-block--expandable .impact-cloud-deck {
    display: block;
  }
}
.impact-cloud-deck__track {
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.impact-cloud-deck__track::-webkit-scrollbar {
  display: none;
}
.impact-cloud-deck__page {
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
  padding: 0.5rem 0.25rem 2.5rem;
  box-sizing: border-box;
}
.impact-cloud-deck__dots {
  display: flex;
  justify-content: center;
  margin-top: 0.5rem;
}
.impact-cloud-block button.impact-cloud-deck__dot {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: -10px;
  padding: 0;
  background: none;
  background-color: transparent;
  border: 0;
  box-shadow: none;
  cursor: pointer;
  appearance: none;
}
.impact-cloud-block button.impact-cloud-deck__dot:hover,
.impact-cloud-block button.impact-cloud-deck__dot:focus,
.impact-cloud-block button.impact-cloud-deck__dot:active {
  background: none;
  background-color: transparent;
  outline: none;
}
.impact-cloud-block button.impact-cloud-deck__dot:focus-visible {
  outline: 1px solid rgba(240, 78, 35, 0.5);
  outline-offset: 2px;
}
.impact-cloud-block button.impact-cloud-deck__dot::before {
  content: "";
  width: var(--track-dot-size);
  height: var(--track-dot-size);
  border-radius: 9999px;
  background-color: #E6E0D2;
  transition: background-color var(--duration-button);
}
.impact-cloud-block button.impact-cloud-deck__dot[aria-current="true"]::before {
  background-color: var(--track-dot-plane, #f04e23);
}
.impact-cloud-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 12px;
  box-sizing: border-box;
  background-color: var(--impact-card-accent, #f04e23);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-card-lift);
}
@media screen and (max-width: 768px) {
  .impact-cloud-card {
    padding: 0;
    background-color: transparent;
    box-shadow: none;
  }
}
.impact-cloud-card__figure {
  margin: 0;
  overflow: hidden;
  border-radius: var(--journey-inner-radius);
}
@media screen and (max-width: 768px) {
  .impact-cloud-card__figure {
    display: none;
  }
}
.impact-cloud-card__figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 16 / 9;
}
.impact-cloud-card__copy {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.5rem;
  background-color: #FFFFFF;
  border-radius: var(--journey-inner-radius);
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .impact-cloud-card__copy {
    margin-top: 0;
    box-shadow: var(--shadow-card-lift);
  }
}
.impact-cloud-card__title {
  margin: 0;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 1.375rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #1E2A4A;
}
.impact-cloud-card__text {
  margin: 0;
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
  line-height: 1.45;
  color: rgba(30, 42, 74, 0.68);
}
@media (prefers-reduced-motion: reduce) {
  .impact-cloud-block .chip,
  .impact-panel {
    transition: none;
    animation: none;
  }
}
/*** Latest Articles — Voices post card grid ***/
.latest-articles {
  width: 100%;
}
.latest-articles__header {
  max-width: 42rem;
  margin: 1em 50px;
}
.latest-articles__title {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
  color: #1E2A4A;
  margin: 0;
}
.latest-articles__intro {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-large);
  line-height: 1.35;
  color: rgba(30, 42, 74, 0.72);
  margin: 1em 0 0;
}
.latest-articles__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5em;
  margin: 3em;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 769px) {
  .latest-articles__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1025px) {
  .latest-articles__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.latest-articles__item {
  display: flex;
  min-width: 0;
}
.latest-articles__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75em;
  margin-top: 2.5em;
}
.latest-articles__empty {
  margin: 2em 0 0;
  color: rgba(30, 42, 74, 0.72);
}
.articles-archive-pagination {
  --articles-archive-arrow-size: 44px;
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 2.5em 50px 4em;
}
@media screen and (max-width: 1024px) {
  .articles-archive-pagination {
    padding: 2em 1.25em 3em;
  }
}
.articles-archive-pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75em;
  margin: 0;
  padding: 0;
  list-style: none;
}
.articles-archive-pagination li {
  margin: 0;
}
.articles-archive-pagination__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.articles-archive-pagination a.page-numbers,
.articles-archive-pagination span.page-numbers {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5em;
  min-height: 2.5em;
  padding: 0.35em 0.75em;
  border: none;
  border-radius: 999px;
  font-size: var(--text-body-small);
  line-height: 1;
  text-decoration: none;
  color: #1E2A4A;
  background-color: rgba(30, 42, 74, 0.08);
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.articles-archive-pagination a.page-numbers:hover,
.articles-archive-pagination a.page-numbers:focus-visible {
  background-color: rgba(30, 42, 74, 0.16);
  color: #1E2A4A;
  outline: none;
}
.articles-archive-pagination span.page-numbers.current {
  background-color: rgba(30, 42, 74, 0.16);
  color: #1E2A4A;
}
.articles-archive-pagination span.page-numbers.dots {
  min-width: 0;
  background-color: transparent;
  color: rgba(30, 42, 74, 0.55);
}
.articles-archive-pagination a.prev,
.articles-archive-pagination a.next,
.articles-archive-pagination span.prev,
.articles-archive-pagination span.next {
  width: var(--articles-archive-arrow-size);
  height: var(--articles-archive-arrow-size);
  min-width: var(--articles-archive-arrow-size);
  min-height: var(--articles-archive-arrow-size);
  padding: 0;
  font-size: 0;
  line-height: 1;
}
.articles-archive-pagination a.prev svg,
.articles-archive-pagination a.next svg,
.articles-archive-pagination span.prev svg,
.articles-archive-pagination span.next svg {
  display: block;
  width: 16px;
  height: 16px;
  fill: currentColor;
  color: inherit;
}
.articles-archive-pagination span.prev,
.articles-archive-pagination span.next {
  opacity: 0.35;
  cursor: default;
}
.latest-article {
  --flat-card-pad: var(--journey-frame);
  gap: var(--journey-frame);
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.latest-article:hover .latest-article__title,
.latest-article:focus-visible .latest-article__title {
  color: var(--flat-card-plane);
}
.latest-article__media {
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--journey-inner-radius);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.latest-article__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.75em;
  min-width: 0;
  padding: 1.25em 1.25em 1.5em;
}
.latest-article__title {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 600;
  font-size: var(--text-body-xxlarge);
  line-height: 1.2;
  margin: 0;
  color: #1E2A4A;
  text-transform: none;
  letter-spacing: 0;
  transition: color var(--duration-button);
}
.latest-article__excerpt {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-medium);
  line-height: 1.35;
  margin: 0;
  color: rgba(30, 42, 74, 0.72);
}
.latest-article__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em 1em;
  margin: auto 0 0;
  padding-top: 1em;
  border-top: 1px solid #E6E0D2;
}
.latest-article__meta .micro-label {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-small);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
  color: #1E2A4A;
}
/*** Featured Article — Voices spotlight band ***/
.featured-article {
  --featured-plate-plane: #F7F1E5;
  width: 100%;
  margin: 0;
  padding: 2em 0;
  background-color: #131C33;
  color: #FFFFFF;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.featured-article.ember {
  --featured-plate-plane: #f04e23;
}
.featured-article.amber {
  --featured-plate-plane: #F2A33C;
}
.featured-article.sky {
  --featured-plate-plane: #6FB2D6;
}
.featured-article.ink {
  --featured-plate-plane: #1E2A4A;
}
.featured-article.parchment {
  --featured-plate-plane: #F7F1E5;
}
.featured-article__grid {
  display: grid;
  gap: 2.5em;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .featured-article__grid {
    grid-template-columns: 1fr 1fr;
    gap: 4em;
  }
}
@media screen and (min-width: 769px) {
  .featured-article--flip .featured-article__content {
    order: 2;
  }
}
@media screen and (min-width: 769px) {
  .featured-article--flip .featured-article__media {
    order: 1;
  }
}
.featured-article__title {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  line-height: 1.15;
  max-width: 22ch;
  margin: 0;
  color: #F7F1E5;
}
.featured-article__excerpt {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: var(--text-body-large);
  line-height: 1.4;
  max-width: 42ch;
  margin: 1.25em 0 0;
  color: rgba(255, 255, 255, 0.78);
}
.featured-article__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em 1em;
  margin: 1.25em 0 0;
}
.featured-article__meta .micro-label {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-small);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
}
.featured-article__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75em;
  margin-top: 2em;
}
.featured-article__actions a.button-thrive:hover,
.featured-article__actions a.button-thrive:focus-visible {
  color: #FFFFFF;
}
.featured-article__media {
  min-width: 0;
}
.featured-article__plate {
  position: relative;
  width: 100%;
  max-width: calc(var(--plated-max) + var(--plated-offset));
  margin: 0 auto;
  padding-inline-end: var(--plated-offset);
}
.featured-article__plate-shift {
  position: absolute;
  inset-inline-start: var(--plated-offset);
  inset-inline-end: 0;
  top: var(--plated-offset);
  bottom: calc(var(--plated-offset) * -1);
  background-color: var(--featured-plate-plane);
  pointer-events: none;
}
.featured-article__figure {
  position: relative;
  width: 100%;
  aspect-ratio: var(--plated-ratio);
  overflow: hidden;
  border-radius: var(--radius-panel);
  background-color: rgba(255, 255, 255, 0.08);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
/* Editor canvas: keep SSR preview readable */
.latest-articles-block-editor .latest-articles {
  pointer-events: none;
}
/* Single Post */
.single-post article.post {
  padding-top: 2em;
}
.single-post article.post .entry-header h1.entry-title {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
  color: #1E2A4A;
  margin: 0;
}
.single-post article.post .entry-header .post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin: 1em 0 0;
  padding: 0;
}
.single-post article.post .entry-header .post-meta .post-date {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 400;
  font-size: var(--text-caption);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.single-post article.post .entry-header .post-meta .post-categories > * {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 400;
  font-size: var(--text-body-small);
  letter-spacing: 0.05em;
  background-color: #F7F1E5;
  color: #1E2A4A;
  padding: 0.25em 0.5em;
  border-radius: 1.5em;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.single-post article.post .entry-header .post-meta .post-categories > *:hover,
.single-post article.post .entry-header .post-meta .post-categories > *:focus-visible {
  background-color: transparent;
  color: #f04e23;
}
@media screen and (min-width: 1025px) {
  .single-post article.post .entry-content {
    padding: 2em 50px;
  }
}
@media screen and (max-width: 1024px) {
  .single-post article.post .entry-content {
    padding: 1em 1.25em;
  }
}
.single-post article.post .entry-content .wp-block-group.alignwide {
  margin: 0;
  max-width: 100%;
}
.single-post nav.post-navigation {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 1025px) {
  .single-post nav.post-navigation {
    max-width: 100%;
    width: 100%;
    padding: 1em 50px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1024px) {
  .single-post nav.post-navigation {
    padding: 1em 1.25em;
  }
}
/*** Global ***/
html,
body {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
}
/* Vertical section label — add class "rail" to a heading block */
.rail {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  margin: 0;
  padding: 0;
  font-size: var(--text-body-small);
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1E2A4A;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 1em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
@media screen and (min-width: 1025px) {
  .rail {
    padding-left: 2em;
  }
}
@media screen and (max-width: 1024px) {
  .rail {
    position: absolute;
    left: 0.5em;
  }
}
.rail:before {
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: var(--rail-mark);
  height: var(--rail-mark-length);
  background-color: #f04e23;
}
.site-main {
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-left: 1px solid #E6E0D2;
  border-right: 1px solid #E6E0D2;
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (min-width: 1025px) {
  .site-main {
    max-width: 1440px;
  }
}
.site-main .inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1440px;
  padding: 0 50px;
  box-sizing: border-box;
}
.site-main .entry-content {
  margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
  .site-main .entry-content section {
    padding: 0.5em 1.25em;
  }
}
.site-main .entry-content .wp-block-group.alignwide {
  margin: 0;
  max-width: 100%;
}
@media screen and (min-width: 1025px) {
  .site-main .entry-content .wp-block-group.alignwide {
    padding: 2em 50px;
  }
}
@media screen and (max-width: 1024px) {
  .site-main .entry-content .wp-block-group.alignwide {
    padding: 1em 1.25em;
    flex-direction: column;
  }
}
@media screen and (min-width: 1025px) {
  .site-main .entry-content .wp-block-group.alignwide .wp-block-group__inner-container {
    max-width: 1440px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1024px) {
  .site-main .entry-content .wp-block-group.alignwide .wp-block-group__inner-container {
    max-width: 100%;
    margin: 0;
  }
}
@media screen and (min-width: 769px) {
  .site-main .entry-content .wp-block-group.alignwide.padded {
    padding: 6em 50px;
  }
}
@media screen and (max-width: 768px) {
  .site-main .entry-content .wp-block-group.alignwide.padded {
    padding: 2em 2em;
  }
}
.site-main .entry-content .wp-block-group.fifty-fifty {
  display: flex;
}
@media screen and (min-width: 1025px) {
  .site-main .entry-content .wp-block-group.fifty-fifty {
    gap: 2em;
  }
  .site-main .entry-content .wp-block-group.fifty-fifty > * {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 50%;
  }
  .site-main .entry-content .wp-block-group.fifty-fifty.responsive-border:first-child {
    border-right: 1px solid #E6E0D2;
  }
}
@media screen and (max-width: 1024px) {
  .site-main .entry-content .wp-block-group.fifty-fifty {
    gap: 0.5em;
    flex-direction: column;
  }
  .site-main .entry-content .wp-block-group.fifty-fifty > * {
    width: 100%;
  }
}
.site-main .entry-content .wp-block-group.inline-row {
  display: flex;
  gap: 1em;
}
@media screen and (min-width: 769px) {
  .site-main .entry-content .wp-block-group.inline-row {
    flex-direction: row;
    gap: 2em;
  }
}
@media screen and (max-width: 768px) {
  .site-main .entry-content .wp-block-group.inline-row {
    flex-direction: column;
    gap: 0.5em;
  }
}
.site-main .entry-content .wp-block-group .wp-block-paragraph,
.site-main .entry-content .wp-block-group .wp-block-list li {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5em;
}
.site-main .entry-content .wp-block-group.flush {
  padding: 0;
  margin: 0;
}
.site-main .entry-content > .wp-block-heading {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  line-height: 1.2;
}
@media screen and (min-width: 769px) {
  .site-main .entry-content > .wp-block-heading.flush {
    padding: 1em 30%;
    text-align: center;
  }
}
@media screen and (max-width: 1024px) {
  .site-main .entry-content > .wp-block-heading.flush {
    padding: 1em !important;
    padding-left: 0;
    padding-right: 0;
    margin: 0;
  }
}
.site-main .page-header {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #E6E0D2;
}
@media screen and (min-width: 1025px) {
  .site-main .page-header {
    width: 100%;
    max-width: 1440px;
    padding: 2em 50px;
    margin: 0;
  }
}
@media screen and (max-width: 1024px) {
  .site-main .page-header {
    padding: 1em 1.25em;
  }
}
.site-main .page-header h1.page-title {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  color: #1E2A4A;
  font-size: 2.5em;
  line-height: 1.2;
  margin: 0;
  padding: 0;
}
.site-main > .default-max-width {
  margin-top: 0;
  padding: 0;
}
@media screen and (min-width: 1025px) {
  .site-main .page-content {
    max-width: 1440px;
    padding: 2em 50px;
  }
}
@media screen and (max-width: 1024px) {
  .site-main .page-content {
    padding: 1em 1.25em;
  }
}
@media screen and (min-width: 1025px) {
  .header-wrap {
    padding: 2em 30%;
  }
}
@media screen and (max-width: 1024px) {
  .header-wrap {
    padding: 0.5em 1em;
  }
}
/*** Buttons ***/
a.button-thrive:not(.button-thrive--secondary).ember,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.ember {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #f04e23;
  color: #FFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
a.button-thrive:not(.button-thrive--secondary).ember:hover,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.ember:hover,
a.button-thrive:not(.button-thrive--secondary).ember:focus,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.ember:focus {
  background-color: transparent;
}
a.button-thrive:not(.button-thrive--secondary).amber,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.amber {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #F2A33C;
  color: #FFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
a.button-thrive:not(.button-thrive--secondary).amber:hover,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.amber:hover,
a.button-thrive:not(.button-thrive--secondary).amber:focus,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.amber:focus {
  background-color: transparent;
}
a.button-thrive:not(.button-thrive--secondary).sky,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.sky {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #6FB2D6;
  color: #FFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
a.button-thrive:not(.button-thrive--secondary).sky:hover,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.sky:hover,
a.button-thrive:not(.button-thrive--secondary).sky:focus,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.sky:focus {
  background-color: transparent;
}
a.button-thrive:not(.button-thrive--secondary).lake,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.lake {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #2F7FA6;
  color: #FFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
a.button-thrive:not(.button-thrive--secondary).lake:hover,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.lake:hover,
a.button-thrive:not(.button-thrive--secondary).lake:focus,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.lake:focus {
  background-color: transparent;
}
a.button-thrive:not(.button-thrive--secondary).blue,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.blue {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #1A5B9E;
  color: #FFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
a.button-thrive:not(.button-thrive--secondary).blue:hover,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.blue:hover,
a.button-thrive:not(.button-thrive--secondary).blue:focus,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.blue:focus {
  background-color: transparent;
}
a.button-thrive:not(.button-thrive--secondary).parchment,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.parchment {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #F7F1E5;
  color: #1E2A4A;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
a.button-thrive:not(.button-thrive--secondary).parchment:hover,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.parchment:hover,
a.button-thrive:not(.button-thrive--secondary).parchment:focus,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.parchment:focus {
  background-color: transparent;
}
a.button-thrive:not(.button-thrive--secondary).midnight,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.midnight {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #131C33;
  color: #FFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
a.button-thrive:not(.button-thrive--secondary).midnight:hover,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.midnight:hover,
a.button-thrive:not(.button-thrive--secondary).midnight:focus,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.midnight:focus {
  background-color: transparent;
}
a.button-thrive:not(.button-thrive--secondary).ink,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.ink {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #1E2A4A;
  color: #FFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
a.button-thrive:not(.button-thrive--secondary).ink:hover,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.ink:hover,
a.button-thrive:not(.button-thrive--secondary).ink:focus,
.button-thrive:not(.button-thrive--secondary) > .wp-block-button__link.ink:focus {
  background-color: transparent;
}
a.button-thrive--secondary,
.button-secondary > .wp-block-button__link {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: rgba(30, 42, 74, 0.1) !important;
  font-size: var(--text-body-medium);
  color: #1E2A4A !important;
  border-radius: 2em;
  padding: 10px 30px;
  border: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
a.button-thrive--secondary:hover,
.button-secondary > .wp-block-button__link:hover,
a.button-thrive--secondary:focus,
.button-secondary > .wp-block-button__link:focus {
  background-color: transparent !important;
  color: #1E2A4A !important;
}
a.button-thrive {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: #f04e23;
  color: #FFFFFF;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  display: inline-flex;
  font-size: var(--text-body-medium);
}
a.button-thrive:hover,
a.button-thrive:focus {
  background-color: transparent;
}
a.button-thrive:not(.dark):hover,
a.button-thrive:not(.dark):focus {
  color: #1E2A4A !important;
}
a.button-thrive.button-secondary {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: rgba(30, 42, 74, 0.14);
  color: #000;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  display: inline-flex;
}
a.button-thrive.button-secondary:hover,
a.button-thrive.button-secondary:focus {
  background-color: transparent;
}
a.button-thrive.dark {
  color: #FFF !important;
}
a.button-thrive.dark.button-secondary {
  display: flex;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  background-color: rgba(255, 255, 255, 0.14);
  color: #fff;
  padding: 10px 30px;
  border-radius: 22px;
  text-decoration: none;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
a.button-thrive.dark.button-secondary:hover,
a.button-thrive.dark.button-secondary:focus {
  background-color: transparent;
}
a.button-thrive.dark:hover,
a.button-thrive.dark:focus {
  background-color: transparent !important;
}
a.button-thrive.white {
  color: #FFF;
}
/* .button-thrive.arrow — span.button-thrive__arrow injected via script.js
   Reset WP admin `.arrow` (revisions tooltip) which uses position/size/overflow
   and will clip/hide the button when `arrow` is added as a block class. */
a.button-thrive.arrow,
.button-thrive.arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  left: auto;
  bottom: auto;
  z-index: auto;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-medium);
}
a.button-thrive.arrow.amber,
.button-thrive.arrow.amber,
a.button-thrive.arrow.sky,
.button-thrive.arrow.sky,
a.button-thrive.arrow.parchment,
.button-thrive.arrow.parchment {
  color: #1E2A4A;
}
a.button-thrive.arrow .button-thrive__arrow,
.button-thrive.arrow .button-thrive__arrow {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
a.button-thrive.arrow .button-thrive__arrow svg,
.button-thrive.arrow .button-thrive__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
}
a.button-thrive.arrow.reverse-out,
.button-thrive.arrow.reverse-out {
  color: #FFF !important;
}
a.button-thrive.arrow:hover,
.button-thrive.arrow:hover,
a.button-thrive.arrow:focus,
.button-thrive.arrow:focus {
  background-color: transparent;
  filter: brightness(0.92);
}
a.button-thrive.arrow:hover:not(.reverse-out),
.button-thrive.arrow:hover:not(.reverse-out),
a.button-thrive.arrow:focus:not(.reverse-out),
.button-thrive.arrow:focus:not(.reverse-out) {
  color: #1E2A4A !important;
}
a.button-thrive.arrow:hover.reverse-out,
.button-thrive.arrow:hover.reverse-out,
a.button-thrive.arrow:focus.reverse-out,
.button-thrive.arrow:focus.reverse-out {
  color: #FFF !important;
}
a.button-thrive.arrow:hover .button-thrive__arrow,
.button-thrive.arrow:hover .button-thrive__arrow,
a.button-thrive.arrow:focus .button-thrive__arrow,
.button-thrive.arrow:focus .button-thrive__arrow {
  transform: translateX(var(--btn-arrow-shift));
  color: #F2A33C;
}
/* .button-thrive.play — span.button-thrive__play injected via script.js (before label) */
a.button-thrive.play,
.button-thrive.play {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-medium);
}
a.button-thrive.play .button-thrive__play,
.button-thrive.play .button-thrive__play {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  line-height: 1;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
a.button-thrive.play .button-thrive__play i,
.button-thrive.play .button-thrive__play i {
  font-size: 1em;
  line-height: 1;
}
a.button-thrive.play:hover,
.button-thrive.play:hover,
a.button-thrive.play:focus,
.button-thrive.play:focus {
  color: #1E2A4A;
}
a.button-thrive.play:hover .button-thrive__play,
.button-thrive.play:hover .button-thrive__play,
a.button-thrive.play:focus .button-thrive__play,
.button-thrive.play:focus .button-thrive__play {
  color: #1E2A4A;
}
span.button-row {
  display: flex;
}
@media screen and (min-width: 769px) {
  span.button-row {
    flex-direction: row;
    gap: 2em;
  }
}
@media screen and (max-width: 768px) {
  span.button-row {
    flex-direction: column;
    gap: 1em;
    align-items: center;
  }
}
span.button-row br {
  display: none;
}
/* Journey card CTAs: accent fill matches the card */
.journey-card__cta {
  align-self: flex-start;
  margin-top: 0.5em;
  background-color: var(--journey-accent, #f04e23);
}
p.micro-label {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: var(--text-body-small);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 1em 0;
}
.candid-app a {
  text-decoration: none !important;
  text-underline-offset: unset !important;
  text-decoration-thickness: unset !important;
  text-decoration-color: unset !important;
}
span.text-body-sm {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: 14px;
  text-decoration: none !important;
  text-underline-offset: unset !important;
  text-decoration-thickness: unset !important;
  text-decoration-color: unset !important;
}
span.text-body-sm strong {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 600;
}
/* Pill List */
.list-pill-items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  padding: 0;
}
.list-pill-items li {
  background-color: #F7F1E5;
  color: #1E2A4A;
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.25em 1em;
  border-radius: 1.5em;
}
.list-pill-items li a {
  text-decoration: none;
  color: #1E2A4A;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.list-pill-items li a:hover,
.list-pill-items li a:focus-visible {
  color: #f04e23;
}
/* border-left boxes */
.wp-block-group.color-grid {
  display: grid;
}
@media screen and (min-width: 1025px) {
  .wp-block-group.color-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2em;
  }
}
@media screen and (max-width: 1024px) {
  .wp-block-group.color-grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 1em;
  }
}
.wp-block-group.left-border-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.wp-block-group.left-border-group > * {
  flex: 1;
}
.wp-block-group.left-border-group > * h4,
.wp-block-group.left-border-group > * h3 {
  padding: 0;
  margin: 0;
  line-height: 1.5em;
}
.wp-block-group.left-border-group > * h4 {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  margin-bottom: 0;
  letter-spacing: 0.2em;
}
.wp-block-group.left-border-group > * h3 {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 22px;
  margin-bottom: 0;
}
.wp-block-group.left-border-group > * p {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.2;
  margin: 0.5em 0 0;
}
.wp-block-group.page-break-bottom {
  border-bottom: 1px solid #E6E0D2;
}
.tv-frame {
  aspect-ratio: 4 / 3;
  display: block;
  overflow: hidden;
}
.tv-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
h4.page-break-header {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 20px;
  display: flex;
  align-items: center;
  width: 100%;
  color: inherit;
  background: none;
  border: none;
  margin: 2em 0 2em 0;
  padding: 0;
}
h4.page-break-header::before,
h4.page-break-header::after {
  content: "";
  flex: 1;
  border-bottom: 1px solid #E6E0D2;
  margin: 0 1rem;
  height: 0;
}
.corner12 {
  border-radius: 12px;
  overflow: hidden;
}
.wp-block-list.list-pill {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  padding: 0;
}
.wp-block-list.list-pill li {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  background-color: #F7F1E5;
  color: #1E2A4A;
  padding: 0.25em 1.5em;
  border-radius: 30px;
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
}
.wp-block-list.colored-squares {
  display: grid;
  list-style-type: none;
  gap: 1em;
  padding: 0;
}
@media screen and (min-width: 1025px) {
  .wp-block-list.colored-squares {
    grid-template-columns: repeat(2, 1fr);
  }
  .wp-block-list.colored-squares.three-column {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1024px) {
  .wp-block-list.colored-squares {
    grid-template-columns: repeat(1, 1fr);
  }
}
.wp-block-list.colored-squares li {
  padding: 1em 1.5em;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  list-style: none;
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: 14px;
}
.wp-block-list.colored-squares li.ember {
  --square-color: #f04e23;
}
.wp-block-list.colored-squares li.amber {
  --square-color: #F2A33C;
}
.wp-block-list.colored-squares li.sky {
  --square-color: #6FB2D6;
}
.wp-block-list.colored-squares li.lake {
  --square-color: #2F7FA6;
}
.wp-block-list.colored-squares li.blue {
  --square-color: #1A5B9E;
}
.wp-block-list.colored-squares li.parchment {
  --square-color: #EAE0CA;
}
.wp-block-list.colored-squares li.midnight {
  --square-color: #131C33;
}
.wp-block-list.colored-squares li.ink {
  --square-color: #1E2A4A;
}
.wp-block-list.colored-squares li strong {
  font-family: 'GeneralSans', sans-serif;
  font-weight: 600;
  font-size: 20px;
  padding-bottom: 0.5em;
}
.wp-block-list.colored-squares li br {
  display: none;
}
.wp-block-list.colored-squares li::before {
  content: "\e45e";
  font-family: "Phosphor-Fill";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  font-size: 0.65em;
  line-height: 1;
  display: inline-block;
  flex-shrink: 0;
  margin-right: 0.65em;
  color: var(--square-color);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  top: 1em;
  left: calc(1em * -2);
  margin-bottom: calc(1em * -1);
  margin-top: 0.25em;
}
ul.color-square-sequence {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}
ul.color-square-sequence li {
  font-family: 'Switzer', system-ui, sans-serif;
  font-weight: 400;
  font-size: 16px;
  padding: 0 1.5em;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  list-style: none;
}
ul.color-square-sequence li:nth-child(8n-7) {
  --square-color: #f04e23;
}
ul.color-square-sequence li:nth-child(8n-6) {
  --square-color: #F2A33C;
}
ul.color-square-sequence li:nth-child(8n-5) {
  --square-color: #6FB2D6;
}
ul.color-square-sequence li:nth-child(8n-4) {
  --square-color: #2F7FA6;
}
ul.color-square-sequence li:nth-child(8n-3) {
  --square-color: #1A5B9E;
}
ul.color-square-sequence li:nth-child(8n-2) {
  --square-color: #EAE0CA;
}
ul.color-square-sequence li:nth-child(8n-1) {
  --square-color: #131C33;
}
ul.color-square-sequence li:nth-child(8n) {
  --square-color: #1E2A4A;
}
ul.color-square-sequence li::before {
  content: "\e45e";
  font-family: "Phosphor-Fill";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  font-size: 0.65em;
  line-height: 1;
  display: inline-block;
  flex-shrink: 0;
  margin-right: 0.65em;
  color: var(--square-color);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  top: 0.9em;
  left: -2em;
  margin-bottom: -1em;
  margin-top: 0.25em;
}
/* additional content for section */
.something-else {
  display: flex;
  gap: 1em;
  flex: 1;
}
@media screen and (min-width: 1025px) {
  .something-else {
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
  }
  .something-else > *:first-child {
    flex: 1;
  }
}
@media screen and (max-width: 1024px) {
  .something-else {
    flex-direction: column;
  }
}
.something-else i:before {
  font-size: 24px !important;
  padding: 0 0.5em !important;
}
.something-else p {
  font-size: 14px !important;
}
/*# sourceMappingURL=./style.css.map */