/* Standard theme entry point.
   Compiles to css/standard.css. */
/* SCSS HEX */
/* Standard theme entry point.
   Compiles to css/standard.css. */
/* Standard theme entry point.
   Compiles to css/standard.css. */
.theme-emerald .intro {
  --intro-headline-color: #dd6e42;
  --intro-headline-opacity: 0.4;
  --intro-headline-opacity-lg: 0.4;
  --intro-headline-opacity-tablet: 0.4;
  --intro-headline-opacity-mobile: 0.4;
  --intro-headline-size: clamp(12rem, 22vw, 20rem);
  --intro-headline-justify: center;
  --intro-headline-align: center;
  --intro-headline-max-width-desktop: 100%;
  --intro-headline-max-width-tablet: 100%;
  --intro-headline-max-width-mobile: 100%;
  --intro-headline-translate-x: 0;
  --intro-headline-translate-y: -6vh;
  --intro-headline-line-height: 0.8;
  --intro-headline-letter-spacing: 0;
  --intro-headline-weight: 430;
}
@media (min-width: 992px) {
  .theme-emerald .intro {
    --intro-headline-rotate-lg: 0deg;
    --intro-headline-size-lg: clamp(12.5rem, 22vw, 21rem);
    --intro-headline-translate-x-lg: 0;
    --intro-headline-translate-y-lg: -6vh;
    --intro-headline-line-height-lg: 0.78;
    --intro-headline-letter-spacing-lg: 0;
    --intro-headline-weight-lg: 430;
  }
}
@media (max-width: 991.98px) {
  .theme-emerald .intro {
    --intro-headline-rotate-tablet: 0deg;
    --intro-headline-size-tablet: clamp(24rem, 18vw, 24rem);
    --intro-headline-translate-x-tablet: -7vw;
    --intro-headline-translate-y-tablet: -12vh;
    --intro-headline-line-height-tablet: 0.45;
    --intro-headline-letter-spacing-tablet: 0.08em;
    --intro-headline-weight-tablet: 400;
  }
}
@media (max-width: 767.98px) {
  .theme-emerald .intro {
    --intro-headline-rotate-mobile: 0deg;
    --intro-headline-size-mobile: clamp(16rem, 38vw, 16rem);
    --intro-headline-translate-x-mobile: -2vw;
    --intro-headline-translate-y-mobile: -1vh;
    --intro-headline-line-height-mobile: 0.2;
    --intro-headline-letter-spacing-mobile: -0.07em;
    --intro-headline-weight-mobile: 401;
    --intro-headline-text-decoration: 3px solid underline;
  }
}

.theme-aero .intro {
  --intro-headline-color: #42bfdd;
  --intro-headline-opacity: 0.28;
  --intro-headline-opacity-lg: 0.28;
  --intro-headline-opacity-tablet: 0.28;
  --intro-headline-opacity-mobile: 0.28;
  --intro-headline-size: clamp(9rem, 18vw, 17rem);
  --intro-headline-justify: flex-start;
  --intro-headline-align: flex-start;
  --intro-headline-margin-top: -4vh;
  --intro-headline-max-width-desktop: 100%;
  --intro-headline-max-width-tablet: 100%;
  --intro-headline-max-width-mobile: 100%;
  --intro-headline-translate-x: -4vw;
  --intro-headline-translate-y: -4vh;
  --intro-headline-line-height: 0.82;
  --intro-headline-letter-spacing: 0.02em;
  --intro-headline-weight: 430;
}
@media (min-width: 992px) {
  .theme-aero .intro {
    --intro-headline-opacity-lg: 0.2;
    --intro-headline-rotate-lg: 0deg;
    --intro-headline-size-lg: clamp(18rem, 20vw, 21rem);
    --intro-headline-margin-top-lg: 14vh;
    --intro-headline-translate-x-lg: -3vw;
    --intro-headline-translate-y-lg: -10vh;
    --intro-headline-line-height-lg: 0.6;
    --intro-headline-letter-spacing-lg: -0.08em;
    --intro-headline-weight-lg: 400;
  }
}
@media (max-width: 991.98px) {
  .theme-aero .intro {
    --intro-headline-opacity-tablet: 0.2;
    --intro-headline-rotate-tablet: 0deg;
    --intro-headline-size-tablet: clamp(13rem, 17vw, 35rem);
    --intro-headline-margin-top-tablet: 14vh;
    --intro-headline-translate-x-tablet: -3vw;
    --intro-headline-translate-y-tablet: -5vh;
    --intro-headline-line-height-tablet: 0.1;
    --intro-headline-letter-spacing-tablet: -0.12em;
    --intro-headline-weight-tablet: 400;
  }
}
@media (max-width: 767.98px) {
  .theme-aero .intro {
    --intro-headline-opacity-mobile: 0.2;
    --intro-headline-rotate-mobile: -2deg;
    --intro-headline-size-mobile: clamp(14rem, 34vw, 14rem);
    --intro-headline-margin-top-mobile: -1.5vh;
    --intro-headline-translate-x-mobile: -2vw;
    --intro-headline-translate-y-mobile: -2vh;
    --intro-headline-line-height-mobile: 0.6;
    --intro-headline-letter-spacing-mobile: -0.11em;
    --intro-headline-weight-mobile: 400;
  }
}

.theme-pistachio .intro {
  --intro-headline-opacity: 0.15;
  --intro-headline-opacity-lg: 0.15;
  --intro-headline-opacity-tablet: 0.15;
  --intro-headline-opacity-mobile: 0.15;
}
@media (min-width: 992px) {
  .theme-pistachio .intro {
    --intro-headline-opacity-lg: 0.15;
    --intro-headline-rotate-lg: 0deg;
    --intro-headline-translate-x-lg: 0;
    --intro-headline-translate-y-lg: 0;
    --intro-headline-line-height-lg: 0.8;
  }
}
@media (max-width: 991.98px) {
  .theme-pistachio .intro {
    --intro-headline-opacity-tablet: 0.15;
    --intro-headline-rotate-tablet: 0deg;
    --intro-headline-margin-bottom-tablet: 18px;
    --intro-headline-translate-x-tablet: 0;
    --intro-headline-translate-y-tablet: 0;
    --intro-headline-line-height-tablet: 0.88;
  }
}
@media (max-width: 767.98px) {
  .theme-pistachio .intro {
    --intro-headline-opacity-mobile: 0.12;
    --intro-headline-rotate-mobile: 0deg;
    --intro-headline-margin-bottom-mobile: 12px;
    --intro-headline-translate-x-mobile: 0;
    --intro-headline-translate-y-mobile: 0;
    --intro-headline-line-height-mobile: 0.92;
  }
}
.theme-pistachio .intro.intro--with-aside .intro-aside {
  display: none;
}

.theme-burnt-sienna .intro {
  --intro-headline-color: #dd6e42;
  --intro-headline-opacity: 0;
  --intro-headline-opacity-lg: 0;
  --intro-headline-opacity-tablet: 0;
  --intro-headline-opacity-mobile: 0;
}
@media (min-width: 992px) {
  .theme-burnt-sienna .intro {
    --intro-headline-opacity-lg: 0;
    --intro-headline-rotate-lg: 0deg;
    --intro-headline-translate-x-lg: 0;
    --intro-headline-translate-y-lg: 0;
    --intro-headline-line-height-lg: 0.8;
  }
}
@media (max-width: 991.98px) {
  .theme-burnt-sienna .intro {
    --intro-headline-opacity-tablet: 0;
    --intro-headline-rotate-tablet: 0deg;
    --intro-headline-margin-bottom-tablet: 18px;
    --intro-headline-translate-x-tablet: 0;
    --intro-headline-translate-y-tablet: 0;
    --intro-headline-line-height-tablet: 0.88;
  }
}
@media (max-width: 767.98px) {
  .theme-burnt-sienna .intro {
    --intro-headline-opacity-mobile: 0;
    --intro-headline-rotate-mobile: 0deg;
    --intro-headline-margin-bottom-mobile: 12px;
    --intro-headline-translate-x-mobile: 0;
    --intro-headline-translate-y-mobile: 0;
    --intro-headline-line-height-mobile: 0.92;
  }
}
.theme-burnt-sienna .intro.intro--with-aside .intro-aside {
  display: none;
}

.noise {
  position: relative;
  z-index: 3;
  margin-top: -0.1em;
  letter-spacing: -0.05em;
}

/* Standard theme entry point.
   Compiles to css/standard.css. */
/* Standard theme entry point.
   Compiles to css/standard.css. */
/* Standard theme entry point.
   Compiles to css/standard.css. */
/* Standard theme entry point.
   Compiles to css/standard.css. */
body.mode-standard {
  /* Body text: Carbon90 on Carbon5 = 14.57:1 */
  --standard-page-bg: #f6f6f9;
  /* Surface text: Carbon90 on white = 15.71:1 */
  --standard-surface: #ffffff;
  /* Surface text: Carbon90 on Carbon10 = 13.22:1 */
  --standard-surface-alt: #ebebf0;
  /* Secondary text: Carbon70 on Carbon5 = 9.04:1 */
  --standard-text-quiet: #3f4450;
  /* Subtle text: Carbon60 on Carbon5 = 5.67:1 */
  --standard-text-subtle: #5c6270;
  /* UI borders: Carbon50 on Carbon5 = 4.21:1 */
  --standard-border: #717684;
  /* Focus ring / UI emphasis: Blue50 on Carbon5 = 4.18:1 */
  --standard-focus: #6161ff;
  --standard-text: #1f232d;
  --standard-shadow: 0 18px 42px rgba(31, 35, 45, 0.08);
  --standard-shadow-soft: 0 10px 24px rgba(31, 35, 45, 0.06);
  --page-accent: #3a7d57;
  --nav-accent: var(--page-accent);
  color: var(--standard-text);
  background-color: var(--standard-page-bg);
  font-family: dinosaur, sans-serif;
  font-weight: 400;
  font-style: normal;
}

body.mode-standard.theme-emerald {
  --page-accent: #3a7d57;
  --nav-accent: #3a7d57;
  --page-accent-soft: #d8e3df;
  --page-accent-wash: #e7ecec;
}

body.mode-standard.theme-burnt-sienna {
  --page-accent: #ac5b3d;
  --nav-accent: #ac5b3d;
  --page-accent-soft: #eadddb;
  --page-accent-wash: #f0eaea;
}

body.mode-standard.theme-aero {
  --page-accent: #32798e;
  --nav-accent: #32798e;
  --page-accent-soft: #d7e2e8;
  --page-accent-wash: #e6ecf0;
}

body.mode-standard.theme-antiflash-white {
  --page-accent: #1f232d;
  --nav-accent: #1f232d;
  --page-accent-soft: #d4d4d8;
  --page-accent-wash: #e5e5e9;
}

body.mode-standard.theme-gunmetal {
  --page-accent: #292f36;
  --nav-accent: #292f36;
  --page-accent-soft: #d5d6da;
  --page-accent-wash: #e6e6e9;
}

body.mode-standard.theme-powder {
  --page-accent: #60747f;
  --nav-accent: #60747f;
  --page-accent-soft: #dee1e5;
  --page-accent-wash: #eaecef;
}

body.mode-standard.theme-smoothie {
  --page-accent: #8b6776;
  --nav-accent: #8b6776;
  --page-accent-soft: #e5dfe4;
  --page-accent-wash: #edebef;
}

body.mode-standard.theme-red {
  --page-accent: #cc3c36;
  --nav-accent: #cc3c36;
  --page-accent-soft: #efd8da;
  --page-accent-wash: #f3e7e9;
}

body.mode-standard.theme-papaya {
  --page-accent: #a16230;
  --nav-accent: #a16230;
  --page-accent-soft: #e8ded9;
  --page-accent-wash: #efeae9;
}

body.mode-standard.theme-pistachio {
  --page-accent: #707517;
  --nav-accent: #707517;
  --page-accent-soft: #e1e1d5;
  --page-accent-wash: #ebece7;
}

body.mode-standard.theme-blue50 {
  --page-accent: #5d5df2;
  --nav-accent: #5d5df2;
  --page-accent-soft: #dedef8;
  --page-accent-wash: #eaeaf8;
}

body.mode-standard .link-home {
  color: #3a7d57;
}

body.mode-standard .link-about {
  color: #32798e;
}

body.mode-standard .link-case-studies {
  color: #707517;
}

body.mode-standard .link-contact {
  color: #ac5b3d;
}

body.mode-standard .link-styleguide {
  color: #60747f;
}

body.mode-standard {
  min-height: 100%;
}
body.mode-standard header,
body.mode-standard footer {
  background-color: var(--standard-surface);
  color: var(--standard-text);
}
body.mode-standard main {
  background-color: var(--standard-page-bg);
}
body.mode-standard a,
body.mode-standard button,
body.mode-standard [tabindex] {
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
body.mode-standard a {
  color: var(--page-accent);
  text-decoration-thickness: 0.12em;
  text-underline-offset: 0.16em;
}
body.mode-standard a:hover,
body.mode-standard a:focus {
  color: var(--standard-text);
  text-decoration-color: currentColor;
}
body.mode-standard a:focus-visible,
body.mode-standard button:focus-visible,
body.mode-standard [tabindex]:focus-visible {
  outline: 3px solid var(--standard-focus);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px var(--standard-surface);
}
body.mode-standard h1,
body.mode-standard h2,
body.mode-standard h3,
body.mode-standard h4,
body.mode-standard h5,
body.mode-standard h6 {
  color: var(--page-accent);
}

body.mode-standard h1 {
  font-size: 6rem;
  font-weight: 400;
  line-height: 0.86;
  margin-bottom: 24px;
  text-align: left;
  text-align-last: auto;
  text-justify: auto;
}
@media (min-width: 320px) {
  body.mode-standard h1 {
    font-size: calc(4rem + 4vw);
  }
}
@media (min-width: 1680px) {
  body.mode-standard h1 {
    font-size: 8rem;
  }
}

body.mode-standard h2 {
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 1.18;
  margin-bottom: 24px;
}
@media (min-width: 800px) {
  body.mode-standard h2 {
    font-size: calc(1.5rem + 1.5vw);
  }
}
@media (min-width: 1200px) {
  body.mode-standard h2 {
    font-size: 3rem;
  }
}

body.mode-standard h3 {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.25;
  margin-bottom: 18px;
}
@media (min-width: 934px) {
  body.mode-standard h3 {
    font-size: calc(1.3rem + 0.8vw);
  }
}
@media (min-width: 1200px) {
  body.mode-standard h3 {
    font-size: 2.25rem;
  }
}

body.mode-standard h4 {
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.3;
  margin-bottom: 14.4px;
}

body.mode-standard h5 {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.35;
  margin-bottom: 12px;
}

body.mode-standard h6 {
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.4;
  margin-bottom: 9.6px;
  color: var(--standard-text-subtle);
}

body.mode-standard p,
body.mode-standard li {
  color: var(--standard-text);
  line-height: 1.75;
}

body.mode-standard main section#HoldingDiv,
body.mode-standard main section.container.intro {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
  padding: 24px;
  padding-top: 0;
}
@media (min-width: 992px) {
  body.mode-standard main section#HoldingDiv,
  body.mode-standard main section.container.intro {
    padding: 36px;
    padding-top: 0;
  }
}
body.mode-standard main section#HoldingDiv .row,
body.mode-standard main section.container.intro .row {
  margin-left: 0;
  margin-right: 0;
}
body.mode-standard main section#HoldingDiv .row > div,
body.mode-standard main section.container.intro .row > div {
  padding: 0;
}

body.mode-standard .intro {
  text-align: left;
  text-align-last: auto;
  text-justify: auto;
  --intro-headline-color: var(--page-accent);
  --intro-headline-opacity: 0.08;
  --intro-headline-opacity-lg: 0.08;
  --intro-headline-opacity-tablet: 0.06;
  --intro-headline-opacity-mobile: 0.05;
  --intro-headline-rotate: 0deg;
  --intro-headline-rotate-lg: 0deg;
  --intro-headline-rotate-tablet: 0deg;
  --intro-headline-rotate-mobile: 0deg;
  --intro-headline-size: clamp(5rem, 11vw, 7rem);
  --intro-headline-size-lg: clamp(5rem, 10vw, 7rem);
  --intro-headline-size-tablet: clamp(4rem, 16vw, 6rem);
  --intro-headline-size-mobile: clamp(3.2rem, 18vw, 4.6rem);
  --intro-headline-line-height: 0.9;
  --intro-headline-line-height-lg: 0.9;
  --intro-headline-line-height-tablet: 0.9;
  --intro-headline-line-height-mobile: 0.9;
  --intro-headline-letter-spacing: -0.04em;
  --intro-headline-letter-spacing-lg: -0.04em;
  --intro-headline-letter-spacing-tablet: -0.04em;
  --intro-headline-letter-spacing-mobile: -0.03em;
  --intro-headline-weight: 400;
  --intro-headline-weight-lg: 400;
  --intro-headline-weight-tablet: 400;
  --intro-headline-weight-mobile: 400;
  --intro-headline-translate-x: 0;
  --intro-headline-translate-y: 0;
  --intro-headline-translate-x-lg: 0;
  --intro-headline-translate-y-lg: 0;
  --intro-headline-translate-x-tablet: 0;
  --intro-headline-translate-y-tablet: 0;
  --intro-headline-translate-x-mobile: 0;
  --intro-headline-translate-y-mobile: 0;
  --intro-headline-justify: flex-start;
  --intro-headline-align: flex-start;
  --intro-headline-margin-top: 0;
  --intro-headline-margin-bottom: 24px;
}

body.mode-standard .intro .intro-content > p,
body.mode-standard .intro .intro-content .accented-text,
body.mode-standard .intro .contact-links,
body.mode-standard .intro .lead {
  max-width: 44rem;
  font-size: clamp(1rem, 1vw + 0.8rem, 1.24rem);
}

body.mode-standard .pullquote {
  margin: 2rem 0;
  padding-left: 1rem;
  border-left: 4px solid var(--page-accent);
  font-size: clamp(1.35rem, 1.2vw + 1rem, 2rem);
  line-height: 1.25;
  color: var(--standard-text);
}

body.mode-standard .pullquote span {
  display: inline;
  background: none;
  padding: 0;
  color: inherit;
}

body.mode-standard .noise {
  color: var(--page-accent);
}

body.mode-standard .accented-text {
  --accent-chunk-color: var(--standard-text);
  --accent-chunk-shadow: none;
}

body.mode-standard .accent-chunk {
  background-color: color-mix(in srgb, var(--page-accent) 14%, white);
}

body.mode-standard .accent-chunk--glow {
  background-color: color-mix(in srgb, var(--page-accent) 22%, white);
  color: var(--standard-text);
  text-shadow: none;
}

body.mode-standard .navbar {
  background-color: rgba(255, 255, 255, 0.94);
  box-shadow: 0 1px 0 rgba(31, 35, 45, 0.08);
  backdrop-filter: blur(10px);
}

body.mode-standard nav .nav-link,
body.mode-standard nav .navbar-brand,
body.mode-standard nav .brand span,
body.mode-standard nav .navbar-toggler {
  color: var(--standard-text);
}

body.mode-standard nav .nav-link:hover,
body.mode-standard nav .nav-link:focus {
  color: var(--page-accent);
  background-color: color-mix(in srgb, var(--page-accent) 10%, white);
}

body.mode-standard nav #navbarPanel ul .nav-item .nav-link.selected,
body.mode-standard nav #navbarPanel ul .nav-item .nav-link[aria-current=page] {
  color: var(--nav-accent);
  text-decoration-thickness: 0.14em;
}

body.mode-standard nav .brand img {
  filter: none;
}

body.mode-standard footer {
  border-top: 1px solid var(--standard-border);
}

body.mode-standard footer a {
  color: var(--standard-text-quiet);
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

body.mode-standard footer a:hover,
body.mode-standard footer a:focus {
  color: var(--page-accent);
}

body.mode-standard footer small,
body.mode-standard footer .text-secondary {
  color: var(--standard-text-subtle) !important;
}

body.mode-standard .case-study-card,
body.mode-standard .case-study-section-header,
body.mode-standard .case-study-snapshot-card {
  border-color: color-mix(in srgb, var(--standard-border) 70%, white);
}

body.mode-standard .case-study-card__thumb,
body.mode-standard .case-study-image img,
body.mode-standard .case-study-image-grid img,
body.mode-standard .case-study-snapshot-card img,
body.mode-standard .case-gallery__thumb img {
  border-color: color-mix(in srgb, var(--standard-border) 72%, white);
  box-shadow: var(--standard-shadow-soft);
}

body.mode-standard .case-study-card h2::after {
  color: var(--standard-text-subtle);
}

body.mode-standard .case-study-card__link:hover,
body.mode-standard .case-study-card__link:focus {
  color: var(--standard-text);
  text-decoration-color: currentColor;
}

body.mode-standard .case-study-snapshot,
body.mode-standard .case-study-snapshot-card .snapshot-outcome,
body.mode-standard .back-to-top {
  background-color: var(--standard-surface-alt);
}

body.mode-standard .back-to-top:hover {
  background-color: color-mix(in srgb, var(--page-accent) 9%, white);
}

body.mode-standard .case-study-section-header p,
body.mode-standard .case-study-snapshot-card .meta,
body.mode-standard .case-study-image figcaption,
body.mode-standard .case-study-image-grid figcaption,
body.mode-standard .case-study-snapshot-card .snapshot-outcome strong {
  color: var(--standard-text-subtle);
}

body.mode-standard .case-study-detail {
  color: var(--standard-text);
}

body.mode-standard .case-study-detail .case-section {
  background: var(--case-section-bg, var(--standard-surface));
  border-top-color: var(--case-section-border, color-mix(in srgb, var(--standard-border) 72%, white));
}

body.mode-standard .case-study-detail .case-section--dark {
  --case-section-bg: linear-gradient(180deg, #ffffff, #f9fafc);
  --case-section-border: color-mix(in srgb, var(--page-accent) 24%, var(--standard-border));
}

body.mode-standard .case-study-detail .case-section--light {
  --case-section-bg: color-mix(in srgb, var(--page-accent) 3%, white);
  --case-section-border: color-mix(in srgb, var(--standard-border) 72%, white);
}

body.mode-standard .case-study-detail .case-section--hero {
  --case-section-bg: linear-gradient(
    180deg,
    color-mix(in srgb, var(--page-accent) 5%, white),
    #ffffff 62%
  );
  border-bottom: 1px solid color-mix(in srgb, var(--page-accent) 35%, var(--standard-border));
}

body.mode-standard .case-study-detail .case-section--gallery {
  --case-section-bg: linear-gradient(
    180deg,
    color-mix(in srgb, var(--page-accent) 7%, white),
    #ffffff 70%
  );
}

body.mode-standard .case-study-detail .case-section__title h2,
body.mode-standard .case-study-detail .case-rich-copy p,
body.mode-standard .case-study-detail .case-hero__lede,
body.mode-standard .case-study-detail .case-hero__meta-value {
  text-align: left;
  text-align-last: auto;
  text-justify: auto;
}

body.mode-standard .case-study-detail .case-section__title p,
body.mode-standard .case-study-detail .case-hero__meta-label,
body.mode-standard .case-study-detail .case-gallery__summary,
body.mode-standard .case-study-detail .case-gallery__hint,
body.mode-standard .case-study-detail .case-study-back-link,
body.mode-standard .case-study-detail .case-rich-copy blockquote cite {
  color: var(--standard-text-subtle);
}

body.mode-standard .case-study-detail .case-rich-copy,
body.mode-standard .case-study-detail .case-section > ul,
body.mode-standard .case-study-detail .case-section > ol {
  color: var(--standard-text);
}

body.mode-standard .case-study-detail .case-rich-copy blockquote {
  background-color: var(--standard-surface-alt);
  color: var(--standard-text);
  border-left-color: var(--page-accent);
}

body.mode-standard .case-study-detail .case-hero__intro::after,
body.mode-standard .case-study-detail .case-hero__meta-item {
  background-color: transparent;
  border-color: color-mix(in srgb, var(--standard-border) 72%, white);
}

body.mode-standard .case-study-detail .case-gallery__thumb img {
  background-color: var(--standard-surface);
}

body.mode-standard .case-study-detail .case-gallery__thumb:focus-visible {
  outline-color: var(--standard-focus);
}

body.mode-standard .case-study-detail .case-gallery.case-gallery--single-row::before {
  background: linear-gradient(90deg, rgba(246, 246, 249, 0.95), rgba(246, 246, 249, 0.45), transparent);
}

body.mode-standard .case-study-detail .case-gallery.case-gallery--single-row::after {
  background: linear-gradient(270deg, rgba(246, 246, 249, 0.95), rgba(246, 246, 249, 0.45), transparent);
}

body.mode-standard .case-study-detail .case-gallery-overlay {
  background-color: rgba(31, 35, 45, 0.72);
}

body.mode-standard .case-study-detail .case-gallery-overlay__dialog {
  background-color: var(--standard-surface);
  color: var(--standard-text);
  border-color: color-mix(in srgb, var(--page-accent) 30%, var(--standard-border));
  box-shadow: 0 28px 80px rgba(31, 35, 45, 0.18);
}

body.mode-standard .case-study-detail .case-gallery-overlay__dialog img {
  background-color: var(--standard-surface);
  border: 1px solid color-mix(in srgb, var(--standard-border) 65%, white);
}

body.mode-standard .case-study-detail .case-gallery-overlay__caption {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 38%, rgba(255, 255, 255, 0.98) 100%);
  color: var(--standard-text);
}

body.mode-standard .case-study-detail .case-gallery-overlay__actions [data-gallery-close] {
  appearance: none;
  border: 0;
  padding: 0;
  background: none;
  color: var(--page-accent);
  cursor: pointer;
  font: inherit;
}

body.mode-standard .case-study-detail .case-gallery-overlay__actions [data-gallery-close]:hover,
body.mode-standard .case-study-detail .case-gallery-overlay__actions [data-gallery-close]:focus,
body.mode-standard .case-study-detail .case-gallery-overlay__actions [data-gallery-close]:focus-visible {
  color: var(--standard-text);
}

body.mode-standard .case-study-detail .case-gallery-overlay__close {
  background: var(--standard-surface);
  color: var(--standard-text);
  border-color: color-mix(in srgb, var(--standard-border) 75%, white);
}

body.mode-standard .case-study-detail .case-gallery-overlay__close:hover,
body.mode-standard .case-study-detail .case-gallery-overlay__close:focus-visible {
  border-color: var(--page-accent);
  background-color: color-mix(in srgb, var(--page-accent) 10%, white);
}

body.mode-standard .case-study-detail .case-gallery-overlay__dialog::-webkit-scrollbar-track {
  background: rgba(31, 35, 45, 0.08);
}

body.mode-standard .case-study-detail .case-gallery-overlay__dialog::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--page-accent) 55%, var(--standard-border));
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1100;
  padding: 8px 12px;
  border: 2px solid #f6f6f9;
  background-color: #1f232d;
  color: #f6f6f9;
  text-decoration: none;
  transform: translateY(-200%);
  transition: transform 0.2s ease;
}
.skip-link:focus, .skip-link:focus-visible {
  transform: translateY(0);
  outline: 3px solid #6161ff;
  outline-offset: 2px;
}

body.mode-standard a.skip-link,
body.mode-standard a.skip-link:visited,
body.mode-standard a.skip-link:hover,
body.mode-standard a.skip-link:focus,
body.mode-standard a.skip-link:focus-visible {
  color: #f6f6f9;
  background-color: #1f232d;
  text-decoration: none;
}

.navbar {
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .navbar {
    border-bottom: 3px solid var(--nav-accent, #4ec176);
  }
}
@media (max-width: 767.98px) {
  .navbar {
    border-bottom: 3px solid var(--nav-accent, #4ec176);
  }
}

nav .container {
  max-width: 1140px;
  margin: auto;
  padding: 0 24px;
}
nav a {
  text-decoration: none;
}
nav .navbar-brand {
  flex: 0;
  margin: 0;
  padding: 24px 0;
  display: inline-block;
}
@media (max-width: 767.98px) {
  nav #navbarPanel.collapse {
    transition: all 1s ease-in-out;
    border-bottom: 0;
  }
}
nav #navbarPanel .navbar-nav {
  padding-bottom: 24px;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
@media (min-width: 768px) {
  nav #navbarPanel .navbar-nav {
    padding-bottom: 0;
    gap: 16px;
  }
}
nav #navbarPanel ul {
  align-items: center;
  padding: 0;
  width: auto;
}
nav #navbarPanel ul .nav-item {
  margin: 0 6px;
}
@media (min-width: 992px) {
  nav #navbarPanel ul .nav-item {
    margin: 0 12px;
  }
}
nav #navbarPanel ul .nav-item .nav-link {
  border-radius: 16px;
  padding: 3px 6px;
}
nav #navbarPanel ul .nav-item .nav-link:focus, nav #navbarPanel ul .nav-item .nav-link:hover {
  background: transparent;
  color: inherit;
}
nav #navbarPanel ul .nav-item .nav-link.selected, nav #navbarPanel ul .nav-item .nav-link[aria-current=page] {
  background: transparent;
  color: var(--nav-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
nav .navbar-toggler {
  background: transparent;
  color: #f6f6f9;
  border: none !important;
  border-color: inherit;
}
nav .navbar-toggler:focus, nav .navbar-toggler:hover, nav .navbar-toggler:active {
  box-shadow: none;
}
@media (min-width: 768px) {
  nav .navbar-toggler {
    display: none;
  }
}
nav .brand {
  display: flex;
  align-items: center;
}
nav .brand img {
  margin-right: 6px;
}
nav .brand span {
  font-weight: 400;
  color: #f6f6f9;
}
nav .brand_logo {
  width: 48px;
  height: auto;
}

@media (min-width: 768px) {
  #navbarPanel.navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
}
.intro {
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
  position: relative;
  overflow: visible;
  --intro-headline-color: var(--page-accent, #dd6e42);
  --intro-headline-opacity: 0.25;
  --intro-headline-opacity-tablet: 0.2;
  --intro-headline-opacity-mobile: 0.18;
  --intro-headline-rotate: 90deg;
  --intro-headline-rotate-tablet: 0deg;
  --intro-headline-rotate-mobile: 0deg;
  --intro-headline-size: clamp(12rem, 22vw, 19rem);
  --intro-headline-size-tablet: clamp(7rem, 18vw, 11rem);
  --intro-headline-size-mobile: clamp(6rem, 34vw, 9rem);
  --intro-headline-translate-x: 0;
  --intro-headline-translate-x-tablet: 0;
  --intro-headline-translate-x-mobile: 0;
  --intro-headline-translate-y: 0;
  --intro-headline-translate-y-tablet: 0;
  --intro-headline-translate-y-mobile: 0;
  --intro-headline-justify: center;
  --intro-headline-justify-tablet: flex-start;
  --intro-headline-justify-mobile: flex-start;
  --intro-headline-align: center;
  --intro-headline-align-tablet: flex-start;
  --intro-headline-align-mobile: flex-start;
  --intro-headline-margin-top: 0;
  --intro-headline-margin-right: 0;
  --intro-headline-margin-bottom: 24px;
  --intro-headline-margin-left: 0;
  --intro-headline-margin-top-tablet: var(--intro-headline-margin-top);
  --intro-headline-margin-right-tablet: var(--intro-headline-margin-right);
  --intro-headline-margin-bottom-tablet: var(--intro-headline-margin-bottom);
  --intro-headline-margin-left-tablet: var(--intro-headline-margin-left);
  --intro-headline-margin-top-mobile: 0;
  --intro-headline-margin-right-mobile: 0;
  --intro-headline-margin-bottom-mobile: 12px;
  --intro-headline-margin-left-mobile: 0;
  --intro-aside-margin-top: 0;
  --intro-aside-margin-right: 0;
  --intro-aside-margin-bottom: 24px;
  --intro-aside-margin-left: 0;
  --intro-aside-margin-top-tablet: var(--intro-aside-margin-top);
  --intro-aside-margin-right-tablet: var(--intro-aside-margin-right);
  --intro-aside-margin-bottom-tablet: var(--intro-aside-margin-bottom);
  --intro-aside-margin-left-tablet: var(--intro-aside-margin-left);
  --intro-aside-margin-top-mobile: 0;
  --intro-aside-margin-right-mobile: 0;
  --intro-aside-margin-bottom-mobile: 0;
  --intro-aside-margin-left-mobile: 0;
  --intro-headline-max-width-desktop: 100%;
  --intro-headline-max-width-tablet: 100%;
  --intro-headline-max-width-mobile: 100%;
}
.intro .row {
  position: relative;
}
.intro .intro-aside {
  display: none;
  justify-content: var(--intro-headline-justify);
  align-items: var(--intro-headline-align);
  pointer-events: none;
  margin-top: var(--intro-aside-margin-top);
  margin-right: var(--intro-aside-margin-right);
  margin-bottom: var(--intro-aside-margin-bottom);
  margin-left: var(--intro-aside-margin-left);
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
}
.intro.intro--with-aside .intro-aside {
  display: flex;
}
.intro .intro-content {
  position: relative;
  z-index: 1;
  flex: 1 1 100%;
  max-width: 100%;
}
.intro .intro-headline {
  font-family: var(--intro-headline-font-family, inherit);
  font-style: var(--intro-headline-font-style, normal);
  font-weight: var(--intro-headline-weight, 430);
  font-stretch: var(--intro-headline-font-stretch, normal);
  font-size: var(--intro-headline-size);
  font-variation-settings: var(--intro-headline-font-variation, normal);
  font-feature-settings: var(--intro-headline-font-features, normal);
  font-kerning: var(--intro-headline-font-kerning, auto);
  color: var(--intro-headline-color);
  opacity: var(--intro-headline-opacity);
  letter-spacing: var(--intro-headline-letter-spacing, normal);
  word-spacing: var(--intro-headline-word-spacing, normal);
  line-height: var(--intro-headline-line-height, 0.8);
  text-transform: var(--intro-headline-text-transform, none);
  text-decoration: var(--intro-headline-text-decoration, none);
  text-shadow: var(--intro-headline-text-shadow, none);
  transform: translate(var(--intro-headline-translate-x, 0), var(--intro-headline-translate-y, 0)) rotate(var(--intro-headline-rotate, 0deg));
  transform-origin: center left;
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
  text-justify: inter-character;
  margin-top: var(--intro-headline-margin-top);
  margin-right: var(--intro-headline-margin-right);
  margin-bottom: var(--intro-headline-margin-bottom);
  margin-left: var(--intro-headline-margin-left);
  display: inline-block;
  max-width: var(--intro-headline-max-width-desktop, 18rem);
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}
@media (min-width: 992px) {
  .intro.intro--with-aside .intro-aside {
    justify-content: var(--intro-headline-justify-lg, var(--intro-headline-justify));
    align-items: var(--intro-headline-align-lg, var(--intro-headline-align));
    margin-top: var(--intro-aside-margin-top-lg, var(--intro-aside-margin-top));
    margin-right: var(--intro-aside-margin-right-lg, var(--intro-aside-margin-right));
    margin-bottom: var(--intro-aside-margin-bottom-lg, var(--intro-aside-margin-bottom));
    margin-left: var(--intro-aside-margin-left-lg, var(--intro-aside-margin-left));
  }
  .intro .intro-headline {
    font-size: var(--intro-headline-size-lg, var(--intro-headline-size));
    font-weight: var(--intro-headline-weight-lg, var(--intro-headline-weight, 430));
    line-height: var(--intro-headline-line-height-lg, var(--intro-headline-line-height, 0.8));
    opacity: var(--intro-headline-opacity-lg, var(--intro-headline-opacity));
    letter-spacing: var(--intro-headline-letter-spacing-lg, var(--intro-headline-letter-spacing, normal));
    word-spacing: var(--intro-headline-word-spacing-lg, var(--intro-headline-word-spacing, normal));
    text-transform: var(--intro-headline-text-transform-lg, var(--intro-headline-text-transform, none));
    transform: translate(var(--intro-headline-translate-x-lg, var(--intro-headline-translate-x, 0)), var(--intro-headline-translate-y-lg, var(--intro-headline-translate-y, 0))) rotate(var(--intro-headline-rotate-lg, var(--intro-headline-rotate, 0deg)));
    margin-top: var(--intro-headline-margin-top-lg, var(--intro-headline-margin-top));
    margin-right: var(--intro-headline-margin-right-lg, var(--intro-headline-margin-right));
    margin-bottom: var(--intro-headline-margin-bottom-lg, var(--intro-headline-margin-bottom));
    margin-left: var(--intro-headline-margin-left-lg, var(--intro-headline-margin-left));
  }
}
@media (max-width: 991.98px) {
  .intro.intro--with-aside .intro-aside {
    justify-content: var(--intro-headline-justify-tablet, var(--intro-headline-justify));
    align-items: var(--intro-headline-align-tablet, var(--intro-headline-align));
    margin-top: var(--intro-aside-margin-top-tablet, var(--intro-aside-margin-top));
    margin-right: var(--intro-aside-margin-right-tablet, var(--intro-aside-margin-right));
    margin-bottom: var(--intro-aside-margin-bottom-tablet, var(--intro-aside-margin-bottom));
    margin-left: var(--intro-aside-margin-left-tablet, var(--intro-aside-margin-left));
  }
  .intro .intro-headline {
    font-size: var(--intro-headline-size-tablet, clamp(7rem, 18vw, 11rem));
    font-weight: var(--intro-headline-weight-tablet, var(--intro-headline-weight, 430));
    line-height: var(--intro-headline-line-height-tablet, var(--intro-headline-line-height, 0.8));
    letter-spacing: var(--intro-headline-letter-spacing-tablet, var(--intro-headline-letter-spacing, normal));
    word-spacing: var(--intro-headline-word-spacing-tablet, var(--intro-headline-word-spacing, normal));
    text-transform: var(--intro-headline-text-transform-tablet, var(--intro-headline-text-transform, none));
    opacity: var(--intro-headline-opacity-tablet, var(--intro-headline-opacity, 0.2));
    margin-top: var(--intro-headline-margin-top-tablet, var(--intro-headline-margin-top));
    margin-right: var(--intro-headline-margin-right-tablet, var(--intro-headline-margin-right));
    margin-bottom: var(--intro-headline-margin-bottom-tablet, var(--intro-headline-margin-bottom));
    margin-left: var(--intro-headline-margin-left-tablet, var(--intro-headline-margin-left));
    max-width: var(--intro-headline-max-width-tablet, var(--intro-headline-max-width-desktop, 18rem));
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    transform: translate(clamp(-40vw, var(--intro-headline-translate-x-tablet, var(--intro-headline-translate-x, 0vw)), 2vw), clamp(-30vh, var(--intro-headline-translate-y-tablet, var(--intro-headline-translate-y, 0vh)), 12vh)) rotate(var(--intro-headline-rotate-tablet, var(--intro-headline-rotate, 0deg)));
    transform-origin: center left;
  }
}
@media (max-width: 767.98px) {
  .intro.intro--with-aside .intro-aside {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    display: flex;
    justify-content: var(--intro-headline-justify-mobile, var(--intro-headline-justify-tablet, var(--intro-headline-justify)));
    align-items: var(--intro-headline-align-mobile, var(--intro-headline-align-tablet, var(--intro-headline-align)));
    margin-top: var(--intro-aside-margin-top-mobile, var(--intro-aside-margin-top-tablet, var(--intro-aside-margin-top)));
    margin-right: var(--intro-aside-margin-right-mobile, var(--intro-aside-margin-right-tablet, var(--intro-aside-margin-right)));
    margin-bottom: var(--intro-aside-margin-bottom-mobile, var(--intro-aside-margin-bottom-tablet, var(--intro-aside-margin-bottom)));
    margin-left: var(--intro-aside-margin-left-mobile, var(--intro-aside-margin-left-tablet, var(--intro-aside-margin-left)));
  }
  .intro .intro-headline {
    font-size: var(--intro-headline-size-mobile, var(--intro-headline-size-tablet, var(--intro-headline-size)));
    white-space: normal;
    line-height: var(--intro-headline-line-height-mobile, var(--intro-headline-line-height-tablet, var(--intro-headline-line-height, 0.85)));
    letter-spacing: var(--intro-headline-letter-spacing-mobile, var(--intro-headline-letter-spacing-tablet, var(--intro-headline-letter-spacing, normal)));
    word-spacing: var(--intro-headline-word-spacing-mobile, var(--intro-headline-word-spacing-tablet, var(--intro-headline-word-spacing, normal)));
    text-transform: var(--intro-headline-text-transform-mobile, var(--intro-headline-text-transform-tablet, var(--intro-headline-text-transform, none)));
    font-weight: var(--intro-headline-weight-mobile, var(--intro-headline-weight-tablet, var(--intro-headline-weight, 430)));
    opacity: var(--intro-headline-opacity-mobile, var(--intro-headline-opacity-tablet, var(--intro-headline-opacity, 0.18)));
    margin-top: var(--intro-headline-margin-top-mobile, var(--intro-headline-margin-top-tablet, var(--intro-headline-margin-top)));
    margin-right: var(--intro-headline-margin-right-mobile, var(--intro-headline-margin-right-tablet, var(--intro-headline-margin-right)));
    margin-bottom: var(--intro-headline-margin-bottom-mobile, var(--intro-headline-margin-bottom-tablet, var(--intro-headline-margin-bottom)));
    margin-left: var(--intro-headline-margin-left-mobile, var(--intro-headline-margin-left-tablet, var(--intro-headline-margin-left)));
    width: auto;
    max-width: var(--intro-headline-max-width-mobile, var(--intro-headline-max-width-tablet, var(--intro-headline-max-width-desktop, none)));
    transform: translate(clamp(-40vw, var(--intro-headline-translate-x-mobile, var(--intro-headline-translate-x-tablet, var(--intro-headline-translate-x, 0vw))), 2vw), clamp(-30vh, var(--intro-headline-translate-y-mobile, var(--intro-headline-translate-y-tablet, var(--intro-headline-translate-y, 0vh))), 12vh)) rotate(var(--intro-headline-rotate-mobile, var(--intro-headline-rotate-tablet, var(--intro-headline-rotate, 0deg))));
    transform-origin: center left;
  }
}

#about {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
  padding: 24px;
  padding-top: 0;
}
@media (min-width: 992px) {
  #about {
    padding: 36px;
    padding-top: 0;
  }
}
#about .row {
  margin-left: 0;
  margin-right: 0;
}

body.case-gallery-open {
  overflow: hidden;
}

.case-study-detail .case-hero__meta-value, .case-study-detail .case-hero__lede, .case-study-detail .case-section__title h2 {
  line-height: 0.8;
  font-weight: 100;
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
  text-justify: inter-character;
  font-size: calc(1.375rem + 1.5vw);
  margin-bottom: 24px;
  margin-top: 0;
}
@media (min-width: 1200px) {
  .case-study-detail .case-hero__meta-value, .case-study-detail .case-hero__lede, .case-study-detail .case-section__title h2 {
    font-size: 2.5rem;
  }
}

.case-section__title h2 {
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
  text-justify: inter-character;
}

.case-study-snapshot {
  background-color: rgba(246, 246, 249, 0.08);
  padding: 2rem;
  border-radius: 8px;
  margin: 2rem 0;
  border-left: 4px solid var(--page-accent, #b8be04);
}
.case-study-snapshot p {
  margin-bottom: 1.5rem;
  font-size: 1.1rem;
}

.snapshot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  font-size: 0.95rem;
  line-height: 1.6;
}
.snapshot-grid strong {
  display: block;
  color: var(--page-accent, #b8be04);
  margin-bottom: 0.25rem;
}

.case-study-image {
  margin: 3rem 0;
}
.case-study-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.case-study-image figcaption {
  margin-top: 1rem;
  font-size: 0.9rem;
  color: rgba(246, 246, 249, 0.7);
  font-style: italic;
  text-align: center;
}

.case-study-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin: 3rem 0;
}
.case-study-image-grid figure {
  margin: 0;
}
.case-study-image-grid img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.case-study-image-grid figcaption {
  margin-top: 1rem;
  font-size: 0.85rem;
  color: rgba(246, 246, 249, 0.7);
  font-style: italic;
}

.case-study {
  padding-bottom: 4rem;
  margin-bottom: 6rem;
  border-bottom: 2px solid rgba(246, 246, 249, 0.1);
}
.case-study.featured:last-of-type {
  margin-bottom: 8rem;
  border-bottom: 3px solid rgba(246, 246, 249, 0.15);
}

.case-study-section-header {
  margin-top: 8rem;
  margin-bottom: 4rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(246, 246, 249, 0.1);
}
.case-study-section-header h2 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.case-study-section-header p {
  font-size: 1rem;
  color: rgba(246, 246, 249, 0.7);
  margin: 0;
}

.case-study-snapshot-card {
  padding: 3rem 0;
  margin-bottom: 3rem;
  border-bottom: 1px solid rgba(246, 246, 249, 0.05);
}
.case-study-snapshot-card:last-child {
  border-bottom: none;
}
.case-study-snapshot-card h3 {
  font-size: 1.75rem;
  margin-bottom: 0.5rem;
}
.case-study-snapshot-card .meta {
  font-size: 0.9rem;
  color: rgba(246, 246, 249, 0.7);
  margin-bottom: 2rem;
}
.case-study-snapshot-card .snapshot-content {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 767.98px) {
  .case-study-snapshot-card .snapshot-content {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.case-study-snapshot-card .snapshot-text p {
  margin-bottom: 1rem;
  line-height: 1.7;
}
.case-study-snapshot-card .snapshot-outcome {
  background-color: rgba(246, 246, 249, 0.08);
  padding: 1.5rem;
  border-radius: 8px;
  border-left: 3px solid var(--page-accent, #b8be04);
}
.case-study-snapshot-card .snapshot-outcome strong {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(246, 246, 249, 0.7);
}
.case-study-snapshot-card .snapshot-outcome p {
  margin: 0;
  font-size: 1rem;
}
.case-study-snapshot-card img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  margin-top: 2rem;
}

.back-to-top {
  display: inline-block;
  margin-top: 3rem;
  padding: 0.75rem 1.5rem;
  background-color: rgba(246, 246, 249, 0.08);
  border-radius: 8px;
  text-decoration: none;
  font-size: 0.9rem;
  transition: background-color 0.2s ease;
}
.back-to-top:hover {
  background-color: rgba(246, 246, 249, 0.12);
}

.case-study-card {
  margin-top: 24px;
  padding: 24px 0;
  border-bottom: 1px solid rgba(246, 246, 249, 0.12);
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
.case-study-card:first-of-type {
  border-top: 1px solid rgba(246, 246, 249, 0.12);
}
.case-study-card__thumb {
  flex: 0 0 25%;
  max-width: 25%;
  min-width: 160px;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid rgba(246, 246, 249, 0.15);
}
.case-study-card__thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.case-study-card__thumb a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
}
.case-study-card__body {
  flex: 1 1 0;
}
.case-study-card h2 {
  display: block;
  margin: 0 0 6px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--page-accent, #b8be04);
  font-size: 1.05rem;
}
.case-study-card h2::after {
  content: " -";
  color: rgba(246, 246, 249, 0.6);
}
.case-study-card p {
  margin: 0 0 12px;
}
@media (max-width: 575.98px) {
  .case-study-card {
    flex-direction: column;
  }
  .case-study-card__thumb {
    max-width: none;
    width: 100%;
  }
}

.case-study-card__link {
  display: inline-block;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--page-accent, #b8be04);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.08em;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.case-study-card__link:hover, .case-study-card__link:focus {
  color: #f6f6f9;
  text-decoration-color: currentColor;
}
.case-study-card__link:focus-visible {
  outline: none;
}

.case-study-detail .case-section {
  position: relative;
  padding-block: clamp(2.5rem, 6vw, 5.5rem);
  background: var(--case-section-bg, transparent);
  border-top: 1px solid var(--case-section-border, rgba(246, 246, 249, 0.05));
}
.case-study-detail .case-section:first-of-type {
  border-top: none;
}
.case-study-detail .case-section--dark {
  --case-section-bg: rgba(8, 10, 16, 0.92);
  --case-section-border: rgba(246, 246, 249, 0.1);
}
.case-study-detail .case-section--light {
  --case-section-bg: rgba(246, 246, 249, 0.04);
  --case-section-border: rgba(246, 246, 249, 0.08);
}
.case-study-detail .case-section--hero {
  --case-section-bg: linear-gradient(135deg, rgba(15, 19, 29, 0.98), rgba(6, 8, 14, 0.95));
  border-bottom: 1px solid rgba(184, 190, 4, 0.35);
  padding-top: clamp(3rem, 8vw, 7rem);
}
.case-study-detail .case-section--gallery {
  --case-section-bg: radial-gradient(
      circle at 12% 5%,
      rgba(184, 190, 4, 0.25),
      transparent 38%
    ),
    linear-gradient(
      160deg,
      rgba(5, 7, 15, 0.95) 0%,
      rgba(3, 4, 10, 0.92) 55%,
      rgba(16, 18, 30, 0.96) 100%
    );
}
.case-study-detail .case-section > ul,
.case-study-detail .case-section > ol {
  grid-column: 1/-1;
  font-size: 1.05rem;
  line-height: 1.75;
  margin: 0;
  padding-left: 1.4rem;
}
.case-study-detail .case-section > ul li + li,
.case-study-detail .case-section > ol li + li {
  margin-top: 0.5rem;
}
.case-study-detail .case-section__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 4vw, 2.75rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
}
.case-study-detail .case-section__full {
  grid-column: 1/-1;
}
.case-study-detail .case-section__title {
  grid-column: 1;
}
.case-study-detail .case-section__title h2 {
  display: block;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--page-accent, #b8be04);
  margin: 0 0 0.35rem;
}
.case-study-detail .case-section__title p {
  margin: 0;
  color: rgba(246, 246, 249, 0.72);
  font-size: 1rem;
  line-height: 1.6;
}
.case-study-detail .case-rich-copy {
  grid-column: 1;
  font-size: 1.05rem;
  line-height: 1.75;
  color: rgba(246, 246, 249, 0.92);
}
.case-study-detail .case-rich-copy > * + * {
  margin-top: 1rem;
}
.case-study-detail .case-rich-copy p {
  text-align: justify;
  text-justify: inter-character;
}
.case-study-detail .case-rich-copy ul {
  padding-left: 1.2rem;
  margin: 0;
  list-style: disc;
}
.case-study-detail .case-rich-copy ul li + li {
  margin-top: 0.5rem;
}
.case-study-detail .case-rich-copy blockquote {
  margin: 0;
  padding: 1.15rem 1.25rem;
  border-left: 3px solid var(--page-accent, #b8be04);
  background: rgba(246, 246, 249, 0.04);
  color: rgba(246, 246, 249, 0.9);
  border-radius: 8px;
  font-style: italic;
  line-height: 1.65;
}
.case-study-detail .case-rich-copy blockquote p {
  margin: 0;
}
.case-study-detail .case-rich-copy blockquote cite {
  display: block;
  margin-top: 0.75rem;
  font-style: normal;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(246, 246, 249, 0.7);
}
.case-study-detail .case-rich-copy.case-column {
  padding: 0;
  border-radius: 0;
  background-color: transparent;
  border: 0;
}
.case-study-detail .case-backlink {
  margin-bottom: 1rem;
}
.case-study-detail .case-backlink--inline {
  margin-top: 2rem;
}
.case-study-detail .case-study-back-link {
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(246, 246, 249, 0.8);
  display: inline-flex;
  align-items: center;
}
.case-study-detail .case-study-back-link:hover, .case-study-detail .case-study-back-link:focus {
  text-decoration: underline;
}
.case-study-detail .case-hero__intro {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  position: relative;
  padding-bottom: 16px;
}
.case-study-detail .case-hero__intro::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background-color: rgba(246, 246, 249, 0.5);
}
.case-study-detail .case-hero__intro h1 {
  margin: 0;
  text-align: left;
  font-size: clamp(3rem, 9vw, 5.5rem);
}
.case-study-detail .case-hero__intro .case-hero__details {
  max-width: 760px;
}
.case-study-detail .case-hero__lede {
  margin-bottom: 0;
}
.case-study-detail .case-hero__meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
  margin-top: 16px;
  padding-bottom: 16px;
  position: relative;
}
@media (min-width: 992px) {
  .case-study-detail .case-hero__meta {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .case-study-detail .case-hero__meta .case-hero__meta-item:last-child {
    grid-column: auto;
  }
}
.case-study-detail .case-hero__meta-item {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  position: static;
  border-bottom: 1px solid rgba(246, 246, 249, 0.12);
  padding-bottom: 12px;
}
.case-study-detail .case-hero__meta-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.case-study-detail .case-hero__meta-label {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.8rem;
  margin-bottom: 0.35rem;
  color: rgba(246, 246, 249, 0.6);
}
.case-study-detail .case-hero__meta-emphasis {
  display: block;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
  color: var(--page-accent, #b8be04);
}
.case-study-detail .case-gallery {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  margin-top: 1rem;
  position: relative;
}
.case-study-detail .case-gallery .case-gallery__hint {
  display: block;
  margin: 0.5rem 0 0;
  text-align: right;
  font-size: 0.95rem;
  color: rgba(246, 246, 249, 0.85);
}
.case-study-detail .case-gallery.case-gallery--single-row {
  display: flex;
  flex-flow: row nowrap;
  gap: 1.25rem;
  padding: 0 0 1.25rem;
  scroll-padding-inline: 0;
  overflow-x: auto;
  overflow-y: hidden;
  align-items: stretch;
  scroll-snap-type: x proximity;
  position: relative;
  margin: 0;
}
@media (max-width: 991.98px) {
  .case-study-detail .case-gallery.case-gallery--single-row::before, .case-study-detail .case-gallery.case-gallery--single-row::after {
    content: "";
    position: sticky;
    top: 0;
    bottom: 0;
    width: 48px;
    pointer-events: none;
    z-index: 3;
    background: linear-gradient(90deg, rgba(31, 35, 45, 0.85), rgba(31, 35, 45, 0.45), transparent);
    display: block;
  }
  .case-study-detail .case-gallery.case-gallery--single-row::before {
    left: 0;
    border-radius: 12px 0 0 12px;
  }
  .case-study-detail .case-gallery.case-gallery--single-row::after {
    left: auto;
    right: 0;
    border-radius: 0 12px 12px 0;
    background: linear-gradient(270deg, rgba(31, 35, 45, 0.85), rgba(31, 35, 45, 0.45), transparent);
  }
}
.case-study-detail .case-gallery.case-gallery--single-row .case-gallery__thumb {
  scroll-snap-align: start;
  flex: 0 0 clamp(220px, 70vw, 360px);
}
.case-study-detail .case-gallery__thumb {
  border: none;
  border-radius: 0;
  background: none;
  appearance: none;
  color: inherit;
  text-align: left;
  cursor: pointer;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  transition: color 0.15s ease;
  font: inherit;
}
.case-study-detail .case-gallery__thumb img {
  width: 100%;
  height: 220px;
  max-height: 220px;
  border-radius: 12px;
  border: 1px solid rgba(246, 246, 249, 0.08);
  box-shadow: none;
  object-fit: cover;
}
.case-study-detail .case-gallery__thumb span {
  font-weight: 600;
  font-size: 1rem;
}
.case-study-detail .case-gallery__thumb:hover, .case-study-detail .case-gallery__thumb:focus-visible {
  color: var(--page-accent, #b8be04);
}
.case-study-detail .case-gallery__thumb:focus-visible {
  outline: 2px solid var(--page-accent, #b8be04);
  outline-offset: 4px;
}
.case-study-detail .case-gallery__summary {
  margin: 0;
  font-size: 0.9rem;
  color: rgba(246, 246, 249, 0.78);
}
.case-study-detail .case-gallery-overlay {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 4vw, 3rem);
  background-color: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(6px);
}
.case-study-detail .case-gallery-overlay[hidden] {
  display: none;
}
.case-study-detail .case-gallery-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: transparent;
}
.case-study-detail .case-gallery-overlay__dialog {
  position: fixed;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(1100px, 100%);
  max-width: calc(100% - 2rem);
  height: auto;
  max-height: 90vh;
  overflow-y: auto;
  overflow-x: hidden;
  padding: clamp(1rem, 3vw, 2rem);
  padding-bottom: 0;
  border-radius: 18px;
  background-color: rgba(15, 19, 29, 0.95);
  border: 1px solid rgba(184, 190, 4, 0.35);
  box-shadow: 0 35px 80px rgba(0, 0, 0, 0.65);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-top: 3rem;
}
.case-study-detail .case-gallery-overlay__dialog:focus-visible {
  outline: 2px solid var(--page-accent, #b8be04);
  outline-offset: 4px;
}
.case-study-detail .case-gallery-overlay__dialog img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 12px;
  background-color: #0f131d;
  object-fit: contain;
  flex-shrink: 0;
}
.case-study-detail .case-gallery-overlay__dialog:not(.case-gallery-overlay__dialog--scroll) img {
  max-height: calc(90vh - 160px);
}
.case-study-detail .case-gallery-overlay__dialog.case-gallery-overlay__dialog--scroll img {
  max-height: none;
}
.case-study-detail .case-gallery-overlay__caption {
  margin: 0;
  padding: 0.85rem 0 1.6rem;
  font-size: 0.95rem;
  color: rgba(246, 246, 249, 0.9);
  text-align: left;
  background: linear-gradient(180deg, rgba(15, 19, 29, 0) 0%, rgba(15, 19, 29, 0.85) 35%, rgba(15, 19, 29, 0.95) 100%);
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
}
.case-study-detail .case-gallery-overlay__actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 0 1.6rem;
  margin: 0;
  width: 100%;
}
.case-study-detail .case-gallery-overlay__actions [data-gallery-close] {
  appearance: none;
  border: 0;
  padding: 0;
  background: none;
  color: var(--page-accent, #ff8f33);
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
}
.case-study-detail .case-gallery-overlay__actions [data-gallery-close]:hover, .case-study-detail .case-gallery-overlay__actions [data-gallery-close]:focus, .case-study-detail .case-gallery-overlay__actions [data-gallery-close]:focus-visible {
  color: var(--page-accent, #ff8f33);
}
.case-study-detail .case-gallery-overlay__close {
  position: fixed;
  top: clamp(0.75rem, 2vw, 1.25rem);
  right: clamp(0.75rem, 2vw, 1.25rem);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(246, 246, 249, 0.3);
  background: rgba(7, 9, 15, 0.95);
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
  z-index: 1001;
}
.case-study-detail .case-gallery-overlay__close span[aria-hidden] {
  font-size: 1.5rem;
  line-height: 1;
  position: relative;
  display: block;
  top: -0.08em;
}
.case-study-detail .case-gallery-overlay__close:hover, .case-study-detail .case-gallery-overlay__close:focus-visible {
  border-color: var(--page-accent, #b8be04);
  background-color: rgba(184, 190, 4, 0.12);
  transform: translateY(-1px);
}
.case-study-detail .case-gallery-overlay__dialog::-webkit-scrollbar {
  width: 8px;
}
.case-study-detail .case-gallery-overlay__dialog::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
}
.case-study-detail .case-gallery-overlay__dialog::-webkit-scrollbar-thumb {
  background: rgba(184, 190, 4, 0.6);
  border-radius: 999px;
}

@media (max-width: 767.98px) {
  .snapshot-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .case-study-image-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .case-study-snapshot {
    padding: 1.5rem;
  }
  .case-study {
    padding-bottom: 3rem;
    margin-bottom: 4rem;
  }
  .case-study.featured:last-of-type {
    margin-bottom: 6rem;
  }
  .case-study-section-header {
    margin-top: 6rem;
    margin-bottom: 3rem;
  }
  .case-study-snapshot-card {
    padding: 2rem 0;
    margin-bottom: 2rem;
  }
}
@media (min-width: 768px) {
  .case-study-detail .case-hero__intro {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    padding-bottom: 36px;
  }
  .case-study-detail .case-hero__meta {
    margin-top: 0;
    gap: 1.25rem;
    row-gap: 0;
    column-gap: 1.25rem;
  }
  .case-study-detail .case-hero__meta-item {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .case-study-detail .case-hero__meta-item:first-child {
    grid-column: 1/-1;
  }
  .case-study-detail .case-hero__meta-item:last-child {
    grid-column: auto;
  }
  .case-study-detail .case-hero__meta-value {
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  .case-study-detail .case-section__inner {
    grid-template-columns: minmax(0, 260px) repeat(2, minmax(0, 1fr));
    gap: clamp(1.5rem, 3vw, 3rem) clamp(1.75rem, 4vw, 3.5rem);
    align-items: start;
  }
  .case-study-detail .case-section__title {
    grid-column: 1;
  }
  .case-study-detail .case-rich-copy {
    grid-column: 2/span 2;
  }
  .case-study-detail .case-rich-copy.case-column {
    grid-column: auto;
  }
  .case-study-detail .case-section > ul,
  .case-study-detail .case-section > ol {
    grid-column: 2/span 2;
  }
  .case-study-detail .case-section--hero .case-hero__intro,
  .case-study-detail .case-section--hero .case-hero__meta {
    grid-column: 1/-1;
  }
  .case-study-detail .case-section--hero .case-hero__meta-item:first-child {
    grid-column: auto;
  }
}
@media (max-width: 575.98px) {
  .case-study-detail .case-gallery {
    grid-template-columns: 1fr;
  }
  .case-study-detail .case-hero__intro {
    padding-bottom: 0px;
  }
  .case-study-detail .case-hero__meta {
    grid-template-columns: 1fr;
    margin-top: 0;
  }
  .case-study-detail .case-hero__meta-item {
    padding-bottom: 0;
  }
  .case-study-detail .case-hero__meta-value {
    margin-bottom: 0;
  }
}
.accented-text {
  --accent-chunk-gap: 0.25em;
  --accent-chunk-color: currentColor;
  --accent-chunk-shadow: none;
}

.accented-text .accent-chunk + .accent-chunk {
  margin-left: var(--accent-chunk-gap);
}

.accent-chunk {
  display: inline-block;
  padding: 0.05em 0.2em;
  margin: 0 -0.02em;
  background-color: rgba(66, 191, 221, 0.25);
  background-color: color-mix(in srgb, var(--page-accent, #42bfdd) 24%, transparent);
  color: var(--accent-chunk-color, currentColor);
  border-radius: 0em;
  box-shadow: var(--accent-chunk-shadow, none);
  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.accent-chunk:hover,
.accent-chunk:focus-visible {
  transform: translateY(-0.04em);
}

.accent-chunk--glow {
  background-color: rgba(66, 191, 221, 0.35);
  background-color: color-mix(in srgb, var(--page-accent, #42bfdd) 35%, transparent);
  color: var(--accent-chunk-color, #f0f6f6);
  text-shadow: 0 0.15em 0.35em rgba(66, 191, 221, 0.35);
}

/*# sourceMappingURL=standard.css.map */
