@import url("https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&family=Libre+Baskerville:ital,wght@0,400..700;1,400..700&display=swap");
@layer lucy-reset, lucy-core, lucy-utilities;
/*--- Google Font Import ---*/
/* --- Breakpoints --- */
/* --- Variable Font Mixins --- */
/* --- Grid Mixins --- */
/*--- Other Mixins ---*/
/* --- Breakpoint Display --- */
#breakpoints {
  position: fixed;
  z-index: 99999;
  bottom: 0;
  right: 0;
  padding: 5px 10px;
  font-family: Courier, serif;
  font-size: 16px;
  color: #FFF;
  background: #000;
}
#breakpoints .breakpoint {
  display: none;
}
@media only screen and (max-width: 1920px) {
  #breakpoints .breakpoint.desktop-large {
    display: inline-block;
  }
  #breakpoints .breakpoint.desktop-medium {
    display: none;
  }
  #breakpoints .breakpoint.desktop {
    display: none;
  }
  #breakpoints .breakpoint.tablet {
    display: none;
  }
  #breakpoints .breakpoint.mobile {
    display: none;
  }
}
@media only screen and (max-width: 1440px) {
  #breakpoints .breakpoint.desktop-large {
    display: none;
  }
  #breakpoints .breakpoint.desktop-medium {
    display: inline-block;
  }
  #breakpoints .breakpoint.desktop {
    display: none;
  }
  #breakpoints .breakpoint.tablet {
    display: none;
  }
  #breakpoints .breakpoint.mobile {
    display: none;
  }
}
@media only screen and (max-width: 1125px) {
  #breakpoints .breakpoint.desktop-large {
    display: none;
  }
  #breakpoints .breakpoint.desktop-medium {
    display: none;
  }
  #breakpoints .breakpoint.desktop {
    display: inline-block;
  }
  #breakpoints .breakpoint.tablet {
    display: none;
  }
  #breakpoints .breakpoint.mobile {
    display: none;
  }
}
@media only screen and (max-width: 910px) {
  #breakpoints .breakpoint.desktop-large {
    display: none;
  }
  #breakpoints .breakpoint.desktop-medium {
    display: none;
  }
  #breakpoints .breakpoint.desktop {
    display: none;
  }
  #breakpoints .breakpoint.tablet {
    display: inline-block;
  }
  #breakpoints .breakpoint.mobile {
    display: none;
  }
}
@media only screen and (max-width: 525px) {
  #breakpoints .breakpoint.desktop-large {
    display: none;
  }
  #breakpoints .breakpoint.desktop-medium {
    display: none;
  }
  #breakpoints .breakpoint.desktop {
    display: none;
  }
  #breakpoints .breakpoint.tablet {
    display: none;
  }
  #breakpoints .breakpoint.mobile {
    display: inline-block;
  }
}

/* --- FORM Note Style for PageBuilder --- */
.theformgroup-note {
  display: flex;
  width: 100%;
  max-width: none;
  padding: 1rem;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  font-size: 1.25rem;
  color: #000;
  background: #FFF740;
  box-sizing: border-box;
}
.theformgroup-note a:any-link {
  color: #000;
  text-decoration-color: #000;
}
.theformgroup-note::before {
  display: inline-block;
  height: 2rem;
  aspect-ratio: 249/95;
  background: url(../images/icons/form.svg) no-repeat right;
  background-size: cover;
  content: "";
}

@layer lucy-reset {
  *,
  *::before,
  *::after {
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
  }
  img,
  picture,
  video,
  canvas,
  svg {
    display: block;
    max-width: 100%;
  }
  textarea {
    display: block;
    resize: vertical;
  }
  button {
    border: none;
  }
  table {
    border-collapse: collapse;
  }
}
/* --- Header --- */
/* --- Main Navigation --- */
#main-nav {
  --nav_color: #000;
  --bg_color: #FFFFFFFF;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--nav_height);
  padding: 2.5rem var(--site_gutter) 1.5rem;
  background-color: var(--nav_bg);
  transition: all 0.3s ease;
  z-index: 99;
}
#main-nav.scrolled {
  padding: 1.5rem var(--site_gutter);
}
#main-nav.hide {
  transform: translate3d(0, calc(-1 * (var(--nav_height) + var(--spacer_xxs))), 0);
}
#main-nav .logo {
  min-width: min(64.74%, 21.75rem);
  aspect-ratio: 5.213;
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #main-nav .logo:hover, #main-nav .logo:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
#main-nav .logo svg path[fill="#000"] {
  transition: all 0.3s ease;
  fill: var(--nav_color);
}
#main-nav .inner-nav {
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: 1.5rem;
}
#main-nav .inner-nav .minor {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
#main-nav .inner-nav .minor button, #main-nav .inner-nav .minor a:any-link {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  background-color: transparent !important;
  transition: all 0.3s ease !important;
}
#main-nav .inner-nav .minor button:not(.button), #main-nav .inner-nav .minor a:any-link:not(.button) {
  font-size: 1.125rem;
  color: var(--nav_color);
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #main-nav .inner-nav .minor button:not(.button):hover, #main-nav .inner-nav .minor button:not(.button):focus-visible, #main-nav .inner-nav .minor a:any-link:not(.button):hover, #main-nav .inner-nav .minor a:any-link:not(.button):focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
@media (pointer: fine) {
  #main-nav .inner-nav .minor button:hover, #main-nav .inner-nav .minor button:focus-visible, #main-nav .inner-nav .minor a:any-link:hover, #main-nav .inner-nav .minor a:any-link:focus-visible {
    color: var(--color_red);
  }
}
#main-nav .inner-nav .minor button.active, #main-nav .inner-nav .minor a:any-link.active {
  color: var(--color_red);
}
#main-nav .inner-nav .minor button#search-trigger {
  padding: 0;
  width: 1.03125rem;
  height: 1.03125rem;
  margin: 0;
  border: none;
  border-radius: 0;
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #main-nav .inner-nav .minor button#search-trigger:hover, #main-nav .inner-nav .minor button#search-trigger:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
#main-nav .inner-nav .minor button#search-trigger svg {
  width: 100%;
  height: 100%;
  transform: scale(1);
  transition: transform 0.3s ease;
}
#main-nav .inner-nav .minor button#search-trigger svg g, #main-nav .inner-nav .minor button#search-trigger svg path {
  fill: unset;
  stroke: var(--nav_color);
  transition: stroke 0.3s ease;
}
@media (pointer: fine) {
  #main-nav .inner-nav .minor button#search-trigger:hover, #main-nav .inner-nav .minor button#search-trigger:focus-visible {
    background-color: transparent;
  }
  #main-nav .inner-nav .minor button#search-trigger:hover svg, #main-nav .inner-nav .minor button#search-trigger:focus-visible svg {
    transform: scale(1.3);
  }
  #main-nav .inner-nav .minor button#search-trigger:hover svg g, #main-nav .inner-nav .minor button#search-trigger:hover svg path, #main-nav .inner-nav .minor button#search-trigger:focus-visible svg g, #main-nav .inner-nav .minor button#search-trigger:focus-visible svg path {
    stroke: var(--color_red);
  }
}
#main-nav .inner-nav .major {
  display: flex;
  align-items: center;
  gap: 2.25rem;
}
#main-nav .inner-nav .major a:any-link, #main-nav .inner-nav .major button {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  color: var(--nav_color);
  font-size: 1.375rem;
  font-weight: 600;
  text-transform: none;
  background-color: transparent !important;
  transition: all 0.3s ease !important;
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #main-nav .inner-nav .major a:any-link:hover, #main-nav .inner-nav .major a:any-link:focus-visible, #main-nav .inner-nav .major button:hover, #main-nav .inner-nav .major button:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
@media (pointer: fine) {
  #main-nav .inner-nav .major a:any-link:hover, #main-nav .inner-nav .major a:any-link:focus-visible, #main-nav .inner-nav .major button:hover, #main-nav .inner-nav .major button:focus-visible {
    color: var(--color_red);
  }
}
#main-nav .inner-nav .major a:any-link.active, #main-nav .inner-nav .major button.active {
  color: var(--color_red);
}

#menu-modal {
  position: fixed;
  top: calc(-1 * var(--menu_height));
  left: 0;
  width: 100vw;
  height: var(--menu_height);
  padding: var(--content_space) var(--site_gutter);
  background-color: var(--color_gray_dark);
  z-index: 97;
  overflow: hidden;
  transition: all 0.3s ease;
}
#menu-modal:before {
  display: block;
  position: absolute;
  top: -3.5rem;
  right: 15.23rem;
  width: 33.64781rem;
  height: 39.3725rem;
  background: center/cover no-repeat url("../favicon.svg");
  opacity: 0.05;
  transform: scale(1);
  transform-origin: center 37.5%;
  transition: transform 0.3s ease-in-out;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(108deg) brightness(104%) contrast(104%);
  z-index: 1;
  content: "";
}
#menu-modal *[data-menu] {
  position: absolute;
  top: var(--content_space);
  left: calc(var(--site_gutter) * 2);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
}
#menu-modal *[data-menu] ul {
  margin: 0;
  padding: 0;
}
#menu-modal *[data-menu] ul li::before {
  display: none;
}
#menu-modal *[data-menu] ul li:first-child a:any-link {
  font-family: "Hanken Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1rem;
  font-weight: 700;
}
#menu-modal *[data-menu] ul a:any-link {
  color: #FFF;
  text-decoration: none !important;
  background-image: linear-gradient(transparent, transparent), linear-gradient(#FFF, #FFF);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #menu-modal *[data-menu] ul a:any-link:hover, #menu-modal *[data-menu] ul a:any-link:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
#menu-modal *[data-menu] ul a:any-link {
  font-family: "Libre Baskerville", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 2rem;
  font-weight: 600;
}

/* --- Footer --- */
footer#footer {
  position: relative;
  background-color: var(--color_gray_dark);
  padding: var(--content_space) var(--site_gutter) 0;
}
footer#footer #power-footer {
  margin-bottom: var(--content_space);
}
footer#footer #power-footer nav.footer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7.75rem;
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px rgba(255, 255, 255, 0.2509803922) solid;
}
footer#footer #power-footer nav.footer .footer-callout {
  display: flex;
  flex-direction: column;
  gap: var(--spacer_s);
}
footer#footer #power-footer nav.footer .footer-callout .logo {
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  footer#footer #power-footer nav.footer .footer-callout .logo:hover, footer#footer #power-footer nav.footer .footer-callout .logo:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
footer#footer #power-footer nav.footer .footer-callout .logo {
  width: min(433px, 33vw);
}
footer#footer #power-footer nav.footer .footer-callout .logo svg path[fill="#000"] {
  fill: #FFF;
}
footer#footer #power-footer nav.footer .footer-callout .text {
  font-family: "Libre Baskerville", serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #FFF;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.15;
}
footer#footer #power-footer nav.footer .footer-callout .button {
  width: fit-content;
}
footer#footer #power-footer nav.footer .nav-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
footer#footer #power-footer nav.footer .nav-inner > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  height: 100%;
}
footer#footer #power-footer nav.footer .nav-inner > div:not(:last-child)::after {
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: calc(-1 * var(--spacer_s));
  background-color: rgba(255, 255, 255, 0.2509803922);
  content: "";
}
footer#footer #power-footer nav.footer .nav-inner > div ul {
  padding: 0;
  margin: 0;
}
footer#footer #power-footer nav.footer .nav-inner > div ul li a:any-link {
  color: #FFF;
  background-image: linear-gradient(transparent, transparent), linear-gradient(#FFF, #FFF);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  footer#footer #power-footer nav.footer .nav-inner > div ul li a:any-link:hover, footer#footer #power-footer nav.footer .nav-inner > div ul li a:any-link:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
footer#footer #power-footer nav.footer .nav-inner > div ul li::before {
  display: none;
}
footer#footer #power-footer nav.footer .nav-inner > div ul li:not(:last-child) {
  margin-bottom: 0.5rem;
}
footer#footer #power-footer nav.footer .nav-inner > div ul li:not(:first-child) {
  line-height: 1.35;
}
footer#footer #power-footer nav.footer .nav-inner > div ul li:first-child a:any-link {
  font-family: "Hanken Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 4%;
  text-transform: uppercase;
}
footer#footer #power-footer nav.footer .nav-inner > div > p {
  margin: 0;
}
footer#footer #power-footer nav.footer .nav-inner > div > p a:any-link {
  color: #FFF;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 4%;
  text-transform: uppercase;
  background-image: linear-gradient(transparent, transparent), linear-gradient(#FFF, #FFF);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  footer#footer #power-footer nav.footer .nav-inner > div > p a:any-link:hover, footer#footer #power-footer nav.footer .nav-inner > div > p a:any-link:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
footer#footer #power-footer .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
footer#footer #power-footer .footer-bottom .footer-contact {
  display: flex;
  gap: 2rem;
}
footer#footer #power-footer .footer-bottom .footer-contact a:any-link {
  display: inline-flex;
  align-items: center;
  gap: 0.68725rem;
  margin: 0;
  color: #FFF;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.035rem;
  text-transform: uppercase;
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  footer#footer #power-footer .footer-bottom .footer-contact a:any-link:hover, footer#footer #power-footer .footer-bottom .footer-contact a:any-link:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
footer#footer #power-footer .footer-bottom .footer-contact a:any-link span:not(.icon) {
  background-image: linear-gradient(transparent, transparent), linear-gradient(#FFF, #FFF);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  footer#footer #power-footer .footer-bottom .footer-contact a:any-link span:not(.icon):hover, footer#footer #power-footer .footer-bottom .footer-contact a:any-link span:not(.icon):focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
footer#footer #power-footer .footer-bottom .footer-contact a:any-link span.icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
}
footer#footer #power-footer .footer-bottom .footer-contact a:any-link span.icon svg {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
footer#footer #power-footer .footer-bottom .footer-contact a:any-link:focus span:not(.icon), footer#footer #power-footer .footer-bottom .footer-contact a:any-link:focus-within span:not(.icon) {
  background-size: 0 1px, 100% 1px;
}
footer#footer #power-footer .footer-bottom .footer-links {
  display: inline-flex;
  align-items: center;
  gap: var(--spacer_s);
}
footer#footer #power-footer .footer-bottom .footer-links a:any-link {
  color: #FFF;
  font-size: 1.125rem;
  background-image: linear-gradient(#FFF, #FFF), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  footer#footer #power-footer .footer-bottom .footer-links a:any-link:hover, footer#footer #power-footer .footer-bottom .footer-links a:any-link:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
footer#footer #copyright {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  left: calc(-1 * var(--site_gutter));
  width: 100vw;
  padding: var(--spacer_s) var(--site_gutter);
  background-color: #FFF;
}
footer#footer #copyright .left {
  display: flex;
  align-items: center;
  gap: var(--spacer_s);
}
footer#footer #copyright .left > * {
  position: relative;
  margin: 0;
  color: #000;
}
footer#footer #copyright .left > *:is(a:any-link) {
  background-image: linear-gradient(transparent, transparent), linear-gradient(#000, #000);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  footer#footer #copyright .left > *:is(a:any-link):hover, footer#footer #copyright .left > *:is(a:any-link):focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
footer#footer #copyright .left > *:not(:last-child)::after {
  display: block;
  position: absolute;
  top: 0;
  right: -0.75rem;
  width: 1px;
  height: 100%;
  background-color: var(--color_red);
  content: "";
}
footer#footer #copyright #copy-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15.6875rem;
  min-width: 251px;
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  footer#footer #copyright #copy-logo:hover, footer#footer #copyright #copy-logo:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
footer#footer #copyright #copy-logo svg {
  overflow: visible;
}

/* --- Trail Element --- */
.lucy-trail {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding: calc(0.75rem + 2px) var(--site_gutter) 0.75rem;
  line-height: 1;
}
@media only screen and (max-width: 750px) {
  .lucy-trail {
    display: none;
  }
}
.lucy-trail::before {
  display: block;
  position: absolute;
  top: 0;
  left: var(--site_gutter);
  width: calc(100% - 2 * var(--content_space));
  height: 2px;
  background-color: var(--border_color);
  content: "";
}
.lucy-trail ul {
  display: flex;
  align-items: center;
  row-gap: 0.5rem;
  margin: 0 !important;
  padding: 0 !important;
  list-style-type: none;
}
.lucy-trail ul li {
  flex: 0 0 auto;
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0;
  line-height: 1;
  font-size: 0.75rem;
}
.lucy-trail ul li::before {
  display: none;
}
.lucy-trail ul li:first-of-type {
  padding-left: 1.25rem;
}
.lucy-trail ul li:first-of-type::before {
  left: 0;
  top: calc(50% - 0.291655rem);
  display: block;
  width: 0.58331rem;
  height: 0.58331rem;
  background-color: var(--color_red);
  mask-image: url(/images/icons/home.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  border-radius: 0;
}
.lucy-trail ul li + li::before {
  left: calc(-1 * var(--spacer_xs));
  top: calc(50% - 0.291655rem);
  display: block;
  width: 0.58331rem;
  height: 0.58331rem;
  background-color: var(--color_red);
  mask-image: url(/images/icons/caret.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  border-radius: 0;
}
.lucy-trail ul li a:any-link {
  margin-bottom: 0 !important;
  vertical-align: middle;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  font-weight: 400;
  color: var(--color_text);
  transition: text-decoration-color 0.3s ease;
  background-image: linear-gradient(#000, #000), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  .lucy-trail ul li a:any-link:hover, .lucy-trail ul li a:any-link:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
@media (pointer: fine) {
  .lucy-trail ul li a:any-link:hover, .lucy-trail ul li a:any-link:focus-visible {
    text-decoration-color: var(--color_text);
  }
}
.lucy-trail ul li span {
  margin-bottom: 0 !important;
  vertical-align: middle;
  text-decoration: none;
  font-weight: 700;
}
.lucy-trail ul li:after {
  display: inline-block;
  margin: 0 0.75rem;
  content: url(../images/icons/arrow-right-no-stem.svg);
  filter: brightness(0) saturate(100%) invert(95%) sepia(7%) saturate(511%) hue-rotate(200deg) brightness(77%) contrast(84%);
}
.lucy-trail ul li:last-child:after {
  display: none;
}
.lucy-trail #share-record #copy-record-url {
  margin: 0;
  cursor: pointer;
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  .lucy-trail #share-record #copy-record-url:hover, .lucy-trail #share-record #copy-record-url:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
.lucy-trail #share-record #copy-record-url span:not(.icon) {
  color: #000;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  background-image: linear-gradient(#000, #000), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  .lucy-trail #share-record #copy-record-url span:not(.icon):hover, .lucy-trail #share-record #copy-record-url span:not(.icon):focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
.lucy-trail #share-record #copy-record-url span.icon {
  width: 0.75rem;
  height: 0.75rem;
}
@media (pointer: fine) {
  .lucy-trail #share-record #copy-record-url:hover span:not(.icon) {
    background-size: 0 1px, 100% 1px;
  }
}
.lucy-trail #share-record #copy-record-url:focus-within, .lucy-trail #share-record #copy-record-url:focus-visible {
  outline: 2px var(--color_red) solid;
}
.lucy-trail #share-record #copy-record-url:focus-within span:not(.icon), .lucy-trail #share-record #copy-record-url:focus-visible span:not(.icon) {
  background-size: 0 1px, 100% 1px;
}

/* --- In-Page Header --- */
#lucy-page-header {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: var(--content_space);
  position: relative;
  min-height: var(--header_height);
  width: 100%;
  padding: 0 var(--site_gutter);
  background-color: var(--color_sky_blue);
  overflow: hidden;
}
#lucy-page-header h1 {
  margin: 0;
  color: var(--color_navy_dark);
}
#lucy-page-header h1:has(+ .page-desc) {
  margin-bottom: 1.5rem;
}
#lucy-page-header .page-desc {
  margin-bottom: 0;
  font-size: 1.375rem;
  line-height: 1.35;
}
#lucy-page-header .bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 45vw;
  height: 100%;
}
#lucy-page-header .bg img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  mask: linear-gradient(90deg, color(from var(--color_sky_blue) srgb r g b/0) 0%, var(--color_sky_blue) 100%);
}
#lucy-page-header:has(.bg) .content {
  width: calc(55vw - 9rem);
}
#lucy-page-header .content {
  padding: 6.5rem 0;
}

/* --- Body Layouts --- */
@layer lucy-layout {
  #lucy-content {
    margin-top: var(--nav_height);
    transition: margin-top 0.3s ease;
  }
  main #lucy-main {
    padding: var(--site_gutter);
  }
  aside {
    flex: 1 0 calc(35% - var(--content_space));
  }
  main:has(> aside),
  #lucy-main:has(> aside) {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
    justify-content: space-between;
    align-items: flex-start;
  }
  @media only screen and (max-width: 750px) {
    main:has(> aside),
    #lucy-main:has(> aside) {
      flex-direction: column;
      justify-content: flex-start;
    }
  }
  main:has(> aside) .lucy-layout,
  #lucy-main:has(> aside) .lucy-layout {
    flex: 1 0 calc(65% - var(--content_space));
  }
}
/* ---- Sidebar --- */
@layer lucy-layout {
  aside {
    position: sticky;
    top: calc(var(--nav_height) + var(--content_space));
    transition: top 0.3s ease;
    max-width: 386px;
  }
  @media only screen and (max-width: 750px) {
    aside {
      position: relative;
      top: unset;
      transition: all 0.3s ease;
    }
  }
  aside.shift {
    top: var(--content_space);
  }
  @media only screen and (max-width: 750px) {
    aside.shift {
      top: unset !important;
    }
  }
  aside .back-to {
    margin-bottom: var(--spacer_xs);
  }
}
#nav-content {
  padding-left: 3rem;
  border-left: 1rem var(--color_red_dark) solid;
  margin-bottom: var(--content_space);
}
#nav-content #nav-section {
  font-family: "Libre Baskerville", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
  padding-bottom: 0.75rem;
  border-bottom: 2px var(--color_gray_light) solid;
}
#nav-content ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
#nav-content ul li {
  padding: 0.75rem 0;
  margin: 0;
  border-bottom: 2px var(--color_gray_light) solid;
}
#nav-content ul li::before {
  display: none;
}
#nav-content ul li:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
#nav-content ul li a:any-link {
  display: inline-flex;
  gap: 0.5rem;
  position: relative;
  color: var(--color_text);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.35;
  background-image: linear-gradient(transparent, transparent), linear-gradient(var(--color_red), var(--color_red));
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #nav-content ul li a:any-link:hover, #nav-content ul li a:any-link:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
#nav-content ul li a:any-link {
  transition: all 0.3s ease;
}
#nav-content ul li a:any-link.active {
  font-weight: 700;
}
#nav-content ul li a:any-link .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  transform: translateY(0.125rem);
}
#nav-content ul li a:any-link .icon svg {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
}
@media (pointer: fine) {
  #nav-content ul li a:any-link:not(.active):hover {
    font-weight: 600;
  }
}
#nav-content ul li a:any-link:focus-visible {
  font-weight: 600;
  outline: 0;
}

/* --- Search Form --- */
#search-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  position: fixed;
  top: calc(-1 * var(--menu_height));
  left: 0;
  z-index: 13;
  height: var(--search_height);
  width: 100%;
  color: #FFF;
  padding: var(--spacer_s) var(--site_gutter);
  transition: top 0.3s ease;
  background-color: #FFF;
  z-index: 96;
}
#search-form::before {
  display: block;
  position: absolute;
  top: 0;
  left: var(--site_gutter);
  width: calc(100% - 2 * var(--site_gutter));
  height: 2px;
  background-color: var(--border_color);
  content: "";
}
#search-form .field-wrap {
  flex-direction: row;
  padding: 0;
}
#search-form .field-wrap label {
  left: var(--site_gutter);
}
#search-form .field-wrap input {
  height: 3rem;
  padding: 0.75rem 1.5rem;
  border-radius: 0;
}
#search-form .field-wrap:has(button[type=submit]:hover, button[type=submit]:focus, button[type=submit]:focus-within) input {
  border-color: var(--color_red);
}
#search-form .field-wrap .button-wrap {
  position: relative;
}
#search-form .field-wrap .button-wrap button {
  border: none;
  background-color: transparent !important;
}
#search-form .field-wrap .button-wrap button[type=submit] {
  position: absolute;
  top: 0;
  left: -4.5rem;
}
#search-form .field-wrap .button-wrap button .icon {
  transform: scale(1);
  transition: all 0.3s ease;
}
#search-form .field-wrap .button-wrap button .icon svg g, #search-form .field-wrap .button-wrap button .icon svg path {
  transition: all 0.3s ease;
}
#search-form .field-wrap .button-wrap button#search-close {
  padding-left: 0.31rem;
  padding-right: 0.31rem;
  cursor: pointer;
}
@media (pointer: fine) {
  #search-form .field-wrap .button-wrap button:hover .icon, #search-form .field-wrap .button-wrap button:focus-visible .icon {
    transform: scale(1.3);
  }
  #search-form .field-wrap .button-wrap button:hover .icon g, #search-form .field-wrap .button-wrap button:hover .icon path, #search-form .field-wrap .button-wrap button:focus-visible .icon g, #search-form .field-wrap .button-wrap button:focus-visible .icon path {
    fill: var(--color_red);
  }
}

/* --- Search + Alert bar active styles --- */
body:has(#main-nav.scrolled) {
  --nav_height: 9.125rem;
}

body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav {
  transform: none !important;
  background-color: #FFF;
}
body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .logo svg path[fill="#000"] {
  fill: #000;
}
body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .minor button, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .minor a:any-link, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .major button, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .major a:any-link {
  color: #000;
}
body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .minor button#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .minor button#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .minor a:any-link#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .minor a:any-link#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .major button#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .major button#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .major a:any-link#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .major a:any-link#search-trigger svg path {
  stroke: #000;
}
@media (pointer: fine) {
  body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .minor button:hover, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .minor button:focus-visible, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .minor a:any-link:hover, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .minor a:any-link:focus-visible, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .major button:hover, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .major button:focus-visible, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .major a:any-link:hover, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .major a:any-link:focus-visible {
    color: var(--color_red);
  }
}
body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .minor button.active, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .minor a:any-link.active, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .major button.active, body:has(#main-nav .inner-nav button[data-section="1"].active) #main-nav .inner-nav .major a:any-link.active {
  color: var(--color_red);
}
body:has(#main-nav .inner-nav button[data-section="1"].active) #search-form {
  top: var(--nav_height);
}
body:has(#main-nav .inner-nav button[data-section="1"].active) #menu-modal {
  top: var(--nav_height);
}
body:has(#main-nav .inner-nav button[data-section="1"].active) #menu-modal *[data-menu="1"] {
  opacity: 1;
  left: var(--site_gutter);
  pointer-events: all;
}
body:has(#main-nav .inner-nav button[data-section="1"].active)[data-menu=search] #menu-modal {
  top: calc(var(--nav_height) + var(--search_height));
}

body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav {
  transform: none !important;
  background-color: #FFF;
}
body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .logo svg path[fill="#000"] {
  fill: #000;
}
body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .minor button, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .minor a:any-link, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .major button, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .major a:any-link {
  color: #000;
}
body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .minor button#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .minor button#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .minor a:any-link#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .minor a:any-link#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .major button#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .major button#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .major a:any-link#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .major a:any-link#search-trigger svg path {
  stroke: #000;
}
@media (pointer: fine) {
  body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .minor button:hover, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .minor button:focus-visible, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .minor a:any-link:hover, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .minor a:any-link:focus-visible, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .major button:hover, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .major button:focus-visible, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .major a:any-link:hover, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .major a:any-link:focus-visible {
    color: var(--color_red);
  }
}
body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .minor button.active, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .minor a:any-link.active, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .major button.active, body:has(#main-nav .inner-nav button[data-section="2"].active) #main-nav .inner-nav .major a:any-link.active {
  color: var(--color_red);
}
body:has(#main-nav .inner-nav button[data-section="2"].active) #search-form {
  top: var(--nav_height);
}
body:has(#main-nav .inner-nav button[data-section="2"].active) #menu-modal {
  top: var(--nav_height);
}
body:has(#main-nav .inner-nav button[data-section="2"].active) #menu-modal *[data-menu="2"] {
  opacity: 1;
  left: var(--site_gutter);
  pointer-events: all;
}
body:has(#main-nav .inner-nav button[data-section="2"].active)[data-menu=search] #menu-modal {
  top: calc(var(--nav_height) + var(--search_height));
}

body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav {
  transform: none !important;
  background-color: #FFF;
}
body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .logo svg path[fill="#000"] {
  fill: #000;
}
body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .minor button, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .minor a:any-link, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .major button, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .major a:any-link {
  color: #000;
}
body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .minor button#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .minor button#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .minor a:any-link#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .minor a:any-link#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .major button#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .major button#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .major a:any-link#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .major a:any-link#search-trigger svg path {
  stroke: #000;
}
@media (pointer: fine) {
  body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .minor button:hover, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .minor button:focus-visible, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .minor a:any-link:hover, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .minor a:any-link:focus-visible, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .major button:hover, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .major button:focus-visible, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .major a:any-link:hover, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .major a:any-link:focus-visible {
    color: var(--color_red);
  }
}
body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .minor button.active, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .minor a:any-link.active, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .major button.active, body:has(#main-nav .inner-nav button[data-section="3"].active) #main-nav .inner-nav .major a:any-link.active {
  color: var(--color_red);
}
body:has(#main-nav .inner-nav button[data-section="3"].active) #search-form {
  top: var(--nav_height);
}
body:has(#main-nav .inner-nav button[data-section="3"].active) #menu-modal {
  top: var(--nav_height);
}
body:has(#main-nav .inner-nav button[data-section="3"].active) #menu-modal *[data-menu="3"] {
  opacity: 1;
  left: var(--site_gutter);
  pointer-events: all;
}
body:has(#main-nav .inner-nav button[data-section="3"].active)[data-menu=search] #menu-modal {
  top: calc(var(--nav_height) + var(--search_height));
}

body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav {
  transform: none !important;
  background-color: #FFF;
}
body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .logo svg path[fill="#000"] {
  fill: #000;
}
body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .minor button, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .minor a:any-link, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .major button, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .major a:any-link {
  color: #000;
}
body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .minor button#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .minor button#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .minor a:any-link#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .minor a:any-link#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .major button#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .major button#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .major a:any-link#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .major a:any-link#search-trigger svg path {
  stroke: #000;
}
@media (pointer: fine) {
  body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .minor button:hover, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .minor button:focus-visible, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .minor a:any-link:hover, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .minor a:any-link:focus-visible, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .major button:hover, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .major button:focus-visible, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .major a:any-link:hover, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .major a:any-link:focus-visible {
    color: var(--color_red);
  }
}
body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .minor button.active, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .minor a:any-link.active, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .major button.active, body:has(#main-nav .inner-nav button[data-section="4"].active) #main-nav .inner-nav .major a:any-link.active {
  color: var(--color_red);
}
body:has(#main-nav .inner-nav button[data-section="4"].active) #search-form {
  top: var(--nav_height);
}
body:has(#main-nav .inner-nav button[data-section="4"].active) #menu-modal {
  top: var(--nav_height);
}
body:has(#main-nav .inner-nav button[data-section="4"].active) #menu-modal *[data-menu="4"] {
  opacity: 1;
  left: var(--site_gutter);
  pointer-events: all;
}
body:has(#main-nav .inner-nav button[data-section="4"].active)[data-menu=search] #menu-modal {
  top: calc(var(--nav_height) + var(--search_height));
}

body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav {
  transform: none !important;
  background-color: #FFF;
}
body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .logo svg path[fill="#000"] {
  fill: #000;
}
body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .minor button, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .minor a:any-link, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .major button, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .major a:any-link {
  color: #000;
}
body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .minor button#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .minor button#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .minor a:any-link#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .minor a:any-link#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .major button#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .major button#search-trigger svg path, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .major a:any-link#search-trigger svg g, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .major a:any-link#search-trigger svg path {
  stroke: #000;
}
@media (pointer: fine) {
  body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .minor button:hover, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .minor button:focus-visible, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .minor a:any-link:hover, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .minor a:any-link:focus-visible, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .major button:hover, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .major button:focus-visible, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .major a:any-link:hover, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .major a:any-link:focus-visible {
    color: var(--color_red);
  }
}
body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .minor button.active, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .minor a:any-link.active, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .major button.active, body:has(#main-nav .inner-nav button[data-section="5"].active) #main-nav .inner-nav .major a:any-link.active {
  color: var(--color_red);
}
body:has(#main-nav .inner-nav button[data-section="5"].active) #search-form {
  top: var(--nav_height);
}
body:has(#main-nav .inner-nav button[data-section="5"].active) #menu-modal {
  top: var(--nav_height);
}
body:has(#main-nav .inner-nav button[data-section="5"].active) #menu-modal *[data-menu="5"] {
  opacity: 1;
  left: var(--site_gutter);
  pointer-events: all;
}
body:has(#main-nav .inner-nav button[data-section="5"].active)[data-menu=search] #menu-modal {
  top: calc(var(--nav_height) + var(--search_height));
}

body[data-menu=search] #main-nav {
  background-color: #FFF;
}
body[data-menu=search] #main-nav .logo svg path[fill="#000"] {
  fill: #000;
}
body[data-menu=search] #main-nav .inner-nav .minor button, body[data-menu=search] #main-nav .inner-nav .minor a:any-link {
  color: #000;
}
body[data-menu=search] #main-nav .inner-nav .minor button#search-trigger, body[data-menu=search] #main-nav .inner-nav .minor a:any-link#search-trigger {
  background-color: transparent;
}
body[data-menu=search] #main-nav .inner-nav .minor button#search-trigger svg, body[data-menu=search] #main-nav .inner-nav .minor a:any-link#search-trigger svg {
  transform: scale(1.3);
}
body[data-menu=search] #main-nav .inner-nav .minor button#search-trigger svg g, body[data-menu=search] #main-nav .inner-nav .minor button#search-trigger svg path, body[data-menu=search] #main-nav .inner-nav .minor a:any-link#search-trigger svg g, body[data-menu=search] #main-nav .inner-nav .minor a:any-link#search-trigger svg path {
  stroke: var(--color_red) !important;
}
@media (pointer: fine) {
  body[data-menu=search] #main-nav .inner-nav .minor button:hover, body[data-menu=search] #main-nav .inner-nav .minor button:focus-visible, body[data-menu=search] #main-nav .inner-nav .minor a:any-link:hover, body[data-menu=search] #main-nav .inner-nav .minor a:any-link:focus-visible {
    color: var(--color_red);
  }
}
body[data-menu=search] #main-nav .inner-nav .minor button.active, body[data-menu=search] #main-nav .inner-nav .minor a:any-link.active {
  color: var(--color_red);
}
body[data-menu=search] #main-nav .inner-nav .major button, body[data-menu=search] #main-nav .inner-nav .major a:any-link {
  color: #000;
}
@media (pointer: fine) {
  body[data-menu=search] #main-nav .inner-nav .major button:hover, body[data-menu=search] #main-nav .inner-nav .major button:focus-visible, body[data-menu=search] #main-nav .inner-nav .major a:any-link:hover, body[data-menu=search] #main-nav .inner-nav .major a:any-link:focus-visible {
    color: var(--color_red);
  }
}
body[data-menu=search] #main-nav .inner-nav .major button.active, body[data-menu=search] #main-nav .inner-nav .major a:any-link.active {
  color: var(--color_red);
}
body[data-menu=search] #search-form {
  top: var(--nav_height) !important;
}

body.alert #lucy-content {
  margin-top: calc(var(--nav_height) + var(--alert_height));
}
body.alert #main-nav {
  top: var(--alert_height) !important;
}
body.alert aside {
  top: calc(var(--alert_height) + var(--nav_height) + var(--spacer_s));
}
body.alert aside.shift {
  top: calc(var(--alert_height) + var(--spacer_s));
}
body.alert:has(#main-nav .inner-nav button[data-section="1"].active) #search-form {
  top: calc(var(--nav_height) + var(--alert_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="1"].active) #menu-modal {
  top: calc(var(--nav_height) + var(--alert_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="1"].active)[data-menu=search] #menu-modal {
  top: calc(var(--nav_height) + var(--alert_height) + var(--search_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="2"].active) #search-form {
  top: calc(var(--nav_height) + var(--alert_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="2"].active) #menu-modal {
  top: calc(var(--nav_height) + var(--alert_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="2"].active)[data-menu=search] #menu-modal {
  top: calc(var(--nav_height) + var(--alert_height) + var(--search_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="3"].active) #search-form {
  top: calc(var(--nav_height) + var(--alert_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="3"].active) #menu-modal {
  top: calc(var(--nav_height) + var(--alert_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="3"].active)[data-menu=search] #menu-modal {
  top: calc(var(--nav_height) + var(--alert_height) + var(--search_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="4"].active) #search-form {
  top: calc(var(--nav_height) + var(--alert_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="4"].active) #menu-modal {
  top: calc(var(--nav_height) + var(--alert_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="4"].active)[data-menu=search] #menu-modal {
  top: calc(var(--nav_height) + var(--alert_height) + var(--search_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="5"].active) #search-form {
  top: calc(var(--nav_height) + var(--alert_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="5"].active) #menu-modal {
  top: calc(var(--nav_height) + var(--alert_height));
}
body.alert:has(#main-nav .inner-nav button[data-section="5"].active)[data-menu=search] #menu-modal {
  top: calc(var(--nav_height) + var(--alert_height) + var(--search_height));
}
body.alert[data-menu=search] #search-form {
  top: calc(var(--nav_height) + var(--alert_height)) !important;
}

/* --- Site Alerts --- */
#lucy-alert {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 12;
  width: 100%;
  height: var(--alert_height);
  padding: 0 var(--site_gutter);
  background-color: var(--color_red);
  color: #FFF;
  transition: top 0.3s ease;
  z-index: 100;
}
@media only screen and (max-width: 1125px) {
  #lucy-alert {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0;
  }
}
#lucy-alert .alert-inner {
  display: inline-flex;
  align-items: center;
  justify-content: start;
  gap: var(--spacer_s);
  color: #FFF;
  height: 100%;
  cursor: pointer;
}
#lucy-alert .alert-inner > * {
  margin: 0;
}
#lucy-alert .alert-inner p.title {
  line-height: 1.3;
  white-space: nowrap;
}
#lucy-alert .alert-inner p.body span {
  font-weight: 700;
  background-image: linear-gradient(#FFF, #FFF), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #lucy-alert .alert-inner p.body span:hover, #lucy-alert .alert-inner p.body span:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
#lucy-alert .alert-inner .button {
  padding: 0.625rem 1rem;
}
#lucy-alert .alert-inner:is(a) p.title {
  background-image: linear-gradient(transparent, transparent), linear-gradient(#FFF, #FFF);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #lucy-alert .alert-inner:is(a) p.title:hover, #lucy-alert .alert-inner:is(a) p.title:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
@media (pointer: fine) {
  #lucy-alert .alert-inner:is(a):hover p.title, #lucy-alert .alert-inner:is(a):hover p.body span, #lucy-alert .alert-inner:is(a):focus-visible p.title, #lucy-alert .alert-inner:is(a):focus-visible p.body span {
    background-size: 0 1px, 100% 1px;
  }
  #lucy-alert .alert-inner:is(a):hover .button, #lucy-alert .alert-inner:is(a):focus-visible .button {
    background-color: #FFF;
  }
  #lucy-alert .alert-inner:is(a):hover .button .icon svg g, #lucy-alert .alert-inner:is(a):hover .button .icon svg path, #lucy-alert .alert-inner:is(a):focus-visible .button .icon svg g, #lucy-alert .alert-inner:is(a):focus-visible .button .icon svg path {
    fill: #000;
  }
}
#lucy-alert #alert-close {
  position: absolute;
  top: 50%;
  right: 0;
  width: var(--alert_height);
  height: var(--alert_height);
  border: none;
  border-radius: 0;
  margin: 0;
  background-color: #FFF;
  transform: translate(0, -50%);
  cursor: pointer;
}
#lucy-alert #alert-close svg {
  width: 0.875rem;
  transition: scale 0.3s ease;
}
#lucy-alert #alert-close svg g, #lucy-alert #alert-close svg path {
  fill: var(--color_red);
  transition: fill 0.3s ease;
}
@media (pointer: fine) {
  #lucy-alert #alert-close:hover, #lucy-alert #alert-close:focus-visible {
    background-color: var(--color_red);
  }
  #lucy-alert #alert-close:hover svg, #lucy-alert #alert-close:focus-visible svg {
    scale: 1.15;
  }
  #lucy-alert #alert-close:hover svg g, #lucy-alert #alert-close:hover svg path, #lucy-alert #alert-close:focus-visible svg g, #lucy-alert #alert-close:focus-visible svg path {
    fill: #FFF;
  }
}
#lucy-alert.hide {
  top: calc(-1 * var(--alert_height));
}

/* --- Email Popup --- */
/* #email-popup {
	position: fixed;
	bottom: var(--spacer_xs);
	right: var(--spacer_xs);
	max-width: 400px;
	z-index: 9;
	padding: var(--spacer_s);
	border-radius: var(--border_radius);
	opacity: 0;
	pointer-events: none;
	background-color: #FFF;
	box-shadow: 0 8px 18px 0 rgba(#000, .25);
	transition: all 1s ease;

	#newsletter-close {
		position: absolute;
		top: var(--spacer_xs);
		right: 1rem;
		transform: translate(0, -50%);
		cursor: pointer;

		// svg { 
		// 	width: .667rem; 
		// 	transition: scale .3s ease;

		// 	path { fill: var(--color_primary); }
		// }
		@media (pointer:fine) {
			&:hover, &:focus-visible {
				// svg { scale: 1.3; }
			}
		}
	}
	#newsletter-dismiss { 
		width: 100%;
		text-align: center;
		text-decoration: underline;
		text-decoration-color: transparent;
		text-decoration-thickness: 2px;
		text-underline-offset: 4px;
		transition: all .3s ease;
		cursor: pointer;

		@media (pointer:fine) { 
			&:hover, &:focus-visible { 
				color: var(--color_primary);
				text-decoration-color: var(--color_primary);
			}
		}
	}
	&.show { 
		opacity: 1;
		pointer-events: auto; 
	}
	&.hidden { 
		transform: translate(0, var(--spacer_xs));
		opacity: 0;
	}
} */
/* --- Skip Links (Accessibility Feature) --- */
.skip-link {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 25;
  padding: 0.75rem 2rem;
  text-decoration: none;
  line-height: 1;
  font-size: var(--base_font_size);
  font-weight: bold;
  color: var(--color_text);
  text-transform: uppercase;
  background-color: var(--color_light);
  translate: -50% calc(-100% - 1rem);
  border-radius: var(--border_radius);
}
.skip-link:focus {
  translate: -50% 0;
  outline: none;
  -moz-outline: none;
}

/* --- Site Overlay --- */
#site-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100vw;
  height: 100dvh;
  height: 100lvh;
  background-color: rgba(10, 9, 3, 0.85);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
#site-overlay.show {
  opacity: 1;
  pointer-events: auto;
}

/* -- In-template Filters --- */
@layer lucy-utilities {
  .page-filters {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--grid_gutter);
    padding: var(--grid_gutter);
    border-radius: var(--border_radius_large);
    border: 1px solid var(--color_border);
    background-color: var(--color_light);
  }
  @media only screen and (max-width: 750px) {
    .page-filters {
      display: flex;
      flex-direction: column;
      gap: var(--grid_gutter);
    }
  }
  .page-filters .field-wrap {
    grid-column: auto/span 3;
  }
  .page-filters .field-wrap label {
    color: var(--color_text);
  }
  .page-filters .field-wrap.search {
    grid-column: 1/-1;
    flex-direction: row !important;
    gap: var(--grid_gutter) !important;
    position: relative;
  }
  @media only screen and (max-width: 525px) {
    .page-filters .field-wrap.search {
      flex-direction: column !important;
    }
  }
  .page-filters .field-wrap.search .field {
    flex: 2 1 auto;
    display: flex;
    flex-direction: column-reverse;
    gap: var(--spacer_xxs);
  }
  .page-filters .field-wrap.search .button {
    position: absolute;
    top: 50%;
    width: 130px;
    padding: 0;
    right: var(--spacer_xxs);
    transform: translate(0, -50%);
  }
  .page-filters .field-wrap.third {
    grid-column: auto/span 2;
  }
}
/* --- Pagination --- */
@layer lucy-utilities {
  #lucy-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    width: 100%;
    margin-top: var(--content_space);
    padding: var(--spacer_xxs) var(--grid_gutter);
    border: 1px solid var(--color_border);
    background-color: var(--color_light);
    border-radius: var(--border_radius_large);
  }
  #lucy-pagination > * {
    margin-bottom: 0;
  }
  #lucy-pagination .button.prev {
    margin-right: auto;
    flex-direction: row-reverse;
  }
  #lucy-pagination .button.prev .icon {
    transform: scaleX(-1);
  }
  #lucy-pagination .button.next {
    margin-left: auto;
  }
  #lucy-pagination .page-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
  }
  @media only screen and (max-width: 525px) {
    #lucy-pagination .page-controls {
      gap: 0.5rem;
      font-size: 0.8rem;
    }
  }
  #lucy-pagination #page-selection {
    min-width: 100px;
  }
}
/* --- Frontend Layout Styles --- */
.lucy-layout [data-bucket] .lucy-divider {
  position: relative;
  font-size: 0;
}
.lucy-layout [data-bucket] .lucy-divider.separate-full {
  margin: var(--content_space) 0;
}
@media only screen and (max-width: 525px) {
  .lucy-layout [data-bucket] .lucy-divider.separate-full {
    margin: calc(var(--content_space) * 0.75) 0;
  }
}
.lucy-layout [data-bucket] .lucy-divider.half {
  margin: calc(var(--content_space) * 0.5) 0;
}
@media only screen and (max-width: 525px) {
  .lucy-layout [data-bucket] .lucy-divider.half {
    margin: calc(var(--content_space) * 0.25) 0;
  }
}
.lucy-layout [data-bucket] .lucy-divider[class*=separate-]:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--border_color);
  transform: translate(0, -50%);
  content: "";
}
.lucy-layout [data-bucket] {
  display: grid;
  width: 100%;
  gap: var(--grid_gutter);
}
.lucy-layout [data-bucket] [data-zone] img {
  display: block;
}
.lucy-layout [data-bucket][data-alignment=middle] {
  align-items: center;
}
.lucy-layout [data-bucket][data-alignment=bottom] {
  align-items: end;
}
.lucy-layout [data-bucket][data-spacing=none] {
  gap: 0;
}
.lucy-layout [data-bucket][data-spacing=small] {
  gap: calc(var(--grid_gutter) * 0.5);
}
@media only screen and (max-width: 700px) {
  .lucy-layout [data-bucket][data-spacing=small] {
    gap: 0;
  }
}
.lucy-layout [data-bucket][data-spacing=extra] {
  gap: calc(var(--grid_gutter) * 2);
}
@media only screen and (max-width: 700px) {
  .lucy-layout [data-bucket][data-spacing=extra] {
    gap: 0;
  }
}
.lucy-layout [data-bucket="1-column"] {
  grid-template-columns: minmax(0, 1fr);
}
.lucy-layout [data-bucket="2-column"] {
  grid-template-columns: repeat(2, 1fr);
}
.lucy-layout [data-bucket="3-column"] {
  grid-template-columns: repeat(3, 1fr);
}
.lucy-layout [data-bucket="4-column"] {
  grid-template-columns: repeat(4, 1fr);
}
.lucy-layout [data-bucket="70-30"] {
  grid-template-columns: 7fr 3fr;
}
.lucy-layout [data-bucket="30-70"] {
  grid-template-columns: 3fr 7fr;
}
@media only screen and (max-width: 700px) {
  .lucy-layout [data-bucket="2-column"],
  .lucy-layout [data-bucket="3-column"],
  .lucy-layout [data-bucket="4-column"],
  .lucy-layout [data-bucket="70-30"],
  .lucy-layout [data-bucket="30-70"] {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* --- In-Lucy PageBuilder Layout Styles --- */
#lucy-page-template-inner #lucy-main {
  margin: 0;
  padding: 0;
}
#lucy-page-template-inner #lucy-content {
  margin: 0;
  padding: 30px;
  border-radius: unset;
  overflow: unset;
  background-color: unset;
}
#lucy-page-template-inner #lucy-content .plugin {
  margin-bottom: calc(var(--content_space) / 2);
}
#lucy-page-template-inner #lucy-content .lucy-divider {
  margin: 0 !important;
}
#lucy-page-template-inner #lucy-content .lucy-divider.separate-full {
  padding: var(--content_space) 0;
}
#lucy-page-template-inner #lucy-content .lucy-divider.half {
  padding: calc(var(--content_space) / 2) 0;
}
#lucy-page-template-inner #lucy-content .plugin.filled[data-type=divider]:hover .lucy-divider:before {
  opacity: 0.3;
}
#lucy-page-template-inner #lucy-content .plugin.filled[data-type=divider]:hover .lucy-divider:after {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  font-size: 1rem;
  text-align: center;
  font-family: "Roboto", sans-serif;
  color: #AAA;
  content: "Divider";
  transform: translate(0, -50%);
}

/* --- Global-Use Font Styles --- */
@layer lucy-core {
  :where(#lucy-content, #lucy-page, .lucy-content) h1, :where(#lucy-content, #lucy-page, .lucy-content) h2, :where(#lucy-content, #lucy-page, .lucy-content) h3, :where(#lucy-content, #lucy-page, .lucy-content) h4, :where(#lucy-content, #lucy-page, .lucy-content) h5, :where(#lucy-content, #lucy-page, .lucy-content) h6, :where(#lucy-content, #lucy-page, .lucy-content) *[class^=display-] {
    margin-bottom: var(--spacer_s);
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .lucy-container h2, :where(#lucy-content, #lucy-page, .lucy-content) .lucy-container h3, :where(#lucy-content, #lucy-page, .lucy-content) .lucy-container h4 {
    color: var(--color_navy_dark);
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h1, :where(#lucy-content, #lucy-page, .lucy-content) .display-h1,
  :where(#lucy-content, #lucy-page, .lucy-content) h2, :where(#lucy-content, #lucy-page, .lucy-content) .display-h2 {
    font-family: "Libre Baskerville", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 600;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h3, :where(#lucy-content, #lucy-page, .lucy-content) .display-h3,
  :where(#lucy-content, #lucy-page, .lucy-content) h4, :where(#lucy-content, #lucy-page, .lucy-content) .display-h4,
  :where(#lucy-content, #lucy-page, .lucy-content) h5, :where(#lucy-content, #lucy-page, .lucy-content) .display-h5,
  :where(#lucy-content, #lucy-page, .lucy-content) h6, :where(#lucy-content, #lucy-page, .lucy-content) .display-h6 {
    font-family: "Hanken Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 600;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h1, :where(#lucy-content, #lucy-page, .lucy-content) .display-h1 {
    font-size: var(--font_size_h1);
    line-height: 1.15;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h2, :where(#lucy-content, #lucy-page, .lucy-content) .display-h2 {
    font-size: var(--font_size_h2);
    line-height: 1.15;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h3, :where(#lucy-content, #lucy-page, .lucy-content) .display-h3 {
    font-size: var(--font_size_h3);
    line-height: 1.15;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h4, :where(#lucy-content, #lucy-page, .lucy-content) .display-h4 {
    font-size: var(--font_size_h4);
    line-height: 1.15;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h5, :where(#lucy-content, #lucy-page, .lucy-content) .display-h5 {
    font-size: var(--font_size_h5);
    line-height: 1.35;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) h6, :where(#lucy-content, #lucy-page, .lucy-content) .display-h6 {
    font-size: var(--font_size_h6);
    line-height: 1.25;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .display-xxs {
    font-family: "Hanken Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 700;
    font-size: var(--font_size_xxs);
    letter-spacing: 4%;
    line-height: 1.15;
    text-transform: uppercase;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .intro {
    font-family: "Hanken Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    font-size: var(--font_size_h5);
    letter-spacing: 4%;
    line-height: 1.35;
    margin-bottom: var(--content_space);
  }
  :where(#lucy-content, #lucy-page, .lucy-content) blockquote, :where(#lucy-content, #lucy-page, .lucy-content) .blockquote {
    position: relative;
    font-family: "Hanken Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: var(--font_size_blockquote);
    font-weight: 600;
    line-height: 1.15;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) *[class^=body-] {
    font-family: "Hanken Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    line-height: 1.35;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .body-large {
    font-size: var(--font_size_h6);
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .body-small {
    font-size: var(--font_size_xxs);
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .body-xsmall {
    font-size: 0.75rem;
    line-height: 1;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .sub-header, :where(#lucy-content, #lucy-page, .lucy-content) #menu-modal *[data-menu] ul li:first-child a:any-link, #menu-modal *[data-menu] ul li:first-child :where(#lucy-content, #lucy-page, .lucy-content) a:any-link {
    margin-bottom: var(--spacer_xxs);
    font-family: "Hanken Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 4%;
    text-transform: uppercase;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .caption, :where(#lucy-content, #lucy-page, .lucy-content) .photo-caption {
    font-family: "Hanken Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    font-size: var(--font_size_caption);
    line-height: 1.35;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) a:any-link:not(.button, .back-to, .button-link) {
    color: var(--color_red);
    font-weight: 400;
    background-image: linear-gradient(var(--color_red), var(--color_red)), linear-gradient(transparent, transparent);
    background-size: 100% 1px, 0 1px;
    background-position: 100% 90%, 0 90%;
    background-repeat: no-repeat;
    transition: background-size 0.3s linear;
    text-decoration: none;
  }
  @media (pointer: fine) {
    :where(#lucy-content, #lucy-page, .lucy-content) a:any-link:not(.button, .back-to, .button-link):hover, :where(#lucy-content, #lucy-page, .lucy-content) a:any-link:not(.button, .back-to, .button-link):focus-visible {
      background-size: 0 1px, 100% 1px;
    }
  }
  @media (pointer: fine) {
    :where(#lucy-content, #lucy-page, .lucy-content) a:any-link:not(.button, .back-to, .button-link):focus-visible {
      outline: 2px solid var(--color_red);
      background-size: 0 1px, 100% 1px;
    }
  }
  :where(#lucy-content, #lucy-page, .lucy-content) p, :where(#lucy-content, #lucy-page, .lucy-content) blockquote, :where(#lucy-content, #lucy-page, .lucy-content) ul, :where(#lucy-content, #lucy-page, .lucy-content) ol, :where(#lucy-content, #lucy-page, .lucy-content) .page-image {
    margin-bottom: var(--spacer_s);
  }
  :where(#lucy-content, #lucy-page, .lucy-content) p:not(:has(+ p)), :where(#lucy-content, #lucy-page, .lucy-content) blockquote:not(:has(+ p)), :where(#lucy-content, #lucy-page, .lucy-content) ul:not(:has(+ p)), :where(#lucy-content, #lucy-page, .lucy-content) ol:not(:has(+ p)), :where(#lucy-content, #lucy-page, .lucy-content) .page-image:not(:has(+ p)) {
    margin-bottom: var(--content_space);
  }
  :where(#lucy-content, #lucy-page, .lucy-content) p, :where(#lucy-content, #lucy-page, .lucy-content) ul, :where(#lucy-content, #lucy-page, .lucy-content) ol, :where(#lucy-content, #lucy-page, .lucy-content) dl {
    font-size: var(--base_font_size);
    font-weight: normal;
    line-height: var(--base_line_height);
    letter-spacing: 0;
    word-break: break-word;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) ul, :where(#lucy-content, #lucy-page, .lucy-content) ol {
    padding-inline-start: 2.3125rem;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) ul li:has(+ li), :where(#lucy-content, #lucy-page, .lucy-content) ol li:has(+ li) {
    margin-bottom: var(--spacer_s);
  }
  :where(#lucy-content, #lucy-page, .lucy-content) ul li {
    position: relative;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) ul li::marker {
    content: "";
  }
  :where(#lucy-content, #lucy-page, .lucy-content) ul li::before {
    position: absolute;
    top: 0.1875rem;
    left: -2.3125rem;
    width: 0.8125rem;
    height: 0.8125rem;
    border-radius: 50%;
    background-color: var(--color_navy);
    content: "";
  }
  :where(#lucy-content, #lucy-page, .lucy-content) hr {
    margin: calc(var(--content_space) * 1.5) 0;
    border: none;
    border-bottom: 1px solid var(--border_color);
  }
  @media only screen and (max-width: 525px) {
    :where(#lucy-content, #lucy-page, .lucy-content) hr {
      margin: var(--content_space) 0;
    }
  }
  :where(#lucy-content, #lucy-page, .lucy-content) address {
    font-style: normal;
  }
  :where(#lucy-content, #lucy-page, .lucy-content) .page-image, :where(#lucy-content, #lucy-page, .lucy-content) .video-wrapper {
    margin-bottom: var(--content_space);
    border-radius: var(--border_radius);
  }
}
/* --- Buttons and Links --- */
@layer lucy-core {
  button {
    -webkit-appearance: none;
    background-color: unset;
  }
  .button, button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: var(--spacer_xxs);
    padding: 0.63rem 1rem;
    border: 1px var(--color_red) solid;
    border-radius: 8px;
    background-color: transparent;
    font-family: "Hanken Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: #000;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 4%;
    text-transform: uppercase;
    outline: none;
    text-decoration: none !important;
    transition: all 0.3s ease;
    cursor: pointer;
  }
  .button:not(:has(> span:not(.icon))), button:not(:has(> span:not(.icon))) {
    padding: 0.75rem;
  }
  .button .icon, button .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    transition: all 0.3s ease;
  }
  .button .icon svg, button .icon svg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    height: 50%;
  }
  .button .icon svg g, .button .icon svg path, button .icon svg g, button .icon svg path {
    fill: #000;
    transition: fill 0.3s ease;
  }
  .button .icon img, button .icon img {
    filter: invert(1);
  }
  .button.white, button.white {
    border: 1px #FFF solid;
  }
  .button.blue, button.blue {
    border: 1px var(--color_navy) solid;
  }
  .button.black, button.black {
    border: 1px #000 solid;
  }
  .button.on-dark, button.on-dark {
    color: #FFF;
  }
  .button.on-dark .icon svg path, button.on-dark .icon svg path {
    fill: #FFF;
  }
  .button.fluid, button.fluid {
    width: 100%;
  }
  .button.disabled, .button[disabled], button.disabled, button[disabled] {
    background-color: var(--color_red);
    color: #FFF;
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
  }
  .button.disabled .icon svg g, .button.disabled .icon svg path, .button[disabled] .icon svg g, .button[disabled] .icon svg path, button.disabled .icon svg g, button.disabled .icon svg path, button[disabled] .icon svg g, button[disabled] .icon svg path {
    fill: #FFF;
  }
  .button.disabled.white, .button[disabled].white, button.disabled.white, button[disabled].white {
    color: #000;
    background-color: #FFF;
  }
  .button.disabled.white .icon svg g, .button.disabled.white .icon svg path, .button[disabled].white .icon svg g, .button[disabled].white .icon svg path, button.disabled.white .icon svg g, button.disabled.white .icon svg path, button[disabled].white .icon svg g, button[disabled].white .icon svg path {
    fill: #000;
  }
  .button.disabled.blue, .button[disabled].blue, button.disabled.blue, button[disabled].blue {
    background-color: var(--color_navy);
  }
  .button.disabled.black, .button[disabled].black, button.disabled.black, button[disabled].black {
    background-color: #000;
  }
  @media (pointer: fine) {
    .button:not(.disabled):not([disabled]):hover, .button:not(.disabled):not([disabled]):focus-visible, button:not(.disabled):not([disabled]):hover, button:not(.disabled):not([disabled]):focus-visible {
      background-color: var(--color_red);
      color: #FFF;
    }
    .button:not(.disabled):not([disabled]):hover .icon g, .button:not(.disabled):not([disabled]):hover .icon path, .button:not(.disabled):not([disabled]):focus-visible .icon g, .button:not(.disabled):not([disabled]):focus-visible .icon path, button:not(.disabled):not([disabled]):hover .icon g, button:not(.disabled):not([disabled]):hover .icon path, button:not(.disabled):not([disabled]):focus-visible .icon g, button:not(.disabled):not([disabled]):focus-visible .icon path {
      fill: #FFF;
    }
    .button:not(.disabled):not([disabled]):hover.white, .button:not(.disabled):not([disabled]):focus-visible.white, button:not(.disabled):not([disabled]):hover.white, button:not(.disabled):not([disabled]):focus-visible.white {
      background-color: #FFF;
      color: #000;
    }
    .button:not(.disabled):not([disabled]):hover.white .icon g, .button:not(.disabled):not([disabled]):hover.white .icon path, .button:not(.disabled):not([disabled]):focus-visible.white .icon g, .button:not(.disabled):not([disabled]):focus-visible.white .icon path, button:not(.disabled):not([disabled]):hover.white .icon g, button:not(.disabled):not([disabled]):hover.white .icon path, button:not(.disabled):not([disabled]):focus-visible.white .icon g, button:not(.disabled):not([disabled]):focus-visible.white .icon path {
      fill: #000;
    }
    .button:not(.disabled):not([disabled]):hover.blue, .button:not(.disabled):not([disabled]):focus-visible.blue, button:not(.disabled):not([disabled]):hover.blue, button:not(.disabled):not([disabled]):focus-visible.blue {
      background-color: var(--color_navy);
    }
    .button:not(.disabled):not([disabled]):hover.black, .button:not(.disabled):not([disabled]):focus-visible.black, button:not(.disabled):not([disabled]):hover.black, button:not(.disabled):not([disabled]):focus-visible.black {
      background-color: #000;
    }
  }
  .button:not(.disabled):not([disabled]):active, button:not(.disabled):not([disabled]):active {
    border: 2px solid var(--color_secondary);
  }
  .button:not(.disabled):not([disabled]):focus-visible, button:not(.disabled):not([disabled]):focus-visible {
    outline: 2px solid var(--color_primary);
  }
  .button-link {
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 0.5rem;
    width: fit-content;
    padding-bottom: 2px;
    margin-bottom: var(--spacer_xxs);
    font-family: "Hanken Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 4%;
    color: var(--color_red);
    text-transform: uppercase;
    text-decoration: none !important;
    white-space: nowrap;
    overflow: visible;
    background-image: linear-gradient(transparent, transparent), linear-gradient(var(--color_red), var(--color_red));
    background-size: 100% 1px, 0 1px;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.3s linear;
    text-decoration: none;
  }
  @media (pointer: fine) {
    .button-link:hover, .button-link:focus-visible {
      background-size: 0 1px, 100% 1px;
    }
  }
  .button-link .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.5rem;
    height: 1.5rem;
  }
  .button-link .icon svg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.125rem;
    height: 1.125rem;
  }
  .button-link .icon svg g, .button-link .icon svg path {
    fill: var(--color_red);
    transition: fill 0.3s ease;
  }
  .button-link.alt {
    flex-direction: row;
    gap: 0.75rem;
    color: #000;
  }
  .button-link.on-dark {
    color: #FFF;
  }
  .button-link.on-dark span {
    color: #FFF;
  }
  .button-link.on-dark .icon {
    background-color: rgba(255, 255, 255, 0.15);
  }
  .button-link.on-dark .icon svg path {
    fill: #FFF;
  }
  .button-link.disabled, .button-link[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
  }
  @media (pointer: fine) {
    .button-link:hover span, .button-link:focus-visible span {
      text-decoration-color: var(--color_text);
    }
    .button-link:hover.on-dark span, .button-link:focus-visible.on-dark span {
      text-decoration-color: #FFF;
    }
    .button-link:hover.on-dark .icon, .button-link:focus-visible.on-dark .icon {
      background-color: #FFF;
    }
    .button-link:hover.on-dark .icon svg path, .button-link:focus-visible.on-dark .icon svg path {
      fill: var(--color_text);
    }
  }
  .back-to {
    flex-direction: row-reverse;
  }
  .back-to span {
    transform: translate(0, 0.05rem);
  }
  .back-to .icon {
    opacity: 1;
    transform: scaleX(-1) translate(0, 0) !important;
  }
  .back-to .icon svg path {
    fill: var(--color_primary);
    transition: fill 0.3s ease;
  }
  @media (pointer: fine) {
    .back-to:hover .icon svg path, .back-to:focus-visible .icon svg path {
      fill: #FFF;
    }
  }
  .expand {
    position: relative;
    width: 3rem;
    min-width: 3rem;
    height: 3rem;
    min-height: 3rem;
    padding: 0.75rem;
    border: 1px var(--color_red) solid;
    border-radius: 0.5rem;
    background-color: transparent;
    transition: background-color 0.3s ease !important;
  }
  .expand:before, .expand:after {
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #000;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease;
    content: "";
  }
  .expand:before {
    width: 27.083%;
    height: 1px;
    border-radius: 1px;
  }
  .expand:after {
    width: 1px;
    height: 27.083%;
    border-radius: 1px;
  }
  @media (pointer: fine) {
    .expand:hover, .expand:focus-visible {
      background-color: var(--color_red);
    }
    .expand:hover:before, .expand:hover:after, .expand:focus-visible:before, .expand:focus-visible:after {
      background-color: #FFF;
    }
  }
}
/* --- Form Grid Display --- */
form.grid, div.grid[id*=form], .form-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--grid_gutter);
}
form.grid .field-wrap, form.grid .field-wrap.half, div.grid[id*=form] .field-wrap, div.grid[id*=form] .field-wrap.half, .form-grid .field-wrap, .form-grid .field-wrap.half {
  grid-column: auto/span 3;
}
form.grid .field-wrap.third, div.grid[id*=form] .field-wrap.third, .form-grid .field-wrap.third {
  grid-column: auto/span 2;
}
form.grid .field-wrap.textarea, form.grid .field-wrap.check, form.grid .field-wrap.full, form.grid > *:not(.field-wrap), div.grid[id*=form] .field-wrap.textarea, div.grid[id*=form] .field-wrap.check, div.grid[id*=form] .field-wrap.full, div.grid[id*=form] > *:not(.field-wrap), .form-grid .field-wrap.textarea, .form-grid .field-wrap.check, .form-grid .field-wrap.full, .form-grid > *:not(.field-wrap) {
  grid-column: auto/span 6;
}

/* --- Form Field + Label Styles --- */
@layer lucy-forms {
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form {
    margin-bottom: var(--content_space);
    container-type: inline-size;
    container-name: lucy-form;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form form h3, :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form form p {
    margin-bottom: 0;
    color: #000;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form .form-title + p {
    font-size: 1.125rem;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form .thank-you {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    padding: var(--spacer_s);
    background-color: var(--color_sky_blue);
    border-radius: var(--border_radius);
  }
  @media only screen and (max-width: 910px) {
    :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form .thank-you {
      padding: var(--spacer_xs);
    }
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form .thank-you .content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form .thank-you .title {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form .thank-you .title .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.47656rem;
    min-width: 1.47656rem;
    height: 1.47656rem;
    min-height: 1.47656rem;
    border: 2px var(--color_red) solid;
    border-radius: 50%;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form .thank-you .title .icon svg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    height: 50%;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form .thank-you .title .icon svg g, :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form .thank-you .title .icon svg path {
    fill: var(--color_red);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form .thank-you .title + p {
    font-size: 1.125rem;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form .thank-you .content :last-child {
    margin-bottom: 0;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) .lucy-form .payment-display {
    padding: var(--spacer_xs);
    border-radius: var(--border_radius);
    border: 1px solid var(--border_color);
    background-color: var(--color_light);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=url],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local],
  :where(#lucy-content, .lucy-content, #lucy-page) select,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea {
    width: 100%;
    padding: 0.5rem 1.5rem;
    font-family: "Hanken Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.35;
    border: 1px solid var(--border_color);
    background-color: transparent;
    color: var(--color_text);
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    transition: border 0.3s ease;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text]::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email]::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel]::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=url]::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password]::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number]::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date]::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local]::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) select::placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea::placeholder {
    color: #999 !important;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text] ::-ms-input-placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email] ::-ms-input-placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel] ::-ms-input-placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=url] ::-ms-input-placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password] ::-ms-input-placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number] ::-ms-input-placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date] ::-ms-input-placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local] ::-ms-input-placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) select ::-ms-input-placeholder,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea ::-ms-input-placeholder {
    color: #999;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=url],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date],
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local],
  :where(#lucy-content, .lucy-content, #lucy-page) select,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea {
    /* &[required]:not(:placeholder-shown):not(:focus):invalid, 
    &[required][data-interacted]:invalid {
    	color: var(--color_error);
    	border-color: currentcolor;
    } 
    &[required][data-interacted]:invalid::placeholder {
    	color: var(--color_error);
    }
    &[required]:not(:placeholder-shown):not(:focus):invalid + label,
    &[required][data-interacted]:invalid + label {
    	color: var(--color_error);
    } 
    &[required]:not(:placeholder-shown):not(:focus):invalid + label:after,
    &[required][data-interacted]:invalid + label:after {
    	font-size: clamp(14px,.778rem,.778rem);
    	font-weight: normal;
    	letter-spacing: .009rem;
    	line-height: 1.571;
    	content: attr(data-error);
    }*/
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=url]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local]:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) select:focus,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea:focus {
    border-color: var(--color_red);
    outline: none;
    -moz-outline: none;
    -webkit-outline: none;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=text].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=email].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=tel].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=url].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=password].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=number].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=date].error,
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=datetime-local].error,
  :where(#lucy-content, .lucy-content, #lucy-page) select.error,
  :where(#lucy-content, .lucy-content, #lucy-page) textarea.error {
    border-color: var(--color_error);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) select {
    padding-right: 2.35rem;
    background-image: url(../images/icons/dropdown-arrow.svg);
    background-repeat: no-repeat;
    background-position: calc(100% - 0.75rem) center;
    background-size: 0.75rem auto;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) select[required][data-interacted]:invalid {
    color: var(--color_error);
    border-color: currentcolor;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) select[required][data-interacted]:invalid + label {
    color: var(--color_error);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) select[required][data-interacted]:invalid + label:after {
    letter-spacing: 0;
    content: attr(data-error);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) fieldset {
    border: none;
    outline: none;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=checkbox] {
    position: relative;
    flex: 0 0 auto;
    width: 0.875rem;
    min-width: 0.875rem;
    height: 0.875rem;
    min-height: 0.875rem;
    border: 1px var(--color_red) solid;
    border-radius: 2px;
    background-color: #FFF;
    transform: translateY(0.125rem);
    appearance: none;
    -webkit-appearance: none;
  }
  @media (pointer: fine) {
    :where(#lucy-content, .lucy-content, #lucy-page) input[type=checkbox]:hover {
      background-color: color(from var(--color_red) srgb r g b/0.2);
    }
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=checkbox]:active:before, :where(#lucy-content, .lucy-content, #lucy-page) input[type=checkbox]:checked:before {
    display: block;
    position: absolute;
    top: calc(50% - 0.25rem);
    left: calc(50% - 0.3125rem);
    width: 0.625rem;
    height: 0.625rem;
    mask: url(/images/icons/check.svg) no-repeat;
    background-color: var(--color_red);
    content: "";
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=radio] {
    position: relative;
    flex: 0 0 auto;
    width: 0.875rem;
    min-width: 0.875rem;
    height: 0.875rem;
    min-height: 0.875rem;
    border: 1px var(--color_red) solid;
    border-radius: 50%;
    background-color: transparent;
    transform: translateY(0.125rem);
    appearance: none;
    -webkit-appearance: none;
  }
  @media (pointer: fine) {
    :where(#lucy-content, .lucy-content, #lucy-page) input[type=radio]:hover {
      background-color: color(from var(--color_red) srgb r g b/0.2);
    }
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input[type=radio]:active:before, :where(#lucy-content, .lucy-content, #lucy-page) input[type=radio]:checked:before {
    display: block;
    position: absolute;
    top: calc(50% - 0.28125rem);
    left: calc(50% - 0.28125rem);
    width: 0.5625rem;
    height: 0.5625rem;
    border-radius: 50%;
    background-color: var(--color_red);
    content: "";
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input::placeholder, :where(#lucy-content, .lucy-content, #lucy-page) textarea::placeholder {
    color: var(--color_text);
  }
  :where(#lucy-content, .lucy-content, #lucy-page) input:focus::placeholder, :where(#lucy-content, .lucy-content, #lucy-page) textarea:focus::placeholder {
    opacity: 0;
  }
  :where(#lucy-content, .lucy-content, #lucy-page) label {
    position: relative;
    z-index: 2;
    display: block;
    margin-bottom: 0;
    font-family: "Hanken Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: var(--font_size_label);
    font-weight: 700;
    color: var(--color_text);
    line-height: 1.25;
    pointer-events: none;
  }
  @container lucy-form (max-width: 500px) {
    form.grid .field-wrap, form.grid .field-wrap.half {
      grid-column: auto/span 6 !important;
    }
    form.grid .field-wrap.third {
      grid-column: auto/span 6 !important;
    }
    form.grid .field-wrap.textarea, form.grid .field-wrap.check, form.grid .field-wrap.full, form.grid > *:not(.field-wrap) {
      grid-column: auto/span 6 !important;
    }
  }
}
/* --- Form Layout Elements --- */
.field-wrap {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  gap: 0.5rem;
}
.field-wrap > * {
  margin-bottom: 0;
}
.field-wrap span.error {
  display: none;
}
.field-wrap [disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}
.field-wrap [disabled] + label {
  opacity: 0.5;
  pointer-events: none;
}

.field-wrap.separator, .field-wrap.divider {
  grid-column: auto/span 6 !important;
  margin: var(--grid_gutter) 0;
  border-top: 2px solid var(--border_color);
}

.field-wrap.select select {
  position: relative;
  z-index: 1;
}

.field-wrap.date input[type=date]::-webkit-calendar-picker-indicator, .field-wrap.date input[type=datetime-local]::-webkit-calendar-picker-indicator {
  filter: var(--filter_primary);
}

.field-wrap.upload label {
  position: relative;
  top: unset;
  left: unset;
}

.field-wrap.check, .field-wrap.radio {
  display: flex;
  gap: 0.5rem;
}
.field-wrap.check fieldset legend, .field-wrap.radio fieldset legend {
  font-family: var(--font_secondary);
  font-size: var(--font_size_label);
  font-weight: 700;
  color: var(--color_text);
  line-height: 1;
  letter-spacing: 0.012rem;
  text-transform: uppercase;
  pointer-events: none;
}
.field-wrap.check fieldset .option, .field-wrap.radio fieldset .option {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.field-wrap.check fieldset .option label, .field-wrap.radio fieldset .option label {
  position: relative;
  top: unset;
  left: unset;
  font-size: var(--base_font_size);
  font-weight: 400;
  text-transform: none;
  color: var(--color_text);
}

.field-wrap.search {
  position: relative;
}
.field-wrap.search #page-search-clear {
  position: absolute;
  top: 50%;
  right: calc(var(--spacer_xxs) + 130px + 1rem);
  line-height: 0;
  transform: translate(0, -50%);
  transition: scale 0.3s ease;
}
.field-wrap.search #page-search-clear svg {
  width: 1rem;
}
@media (pointer: fine) {
  .field-wrap.search #page-search-clear:hover, .field-wrap.search #page-search-clear:focus-visible {
    scale: 1.1;
  }
}

.field-wrap label {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.field-wrap label.error {
  color: var(--color_error);
}

/* --- Miscellaneous --- */
.flex-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacer_s);
  margin-bottom: var(--spacer_xs);
}
.flex-top > * {
  margin: 0;
}

/* --- Video Wrapper --- */
@layer lucy-utilities {
  .video-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
  }
  .video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
/* --- Callouts Plugin --- */
@layer lucy-utilities {
  .lucy-callout:any-link {
    display: block;
    position: relative;
    margin-bottom: var(--content_space);
    border-radius: var(--border_radius);
    background-color: var(--color_red_dark);
    color: #FFF;
    text-decoration: none !important;
    container-type: inline-size;
    container-name: lucy-callout;
    overflow: hidden;
    background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
    background-size: 100% 1px, 0 1px;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.3s linear;
    text-decoration: none;
  }
  @media (pointer: fine) {
    .lucy-callout:any-link:hover, .lucy-callout:any-link:focus-visible {
      background-size: 0 1px, 100% 1px;
    }
  }
  .lucy-callout:any-link::before {
    display: block;
    position: absolute;
    top: -0.875rem;
    right: 0.9325rem;
    width: 11.50006rem;
    height: 13.2685rem;
    background: center/cover no-repeat url("../images/icons/callout-icon.svg");
    opacity: 0.08;
    transform: scale(1);
    transform-origin: center 37.5%;
    transition: transform 0.3s ease;
    z-index: 1;
    content: "";
  }
  .lucy-callout:any-link .callout-wrapper {
    display: flex;
    align-items: center;
    padding: 2.5rem;
    gap: 5rem;
    z-index: 2;
  }
  .lucy-callout:any-link .callout-wrapper .callout-content .title {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.15;
    margin-bottom: 1.5rem;
  }
  .lucy-callout:any-link .callout-wrapper .callout-content p:not(.title) {
    margin: 0;
    font-size: 1.125rem;
    line-height: 1.35;
  }
  .lucy-callout:any-link .callout-wrapper .button {
    display: block;
    margin: 0;
    z-index: 2;
  }
  .lucy-callout:any-link.sidebar {
    margin: 0;
    background-color: var(--color_navy_dark);
  }
  .lucy-callout:any-link.sidebar::before {
    top: -1.5rem;
    right: -2.475rem;
    width: 21.23288rem;
    height: 26.92906rem;
    opacity: 0.15;
  }
  .lucy-callout:any-link.sidebar .callout-wrapper {
    position: relative;
    align-items: start;
    flex-direction: column;
    gap: var(--spacer_s);
    padding: var(--spacer_s) var(--spacer_s) 0;
    overflow: hidden;
    color: #000;
    background-color: #FFF;
    border-radius: 0.375rem;
    margin: 1.5rem;
  }
  .lucy-callout:any-link.sidebar .callout-wrapper .callout-content {
    display: flex;
    gap: var(--spacer_s);
    flex-direction: column;
    max-width: 100%;
    margin: 0;
  }
  .lucy-callout:any-link.sidebar .callout-wrapper .callout-content > * {
    margin: 0;
  }
  .lucy-callout:any-link.sidebar .callout-wrapper .callout-content button {
    width: fit-content;
  }
  .lucy-callout:any-link.sidebar .callout-wrapper .callout-content .callout-image {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    left: calc(-1 * var(--spacer_s));
    width: 100cqw;
    height: min(12.25rem, 196px);
    overflow: hidden;
  }
  .lucy-callout:any-link.sidebar .callout-wrapper .callout-content .callout-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: scale(1);
    transition: transform 0.3s ease;
  }
  .lucy-callout:any-link.menu {
    justify-self: end;
    width: min(360px, 22.5rem);
    max-height: 100%;
    background-color: #FFF;
    z-index: 1;
  }
  .lucy-callout:any-link.menu::before {
    display: none;
  }
  .lucy-callout:any-link.menu .callout-wrapper {
    position: relative;
    align-items: start;
    flex-direction: column;
    gap: 0;
    padding: 0;
    overflow: hidden;
  }
  .lucy-callout:any-link.menu .callout-wrapper .callout-content {
    width: 100%;
    padding: var(--spacer_s);
    color: #000;
  }
  .lucy-callout:any-link.menu .callout-wrapper .callout-content > * {
    margin: 0;
  }
  .lucy-callout:any-link.menu .callout-wrapper .callout-content .title {
    margin-bottom: var(--spacer_s);
  }
  .lucy-callout:any-link.menu .callout-wrapper .callout-content .title span {
    background-image: linear-gradient(transparent, transparent), linear-gradient(var(--color_red), var(--color_red));
    background-size: 100% 1px, 0 1px;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.3s linear;
    text-decoration: none;
  }
  @media (pointer: fine) {
    .lucy-callout:any-link.menu .callout-wrapper .callout-content .title span:hover, .lucy-callout:any-link.menu .callout-wrapper .callout-content .title span:focus-visible {
      background-size: 0 1px, 100% 1px;
    }
  }
  .lucy-callout:any-link.menu .callout-wrapper .callout-content .button {
    margin-left: auto;
    width: 3rem;
    aspect-ratio: 1;
  }
  .lucy-callout:any-link.menu .callout-wrapper .callout-image {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100cqw;
    height: min(13.375rem, 214px);
    overflow: hidden;
  }
  .lucy-callout:any-link.menu .callout-wrapper .callout-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: scale(1);
    transition: transform 0.3s ease;
  }
  @media (pointer: fine) {
    .lucy-callout:any-link:hover:before, .lucy-callout:any-link:focus-visible:before {
      transform: scale(1.1);
    }
    .lucy-callout:any-link:hover .callout-wrapper .button, .lucy-callout:any-link:focus-visible .callout-wrapper .button {
      background-color: #FFF;
      color: var(--color_red_dark);
    }
    .lucy-callout:any-link:hover.sidebar .callout-content button, .lucy-callout:any-link:focus-visible.sidebar .callout-content button {
      background-color: var(--color_red);
      color: #FFF;
    }
    .lucy-callout:any-link:hover.sidebar .callout-content button .icon svg g, .lucy-callout:any-link:hover.sidebar .callout-content button .icon svg path, .lucy-callout:any-link:focus-visible.sidebar .callout-content button .icon svg g, .lucy-callout:any-link:focus-visible.sidebar .callout-content button .icon svg path {
      fill: #FFF;
    }
    .lucy-callout:any-link:hover.sidebar .callout-content .callout-image img, .lucy-callout:any-link:focus-visible.sidebar .callout-content .callout-image img {
      transform: scale(1.1);
    }
    .lucy-callout:any-link:hover.menu .callout-image img, .lucy-callout:any-link:focus-visible.menu .callout-image img {
      transform: scale(1.1);
    }
    .lucy-callout:any-link:hover.menu .callout-content .title span, .lucy-callout:any-link:focus-visible.menu .callout-content .title span {
      background-size: 0 1px, 100% 1px;
    }
    .lucy-callout:any-link:hover.menu .callout-content .button, .lucy-callout:any-link:focus-visible.menu .callout-content .button {
      background-color: var(--color_red);
    }
    .lucy-callout:any-link:hover.menu .callout-content .button .icon svg g, .lucy-callout:any-link:hover.menu .callout-content .button .icon svg path, .lucy-callout:any-link:focus-visible.menu .callout-content .button .icon svg g, .lucy-callout:any-link:focus-visible.menu .callout-content .button .icon svg path {
      fill: #FFF;
    }
  }
  @container lucy-callout (min-width: 1000px) {}
  @container lucy-callout (max-width: 1000px) {}
  @container lucy-callout (max-width: 700px) {}
  @container lucy-callout (max-width: 300px) {}
}
/* --- Embed Code Plugin --- */
@layer lucy-utilities {
  .lucy-embed {
    margin-bottom: var(--content_space);
    max-width: 100%;
  }
  .lucy-embed iframe {
    max-width: 100%;
  }
  .lucy-embed p.message {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;
    padding: var(--spacer_m);
    background-color: var(--color_light);
    border-radius: var(--border_radius);
    text-align: center;
  }
}
/* --- Facts Plugin --- */
@layer lucy-utilities {
  .lucy-facts {
    margin-bottom: var(--content_space);
    container-type: inline-size;
    container-name: lucy-facts;
  }
  .lucy-facts .fact-grid {
    display: grid;
    column-gap: 1.5rem;
    grid-template-columns: repeat(3, 1fr);
  }
  .lucy-facts .fact-grid .fact {
    display: grid;
    row-gap: 0.62rem;
    transition: all 0.3s ease;
    background-color: var(--color_sky_blue);
    border-radius: var(--border_radius);
    padding: 1.5rem;
  }
  .lucy-facts .fact-grid .fact p {
    margin-bottom: 0;
  }
  .lucy-facts .fact-grid .fact .title {
    padding-left: 1.5rem;
    border-left: 1rem #FFF solid;
    color: var(--color_navy_dark);
    font-family: "Libre Baskerville", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 3rem;
    font-weight: 600;
  }
  .lucy-facts .fact-grid .fact .label {
    font-family: "Hanken Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 1.125rem;
    font-weight: 400;
  }
  .lucy-facts .fact-grid .fact.show {
    opacity: 1;
    transform: translate(0, 0);
  }
  @container lucy-callout (max-width: 300px) {}
  @container lucy-callout (max-width: 700px) {}
  @container lucy-callout (max-width: 1000px) {}
  @container lucy-callout (min-width: 1000px) {}
}
/* --- FAQs Plugin --- */
@layer lucy-utilities {
  .lucy-faqs {
    margin-bottom: var(--content_space);
    container-type: inline-size;
    container-name: lucy-faqs;
  }
  .faq {
    outline: none;
    highlight: none;
    margin: 0;
    padding: var(--spacer_s);
    border: 2px var(--border_color) solid;
    border-radius: var(--border_radius);
    transition: background-color 0.3s ease;
  }
  .faq:has(+ .faq) {
    margin-bottom: var(--spacer_s);
  }
  .faq summary::marker {
    display: none;
  }
  .faq summary::-webkit-details-marker {
    display: none;
  }
  .faq summary {
    list-style: none;
  }
  .faq summary > * {
    margin-bottom: 0;
  }
  .faq summary h2 {
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: var(--grid_gutter);
    color: #000;
  }
  @media (pointer: fine) {
    .faq summary:hover .expand, .faq summary:focus-visible .expand {
      background-color: var(--color_red);
    }
    .faq summary:hover .expand:before, .faq summary:hover .expand:after, .faq summary:focus-visible .expand:before, .faq summary:focus-visible .expand:after {
      background-color: #FFF;
    }
  }
  .faq .answer {
    padding-top: var(--spacer_xxs);
    padding-left: 4.5rem;
    font-size: 1.125rem;
  }
  .faq .answer .text {
    margin-top: var(--spacer_xs);
  }
  .faq .answer :last-child {
    margin-bottom: 0;
  }
  .faq:open {
    background-color: var(--color_border);
  }
  .faq:open .expand:after {
    height: 0;
  }
  @media (pointer: fine) {
    .faq:hover {
      background-color: var(--color_border);
    }
  }
  .faq:focus-within, .faq:focus-visible {
    background-color: var(--color_border);
  }
  @container lucy-faqs (min-width: 1000px) {}
  @container lucy-faqs (max-width: 1000px) {}
  @container lucy-faqs (max-width: 700px) {}
  @container lucy-faqs (max-width: 300px) {}
}
/* --- Gallery Plugin --- */
@layer lucy-utilities {
  .lucy-slideshow {
    margin-bottom: var(--content_space);
    container-type: inline-size;
    container-name: lucy-slideshow;
  }
  .lucy-slideshow .images {
    overflow: hidden;
    position: relative;
    aspect-ratio: 16/9;
  }
  .lucy-slideshow .images .slider {
    display: flex;
    align-items: center;
    height: 100%;
    transition: transform 0.3s ease;
  }
  .lucy-slideshow .images .slider img {
    display: block;
    position: relative;
    max-width: 100%;
    max-height: 100%;
    margin-bottom: 0 !important;
  }
  .lucy-slideshow .images .slider .image {
    margin-right: var(--grid_gutter);
    opacity: 0.5;
    transition: opacity 0.3s ease;
    border-radius: var(--border_radius);
  }
  .lucy-slideshow .images .slider .image.active {
    opacity: 1;
  }
  .lucy-slideshow .images .slider .video {
    align-self: normal;
    aspect-ratio: 16/9;
    height: 100%;
  }
  .lucy-slideshow .images .slider :last-child {
    margin-right: 0;
  }
  .lucy-slideshow nav {
    display: flex;
    gap: var(--spacer_s);
    width: 100%;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: var(--grid_gutter);
    user-select: none;
  }
  .lucy-slideshow nav p.caption {
    align-self: center;
    margin-bottom: 0;
  }
  .lucy-slideshow nav .controls {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 0.75rem;
  }
  .lucy-slideshow nav .controls button {
    margin: 0;
  }
  .lucy-slideshow nav .controls .previous {
    margin-left: auto;
  }
  .lucy-slideshow nav .controls .previous .icon {
    transform: rotate(0.5turn);
  }
  .lucy-slideshow nav .controls .count {
    display: none;
  }
  @container lucy-slideshow (max-width: 1000px) {}
  @container lucy-slideshow (min-width: 1000px) {}
}
body:has(#home) {
  --home_nav_height: 10.75rem;
}
body:has(#home) #main-nav {
  height: var(--home_nav_height);
}
body:has(#home):has(#main-nav.scrolled) #main-nav {
  height: var(--nav_height);
}

#home {
  position: relative;
  top: calc(-1 * var(--nav_height));
  transition: all 0.3s ease;
}
#home h2 {
  color: var(--color_navy_dark);
}
#home #home-header {
  position: relative;
  padding: calc(var(--nav_height) + 4rem) var(--site_gutter) var(--spacer_xxl);
  margin-bottom: -8rem;
  background-color: var(--color_navy_dark);
  mask-image: url(/images/hero_mask.svg);
  mask-repeat: no-repeat;
  transition: all 0.3s ease;
}
#home #home-header::before {
  position: absolute;
  top: var(--home_nav_height);
  left: var(--site_gutter);
  width: calc(100vw - 2 * var(--site_gutter));
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5019607843);
  content: "";
}
#home #home-header h1 {
  max-width: 57.8125rem;
  color: #FFF;
  text-wrap: balance;
}
#home #home-header .bg {
  display: flex;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  transition: all 0.3s ease;
}
#home #home-header .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
#home #home-header .bg::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(0, 0, 0, 0.2509803922);
  background-image: linear-gradient(-82deg, rgba(0, 0, 0, 0) 34.18%, rgba(0, 0, 0, 0.45) 83.85%);
  content: "";
  z-index: -1;
}
#home #home-callout {
  display: block;
  margin: 0 var(--site_gutter) var(--content_space);
  padding: var(--spacer_s);
  border-radius: var(--border_radius);
  background-color: var(--color_navy);
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #home #home-callout:hover, #home #home-callout:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
#home #home-callout {
  transform: scale(1);
  transition: transform 0.3s ease;
}
#home #home-callout .callout-inner {
  display: flex;
  justify-content: space-between;
  border-radius: var(--border_radius);
  background-color: rgba(255, 255, 255, 0.0784313725);
  padding: 4rem;
}
#home #home-callout .callout-inner > * > *:not(.button) {
  color: #FFF;
}
#home #home-callout .callout-inner .content {
  position: relative;
  width: 64%;
}
#home #home-callout .callout-inner .content .title {
  font-family: "Hanken Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 2.25rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.15;
}
#home #home-callout .callout-inner .content .desc {
  margin: 0;
  font-size: 1.375rem;
  line-height: 1.35;
}
#home #home-callout .callout-inner .vr {
  display: block;
  width: max(16px, 1rem);
  background-color: rgba(255, 255, 255, 0.1019607843);
}
#home #home-callout .callout-inner .button-container {
  display: flex;
  align-items: center;
}
@media (pointer: fine) {
  #home #home-callout:hover, #home #home-callout:focus-visible {
    transform: scale(1.025);
  }
  #home #home-callout:hover .button-container .button, #home #home-callout:focus-visible .button-container .button {
    background-color: #FFF;
    color: #000;
  }
  #home #home-callout:hover .button-container .button .icon g, #home #home-callout:hover .button-container .button .icon path, #home #home-callout:focus-visible .button-container .button .icon g, #home #home-callout:focus-visible .button-container .button .icon path {
    fill: #000;
  }
}
#home:not(:has(#home-callout)) #home-header {
  margin-bottom: var(--spacer_s);
}
#home .gallery-section {
  display: flex;
  align-items: center;
  gap: 4rem;
  margin-bottom: var(--content_space);
  padding: 0 var(--site_gutter);
}
#home .gallery-section:nth-of-type(2) {
  background-color: var(--color_gray_light);
  padding: var(--content_space) var(--site_gutter);
}
#home .gallery-section .images {
  display: grid;
  gap: var(--spacer_s);
  width: max(47.561%, 624px);
  aspect-ratio: 1.358;
  overflow: hidden;
}
#home .gallery-section .images .image {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--border_radius);
  overflow: hidden;
}
#home .gallery-section .images .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
#home .gallery-section .images:has(:nth-child(3)) {
  grid-template-columns: repeat(2, 1fr);
}
#home .gallery-section .images:has(:nth-child(3)) .image {
  aspect-ratio: 2.294;
}
#home .gallery-section .images:has(:nth-child(3)) .image:not(:last-child) {
  aspect-ratio: 1.923;
}
#home .gallery-section .images:has(:nth-child(3)) .image:last-child {
  grid-column: 1/3;
}
#home .gallery-section .content .desc {
  margin-bottom: 2.5rem;
}
#home #what-we-fund {
  position: relative;
  padding: 4rem var(--site_gutter) calc(4rem - var(--spacer_s));
  width: 100vw;
  background-color: var(--color_gray_light);
  overflow: hidden;
}
#home #what-we-fund::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 105.797vw;
  height: 100%;
  background: 51% 10%/138% no-repeat url("/images/icons/home-bg.svg");
  opacity: 1;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(108deg) brightness(104%) contrast(104%);
  z-index: 1;
  content: "";
}
#home #what-we-fund .what-header {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 2.5rem;
  z-index: 2;
}
#home #what-we-fund .what-header h2 {
  margin: 0;
}
#home #what-we-fund .what-header #what-controls {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
#home #what-we-fund .what-header #what-controls .previous .icon {
  transform: rotate(0.5turn);
}
#home #what-we-fund #what-rotator {
  --what_width: 28.6875rem;
  display: flex;
  gap: var(--spacer_s);
  position: relative;
  left: calc(-1 * var(--site_gutter));
  width: 100vw;
  height: 33.125rem;
  padding: 0 var(--site_gutter) var(--spacer_s);
  overflow: auto;
  scroll-snap-type: x mandatory;
  z-index: 2;
}
#home #what-we-fund #what-rotator .what-link {
  display: flex;
  flex-direction: column;
  justify-content: end;
  position: relative;
  aspect-ratio: 0.866;
  min-width: var(--what_width);
  border-radius: var(--border_radius);
  overflow: hidden;
  text-decoration: none !important;
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #home #what-we-fund #what-rotator .what-link:hover, #home #what-we-fund #what-rotator .what-link:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
#home #what-we-fund #what-rotator .what-link {
  background-size: 200% 200% !important;
  background-repeat: no-repeat;
  background-position: center 28%;
  background-image: linear-gradient(0, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 74%);
  scroll-snap-align: end;
  transition: all 0.3s ease;
}
#home #what-we-fund #what-rotator .what-link:first-child {
  scroll-padding: var(--site_gutter);
}
#home #what-we-fund #what-rotator .what-link:last-child {
  scroll-snap-align: start;
}
#home #what-we-fund #what-rotator .what-link .content {
  padding: var(--spacer_xs) var(--spacer_xs) 0;
  transition: all 0 0.3s ease;
}
#home #what-we-fund #what-rotator .what-link .content > * {
  color: #FFF;
}
#home #what-we-fund #what-rotator .what-link .content .content-hover {
  display: flex;
  flex-direction: column;
  align-items: start;
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s ease;
}
#home #what-we-fund #what-rotator .what-link .content .content-hover > * {
  color: #FFF;
}
#home #what-we-fund #what-rotator .what-link .content .content-hover .body-large {
  margin-bottom: var(--spacer_s);
  padding-bottom: var(--spacer_s);
  border-bottom: 1px rgba(255, 255, 255, 0.6274509804) solid;
}
#home #what-we-fund #what-rotator .what-link .content .content-hover .button {
  background-color: var(--color_red);
}
#home #what-we-fund #what-rotator .what-link .content .content-hover .button .icon svg g, #home #what-we-fund #what-rotator .what-link .content .content-hover .button .icon svg path {
  fill: #FFF;
}
#home #what-we-fund #what-rotator .what-link .content .content-hover {
  border-radius: 0.75rem;
}
#home #what-we-fund #what-rotator .what-link .bg {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#home #what-we-fund #what-rotator .what-link .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (pointer: fine) {
  #home #what-we-fund #what-rotator .what-link:hover, #home #what-we-fund #what-rotator .what-link:focus-visible {
    background-position: center 50%;
  }
  #home #what-we-fund #what-rotator .what-link:hover .content, #home #what-we-fund #what-rotator .what-link:focus-visible .content {
    padding: var(--spacer_xs);
    transition: all 0.3s 0.15s ease;
  }
  #home #what-we-fund #what-rotator .what-link:hover .content-hover, #home #what-we-fund #what-rotator .what-link:focus-visible .content-hover {
    max-height: fit-content;
  }
}
#home #home-funds {
  position: relative;
  padding: 4rem var(--site_gutter) calc(4rem - var(--spacer_s));
  width: 100vw;
  overflow: hidden;
}
#home #home-funds .fund-header {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 2.5rem;
  z-index: 2;
}
#home #home-funds .fund-header h2 {
  margin: 0;
}
#home #home-funds .fund-header #fund-controls {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
#home #home-funds .fund-header #fund-controls .previous .icon {
  transform: rotate(0.5turn);
}
#home #home-funds #fund-rotator {
  --fund_width: 21.125rem;
  display: flex;
  gap: var(--spacer_s);
  position: relative;
  left: calc(-1 * var(--site_gutter));
  width: 100vw;
  height: 24.75rem;
  padding: 0 var(--site_gutter) var(--spacer_s);
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  z-index: 2;
}
#home #home-funds #fund-rotator .fund-link {
  display: flex;
  flex-direction: column;
  gap: var(--spacer_s);
  position: relative;
  width: var(--fund_width);
  min-width: var(--fund_width);
  text-decoration: none !important;
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #home #home-funds #fund-rotator .fund-link:hover, #home #home-funds #fund-rotator .fund-link:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
#home #home-funds #fund-rotator .fund-link {
  scroll-snap-align: end;
  transition: all 0.3s ease;
  overflow: visible;
}
#home #home-funds #fund-rotator .fund-link:first-child {
  scroll-padding: var(--site_gutter);
}
#home #home-funds #fund-rotator .fund-link:last-child {
  scroll-snap-align: start;
}
#home #home-funds #fund-rotator .fund-link .image {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  min-height: 12.75rem;
  border-top-right-radius: var(--border_radius);
  border-top-left-radius: var(--border_radius);
  overflow: hidden;
}
#home #home-funds #fund-rotator .fund-link .image::before {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color_red);
  opacity: 0.65;
  mask-image: url(/images/icons/diamond.svg), linear-gradient(#000 0 0);
  mask-composite: exclude;
  mask-repeat: no-repeat;
  mask-size: 200%, 100%;
  mask-position: center;
  content: "";
  transition: all 0.3s ease-in-out;
}
#home #home-funds #fund-rotator .fund-link .content > * {
  color: #000;
}
#home #home-funds #fund-rotator .fund-link .content .body-large {
  margin: 0;
}
@media (pointer: fine) {
  #home #home-funds #fund-rotator .fund-link:hover .image::before, #home #home-funds #fund-rotator .fund-link:focus-visible .image::before {
    mask-size: 8.375rem, 100%;
  }
}
#home #home-facts {
  position: relative;
  padding: 4rem var(--site_gutter) 8rem;
  margin-bottom: var(--content_space);
  background-image: url(/images/home-fact-bg.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  mask-image: url(/images/hero_mask.svg);
  mask-repeat: no-repeat;
  overflow: hidden;
}
#home #home-facts::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.35);
  z-index: -1;
  content: "";
}
#home #home-facts #fact-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
  padding: 4rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(8px);
}
#home #home-facts #fact-inner .image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13rem;
  min-width: 13rem;
  height: 13rem;
  min-height: 13rem;
  border-radius: 50%;
  overflow: hidden;
}
#home #home-facts #fact-inner .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#home #home-facts #fact-inner .content {
  width: calc(100% - 17rem);
  padding-left: 3rem;
  border-left: 1rem var(--color_red) solid;
  overflow: hidden;
}
#home #home-facts #fact-inner .content .grid {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: var(--site_gutter);
  position: relative;
  left: 0;
  width: 100%;
  transition-property: left;
  transition-delay: 0.5s;
  overflow: hidden;
}
#home #home-facts #fact-inner .content .grid:has(:nth-child(2)) {
  grid-template-columns: repeat(2, 1fr);
  width: calc(100% * 2 + var(--site_gutter) * (2 - 1));
}
#home #home-facts #fact-inner .content .grid:has(:nth-child(3)) {
  grid-template-columns: repeat(3, 1fr);
  width: calc(100% * 3 + var(--site_gutter) * (3 - 1));
}
#home #home-facts #fact-inner .content .grid:has(:nth-child(4)) {
  grid-template-columns: repeat(4, 1fr);
  width: calc(100% * 4 + var(--site_gutter) * (4 - 1));
}
#home #home-facts #fact-inner .content .grid .content-fact {
  color: #FFF;
  opacity: 1;
  transition: opacity 0.5s ease;
}
#home #home-facts #fact-inner .content .grid .content-fact > *, #home #home-facts #fact-inner .content .grid .content-fact > * span {
  position: relative;
}
#home #home-facts #fact-inner .content .grid .content-fact .title {
  margin-bottom: calc(var(--spacer_s) / 2);
  font-size: 4.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.1;
  color: #FFF;
}
#home #home-facts #fact-inner .content .grid .content-fact .desc {
  font-size: 1.375rem;
  line-height: 1.35;
  margin-bottom: var(--spacer_s);
}
#home #home-facts #fact-inner .content .grid .content-fact .desc span, #home #home-facts #fact-inner .content .grid .content-fact .title span {
  display: block;
  top: 0;
  left: 0;
  opacity: 1;
  width: 100%;
}
#home #home-facts #fact-inner .content .grid .content-fact .desc span:nth-child(2), #home #home-facts #fact-inner .content .grid .content-fact .title span:nth-child(2) {
  position: absolute;
  top: 0;
  left: var(--spacer_m);
  width: 100%;
  opacity: 0;
}
#home #home-facts #fact-inner .content[data-display="0"] .grid {
  left: calc(-1 * (100% * 0 + var(--site_gutter) * (0)));
}
#home #home-facts #fact-inner .content[data-display="1"] .grid {
  left: calc(-1 * (100% * 1 + var(--site_gutter) * (1)));
}
#home #home-facts #fact-inner .content[data-display="2"] .grid {
  left: calc(-1 * (100% * 2 + var(--site_gutter) * (2)));
}
#home #home-facts #fact-inner .content[data-display="3"] .grid {
  left: calc(-1 * (100% * 3 + var(--site_gutter) * (3)));
}
#home #home-facts #fact-inner .content .button {
  margin: 0;
}
#home #home-facts #fact-inner .content.replacing .grid .content-fact {
  opacity: 0;
}
#home #home-testimonials {
  position: relative;
  margin: 0 var(--site_gutter) var(--content_space);
  padding: var(--spacer_s);
  border-radius: 0.75rem;
  background-color: var(--color_navy_dark);
}
#home #home-testimonials #testimonials-inner {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  position: relative;
  background: #FFF;
  padding: 2.5rem;
  border-radius: 0.375rem;
  overflow: hidden;
}
#home #home-testimonials #testimonials-inner::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 105.797vw;
  height: 100%;
  background: 171% 11%/105% no-repeat url("/images/icons/home-bg.svg");
  opacity: 1;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(4434%) hue-rotate(154deg) brightness(116%) contrast(89%);
  z-index: 1;
  content: "";
}
#home #home-testimonials #testimonials-inner .content {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
#home #home-testimonials #testimonials-inner .content .quote-grid {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: var(--site_gutter);
  position: relative;
  left: 0;
  width: 100%;
  transition-property: left;
  transition-delay: 0.5s;
}
#home #home-testimonials #testimonials-inner .content .quote-grid:has(:nth-child(2)) {
  grid-template-columns: repeat(2, 1fr);
  width: calc(100% * 2 + var(--site_gutter) * (2 - 1));
}
#home #home-testimonials #testimonials-inner .content .quote-grid:has(:nth-child(3)) {
  grid-template-columns: repeat(3, 1fr);
  width: calc(100% * 3 + var(--site_gutter) * (3 - 1));
}
#home #home-testimonials #testimonials-inner .content .quote-grid:has(:nth-child(4)) {
  grid-template-columns: repeat(4, 1fr);
  width: calc(100% * 4 + var(--site_gutter) * (4 - 1));
}
#home #home-testimonials #testimonials-inner .content .quote-grid .quote {
  position: relative;
  font-family: "Libre Baskerville", serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: var(--color_navy_dark);
  font-size: 2.25rem;
  font-style: italic;
  font-weight: 600;
  line-height: 1.15;
  opacity: 1;
  width: 100%;
  transition: opacity 0.5s ease;
}
#home #home-testimonials #testimonials-inner .content .quote-grid .quote span {
  display: block;
  top: 0;
  left: 0;
  opacity: 1;
  width: 100%;
  transition: all 0.5s ease;
}
#home #home-testimonials #testimonials-inner .content .quote-grid .quote span:nth-child(2) {
  position: absolute;
  top: 0;
  left: var(--spacer_m);
  width: 100%;
  opacity: 0;
}
#home #home-testimonials #testimonials-inner .content.replacing .quote-grid .quote {
  opacity: 0;
}
#home #home-testimonials #testimonials-inner .content .details-grid {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: var(--site_gutter);
  position: relative;
  left: 0;
  width: 100%;
  transition-property: left;
  transition-delay: 0.5s;
}
#home #home-testimonials #testimonials-inner .content .details-grid:has(:nth-child(2)) {
  grid-template-columns: repeat(2, 1fr);
  width: calc(100% * 2 + var(--site_gutter) * (2 - 1));
}
#home #home-testimonials #testimonials-inner .content .details-grid:has(:nth-child(3)) {
  grid-template-columns: repeat(3, 1fr);
  width: calc(100% * 3 + var(--site_gutter) * (3 - 1));
}
#home #home-testimonials #testimonials-inner .content .details-grid:has(:nth-child(4)) {
  grid-template-columns: repeat(4, 1fr);
  width: calc(100% * 4 + var(--site_gutter) * (4 - 1));
}
#home #home-testimonials #testimonials-inner .content .details-grid .details {
  display: flex;
  align-items: center;
  gap: var(--spacer_s);
  position: relative;
  width: 100%;
}
#home #home-testimonials #testimonials-inner .content .details-grid .details .author p {
  position: relative;
}
#home #home-testimonials #testimonials-inner .content .details-grid .details .author p span {
  display: block;
  top: 0;
  left: 0;
  opacity: 1;
  width: 100%;
  transition: all 0.5s ease;
}
#home #home-testimonials #testimonials-inner .content .details-grid .details .author p span:nth-child(2) {
  position: absolute;
  top: 0;
  left: var(--spacer_m);
  width: 100%;
  opacity: 0;
}
#home #home-testimonials #testimonials-inner .content .details-grid .details .image {
  position: relative;
}
#home #home-testimonials #testimonials-inner .content .details-grid .details .image img {
  width: 5.25rem;
  min-width: 5.25rem;
  height: 5.25rem;
  min-height: 5.25rem;
  border-radius: 50%;
  aspect-ratio: 1;
  overflow: hidden;
  transform: scale(1);
  transition: all 0.5s ease;
}
#home #home-testimonials #testimonials-inner .content .details-grid .details .image img:nth-child(2) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
}
#home #home-testimonials #testimonials-inner .content .details-grid .details .image img[src$=".svg"] {
  border: 1px var(--color_gray_dark) solid;
  display: flex;
  align-items: center;
  justify-content: center;
  object-fit: contain;
  padding: 1.25rem;
  overflow: visible;
  mask-image: linear-gradient(0deg, #F00 0%, #F00 100%);
}
#home #home-testimonials #testimonials-inner .content .details-grid .details .author p:not(.sub-header) {
  margin: 0;
}
#home #home-testimonials #testimonials-inner .content.replacing .quote span, #home #home-testimonials #testimonials-inner .content.replacing .details .author p span {
  left: var(--spacer_m);
  opacity: 0;
}
#home #home-testimonials #testimonials-inner .content.replacing .quote span:nth-child(2), #home #home-testimonials #testimonials-inner .content.replacing .details .author p span:nth-child(2) {
  left: 0;
  opacity: 1;
}
#home #home-testimonials #testimonials-inner .content.replacing .details .image img {
  opacity: 0;
}
#home #home-testimonials #testimonials-inner .content.replacing .details .image img:nth-child(2) {
  opacity: 1;
}
#home #home-testimonials #testimonials-inner .content[data-display="0"] .quote-grid, #home #home-testimonials #testimonials-inner .content[data-display="0"] .details-grid {
  left: calc(-1 * (100% * 0 + var(--site_gutter) * (0)));
}
#home #home-testimonials #testimonials-inner .content[data-display="1"] .quote-grid, #home #home-testimonials #testimonials-inner .content[data-display="1"] .details-grid {
  left: calc(-1 * (100% * 1 + var(--site_gutter) * (1)));
}
#home #home-testimonials #testimonials-inner .content[data-display="2"] .quote-grid, #home #home-testimonials #testimonials-inner .content[data-display="2"] .details-grid {
  left: calc(-1 * (100% * 2 + var(--site_gutter) * (2)));
}
#home #home-testimonials #testimonials-inner .content[data-display="3"] .quote-grid, #home #home-testimonials #testimonials-inner .content[data-display="3"] .details-grid {
  left: calc(-1 * (100% * 3 + var(--site_gutter) * (3)));
}
#home #home-testimonials #testimonials-inner .diamond-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22.0625rem;
  min-width: 22.0625rem;
  height: 22.0625rem;
  min-height: 22.0625rem;
  mask-image: url("/images/icons/diamond.svg");
  mask-repeat: no-repeat;
  mask-position: center center;
  z-index: 2;
}
#home #home-testimonials #testimonials-inner .diamond-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#home #home-giving {
  display: flex;
  flex-direction: column;
  gap: var(--content_space);
  padding: 0 var(--site_gutter);
  margin-bottom: calc(-1 * var(--content_space));
}
#home #home-giving #giving-header {
  display: grid;
  align-items: center;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacer_s);
  justify-content: space-between;
}
#home #home-giving #giving-header h2, #home #home-giving #giving-header p {
  margin: 0;
}
#home #home-giving #giving-links {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(2, 1fr);
}
#home #home-giving #giving-links .giving-link {
  display: flex;
  background-color: var(--color_sky_blue);
  color: #000;
  border-radius: var(--border_radius);
  overflow: hidden;
  transform: scale(1);
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #home #home-giving #giving-links .giving-link:hover, #home #home-giving #giving-links .giving-link:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
#home #home-giving #giving-links .giving-link {
  transition: all 0.3s ease;
}
#home #home-giving #giving-links .giving-link .image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: min(318px, 19.875rem);
  height: 18.0625rem;
  min-height: 100%;
}
#home #home-giving #giving-links .giving-link .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#home #home-giving #giving-links .giving-link .content {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: var(--spacer_s);
  position: relative;
  padding: var(--spacer_s);
}
#home #home-giving #giving-links .giving-link .content h3, #home #home-giving #giving-links .giving-link .content p, #home #home-giving #giving-links .giving-link .content .button {
  margin: 0;
  z-index: 2;
  transition: color 0.3s ease;
}
#home #home-giving #giving-links .giving-link .content h3 {
  background-image: linear-gradient(transparent, transparent), linear-gradient(#FFF, #FFF);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  #home #home-giving #giving-links .giving-link .content h3:hover, #home #home-giving #giving-links .giving-link .content h3:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
#home #home-giving #giving-links .giving-link .content .button {
  align-self: end;
}
#home #home-giving #giving-links .giving-link .content::before {
  display: block;
  position: absolute;
  top: 0;
  left: 79px;
  width: 21.797vw;
  height: 100%;
  background: center/cover no-repeat url("../images/icons/callout-icon.svg");
  opacity: 0;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(108deg) brightness(104%) contrast(104%);
  z-index: 1;
  transition: opacity 0.3s ease;
  content: "";
}
@media (pointer: fine) {
  #home #home-giving #giving-links .giving-link:hover, #home #home-giving #giving-links .giving-link:focus-visible {
    background-color: var(--color_red);
    transform: scale(1.01);
  }
  #home #home-giving #giving-links .giving-link:hover .content h3, #home #home-giving #giving-links .giving-link:hover .content p, #home #home-giving #giving-links .giving-link:focus-visible .content h3, #home #home-giving #giving-links .giving-link:focus-visible .content p {
    color: #FFF;
  }
  #home #home-giving #giving-links .giving-link:hover .content h3:is(h3), #home #home-giving #giving-links .giving-link:hover .content p:is(h3), #home #home-giving #giving-links .giving-link:focus-visible .content h3:is(h3), #home #home-giving #giving-links .giving-link:focus-visible .content p:is(h3) {
    background-size: 0 1px, 100% 1px;
  }
  #home #home-giving #giving-links .giving-link:hover .content .button, #home #home-giving #giving-links .giving-link:focus-visible .content .button {
    border: none;
    background-color: #FFF;
  }
  #home #home-giving #giving-links .giving-link:hover .content .button .icon svg g, #home #home-giving #giving-links .giving-link:hover .content .button .icon svg path, #home #home-giving #giving-links .giving-link:focus-visible .content .button .icon svg g, #home #home-giving #giving-links .giving-link:focus-visible .content .button .icon svg path {
    fill: #000;
  }
  #home #home-giving #giving-links .giving-link:hover .content::before, #home #home-giving #giving-links .giving-link:focus-visible .content::before {
    opacity: 0.15;
  }
}

/* --- Pages Plugin (TOC) --- */
@layer lucy-utilities {
  .lucy-pages-toc {
    margin-bottom: var(--content_space);
    container-type: inline-size;
    container-name: lucy-pages;
  }
  .lucy-pages-toc .page:any-link {
    display: flex;
    align-items: center;
    gap: 2.5rem;
    margin-bottom: 0;
    padding: 1.125rem;
    border-radius: var(--border_radius);
    border: 2px var(--border_color) solid;
    color: #000;
    text-decoration: none;
    background-color: transparent;
    background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
    background-size: 100% 1px, 0 1px;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.3s linear;
    text-decoration: none;
  }
  @media (pointer: fine) {
    .lucy-pages-toc .page:any-link:hover, .lucy-pages-toc .page:any-link:focus-visible {
      background-size: 0 1px, 100% 1px;
    }
  }
  .lucy-pages-toc .page:any-link {
    transition: background-color 0.3s ease;
  }
  .lucy-pages-toc .page:any-link:has(+ .page) {
    margin-bottom: 1.5rem;
  }
  .lucy-pages-toc .page:any-link .image {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border_radius);
    min-width: 14.625rem;
    height: 12.75rem;
    aspect-ratio: 1.147;
    overflow: hidden;
  }
  .lucy-pages-toc .page:any-link .image img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .lucy-pages-toc .page:any-link .content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  .lucy-pages-toc .page:any-link .content p {
    margin: 0;
  }
  .lucy-pages-toc .page:any-link .content .button {
    width: fit-content;
    margin: 0;
    padding: 0.62rem 1rem;
  }
  @media (pointer: fine) {
    .lucy-pages-toc .page:any-link:hover {
      background-color: var(--color_border);
    }
    .lucy-pages-toc .page:any-link:hover .content .button {
      color: #FFF;
      background-color: var(--color_red);
    }
  }
  .lucy-pages-toc .page:any-link:focus-visible, .lucy-pages-toc .page:any-link:focus-within {
    background-color: var(--border_color);
  }
  .lucy-pages-toc .page:any-link:focus-visible .content .button, .lucy-pages-toc .page:any-link:focus-within .content .button {
    color: #FFF;
    background-color: var(--color_red);
  }
  @container lucy-pages (max-width: 300px) {}
  @container lucy-pages (max-width: 700px) {}
  @container lucy-pages (max-width: 1000px) {}
  @container lucy-pages (min-width: 1000px) {}
}
/* --- Staff Plugin --- */
@layer lucy-utilities {
  .lucy-staff {
    margin-bottom: var(--content_space);
    container-type: inline-size;
    container-name: lucy-staff;
  }
  .lucy-staff .staff {
    display: flex;
    align-items: center;
    gap: 1.875rem;
    padding: var(--spacer_s);
    border: 2px var(--color_border) solid;
    border-radius: var(--border_radius);
    background-color: transparent;
    transition: background-color 0.3s ease;
  }
  .lucy-staff .staff:has(+ .staff) {
    margin-bottom: var(--spacer_s);
  }
  .lucy-staff .staff:last-of-type {
    margin-bottom: 0;
  }
  .lucy-staff .staff .staff-image {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border-radius: var(--border_radius);
    min-width: 9.5625rem;
    height: 9.5rem;
    aspect-ratio: 1;
    overflow: hidden;
  }
  .lucy-staff .staff .staff-image img {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .lucy-staff .staff .staff-image img:last-child {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
  .lucy-staff .staff .staff-image img[src$=svg] {
    transform: scale(1.1);
    transition: transform 0.3s ease;
  }
  .lucy-staff .staff .staff-image img[src$=svg] + img {
    opacity: 0 !important;
  }
  @media (pointer: fine) {
    .lucy-staff .staff .staff-image:hover img[src$=svg], .lucy-staff .staff .staff-image:focus-visible img[src$=svg] {
      transform: scale(1.2);
    }
    .lucy-staff .staff .staff-image:hover img:last-child, .lucy-staff .staff .staff-image:focus-visible img:last-child {
      opacity: 1;
    }
  }
  .lucy-staff .staff .container {
    display: flex;
    gap: 2.5rem;
    align-items: center;
    width: 100%;
  }
  .lucy-staff .staff .container p {
    margin-bottom: 0;
    line-height: 1.5;
  }
  .lucy-staff .staff .container .info {
    min-width: 36%;
  }
  .lucy-staff .staff .container .info p {
    margin-bottom: 0;
  }
  .lucy-staff .staff .container .info p:has(+ p) {
    margin-bottom: 0.75rem;
  }
  .lucy-staff .staff .container .contact p {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    line-height: 1.35;
  }
  .lucy-staff .staff .container .contact p:has(+ p) {
    margin-bottom: 0.75rem;
  }
  .lucy-staff .staff .container .contact p a:any-link {
    color: #000;
    background-image: linear-gradient(#000, #000), linear-gradient(transparent, transparent);
    background-size: 100% 1px, 0 1px;
    background-position: 100% 90%, 0 90%;
    background-repeat: no-repeat;
    transition: background-size 0.3s linear;
    text-decoration: none;
  }
  @media (pointer: fine) {
    .lucy-staff .staff .container .contact p a:any-link:hover, .lucy-staff .staff .container .contact p a:any-link:focus-visible {
      background-size: 0 1px, 100% 1px;
    }
  }
  .lucy-staff .staff .container .contact p .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 1.125rem;
    min-height: 1.125rem;
  }
  .lucy-staff .staff .container .contact p .icon svg {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 100%;
    min-height: 100%;
  }
  @media (pointer: fine) {
    .lucy-staff .staff:hover {
      background-color: var(--border_color);
    }
  }
  .lucy-staff .staff:focus-visible, .lucy-staff .staff:focus-within {
    background-color: var(--border_color);
  }
  @container lucy-staff (max-width: 700px) {
    .staff {
      position: relative;
      min-height: calc(clamp(90px, 5.625rem, 5rem) + 32px);
    }
    .staff .staff-image {
      position: absolute !important;
      top: 16px !important;
      right: 16px !important;
      min-width: clamp(90px, 5.625rem, 5rem) !important;
      height: clamp(90px, 5.625rem, 5rem) !important;
    }
    .staff .container {
      flex-direction: column;
      gap: 20px !important;
    }
    .staff .container .info .title {
      font-size: 14px;
    }
    .staff .container .contact {
      font-size: 16px;
    }
    .staff .container .contact a:any-link {
      font-weight: 400 !important;
    }
  }
  @container lucy-staff (max-width: 480px) {
    .staff {
      min-height: calc(120px + var(--spacer_xxs) * 2);
    }
    .staff .staff-image {
      width: 75px !important;
      min-width: 75px !important;
      height: 75px !important;
      min-height: unset !important;
    }
    .staff .container {
      width: 100% !important;
    }
    .staff .container .info {
      width: calc(100% - 95px) !important;
    }
  }
}
/* --- Staff Template --- */
body[data-template=_staff] #lucy-module-content-head {
  margin-bottom: calc(2 * var(--spacer_xs));
}
body[data-template=_staff] #staff-page {
  container-type: inline-size;
  container-name: lucy-staff-page;
}
body[data-template=_staff] #staff-page .staff-category-section {
  position: relative;
  margin-bottom: 3.056rem;
  padding-bottom: 3.333rem;
  border-bottom: 1.5px var(--color_brand_1) solid;
}
body[data-template=_staff] #staff-page .staff-category-section .category-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: calc(2 * var(--spacer_xs));
  width: 100%;
}
@media only screen and (max-width: 525px) {
  body[data-template=_staff] #staff-page .staff-category-section .category-header {
    flex-direction: column;
    align-items: start;
    gap: 20px;
  }
}
body[data-template=_staff] #staff-page .staff-category-section .category-header h2 {
  margin-bottom: 0;
}
body[data-template=_staff] #staff-page .staff-category-section .category-header #staff-filters {
  width: 23.282%;
  min-width: 268px;
}
@media only screen and (max-width: 525px) {
  body[data-template=_staff] #staff-page .staff-category-section .category-header #staff-filters {
    width: calc(100vw - 2 * var(--page_gutter));
  }
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid {
  display: grid;
  gap: 1.667rem;
  grid-template-columns: repeat(3, 1fr);
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
  max-height: clamp(440px, 27.5vw, 24.444rem);
  margin: 0;
  padding: var(--spacer_xxs) var(--spacer_xs);
  outline: 1px var(--color_light_grey) solid;
  outline-offset: -1px;
  border-radius: var(--border_radius);
  overflow: hidden;
  transition: all 0.3s ease;
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-image {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: calc(-1 * var(--spacer_xxs) - 1px);
  left: calc(-1 * var(--spacer_xs) - 1px);
  border-radius: 0;
  width: calc(100% + 2 * var(--spacer_xs) + 2px);
  min-height: 265px;
  aspect-ratio: 1.057;
  overflow: hidden;
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-image img {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-image img:last-child {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-image img[src$=svg] {
  transform: scale(1.1);
  transition: transform 0.3s ease;
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-image img[src$=svg] + img {
  opacity: 0 !important;
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-image img[src$=".svg"] {
  object-position: center center;
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-content .info {
  justify-self: start;
  margin-bottom: 0.889rem;
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-content .info .name {
  margin: 0;
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-content .contact a:any-link {
  display: flex;
  align-items: center;
  gap: calc(var(--spacer_xxs) / 2);
  justify-items: start;
  overflow: hidden;
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-content .contact a:any-link span:not(.icon) {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  background-image: linear-gradient(transparent, transparent), linear-gradient(var(--color_brand_1), var(--color_brand_1));
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-content .contact a:any-link span:not(.icon):hover, body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-content .contact a:any-link span:not(.icon):focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-content .contact a:any-link .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(16px, 1vw, 0.889rem);
  min-width: clamp(16px, 1vw, 0.889rem);
  height: clamp(16px, 1vw, 0.889rem);
  min-height: clamp(16px, 1vw, 0.889rem);
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-content .contact a:any-link .icon svg {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-content .contact a:any-link .icon svg g, body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff .staff-content .contact a:any-link .icon svg path {
  fill: var(--color_brand_1);
}
@media (pointer: fine) {
  body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff:hover .staff-image img[src$=svg], body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff:focus-visible .staff-image img[src$=svg] {
    transform: scale(1.2);
  }
  body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff:hover .staff-image img:last-child, body[data-template=_staff] #staff-page .staff-category-section .staff-grid .staff:focus-visible .staff-image img:last-child {
    opacity: 1;
  }
}
@container lucy-staff-page (min-width: 1200px) {
  body[data-template=_staff] .staff-category-section .staff-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@container lucy-staff-page (max-width: 780px) {
  body[data-template=_staff] .staff-category-section .staff-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@container lucy-staff-page (max-width: 625px) {
  body[data-template=_staff] .staff-category-section .staff-grid {
    grid-template-columns: 1fr !important;
  }
  body[data-template=_staff] .staff-category-section .staff-grid .staff {
    min-height: calc(120px + var(--spacer_xxs) * 2);
  }
  body[data-template=_staff] .staff-category-section .staff-grid .staff .staff-image {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    left: unset !important;
    width: 120px !important;
    min-width: 120px !important;
    height: 120px !important;
    min-height: unset !important;
    border-radius: var(--border_radius) !important;
    overflow: hidden;
  }
  body[data-template=_staff] .staff-category-section .staff-grid .staff .staff-content {
    width: calc(100% - 140px);
  }
}
@container lucy-staff-page (max-width: 480px) {
  body[data-template=_staff] .staff-category-section .staff-grid {
    grid-template-columns: 1fr !important;
  }
  body[data-template=_staff] .staff-category-section .staff-grid .staff {
    min-height: calc(120px + var(--spacer_xxs) * 2);
  }
  body[data-template=_staff] .staff-category-section .staff-grid .staff .staff-image {
    width: 75px !important;
    min-width: 75px !important;
    height: 75px !important;
  }
  body[data-template=_staff] .staff-category-section .staff-grid .staff .staff-content {
    width: 100% !important;
  }
  body[data-template=_staff] .staff-category-section .staff-grid .staff .staff-content .info {
    width: calc(100% - 95px) !important;
  }
}

.lucy-sponsors {
  container-type: inline-size;
  container-name: lucy-sponsors;
}
.lucy-sponsors .sponsor-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--spacer_s);
  align-items: start;
}
.lucy-sponsors .sponsor-grid .sponsor {
  display: flex;
  align-items: center;
  justify-content: center;
  max-height: 9.9375rem;
  padding: var(--spacer_s);
  background-color: #FFF;
  aspect-ratio: 1;
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
  background-size: 100% 1px, 0 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.3s linear;
  text-decoration: none;
}
@media (pointer: fine) {
  .lucy-sponsors .sponsor-grid .sponsor:hover, .lucy-sponsors .sponsor-grid .sponsor:focus-visible {
    background-size: 0 1px, 100% 1px;
  }
}
.lucy-sponsors .sponsor-grid .sponsor img {
  object-fit: contain;
  transform: scale(1);
  transition: transform 0.3s ease;
}
.lucy-sponsors .sponsor-grid .sponsor:nth-child(even) {
  background-color: var(--color_gray_light);
}
@media (pointer: fine) {
  .lucy-sponsors .sponsor-grid .sponsor:hover img, .lucy-sponsors .sponsor-grid .sponsor:focus-visible img {
    transform: scale(1.2);
  }
}

@container lucy-sponsors (max-width: 780px) {
  .grid-inner {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@container lucy-sponsors (max-width: 430px) {
  .grid-inner .sponsorship-card {
    padding: 16px !important;
  }
}
@layer lucy-utilities {
  .lucy-testimonial {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    padding: 1.5rem;
    margin-bottom: var(--content_space);
    border-radius: var(--border_radius);
    background: var(--color_gray_light);
    text-decoration: none;
    container-type: inline-size;
    container-name: lucy-testimonial;
  }
  .lucy-testimonial .testimonial-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 1.5rem;
    padding: 2.5rem;
    border-radius: calc(var(--border_radius) / 2);
    background: #FFF;
    text-align: center;
  }
  .lucy-testimonial .testimonial-inner * {
    margin-bottom: 1rem;
  }
  .lucy-testimonial .testimonial-inner *.sub-header, .lucy-testimonial .testimonial-inner #menu-modal *[data-menu] ul li:first-child a:any-link, #menu-modal *[data-menu] ul li:first-child .lucy-testimonial .testimonial-inner a:any-link {
    margin-bottom: 0;
  }
  .lucy-testimonial .testimonial-inner .img-div, .lucy-testimonial .testimonial-inner .icon {
    width: 3.375rem;
    min-width: 3.375rem;
    height: 3.375rem;
    min-height: 3.375rem;
    border: 1px var(--color_gray_dark) solid;
    border-radius: 50%;
    aspect-ratio: 1;
    overflow: hidden;
    transform: scale(1);
  }
  .lucy-testimonial .testimonial-inner .img-div:is(.icon), .lucy-testimonial .testimonial-inner .icon:is(.icon) {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .lucy-testimonial .testimonial-inner .img-div:is(.icon) svg, .lucy-testimonial .testimonial-inner .icon:is(.icon) svg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
  }
  .lucy-testimonial .testimonial-inner .img-div:is(.icon) svg g, .lucy-testimonial .testimonial-inner .img-div:is(.icon) svg path, .lucy-testimonial .testimonial-inner .icon:is(.icon) svg g, .lucy-testimonial .testimonial-inner .icon:is(.icon) svg path {
    fill: var(--color_gray_dark);
  }
}
@container lucy-testimonial (max-width: 750px) {
  .lucy-testimonial [class$=quote] {
    width: clamp(20px, 1.111rem, 1.111rem) !important;
  }
  .lucy-testimonial .display-s {
    font-size: clamp(20px, 1.111rem, 1.111rem) !important;
  }
  .lucy-testimonial .img-div {
    margin-bottom: var(--spacer_xs);
  }
}
:root {
  -moz-osx-font-smoothing: grayscale;
  --font_primary: "Libre Baskerville", serif;
  --font_secondary: "Hanken Grotesk", sans-serif;
  --base_font_size: clamp(16px, calc(10px + .25vw), 16px);
  --base_line_height: 1.15;
  --font_size_h1: 4rem;
  --font_size_h2: 3rem;
  --font_size_h3: 2.25rem;
  --font_size_h4: 1.75rem;
  --font_size_h5: 1.375rem;
  --font_size_h6: 1.125rem;
  --font_size_xxs: .875rem;
  --font_size_intro: 1.25rem;
  --font_size_blockquote: 1.75rem;
  --font_size_subheader: 1rem;
  --font_size_caption: 1rem;
  --font_size_label: 1.125rem;
  --grid_gutter: 1.5rem;
  --site_gutter: 4rem;
  --content_space: 4rem;
  --gutter_element_space: .75rem;
  --spacer_xxs: .625rem;
  --spacer_xs: 1rem;
  --spacer_s: 1.5rem;
  --spacer_m: 2.5rem;
  --spacer_l: 4rem;
  --spacer_xl: 6rem;
  --spacer_xxl: 10rem;
  --spacer_xxxl: 20rem;
  --color_red: #BE0000;
  --color_red_dark: #9F0000;
  --color_sky_blue: #E3F3FB;
  --color_navy: #003B6C;
  --color_navy_dark: #002D52;
  --color_gray_light: #F1F1F1;
  --color_gray: #ECECEC;
  --color_gray_dark: #3A3A3A;
  --color_success: #1A936F;
  --color_error: var(--color_red);
  --color_warning: #FFC857;
  --color_border: var(--color_gray_light);
  --color_text: #000;
  --border_color: var(--color_border);
  --border_radius: clamp(12px, .75rem, .75rem);
  --nav_height: 10.125rem;
  --search_height: 8.531rem;
  --menu_height: 32rem;
  --header_height: 21.6875rem;
  --alert_height: 2.9375rem;
  --input_height: 3.75rem;
  --overlay_color: #000;
  --overlay_opacity: .4;
  interpolate-size: allow-keywords;
}
:root ::details-content {
  transition: height 0.3s ease, content-visibility 0.3s ease allow-discrete;
  height: 0;
  overflow: clip;
}
:root [open]::details-content {
  height: auto;
}

html {
  font-family: "Hanken Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  font-size: var(--base_font_size);
  color: var(--color_text);
  line-height: var(--base_line_height);
}

body {
  margin: 0 auto !important;
  padding: 0 !important;
  border: none !important;
}
