/* stylelint-disable */
:root {
  /* colors */
  --brand-grey: #bebebe;
  --white: #fff;
  --light-grey: #efecec;
  --dark-grey: #35333a;
  --yellow-dark: #fec626;
  --light-dark-grey: #595858;
  /* fixed colors (will not change in dark or inverted modes) */
  --fixed-white: #fff;
  --fixed-dark-grey: #35333a;
  --fixed-brand-yellow: #fec626;
  /* dark-mode OR inverted */
  /* dark-mode AND inverted */
  /* fonts */
  --body-font-family: "TWKBurns-Light", TWKBurns-fallback;
  --body-strong-font-family: "TWKBurns-Medium", TWKBurns-fallback;
  --heading-font-family: "TWKBurns-Bold", TWKBurns-fallback;
  --fixed-font-family: "Roboto Mono", menlo, consolas, "Liberation Mono", monospace;
  /* body sizes */
  --text-size-regular: 18px;
  --text-size-small: 16px;
  --text-size-xsmall: 14px;
  --text-size-xxsmall: 12px;
  /* heading sizes */
  --heading-font-size-4xl: 250px;
  --heading-font-size-xxxl: 128px;
  --heading-font-size-3xl: 150px;
  --heading-font-size-xxl: 64px;
  --heading-font-size-xll: 56.74px;
  --heading-font-size-xl: 48px;
  --heading-font-size-l: 40px;
  --heading-font-size-m: 36px;
  --heading-font-size-s: 20px;
  --heading-font-size-xs: 18px;
  /* line heights */
  --body-line-height: 1.6;
  --heading-line-height: 1.2;
  /* text decoration */
  --text-underline-offset: 10px;
  /* font weights */
  --light-font-weight: 300;
  --medium-font-weight: 500;
  --bold-font-weight: 700;
  /* header height */
  --header-height-mobile: 80px;
  --header-height-desktop: 88px;
  --header-height-mobile-adobe: 5rem;
  --header-height-tablet-adobe: 6rem;
  --header-height-desktop-adobe: 7rem;
  /* nav height */
  --nav-height: 64px;
  /* border radius */
  --border-radius: 24px;
  /* spacing */
  --spacing-xsmall: 8px;
  --spacing-small: 16px;
  --spacing-medium: 24px;
  --spacing-large: 32px;
  --spacing-xlarge: 36px;
  --spacing-xxlarge: 64px;
  --spacing-xxxlarge: 128px;
  --spacing-xxlarge-percentage: 5%;
}
:root .dark-mode,
:root .inverted {
  --dark-grey: #fff;
  --white: #35333a;
  --yellow-dark: #35333a;
}
:root .dark-mode .inverted {
  --white: #fff;
  --dark-grey: #35333a;
  --yellow-dark: #fec626;
}

/* stylelint-disable */
a.button,
button,
.button {
  font-family: var(--body-font-family);
  font-size: var(--text-size-regular);
  line-height: var(--heading-line-height);
  display: inline-block;
  text-decoration: none;
  border: 1px solid transparent;
  padding: 7px var(--spacing-small);
  text-align: center;
  font-style: normal;
  font-weight: 400;
  cursor: pointer;
  color: var(--fixed-dark-grey);
  background-color: var(--fixed-brand-yellow);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
  border-radius: var(--border-radius);
  gap: var(--spacing-xsmall);
  position: relative;
}
@media (min-width: 1024px) {
  a.button,
  button,
  .button {
    border-radius: clamp(var(--border-radius), 1.5vw, 42px);
  }
}
a.button:hover, a.button:focus-visible, a.button:focus, a.button.hover,
button:hover,
button:focus-visible,
button:focus,
button.hover,
.button:hover,
.button:focus-visible,
.button:focus,
.button.hover {
  background-color: var(--dark-grey);
  color: var(--yellow-dark);
}
a.button.primary,
button.primary,
.button.primary {
  float: left;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}
a.button.primary:before,
button.primary:before,
.button.primary:before {
  content: "";
  mask-image: url("../icons/arrow-right.svg");
  width: 24px;
  height: 24px;
  background-color: var(--fixed-dark-grey);
}
a.button.primary:hover:before, a.button.primary:focus:before, a.button.primary.hover:before,
button.primary:hover:before,
button.primary:focus:before,
button.primary.hover:before,
.button.primary:hover:before,
.button.primary:focus:before,
.button.primary.hover:before {
  background-color: var(--yellow-dark);
}
a.button.secondary,
button.secondary,
.button.secondary {
  background-color: unset;
  border: 1px solid;
  color: inherit;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
a.button.secondary:hover,
button.secondary:hover,
.button.secondary:hover {
  opacity: 0.5;
}
a.button.light-grey,
button.light-grey,
.button.light-grey {
  background: var(--light-grey);
  color: var(--fixed-dark-grey);
}
a.button.light-grey:hover, a.button.light-grey:focus-visible, a.button.light-grey:focus,
button.light-grey:hover,
button.light-grey:focus-visible,
button.light-grey:focus,
.button.light-grey:hover,
.button.light-grey:focus-visible,
.button.light-grey:focus {
  background-color: var(--fixed-dark-grey);
  color: var(--fixed-white);
}
a.button.small,
button.small,
.button.small {
  font-size: var(--text-size-xsmall);
  padding: 3px 12px;
}
@media (min-width: 1024px) {
  a.button.small,
  button.small,
  .button.small {
    font-size: clamp(14px, 0.7vw, 18px);
  }
}
a.button.arrow-right,
button.arrow-right,
.button.arrow-right {
  float: left;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: unset;
  width: fit-content;
  border: 1px solid;
  color: inherit;
}
a.button.arrow-right:after,
button.arrow-right:after,
.button.arrow-right:after {
  content: "";
  mask-image: url("../icons/arrow-right.svg");
  width: 24px;
  height: 24px;
  background-color: var(--dark-grey);
}
a.button.arrow-right:hover:after,
button.arrow-right:hover:after,
.button.arrow-right:hover:after {
  background-color: var(--brand-grey);
}
a.button.arrow-right:focus:after, a.button.arrow-right:hover,
button.arrow-right:focus:after,
button.arrow-right:hover,
.button.arrow-right:focus:after,
.button.arrow-right:hover {
  color: var(--brand-grey);
}
a.button.arrow-down,
button.arrow-down,
.button.arrow-down {
  float: right;
  display: inline-flex;
  color: inherit;
  background-color: unset;
  border: 1px solid;
  justify-content: space-between;
  flex-shrink: 0;
  width: fit-content;
}
a.button.arrow-down:after,
button.arrow-down:after,
.button.arrow-down:after {
  content: "";
  mask-image: url("../icons/arrow-down.svg");
  width: 24px;
  height: 24px;
  background-color: var(--dark-grey);
}
a.button.arrow-down:hover:after,
button.arrow-down:hover:after,
.button.arrow-down:hover:after {
  background-color: var(--brand-grey);
}
a.button.arrow-down:focus:after, a.button.arrow-down:hover,
button.arrow-down:focus:after,
button.arrow-down:hover,
.button.arrow-down:focus:after,
.button.arrow-down:hover {
  color: var(--brand-grey);
}
a.button__category-pill,
button__category-pill,
.button__category-pill {
  font-family: var(--body-strong-font-family);
  float: right;
  display: inline-flex;
  background: var(--light-grey);
  color: var(--fixed-dark-grey);
  padding: 4px 16px;
  height: 40px;
  border: 2px solid transparent;
  line-height: var(--body-line-height);
  width: fit-content;
}
a.button__category-pill:after,
button__category-pill:after,
.button__category-pill:after {
  content: attr(data-count);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 50%;
  border: 2px solid var(--fixed-dark-grey);
  font-size: var(--text-size-xxsmall);
  height: 24px;
  width: 24px;
}
a.button__category-pill:hover,
button__category-pill:hover,
.button__category-pill:hover {
  background-color: var(--fixed-dark-grey);
  color: var(--fixed-white);
}
a.button__category-pill:hover:after,
button__category-pill:hover:after,
.button__category-pill:hover:after {
  border: 2px solid var(--fixed-white);
}
a.button__category-pill--active,
button__category-pill--active,
.button__category-pill--active {
  background-color: var(--dark-grey);
  color: var(--white);
}
a.button__category-pill--active:after,
button__category-pill--active:after,
.button__category-pill--active:after {
  border: 2px solid var(--white);
}

button:disabled,
button:disabled:hover {
  background-color: var(--white);
  cursor: unset;
}

.default-content-wrapper .button-container a {
  text-decoration: none;
}

@keyframes scale-in-ver-top {
  0% {
    transform: scaleY(0);
    transform-origin: 100% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleY(1);
    transform-origin: 100% 0%;
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideIn {
  from {
    clip-path: inset(0 0 0 100%);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes blink {
  0%, 80%, 100% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}
@keyframes floatFade {
  0% {
    transform: translateY(0);
    opacity: 0.2;
  }
  50% {
    transform: translateY(10px);
    opacity: 1;
  }
  100% {
    transform: translateY(0);
    opacity: 0.2;
  }
}
a.link {
  font-family: var(--body-font-family);
  font-style: normal;
  font-weight: 400;
  font-size: var(--text-size-regular);
  line-height: var(--body-line-height);
  text-align: center;
  text-overflow: ellipsis;
  overflow: hidden;
  text-decoration: none;
  display: inline-flex;
  align-items: flex-start;
  color: var(--dark-grey);
  width: fit-content;
  padding: 7px var(--spacing-small);
  cursor: pointer;
  white-space: nowrap;
  gap: var(--spacing-xsmall);
}
a.link:hover {
  color: var(--fixed-brand-yellow);
}
a.link--small {
  font-size: var(--text-size-small);
  font-weight: 300;
  text-decoration-line: underline;
  text-underline-position: from-font;
}
a.link--menu {
  line-height: var(--heading-line-height);
  font-size: var(--heading-font-size-xl);
  font-weight: 300;
}
a.link--agile-consulting {
  padding: 8px 0;
  font-weight: 300;
  line-height: normal;
  text-transform: uppercase;
  font-size: var(--text-size-xsmall);
}
a.link--agile-consulting:hover, a.link--agile-consulting:focus {
  border-top: 1px solid var(--dark-grey);
  border-bottom: 1px solid var(--dark-grey);
  color: var(--dark-grey);
  padding: 10px 0;
}
a.link--bold {
  font-family: var(--heading-font-family);
  font-size: var(--heading-font-size-m);
  font-weight: 700;
  line-height: var(--heading-line-height);
  text-decoration-line: underline;
  text-underline-position: from-font;
}

:root {
  color-scheme: light dark;
}

@media (min-width: 768px) {
  :root {
    --heading-font-size-xxxl: 200px;
  }
}
* {
  box-sizing: border-box;
}

html {
  hyphens: auto;
}

body {
  display: none;
  font-family: var(--body-font-family);
  font-size: var(--text-size-regular);
  font-weight: var(--light-font-weight);
  line-height: var(--body-line-height);
  color: var(--dark-grey);
  background-color: var(--white);
  margin: 0;
  height: 100%;
  overflow-x: hidden;
}
body.no-scroll {
  overflow: hidden;
}
body.appear {
  display: block;
  overflow-x: hidden;
}

@supports (-webkit-touch-callout: none) {
  body.appear {
    min-height: -webkit-fill-available;
  }
}
header {
  height: var(--header-height-mobile);
}
@media (min-width: 1024px) {
  header {
    height: var(--header-height-desktop);
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--heading-font-family), sans-serif;
  font-weight: 600;
  line-height: var(--heading-line-height);
  margin-top: 1em;
  margin-bottom: 0.5em;
  scroll-margin: calc(var(--nav-height) + 1em);
  hyphens: manual;
}

/* h1 - bold */
h1 {
  font-size: var(--heading-font-size-m);
  font-weight: var(--medium-font-weight);
}
@media (min-width: 768px) {
  h1 {
    font-size: var(--heading-font-size-xxl);
  }
}

/* h2 - light */
h2 {
  font-family: "TWKBurns-Light", sans-serif;
  font-size: var(--heading-font-size-l);
  font-weight: var(--light-font-weight);
}
@media (min-width: 768px) {
  h2 {
    font-size: var(--heading-font-size-xl);
  }
}

/* h3 - bold */
h3 {
  font-size: var(--heading-font-size-m);
  font-weight: var(--medium-font-weight);
}

/* h4 - bold */
h4 {
  font-size: var(--heading-font-size-s);
  font-weight: var(--medium-font-weight);
}

h5 {
  font-size: var(--heading-font-size-s);
}

h6 {
  font-size: var(--heading-font-size-xs);
}

/* XL type - bold */
.xl-headline {
  font-size: var(--heading-font-size-xxxl);
  font-weight: var(--medium-font-weight);
  line-height: 1;
}

@media (min-width: 768px) {
  .xl-headline {
    font-size: var(--heading-font-size-xxxl);
    line-height: var(--heading-line-height);
  }
}
p,
dl,
pre,
blockquote {
  list-style: none;
  margin: 0;
  padding: 0;
}

p,
div,
span {
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
}

b,
strong {
  font-family: var(--body-strong-font-family);
  font-weight: var(--medium-font-weight);
}

code,
pre {
  font-family: var(--fixed-font-family);
  font-size: var(--text-size-small);
}

code {
  padding: 0.125em;
}

main pre {
  background-color: var(--light-color);
  padding: 1em;
  border-radius: 0.25em;
  overflow: scroll;
  white-space: pre;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  color: var(--fixed-brand-yellow);
}

/* Default Content styles */
.default-content-wrapper {
  /* Titles Centered */
}
.default-content-wrapper a {
  text-decoration: underline;
}
@media (min-width: 1024px) {
  .default-content-wrapper h1,
  .default-content-wrapper h2,
  .default-content-wrapper h3,
  .default-content-wrapper h4,
  .default-content-wrapper h5,
  .default-content-wrapper h6 {
    text-align: center;
  }
}

main img {
  max-width: 100%;
  width: auto;
  height: auto;
}

.icon {
  display: inline-block;
  height: 24px;
  width: 24px;
}

.icon img {
  height: 100%;
  width: 100%;
}

svg {
  fill: currentColor;
}

/* Horizontal alignment for images smaller than picture tag */
p:has(> picture) {
  text-align: center;
}

/* Highlight yellow */
.highlight-yellow {
  color: var(--fixed-brand-yellow);
}

/* Vertical yellow line left of text */
.vertical-line-yellow {
  display: inline-block;
  width: 100%;
  border-left: 2px solid var(--fixed-brand-yellow);
  padding-left: 10px;
}

/* Styling for program tag on RichText */
.program-line-class p {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}
.program-line-class p strong {
  margin-bottom: 0.5rem;
}
.program-line-class .program-text > ul {
  padding-left: 1.1rem;
}
@media (min-width: 1024px) {
  .program-line-class p {
    display: grid;
    grid-template-columns: 150px 1fr; /* Left column for <strong>, right for .program-text */
    gap: 20px; /* Space between columns */
    align-items: start;
  }
  .program-line-class .program-text > p {
    display: flex !important;
    flex-direction: column;
  }
}

/* Sections */
main .section {
  padding: var(--spacing-xxlarge) var(--spacing-small);
  position: relative;
  background-color: var(--white);
  color: var(--dark-grey);
}
@media (min-width: 768px) {
  main .section {
    padding: var(--spacing-xxlarge) var(--spacing-large);
    z-index: 1;
  }
}
main .section::-webkit-scrollbar {
  display: none;
}

/* Elements to be centered in the desktop page */
@media (min-width: 1440px) {
  .desktop-centered {
    max-width: 46.67%;
    margin-inline: auto;
  }
}

/* Accessibility */
.button:focus-visible,
button:not(.open-cookiebanner, .chatbot__icon-container):focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 0;
  box-shadow: unset;
}
.button:focus-visible:after,
button:not(.open-cookiebanner, .chatbot__icon-container):focus-visible:after,
input:focus-visible:after,
textarea:focus-visible:after {
  content: "";
  position: absolute;
  inset: 2px;
  border: 2px solid var(--white);
  border-radius: 22px;
  pointer-events: none;
}

:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.0625rem var(--white), 0 0 0 0.3125rem var(--dark-grey);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Custom alert box */
.custom-alert {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.custom-alert__box {
  background: var(--white);
  padding: 20px;
  border-radius: 20px;
  border: 10px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  text-align: center;
  width: 87%;
}
@media (min-width: 768px) {
  .custom-alert__box {
    width: 50%;
  }
}
@media (min-width: 1024px) {
  .custom-alert__box {
    width: 30%;
  }
}
@media (min-width: 1440px) {
  .custom-alert__box {
    width: 25%;
  }
}
@media (min-width: 1980px) {
  .custom-alert__box {
    width: 20%;
  }
}
.custom-alert__message {
  margin-bottom: var(--spacing-xsmall);
  font-weight: var(--bold-font-weight);
}
.custom-alert__button:hover {
  background-color: var(--dark-grey);
  color: var(--yellow-dark);
}

.hero__scroll-hint {
  position: fixed;
  bottom: var(--spacing-small);
  left: 50%;
  transform: translate(-50%, 0);
  width: 64px;
  height: 64px;
  margin-left: calc(var(--spacing-large) * -1);
  pointer-events: none;
  animation: floatFade 2s ease-in-out infinite;
  background-color: var(--dark-grey);
  mask-image: url("../icons/chevron-down.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("../icons/chevron-down-small.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
@media (max-width: 1023.98px) {
  .hero__scroll-hint {
    display: none;
  }
}