/* Gritty theme entry point.
   Compiles to css/gritty.css.
   Migrated gritty theme entry point; css/styles.css remains as a safety-net fallback. */
/* SCSS HEX */
/* Gritty theme entry point.
   Compiles to css/gritty.css.
   Migrated gritty theme entry point; css/styles.css remains as a safety-net fallback. */
/* Gritty theme entry point.
   Compiles to css/gritty.css.
   Migrated gritty theme entry point; css/styles.css remains as a safety-net fallback. */
.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;
}

/* Gritty theme entry point.
   Compiles to css/gritty.css.
   Migrated gritty theme entry point; css/styles.css remains as a safety-net fallback. */
/* Gritty theme entry point.
   Compiles to css/gritty.css.
   Migrated gritty theme entry point; css/styles.css remains as a safety-net fallback. */
/* Gritty theme entry point.
   Compiles to css/gritty.css.
   Migrated gritty theme entry point; css/styles.css remains as a safety-net fallback. */
/* Gritty theme entry point.
   Compiles to css/gritty.css.
   Migrated gritty theme entry point; css/styles.css remains as a safety-net fallback. */
/* Gritty theme layer.
   Dark / creative defaults extracted from the original styles.scss entry point. */
body.mode-gritty {
  --gritty-page-bg: #1f232d;
  --gritty-text: #f6f6f9;
  --gritty-border: rgba(246, 246, 249, 0.12);
  --gritty-surface: rgba(246, 246, 249, 0.12);
  --gritty-focus: var(--page-accent, #b8be04);
  font-family: dinosaur, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--gritty-text);
  height: 100%;
  background-color: var(--gritty-page-bg);
}

body.mode-gritty.theme-emerald {
  --nav-accent: #4ec176;
  --page-accent: #4ec176;
}

body.mode-gritty section.theme-emerald {
  --section-accent: #4ec176;
}
body.mode-gritty section.theme-emerald a {
  color: var(--section-accent);
}
body.mode-gritty section.theme-emerald a:hover,
body.mode-gritty section.theme-emerald a:focus {
  text-decoration: underline;
}
body.mode-gritty section.theme-emerald .heading-accent,
body.mode-gritty section.theme-emerald .title-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-emerald .text-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-emerald .border-accent {
  border-color: var(--section-accent) !important;
}
body.mode-gritty section.theme-emerald hr {
  border-top-color: var(--section-accent);
}
body.mode-gritty section.theme-emerald.accent-all h1,
body.mode-gritty section.theme-emerald.accent-all h2,
body.mode-gritty section.theme-emerald.accent-all h3,
body.mode-gritty section.theme-emerald.accent-all h4,
body.mode-gritty section.theme-emerald.accent-all h5,
body.mode-gritty section.theme-emerald.accent-all h6 {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-emerald.accent-all .display-1,
body.mode-gritty section.theme-emerald.accent-all .display-2,
body.mode-gritty section.theme-emerald.accent-all .display-3,
body.mode-gritty section.theme-emerald.accent-all .display-4,
body.mode-gritty section.theme-emerald.accent-all .display-5,
body.mode-gritty section.theme-emerald.accent-all .display-6 {
  color: var(--section-accent) !important;
}

body.mode-gritty.theme-burnt-sienna {
  --nav-accent: #dd6e42;
  --page-accent: #dd6e42;
}

body.mode-gritty section.theme-burnt-sienna {
  --section-accent: #dd6e42;
}
body.mode-gritty section.theme-burnt-sienna a {
  color: var(--section-accent);
}
body.mode-gritty section.theme-burnt-sienna a:hover,
body.mode-gritty section.theme-burnt-sienna a:focus {
  text-decoration: underline;
}
body.mode-gritty section.theme-burnt-sienna .heading-accent,
body.mode-gritty section.theme-burnt-sienna .title-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-burnt-sienna .text-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-burnt-sienna .border-accent {
  border-color: var(--section-accent) !important;
}
body.mode-gritty section.theme-burnt-sienna hr {
  border-top-color: var(--section-accent);
}
body.mode-gritty section.theme-burnt-sienna.accent-all h1,
body.mode-gritty section.theme-burnt-sienna.accent-all h2,
body.mode-gritty section.theme-burnt-sienna.accent-all h3,
body.mode-gritty section.theme-burnt-sienna.accent-all h4,
body.mode-gritty section.theme-burnt-sienna.accent-all h5,
body.mode-gritty section.theme-burnt-sienna.accent-all h6 {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-burnt-sienna.accent-all .display-1,
body.mode-gritty section.theme-burnt-sienna.accent-all .display-2,
body.mode-gritty section.theme-burnt-sienna.accent-all .display-3,
body.mode-gritty section.theme-burnt-sienna.accent-all .display-4,
body.mode-gritty section.theme-burnt-sienna.accent-all .display-5,
body.mode-gritty section.theme-burnt-sienna.accent-all .display-6 {
  color: var(--section-accent) !important;
}

body.mode-gritty.theme-aero {
  --nav-accent: #42bfdd;
  --page-accent: #42bfdd;
}

body.mode-gritty section.theme-aero {
  --section-accent: #42bfdd;
}
body.mode-gritty section.theme-aero a {
  color: var(--section-accent);
}
body.mode-gritty section.theme-aero a:hover,
body.mode-gritty section.theme-aero a:focus {
  text-decoration: underline;
}
body.mode-gritty section.theme-aero .heading-accent,
body.mode-gritty section.theme-aero .title-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-aero .text-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-aero .border-accent {
  border-color: var(--section-accent) !important;
}
body.mode-gritty section.theme-aero hr {
  border-top-color: var(--section-accent);
}
body.mode-gritty section.theme-aero.accent-all h1,
body.mode-gritty section.theme-aero.accent-all h2,
body.mode-gritty section.theme-aero.accent-all h3,
body.mode-gritty section.theme-aero.accent-all h4,
body.mode-gritty section.theme-aero.accent-all h5,
body.mode-gritty section.theme-aero.accent-all h6 {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-aero.accent-all .display-1,
body.mode-gritty section.theme-aero.accent-all .display-2,
body.mode-gritty section.theme-aero.accent-all .display-3,
body.mode-gritty section.theme-aero.accent-all .display-4,
body.mode-gritty section.theme-aero.accent-all .display-5,
body.mode-gritty section.theme-aero.accent-all .display-6 {
  color: var(--section-accent) !important;
}

body.mode-gritty.theme-antiflash-white {
  --nav-accent: #f0f6f6;
  --page-accent: #f0f6f6;
}

body.mode-gritty section.theme-antiflash-white {
  --section-accent: #f0f6f6;
}
body.mode-gritty section.theme-antiflash-white a {
  color: var(--section-accent);
}
body.mode-gritty section.theme-antiflash-white a:hover,
body.mode-gritty section.theme-antiflash-white a:focus {
  text-decoration: underline;
}
body.mode-gritty section.theme-antiflash-white .heading-accent,
body.mode-gritty section.theme-antiflash-white .title-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-antiflash-white .text-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-antiflash-white .border-accent {
  border-color: var(--section-accent) !important;
}
body.mode-gritty section.theme-antiflash-white hr {
  border-top-color: var(--section-accent);
}
body.mode-gritty section.theme-antiflash-white.accent-all h1,
body.mode-gritty section.theme-antiflash-white.accent-all h2,
body.mode-gritty section.theme-antiflash-white.accent-all h3,
body.mode-gritty section.theme-antiflash-white.accent-all h4,
body.mode-gritty section.theme-antiflash-white.accent-all h5,
body.mode-gritty section.theme-antiflash-white.accent-all h6 {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-antiflash-white.accent-all .display-1,
body.mode-gritty section.theme-antiflash-white.accent-all .display-2,
body.mode-gritty section.theme-antiflash-white.accent-all .display-3,
body.mode-gritty section.theme-antiflash-white.accent-all .display-4,
body.mode-gritty section.theme-antiflash-white.accent-all .display-5,
body.mode-gritty section.theme-antiflash-white.accent-all .display-6 {
  color: var(--section-accent) !important;
}

body.mode-gritty.theme-gunmetal {
  --nav-accent: #292f36;
  --page-accent: #292f36;
}

body.mode-gritty section.theme-gunmetal {
  --section-accent: #292f36;
}
body.mode-gritty section.theme-gunmetal a {
  color: var(--section-accent);
}
body.mode-gritty section.theme-gunmetal a:hover,
body.mode-gritty section.theme-gunmetal a:focus {
  text-decoration: underline;
}
body.mode-gritty section.theme-gunmetal .heading-accent,
body.mode-gritty section.theme-gunmetal .title-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-gunmetal .text-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-gunmetal .border-accent {
  border-color: var(--section-accent) !important;
}
body.mode-gritty section.theme-gunmetal hr {
  border-top-color: var(--section-accent);
}
body.mode-gritty section.theme-gunmetal.accent-all h1,
body.mode-gritty section.theme-gunmetal.accent-all h2,
body.mode-gritty section.theme-gunmetal.accent-all h3,
body.mode-gritty section.theme-gunmetal.accent-all h4,
body.mode-gritty section.theme-gunmetal.accent-all h5,
body.mode-gritty section.theme-gunmetal.accent-all h6 {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-gunmetal.accent-all .display-1,
body.mode-gritty section.theme-gunmetal.accent-all .display-2,
body.mode-gritty section.theme-gunmetal.accent-all .display-3,
body.mode-gritty section.theme-gunmetal.accent-all .display-4,
body.mode-gritty section.theme-gunmetal.accent-all .display-5,
body.mode-gritty section.theme-gunmetal.accent-all .display-6 {
  color: var(--section-accent) !important;
}

body.mode-gritty.theme-powder {
  --nav-accent: #b5dfeb;
  --page-accent: #b5dfeb;
}

body.mode-gritty section.theme-powder {
  --section-accent: #b5dfeb;
}
body.mode-gritty section.theme-powder a {
  color: var(--section-accent);
}
body.mode-gritty section.theme-powder a:hover,
body.mode-gritty section.theme-powder a:focus {
  text-decoration: underline;
}
body.mode-gritty section.theme-powder .heading-accent,
body.mode-gritty section.theme-powder .title-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-powder .text-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-powder .border-accent {
  border-color: var(--section-accent) !important;
}
body.mode-gritty section.theme-powder hr {
  border-top-color: var(--section-accent);
}
body.mode-gritty section.theme-powder.accent-all h1,
body.mode-gritty section.theme-powder.accent-all h2,
body.mode-gritty section.theme-powder.accent-all h3,
body.mode-gritty section.theme-powder.accent-all h4,
body.mode-gritty section.theme-powder.accent-all h5,
body.mode-gritty section.theme-powder.accent-all h6 {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-powder.accent-all .display-1,
body.mode-gritty section.theme-powder.accent-all .display-2,
body.mode-gritty section.theme-powder.accent-all .display-3,
body.mode-gritty section.theme-powder.accent-all .display-4,
body.mode-gritty section.theme-powder.accent-all .display-5,
body.mode-gritty section.theme-powder.accent-all .display-6 {
  color: var(--section-accent) !important;
}

body.mode-gritty.theme-smoothie {
  --nav-accent: #ffb0c5;
  --page-accent: #ffb0c5;
}

body.mode-gritty section.theme-smoothie {
  --section-accent: #ffb0c5;
}
body.mode-gritty section.theme-smoothie a {
  color: var(--section-accent);
}
body.mode-gritty section.theme-smoothie a:hover,
body.mode-gritty section.theme-smoothie a:focus {
  text-decoration: underline;
}
body.mode-gritty section.theme-smoothie .heading-accent,
body.mode-gritty section.theme-smoothie .title-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-smoothie .text-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-smoothie .border-accent {
  border-color: var(--section-accent) !important;
}
body.mode-gritty section.theme-smoothie hr {
  border-top-color: var(--section-accent);
}
body.mode-gritty section.theme-smoothie.accent-all h1,
body.mode-gritty section.theme-smoothie.accent-all h2,
body.mode-gritty section.theme-smoothie.accent-all h3,
body.mode-gritty section.theme-smoothie.accent-all h4,
body.mode-gritty section.theme-smoothie.accent-all h5,
body.mode-gritty section.theme-smoothie.accent-all h6 {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-smoothie.accent-all .display-1,
body.mode-gritty section.theme-smoothie.accent-all .display-2,
body.mode-gritty section.theme-smoothie.accent-all .display-3,
body.mode-gritty section.theme-smoothie.accent-all .display-4,
body.mode-gritty section.theme-smoothie.accent-all .display-5,
body.mode-gritty section.theme-smoothie.accent-all .display-6 {
  color: var(--section-accent) !important;
}

body.mode-gritty.theme-red {
  --nav-accent: #fa4338;
  --page-accent: #fa4338;
}

body.mode-gritty section.theme-red {
  --section-accent: #fa4338;
}
body.mode-gritty section.theme-red a {
  color: var(--section-accent);
}
body.mode-gritty section.theme-red a:hover,
body.mode-gritty section.theme-red a:focus {
  text-decoration: underline;
}
body.mode-gritty section.theme-red .heading-accent,
body.mode-gritty section.theme-red .title-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-red .text-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-red .border-accent {
  border-color: var(--section-accent) !important;
}
body.mode-gritty section.theme-red hr {
  border-top-color: var(--section-accent);
}
body.mode-gritty section.theme-red.accent-all h1,
body.mode-gritty section.theme-red.accent-all h2,
body.mode-gritty section.theme-red.accent-all h3,
body.mode-gritty section.theme-red.accent-all h4,
body.mode-gritty section.theme-red.accent-all h5,
body.mode-gritty section.theme-red.accent-all h6 {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-red.accent-all .display-1,
body.mode-gritty section.theme-red.accent-all .display-2,
body.mode-gritty section.theme-red.accent-all .display-3,
body.mode-gritty section.theme-red.accent-all .display-4,
body.mode-gritty section.theme-red.accent-all .display-5,
body.mode-gritty section.theme-red.accent-all .display-6 {
  color: var(--section-accent) !important;
}

body.mode-gritty.theme-papaya {
  --nav-accent: #ff8f33;
  --page-accent: #ff8f33;
}

body.mode-gritty section.theme-papaya {
  --section-accent: #ff8f33;
}
body.mode-gritty section.theme-papaya a {
  color: var(--section-accent);
}
body.mode-gritty section.theme-papaya a:hover,
body.mode-gritty section.theme-papaya a:focus {
  text-decoration: underline;
}
body.mode-gritty section.theme-papaya .heading-accent,
body.mode-gritty section.theme-papaya .title-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-papaya .text-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-papaya .border-accent {
  border-color: var(--section-accent) !important;
}
body.mode-gritty section.theme-papaya hr {
  border-top-color: var(--section-accent);
}
body.mode-gritty section.theme-papaya.accent-all h1,
body.mode-gritty section.theme-papaya.accent-all h2,
body.mode-gritty section.theme-papaya.accent-all h3,
body.mode-gritty section.theme-papaya.accent-all h4,
body.mode-gritty section.theme-papaya.accent-all h5,
body.mode-gritty section.theme-papaya.accent-all h6 {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-papaya.accent-all .display-1,
body.mode-gritty section.theme-papaya.accent-all .display-2,
body.mode-gritty section.theme-papaya.accent-all .display-3,
body.mode-gritty section.theme-papaya.accent-all .display-4,
body.mode-gritty section.theme-papaya.accent-all .display-5,
body.mode-gritty section.theme-papaya.accent-all .display-6 {
  color: var(--section-accent) !important;
}

body.mode-gritty.theme-pistachio {
  --nav-accent: #b8be04;
  --page-accent: #b8be04;
}

body.mode-gritty section.theme-pistachio {
  --section-accent: #b8be04;
}
body.mode-gritty section.theme-pistachio a {
  color: var(--section-accent);
}
body.mode-gritty section.theme-pistachio a:hover,
body.mode-gritty section.theme-pistachio a:focus {
  text-decoration: underline;
}
body.mode-gritty section.theme-pistachio .heading-accent,
body.mode-gritty section.theme-pistachio .title-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-pistachio .text-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-pistachio .border-accent {
  border-color: var(--section-accent) !important;
}
body.mode-gritty section.theme-pistachio hr {
  border-top-color: var(--section-accent);
}
body.mode-gritty section.theme-pistachio.accent-all h1,
body.mode-gritty section.theme-pistachio.accent-all h2,
body.mode-gritty section.theme-pistachio.accent-all h3,
body.mode-gritty section.theme-pistachio.accent-all h4,
body.mode-gritty section.theme-pistachio.accent-all h5,
body.mode-gritty section.theme-pistachio.accent-all h6 {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-pistachio.accent-all .display-1,
body.mode-gritty section.theme-pistachio.accent-all .display-2,
body.mode-gritty section.theme-pistachio.accent-all .display-3,
body.mode-gritty section.theme-pistachio.accent-all .display-4,
body.mode-gritty section.theme-pistachio.accent-all .display-5,
body.mode-gritty section.theme-pistachio.accent-all .display-6 {
  color: var(--section-accent) !important;
}

body.mode-gritty.theme-blue50 {
  --nav-accent: #6161ff;
  --page-accent: #6161ff;
}

body.mode-gritty section.theme-blue50 {
  --section-accent: #6161ff;
}
body.mode-gritty section.theme-blue50 a {
  color: var(--section-accent);
}
body.mode-gritty section.theme-blue50 a:hover,
body.mode-gritty section.theme-blue50 a:focus {
  text-decoration: underline;
}
body.mode-gritty section.theme-blue50 .heading-accent,
body.mode-gritty section.theme-blue50 .title-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-blue50 .text-accent {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-blue50 .border-accent {
  border-color: var(--section-accent) !important;
}
body.mode-gritty section.theme-blue50 hr {
  border-top-color: var(--section-accent);
}
body.mode-gritty section.theme-blue50.accent-all h1,
body.mode-gritty section.theme-blue50.accent-all h2,
body.mode-gritty section.theme-blue50.accent-all h3,
body.mode-gritty section.theme-blue50.accent-all h4,
body.mode-gritty section.theme-blue50.accent-all h5,
body.mode-gritty section.theme-blue50.accent-all h6 {
  color: var(--section-accent) !important;
}
body.mode-gritty section.theme-blue50.accent-all .display-1,
body.mode-gritty section.theme-blue50.accent-all .display-2,
body.mode-gritty section.theme-blue50.accent-all .display-3,
body.mode-gritty section.theme-blue50.accent-all .display-4,
body.mode-gritty section.theme-blue50.accent-all .display-5,
body.mode-gritty section.theme-blue50.accent-all .display-6 {
  color: var(--section-accent) !important;
}

body.mode-gritty .link-home {
  color: #4ec176;
}

body.mode-gritty .link-about {
  color: #42bfdd;
}

body.mode-gritty .link-case-studies {
  color: #b8be04;
}

body.mode-gritty .link-contact {
  color: #dd6e42;
}

body.mode-gritty .link-styleguide {
  color: #b5dfeb;
}

body.mode-gritty[class*=theme-] main h1,
body.mode-gritty[class*=theme-] main h2,
body.mode-gritty[class*=theme-] main h3,
body.mode-gritty[class*=theme-] main h4 {
  color: var(--page-accent, inherit);
}
body.mode-gritty[class*=theme-] main a {
  color: var(--page-accent, inherit);
  text-decoration-color: var(--page-accent, inherit);
}
body.mode-gritty[class*=theme-] main a:hover, body.mode-gritty[class*=theme-] main a:focus {
  text-decoration: underline;
}

body.mode-gritty .link-emerald {
  color: #4ec176;
}
body.mode-gritty .link-aero {
  color: #42bfdd;
}
body.mode-gritty .link-pistachio {
  color: #b8be04;
}
body.mode-gritty .link-powder {
  color: #b5dfeb;
}
body.mode-gritty .link-blue50 {
  color: #6161ff;
}
body.mode-gritty a:focus-visible,
body.mode-gritty button:focus-visible,
body.mode-gritty [tabindex]:focus-visible {
  outline: 2px solid var(--gritty-focus);
  outline-offset: 3px;
}
body.mode-gritty h1 {
  font-size: 6rem;
  font-weight: 400;
  line-height: 0.8;
  margin-bottom: 24px;
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
  text-justify: inter-character;
}
@media (min-width: 320px) {
  body.mode-gritty h1 {
    font-size: calc(5rem + 5vw);
  }
}
@media (min-width: 1680px) {
  body.mode-gritty h1 {
    font-size: 10.25rem;
  }
}
body.mode-gritty h2 {
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 1.2;
  margin-bottom: 24px;
}
@media (min-width: 800px) {
  body.mode-gritty h2 {
    font-size: calc(1.5rem + 2vw);
  }
}
@media (min-width: 1200px) {
  body.mode-gritty h2 {
    font-size: 3.5rem;
  }
}
body.mode-gritty h3 {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.25;
  margin-bottom: 18px;
}
@media (min-width: 934px) {
  body.mode-gritty h3 {
    font-size: calc(1.3rem + 1.2vw);
  }
}
@media (min-width: 1200px) {
  body.mode-gritty h3 {
    font-size: 2.75rem;
  }
}
body.mode-gritty h4 {
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.3;
  margin-bottom: 14.4px;
}
@media (min-width: 915px) {
  body.mode-gritty h4 {
    font-size: calc(1.1rem + 0.7vw);
  }
}
@media (min-width: 1200px) {
  body.mode-gritty h4 {
    font-size: 2.1rem;
  }
}
body.mode-gritty h5 {
  font-size: 1.25rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.01em;
  line-height: 1.35;
  margin-bottom: 12px;
}
@media (min-width: 800px) {
  body.mode-gritty h5 {
    font-size: calc(1.05rem + 0.4vw);
  }
}
@media (min-width: 2200px) {
  body.mode-gritty h5 {
    font-size: 1.6rem;
  }
}
body.mode-gritty h6 {
  font-size: 1.05rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.4;
  margin-bottom: 9.6px;
}
@media (min-width: 800px) {
  body.mode-gritty h6 {
    font-size: calc(0.95rem + 0.2vw);
  }
}
@media (min-width: 2400px) {
  body.mode-gritty h6 {
    font-size: 1.25rem;
  }
}
body.mode-gritty .pullquote {
  margin: 24px 0;
  font-size: 1.75rem;
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
@media (min-width: 720px) {
  body.mode-gritty .pullquote {
    font-size: calc(1.3rem + 1vw);
  }
}
@media (min-width: 1920px) {
  body.mode-gritty .pullquote {
    font-size: 2.5rem;
  }
}
body.mode-gritty .pullquote span {
  display: inline-block;
  background-color: rgba(0, 0, 0, 0.85);
  padding: 0 0.1em;
}
body.mode-gritty .pullquote span:first-of-type {
  font-size: var(--bs-display-6-font-size, calc(1.375rem + 1.5vw));
  font-weight: 100;
  line-height: 1.1;
}
@media (min-width: 1200px) {
  body.mode-gritty .pullquote span:first-of-type {
    font-size: var(--bs-display-6-font-size, 2.5rem);
  }
}
body.mode-gritty .pullquote span:nth-of-type(2) {
  font-size: var(--bs-display-2-font-size, calc(1.575rem + 3.9vw));
  font-weight: 300;
  line-height: 1.1;
}
@media (min-width: 1200px) {
  body.mode-gritty .pullquote span:nth-of-type(2) {
    font-size: var(--bs-display-2-font-size, 4.5rem);
  }
}
body.mode-gritty main {
  margin-bottom: auto;
}
body.mode-gritty main section#HoldingDiv, body.mode-gritty 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-gritty main section#HoldingDiv, body.mode-gritty main section.container.intro {
    padding: 36px;
    padding-top: 0;
  }
}
body.mode-gritty main section#HoldingDiv .row, body.mode-gritty main section.container.intro .row {
  margin-left: 0;
  margin-right: 0;
}
body.mode-gritty main section#HoldingDiv .row > div, body.mode-gritty main section.container.intro .row > div {
  padding: 0;
}
body.mode-gritty .case-study-links {
  margin-top: 24px;
}
body.mode-gritty .case-study-links .case-study-links__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}
body.mode-gritty .case-study-links a {
  display: inline-block;
  padding: 0.5rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(246, 246, 249, 0.35);
  background-color: rgba(246, 246, 249, 0.12);
  color: inherit;
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
body.mode-gritty .case-study-links a:hover,
body.mode-gritty .case-study-links a:focus {
  background-color: var(--page-accent, #b8be04);
  border-color: var(--page-accent, #b8be04);
  color: #1f232d;
  transform: translateY(-1px);
}
body.mode-gritty .case-study-links a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
body.mode-gritty .cs-article-hr {
  margin: 3rem 0;
}
body.mode-gritty .cs-h3-hr {
  margin: 2rem 0 1rem;
}
body.mode-gritty #home .intro-content > p,
body.mode-gritty #about .intro-content > p,
body.mode-gritty #contact .intro-content > p,
body.mode-gritty #case-studies .intro-content > p, body.mode-gritty #home .intro-content .case-hero__lede,
body.mode-gritty #about .intro-content .case-hero__lede,
body.mode-gritty #contact .intro-content .case-hero__lede,
body.mode-gritty #case-studies .intro-content .case-hero__lede, body.mode-gritty .MainP {
  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) {
  body.mode-gritty #home .intro-content > p,
  body.mode-gritty #about .intro-content > p,
  body.mode-gritty #contact .intro-content > p,
  body.mode-gritty #case-studies .intro-content > p, body.mode-gritty #home .intro-content .case-hero__lede,
  body.mode-gritty #about .intro-content .case-hero__lede,
  body.mode-gritty #contact .intro-content .case-hero__lede,
  body.mode-gritty #case-studies .intro-content .case-hero__lede, body.mode-gritty .MainP {
    font-size: 2.5rem;
  }
}
body.mode-gritty #home .intro-content::after {
  content: "";
  display: table;
  clear: both;
}
body.mode-gritty #home .intro-content .image {
  float: right;
  width: 202px;
  max-width: 100%;
  margin: 0;
}
body.mode-gritty #home .intro-content .image .photo {
  display: block;
  width: 100%;
  height: auto;
  transform: rotate(180deg);
}

.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=gritty.css.map */
