/* Generated from src/styles: npm run build:theme. Do not edit. */
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
    }
  }

:root, :host {
    --font-sans: "Plus Jakarta Sans Variable", "Arial", sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-white: #fff;
    --spacing: .25rem;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-ink: #061d43;
    --color-body: #35496c;
    --color-brand: #006bff;
    --color-action: #e51c28;
    --color-navy: #052c50;
    --color-mist: #edf6ff;
    --color-sky: #dfedff;
    --color-line: #dfe8f3;
    --color-learner: #187dff;
    --color-employer: #ff202d;
    --color-educator: #ffad00;
    --color-community: #00b879;
    --text-small: .875rem;
    --text-body: 1rem;
    --text-lead: clamp(1rem, 1.35vw, 1.25rem);
    --text-heading: clamp(2rem, 3.15vw, 3.125rem);
    --text-heading-large: clamp(2.4rem, 3.75vw, 3.75rem);
    --text-display: clamp(3.4rem, 6.2vw, 7rem);
  }

*, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

b, strong {
    font-weight: bolder;
  }

code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

small {
    font-size: 80%;
  }

sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

sub {
    bottom: -.25em;
  }

sup {
    top: -.5em;
  }

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

:-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

progress {
    vertical-align: baseline;
  }

summary {
    display: list-item;
  }

ol, ul, menu {
    list-style: none;
  }

img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

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

button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

:where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

:where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

::file-selector-button {
    margin-inline-end: 4px;
  }

::placeholder {
    opacity: 1;
  }

@supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

textarea {
    resize: vertical;
  }

::-webkit-search-decoration {
    -webkit-appearance: none;
  }

::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

::-webkit-datetime-edit {
    display: inline-flex;
  }

::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

::-webkit-datetime-edit {
    padding-block: 0;
  }

::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

:-moz-ui-invalid {
    box-shadow: none;
  }

button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

::file-selector-button {
    appearance: button;
  }

::-webkit-inner-spin-button {
    height: auto;
  }

::-webkit-outer-spin-button {
    height: auto;
  }

[hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--sticky-header-offset, 7rem);
  }

body {
    background-color: var(--color-white);
    font-family: var(--font-sans);
    color: var(--color-ink);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0;
  }

*, :before, :after {
    box-sizing: border-box;
  }

[hidden] {
    display: none !important;
  }

img {
    max-width: 100%;
    display: block;
  }

button, input, textarea {
    font: inherit;
  }

button, a, input, textarea {
    -webkit-tap-highlight-color: transparent;
  }

button, a {
    touch-action: manipulation;
  }

button {
    cursor: pointer;
  }

button:disabled {
    cursor: not-allowed;
    opacity: .6;
  }

a {
    color: inherit;
    text-decoration: none;
  }

:focus-visible {
    outline-offset: 5px;
    outline: 3px solid #0579ff;
  }

::selection {
    color: #061d43;
    background: #bdf;
  }

dialog {
    margin: auto;
  }

@media (prefers-reduced-motion: reduce) {
    html {
      scroll-behavior: auto;
    }

    *, :before, :after {
      transition-duration: .01ms !important;
      animation-duration: .01ms !important;
    }
  }

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

.cra-container {
    width: min(var(--content-width), calc(100% - var(--page-gutter) * 2));
    margin-inline: auto;
  }

.cra-section {
    padding-block: var(--section-space);
  }

.cra-heading {
    font-size: var(--text-heading);
    letter-spacing: -.05em;
    text-wrap: balance;
    margin: 0;
    font-weight: 800;
    line-height: 1.13;
  }

.cra-heading--large {
    font-size: var(--text-heading-large);
  }

.cra-text-accent {
    color: var(--color-brand);
  }

.cra-section__intro {
    margin-bottom: clamp(2.5rem, 4vw, 4rem);
  }

.cra-section__intro--center {
    text-align: center;
  }

.cra-section__description {
    font-size: var(--text-lead);
    color: var(--color-body);
    margin: 1.25rem 0 0;
    font-weight: 400;
    line-height: 1.65;
  }

.cra-section__description strong {
    font-weight: 700;
  }

.cra-eyebrow {
    color: #486c96;
    letter-spacing: .31em;
    text-transform: uppercase;
    margin: 0 0 1rem;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.5;
  }

.cra-button {
    justify-content: center;
    align-items: center;
    gap: calc(var(--spacing) * 5);
    text-align: center;
    min-height: 3.25rem;
    transition: background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
    border: 0;
    border-radius: 100px;
    padding: .9rem 1.9rem;
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.4;
    display: inline-flex;
  }

.cra-button--primary {
    background: var(--color-action);
    color: #fff;
  }

.cra-button--primary:hover {
    background: #c91322;
    box-shadow: 0 6px 20px #e91e2a26;
  }

.cra-button:active {
    transform: translateY(1px);
  }

.cra-button .cra-icon {
    width: 1.5rem;
    height: 1.5rem;
  }

.cra-icon {
    fill: currentColor;
    stroke: none;
    flex: none;
    width: 1.5rem;
    height: 1.5rem;
    display: block;
  }

.cra-skip-link {
    z-index: 100;
    color: var(--color-ink);
    box-shadow: var(--shadow-soft);
    background: #fff;
    border-radius: .5rem;
    padding: 1rem 1.5rem;
    position: fixed;
    top: 1rem;
    left: 1rem;
    transform: translateY(-200%);
  }

.cra-skip-link:focus {
    transform: translateY(0);
  }

.cra-wave-surface {
    isolation: isolate;
    background-color: var(--color-navy);
    background-image: radial-gradient(at 110% -50%, #0860a3 0, #0000 53%), radial-gradient(at -15% 125%, #0c66ac 0, #0000 42%);
    position: relative;
  }

.cra-wave-surface:before {
    content: "";
    pointer-events: none;
    z-index: -1;
    background: radial-gradient(100% 180% at 120% -95%, #0000 62%, #056fc53d 62.15% 73%, #0000 73.15%), radial-gradient(100% 170% at -15% 200%, #0000 65%, #066cbf38 65.15% 76%, #0000 76.15%);
    position: absolute;
    inset: 0;
  }

@media (max-width: 639px) {
    .cra-desktop-break {
      display: none;
    }

    .cra-button {
      gap: 1rem;
      padding-inline: 1.4rem;
      font-size: .875rem;
    }

    .cra-eyebrow {
      letter-spacing: .2em;
      font-size: .67rem;
    }
  }

.cra-form {
    background: #0a406799;
    border: 1px solid #19577e;
    border-radius: .7rem;
    padding: clamp(1.4rem, 2vw, 2rem);
    box-shadow: 0 12px 32px #00162c22;
  }

.cra-form__fields {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem 1.1rem;
    display: grid;
  }

.cra-field--full {
    grid-column: 1 / -1;
  }

.cra-field__label {
    color: #fff;
    margin-bottom: .45rem;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.4;
    display: block;
  }

.cra-field__required {
    color: var(--color-action);
  }

.cra-field__input {
    width: 100%;
    min-width: 0;
    min-height: 2.85rem;
    color: var(--color-ink);
    background: #fff;
    border: 1px solid #b7cce0;
    border-radius: .35rem;
    padding: .75rem .85rem;
    font-size: .82rem;
    line-height: 1.5;
    display: block;
  }

.cra-field__input::placeholder {
    color: #6a778b;
    opacity: 1;
  }

.cra-field__input:focus-visible {
    outline-offset: 3px;
    outline-color: #81c0ff;
  }

.cra-field__input[aria-invalid="true"] {
    outline-offset: 1px;
    border-color: #ffb1b7;
    outline: 2px solid #ffb1b7;
  }

.cra-field__input--textarea {
    resize: vertical;
    min-height: 6.5rem;
  }

.cra-field__helper {
    color: #c7dcee;
    margin: -.05rem 0 .7rem;
    font-size: .75rem;
    line-height: 1.6;
  }

.cra-field__error {
    color: #ffd4d8;
    margin: .5rem 0 0;
    font-size: .75rem;
    font-weight: 600;
  }

.cra-form__submit {
    width: 100%;
    min-height: 3rem;
    margin-top: 1.1rem;
    padding-block: .8rem;
    font-size: .9rem;
  }

.cra-form__note {
    color: #c0d5e9;
    margin-top: .9rem;
    font-size: .67rem;
    line-height: 1.65;
  }

.cra-form__status {
    color: #fff;
    background: #123e62;
    border: 1px solid #7ca9cc;
    border-radius: .4rem;
    margin-top: 1rem;
    padding: .9rem;
    font-size: .82rem;
    line-height: 1.6;
  }

@media (min-width: 640px) {
    .cra-form__fields {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

@media (min-width: 1200px) {
    .cra-field__label {
      font-size: .9375rem;
    }

    .cra-field__input {
      font-size: 1rem;
    }

    .cra-field__helper, .cra-field__error {
      font-size: .875rem;
    }

    .cra-form__note {
      font-size: .75rem;
    }
  }

@media (max-width: 767px) {
    .cra-form {
      padding: 1.25rem;
    }

    .cra-field__input {
      font-size: 1rem;
    }

    .cra-form__note {
      font-size: .72rem;
    }
  }

@media (max-width: 639px) {
    .cra-field__input--textarea {
      min-height: 10.5rem;
    }
  }

.cra-dialog {
    border: 1px solid var(--color-line);
    width: min(36rem, 100% - 2.5rem);
    max-height: calc(100dvh - 2.5rem);
    color: var(--color-ink);
    border-radius: 1.25rem;
    margin: auto;
    padding: 2rem;
    overflow-y: auto;
    box-shadow: 0 24px 100px #00152e44;
  }

.cra-dialog::backdrop {
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    background: #02132ba6;
  }

.cra-dialog__header {
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
    display: flex;
  }

.cra-dialog__title {
    letter-spacing: -.04em;
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.25;
  }

.cra-dialog__close {
    background: var(--color-mist);
    border-radius: 50%;
    margin: -.5rem -.5rem 0 0;
    padding: .5rem;
  }

.cra-dialog > p {
    color: var(--color-body);
    margin-block: 1rem;
    font-size: .95rem;
    line-height: 1.7;
  }

.cra-dialog__button {
    margin-top: .75rem;
  }

.cra-dialog__credits {
    color: var(--color-body);
    font-size: .875rem;
    line-height: 1.65;
  }

.cra-dialog__credits summary {
    cursor: pointer;
    padding-block: .6rem;
    font-weight: 700;
  }

.cra-dialog__credits p + p {
    margin-top: .75rem;
  }

.cra-dialog__credits a {
    text-underline-offset: .15em;
    text-decoration: underline;
  }

html.cra-case-study-open {
    scrollbar-gutter: stable;
    overflow: hidden;
  }

.cra-case-study {
    width: min(87.5rem, 100% - 3rem);
    max-width: none;
    max-height: calc(100dvh - 3rem);
    color: var(--color-ink);
    background: #fff;
    border: 1px solid #dce7f3;
    border-radius: 1rem;
    margin: auto;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 24px 100px #00152e66;
  }

.cra-case-study::backdrop {
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    background: #02132bb3;
  }

.cra-case-study__toolbar {
    z-index: 3;
    position: absolute;
    top: .4rem;
    right: .4rem;
  }

.cra-case-study__label {
    clip-path: inset(50%);
    white-space: nowrap;
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
  }

.cra-case-study__close {
    width: 2.75rem;
    height: 2.75rem;
    color: var(--color-ink);
    transition: background var(--transition-fast);
    background: #fffffff0;
    border-radius: 50%;
    place-items: center;
    display: grid;
  }

.cra-case-study__close:hover {
    background: #dcecff;
  }

.cra-case-study__close .cra-icon {
    width: 1.35rem;
    height: 1.35rem;
  }

.cra-case-study__scroll {
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    max-height: calc(100dvh - 3.125rem);
    overflow-y: auto;
  }

.cra-case-study__layout {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    display: grid;
  }

.cra-case-study__story, .cra-case-study__evidence {
    min-width: 0;
    padding: 2.5rem clamp(1.5rem, 2.6vw, 2.75rem) 2rem;
  }

.cra-case-study__evidence {
    background: linear-gradient(160deg, #f3f8fe, #fff 80%);
    padding-left: clamp(1.5rem, 2vw, 2rem);
  }

.cra-case-study__identity {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1.25rem;
    margin-bottom: 1.1rem;
    display: flex;
  }

.cra-case-study__logo {
    object-fit: contain;
    object-position: left center;
    width: min(100%, 15rem);
    height: 3.9rem;
  }

.cra-case-study__location {
    color: #536782;
    margin-top: .35rem;
    font-size: .8rem;
    line-height: 1.5;
  }

.cra-case-study__website {
    color: #0060df;
    background: #fff;
    border: 1px solid #bdd9ff;
    border-radius: .65rem;
    justify-content: center;
    align-items: center;
    gap: .65rem;
    min-height: 2.75rem;
    padding: .65rem 1rem;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.3;
    display: inline-flex;
  }

.cra-case-study__website:hover {
    background: #edf6ff;
  }

.cra-case-study__website .cra-icon {
    width: .95rem;
    height: .95rem;
  }

.cra-case-study__eyebrow {
    color: #0063e5;
    letter-spacing: .05em;
    text-transform: uppercase;
    background: #e1f0ff;
    border-radius: .6rem;
    margin-bottom: .8rem;
    padding: .35rem .7rem;
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.3;
    display: inline-block;
  }

.cra-case-study__title {
    letter-spacing: -.045em;
    text-wrap: balance;
    margin: 0 0 .85rem;
    font-size: clamp(1.8rem, 2.7vw, 2.8rem);
    font-weight: 800;
    line-height: 1.08;
  }

.cra-case-study__lead {
    color: var(--color-body);
    margin-bottom: 1rem;
    font-size: clamp(1rem, 1.25vw, 1.2rem);
    line-height: 1.42;
  }

.cra-case-study__metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
    margin: 1.1rem 0;
    padding: 0;
    list-style: none;
    display: grid;
  }

.cra-case-study__metric {
    text-align: center;
    background: #edf7ff;
    border-radius: .7rem;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: .3rem;
    padding: .85rem .5rem;
    display: flex;
  }

.cra-case-study__metric > .cra-icon {
    color: #006bff;
    width: 1.8rem;
    height: 1.8rem;
  }

.cra-case-study__value {
    color: #0066f0;
    letter-spacing: -.035em;
    font-size: clamp(1.5rem, 2vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
  }

.cra-case-study__metric-label {
    color: var(--color-body);
    font-size: .8rem;
    line-height: 1.4;
  }

.cra-case-study__section {
    margin-top: 1.1rem;
  }

.cra-case-study__heading {
    letter-spacing: -.025em;
    margin: 0 0 .35rem;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.35;
  }

.cra-case-study__section p {
    color: var(--color-body);
    font-size: .95rem;
    line-height: 1.45;
  }

.cra-case-study__section p + p {
    margin-top: .65rem;
  }

.cra-case-study__figure {
    margin: 0;
  }

.cra-case-study__preview {
    border: .5rem solid #102f4e;
    border-radius: .85rem;
    width: 100%;
    height: auto;
    box-shadow: 0 16px 35px #0620431a;
  }

.cra-case-study__figure--mobile {
    background: #e4effa;
    border-radius: .85rem;
    justify-items: center;
    padding: 1.5rem;
    display: grid;
  }

.cra-case-study__figure--mobile .cra-case-study__preview {
    border-width: .4rem;
    border-radius: 1.5rem;
    width: min(100%, 17rem);
  }

.cra-case-study__caption {
    color: #536782;
    margin-top: .8rem;
    font-size: .75rem;
    line-height: 1.6;
  }

.cra-case-gallery {
    min-width: 0;
  }

.cra-case-gallery__stage {
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #dce9f7, #edf4fb);
    border: 1px solid #d2dfef;
    border-radius: .65rem;
    position: relative;
    overflow: hidden;
  }

.cra-case-gallery__slide {
    width: 100%;
    height: 100%;
    margin: 0;
  }

.cra-case-gallery__slide[hidden], .cra-case-gallery__controls[hidden], .cra-case-gallery__thumbs[hidden] {
    display: none !important;
  }

.cra-case-gallery__image {
    object-fit: contain;
    object-position: center;
    width: 100%;
    height: 100%;
  }

.cra-case-gallery__caption {
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

.cra-case-gallery__controls {
    pointer-events: none;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: .65rem;
    display: flex;
    position: absolute;
    inset: 0;
  }

.cra-case-gallery__arrow {
    color: #fff;
    pointer-events: auto;
    width: 2.75rem;
    height: 2.75rem;
    transition: background var(--transition-fast);
    background: #071b36e0;
    border: 2px solid #fff;
    border-radius: 50%;
    flex: none;
    place-items: center;
    display: grid;
    box-shadow: 0 2px 8px #00152e40;
  }

.cra-case-gallery__arrow:hover {
    background: #0066f0;
  }

.cra-case-gallery__arrow .cra-icon {
    width: 1rem;
    height: 1rem;
  }

.cra-case-gallery__arrow--prev .cra-icon {
    transform: rotate(180deg);
  }

.cra-case-gallery__counter {
    color: #fff;
    text-align: center;
    font-variant-numeric: tabular-nums;
    background: #071b36d9;
    border-radius: 2rem;
    min-width: 3.75rem;
    padding: .35rem .75rem;
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.3;
    position: absolute;
    top: .8rem;
    right: .85rem;
  }

.cra-case-gallery__thumbs {
    scrollbar-width: thin;
    gap: .5rem;
    margin-top: .85rem;
    padding: .2rem;
    display: flex;
    overflow-x: auto;
  }

.cra-case-gallery__thumb {
    aspect-ratio: 1.22;
    min-width: 3.25rem;
    max-width: 8rem;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    background: #fff;
    border: 2px solid #dce9f7;
    border-radius: .55rem;
    flex: 1 0 calc(16.6667% - .416667rem);
    padding: .2rem;
    display: block;
    overflow: hidden;
  }

.cra-case-gallery__thumb[aria-current="true"] {
    border-color: #006bff;
    box-shadow: 0 0 0 1px #006bff;
  }

.cra-case-gallery__thumb:hover {
    border-color: #006bff;
  }

.cra-case-gallery__thumbnail {
    object-fit: cover;
    object-position: top center;
    border-radius: .25rem;
    width: 100%;
    height: 100%;
  }

.cra-case-gallery__arrow:focus-visible, .cra-case-gallery__thumb:focus-visible {
    outline-offset: -4px;
    outline: 3px solid #ffbd4a;
  }

.cra-case-study__quote {
    background: #e9f5ff;
    border-radius: .85rem;
    margin: 1.6rem 0;
    padding: 1.6rem 1.6rem 1.6rem 3.6rem;
    position: relative;
  }

.cra-case-study__quote:before {
    content: "“";
    color: #006bff;
    font-size: 4.25rem;
    font-weight: 800;
    line-height: 1;
    position: absolute;
    top: .45rem;
    left: 1.1rem;
  }

.cra-case-study__quote p {
    margin: 0;
    font-size: clamp(1rem, 1.25vw, 1.15rem);
    font-style: italic;
    line-height: 1.65;
  }

.cra-case-study__quote footer {
    color: var(--color-body);
    margin-top: 1rem;
    font-size: .85rem;
    line-height: 1.6;
  }

.cra-case-study__attribution {
    align-items: center;
    gap: .85rem;
    display: flex;
  }

.cra-case-study__portrait {
    object-fit: cover;
    object-position: center 35%;
    border-radius: 50%;
    flex: none;
    width: 3.5rem;
    height: 3.5rem;
  }

.cra-case-study__person {
    min-width: 0;
  }

.cra-case-study__role {
    white-space: pre-line;
    display: block;
  }

.cra-case-study__quote--placeholder:before {
    display: none;
  }

.cra-case-study__quote--placeholder {
    padding-left: 1.6rem;
  }

.cra-case-study__quote--placeholder p {
    font-style: normal;
  }

.cra-case-study__quote--placeholder .cra-case-study__attribution {
    color: var(--color-body);
    margin-top: 1rem;
    font-size: .85rem;
    line-height: 1.6;
  }

.cra-case-study__quote--placeholder strong {
    color: var(--color-ink);
  }

.cra-case-study__quote cite {
    color: var(--color-ink);
    font-style: normal;
    font-weight: 800;
    display: block;
  }

.cra-case-study__takeaways {
    color: var(--color-body);
    gap: .85rem;
    margin: 1rem 0 0;
    padding: 0;
    font-size: .95rem;
    line-height: 1.55;
    list-style: none;
    display: grid;
  }

.cra-case-study__takeaways li {
    align-items: flex-start;
    gap: .8rem;
    display: flex;
  }

.cra-case-study__takeaways .cra-icon {
    color: #006bff;
    flex: none;
    width: 1.4rem;
    height: 1.4rem;
    margin-top: .05rem;
  }

.cra-case-study__footer {
    padding: 0 clamp(1.5rem, 3vw, 2.75rem) 2rem;
  }

.cra-case-study__footer .cra-button {
    font-size: .9rem;
  }

@media (max-width: 959px) {
    .cra-case-study__layout {
      grid-template-columns: minmax(0, 1fr);
    }

    .cra-case-study__story {
      padding-bottom: 1.5rem;
    }

    .cra-case-study__evidence {
      padding: 1.5rem clamp(1.5rem, 2.6vw, 2.75rem) 2rem;
    }

    .cra-case-study__title {
      font-size: clamp(1.8rem, 4.5vw, 2.6rem);
    }
  }

@media (max-width: 479px) {
    .cra-case-study {
      border-radius: .75rem;
      width: calc(100% - 1rem);
      max-height: calc(100dvh - 1rem);
    }

    .cra-case-study__scroll {
      max-height: calc(100dvh - 1.125rem);
    }

    .cra-case-study__story, .cra-case-study__evidence {
      padding-inline: 1.2rem;
    }

    .cra-case-study__metrics {
      gap: .4rem;
    }

    .cra-case-study__metric {
      padding: .8rem .35rem;
    }

    .cra-case-study__value {
      font-size: 1.35rem;
    }

    .cra-case-study__metric-label {
      font-size: .7rem;
    }

    .cra-case-study__quote {
      padding: 1.5rem 1.1rem 1.2rem 2.7rem;
    }

    .cra-case-study__quote:before {
      font-size: 3.5rem;
      left: .7rem;
    }

    .cra-case-gallery__controls {
      padding: .35rem;
    }

    .cra-case-gallery__arrow {
      width: 2.5rem;
      height: 2.5rem;
    }

    .cra-case-gallery__counter {
      top: .5rem;
      right: .5rem;
    }

    .cra-case-gallery__thumbs {
      gap: .4rem;
    }

    .cra-case-gallery__thumb {
      flex-basis: 3.5rem;
    }

    .cra-case-study__footer {
      padding-inline: 1.2rem;
    }
  }

.cra-header {
    z-index: 40;
    background: #fff;
    position: relative;
  }

.cra-header[data-sticky="true"] {
    transition: background var(--motion-header-duration) ease, box-shadow var(--motion-header-duration) ease;
    position: sticky;
    top: 0;
  }

.cra-header[data-compact="true"] {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background: #fffffff7;
    box-shadow: 0 1px #061d4312, 0 8px 28px #061d4314;
  }

.cra-header__inner {
    justify-content: space-between;
    align-items: center;
    gap: clamp(1.25rem, 3vw, 3rem);
    min-height: clamp(5.5rem, 6.3vw, 7.25rem);
    display: flex;
  }

.cra-header[data-sticky="true"] .cra-header__inner {
    transition: min-height var(--motion-header-duration) var(--motion-ease), padding var(--motion-header-duration) var(--motion-ease);
  }

.cra-header[data-compact="true"] .cra-header__inner {
    min-height: 4.5rem;
  }

.cra-header .cra-brand {
    transform-origin: 0;
    transition: transform var(--motion-header-duration) var(--motion-ease);
  }

.cra-header[data-compact="true"] .cra-brand {
    transform: scale(.88);
  }

.cra-brand {
    flex-shrink: 0;
    align-items: center;
    gap: .55rem;
    display: inline-flex;
  }

.cra-brand__mark {
    width: clamp(3.25rem, 4.3vw, 4.6rem);
    height: clamp(3.25rem, 4.3vw, 4.6rem);
  }

.cra-brand__name {
    letter-spacing: -.04em;
    font-size: clamp(1.5rem, 1.9vw, 2.1rem);
    font-weight: 800;
    line-height: 1.06;
  }

.cra-brand__accent {
    color: var(--color-brand);
    display: block;
  }

.cra-header__nav {
    justify-content: flex-end;
    align-items: center;
    gap: clamp(1.25rem, 2.5vw, 3rem);
    display: flex;
  }

.cra-header__links {
    align-items: center;
    gap: clamp(1rem, 1.8vw, 2rem);
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
  }

.cra-header__link {
    white-space: nowrap;
    transition: color var(--transition-fast);
    padding-block: .8rem;
    font-size: 1.15rem;
    font-weight: 700;
    display: block;
    position: relative;
  }

.cra-header__link:after {
    content: "";
    background: var(--color-brand);
    height: 2px;
    position: absolute;
    inset: auto 0 .65rem;
    transform: scaleX(0);
  }

.cra-header__link:hover:after, .cra-header__link:focus-visible:after {
    transform: scaleX(1);
  }

.cra-header__link:hover {
    color: var(--color-brand);
  }

.cra-header__cta {
    white-space: nowrap;
    min-height: 3rem;
    padding: .8rem clamp(1.25rem, 2vw, 2rem);
    font-size: 1.15rem;
  }

@media (min-width: 1024px) and (max-width: 1199px) {
    .cra-header__link, .cra-header__cta {
      font-size: .9375rem;
    }

    .cra-header__inner, .cra-header__nav, .cra-header__links {
      gap: 1rem;
    }
  }

.cra-header__toggle {
    border: 1px solid var(--color-line);
    background: #fff;
    border-radius: .5rem;
    align-items: center;
    gap: .5rem;
    min-height: 2.75rem;
    padding: .55rem .8rem;
    font-size: .875rem;
    font-weight: 700;
    display: flex;
  }

.cra-header__toggle[aria-expanded="true"] {
    color: var(--color-brand);
    border-color: var(--color-brand);
    background: var(--color-mist);
  }

@media (prefers-reduced-motion: no-preference) {
    .cra-header__toggle {
      transition: color .18s, border-color .18s, background .18s;
    }
  }

@media (max-width: 1023px) {
    .cra-header__inner {
      flex-wrap: wrap;
      gap: 0;
      min-height: 5rem;
      padding-block: 1rem;
    }

    .cra-header[data-compact="true"] .cra-header__inner {
      min-height: 4rem;
      padding-block: .5rem;
    }

    .cra-brand__mark {
      width: 2.65rem;
      height: 2.65rem;
    }

    .cra-brand__name {
      font-size: 1.25rem;
    }

    .cra-header__nav {
      flex-direction: column;
      flex: 0 0 100%;
      align-items: stretch;
      gap: .75rem;
      width: 100%;
      padding: 1.25rem 0 .25rem;
    }

    .cra-header[data-enhanced="true"] .cra-header__nav {
      overscroll-behavior: contain;
      max-height: calc(100dvh - 6rem);
      overflow-y: auto;
    }

    .cra-header:is([data-nav-state="opening"], [data-nav-state="closing"]) .cra-header__nav {
      will-change: height, opacity, transform;
      min-height: 0;
      overflow: hidden;
    }

    .cra-header__links {
      flex-direction: column;
      align-items: stretch;
      gap: 0;
    }

    .cra-header__link {
      border-bottom: 1px solid var(--color-line);
      padding-block: .8rem;
    }

    .cra-header__link:after {
      display: none;
    }

    .cra-header__cta {
      align-self: flex-start;
      margin-top: .5rem;
    }
  }

@media (max-width: 359px) {
    .cra-header__toggle {
      justify-content: center;
      width: 2.75rem;
      min-width: 2.75rem;
      padding: .5rem;
    }

    .cra-header__toggle-label {
      clip-path: inset(50%);
      white-space: nowrap;
      border-width: 0;
      width: 1px;
      height: 1px;
      margin: -1px;
      padding: 0;
      position: absolute;
      overflow: hidden;
    }
  }

.cra-hero {
    isolation: isolate;
    background: #fff;
    position: relative;
  }

.cra-hero__media {
    z-index: -2;
    position: absolute;
    inset: 0;
  }

.cra-hero__image {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
  }

.cra-hero:after {
    content: "";
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(90deg, #fff 0%, #fffffff5 20%, #fff9 35%, #0000 49%);
    position: absolute;
    inset: 0;
  }

.cra-hero__inner {
    align-items: center;
    min-height: clamp(37rem, 46vw, 49rem);
    padding-block: 4.5rem;
    display: flex;
  }

.cra-hero__content {
    width: 60%;
    max-width: 54rem;
  }

.cra-hero__title {
    letter-spacing: -.04em;
    margin: 0;
    font-size: clamp(3.4rem, 6.2vw, 7rem);
    font-weight: 800;
    line-height: .94;
  }

.cra-hero__description {
    color: #152b52;
    max-width: min(42vw, 46.5rem);
    margin: 1.75rem 0 1.9rem;
    font-size: clamp(1rem, 1.55vw, 1.75rem);
    line-height: 1.4;
  }

.cra-hero__description strong {
    font-weight: 800;
  }

.cra-hero .cra-button {
    min-height: clamp(3.25rem, 3.9vw, 4.375rem);
    padding-inline: clamp(1.75rem, 2.5vw, 2.8rem);
    font-size: clamp(.9rem, 1.35vw, 1.5rem);
  }

@media (min-width: 1800px) {
    .cra-hero__inner {
      min-height: 49rem;
    }
  }

@media (max-width: 1023px) and (min-width: 768px) {
    .cra-hero__inner {
      min-height: 37rem;
      padding-block: 3.5rem;
    }

    .cra-hero__content {
      width: 66%;
    }

    .cra-hero__title {
      font-size: clamp(3.3rem, 6.6vw, 4.5rem);
      line-height: 1.02;
    }

    .cra-hero__description {
      max-width: 25rem;
    }

    .cra-hero:after {
      background: linear-gradient(90deg, #fff 0%, #fffe 26%, #fffa 50%, #0000 78%);
    }

    .cra-hero__image {
      object-position: 57% center;
    }
  }

@media (max-width: 767px) {
    .cra-hero {
      flex-direction: column;
      display: flex;
    }

    .cra-hero:after {
      display: none;
    }

    .cra-hero__inner {
      min-height: auto;
      padding-block: 2.5rem 1.5rem;
    }

    .cra-hero__content {
      width: 100%;
      max-width: 36rem;
    }

    .cra-hero__title {
      letter-spacing: -.05em;
      font-size: clamp(2.75rem, 8.8vw, 4.75rem);
      line-height: 1.04;
    }

    .cra-hero__description {
      max-width: 33rem;
      margin: 1.35rem 0 1.5rem;
      font-size: 1rem;
      line-height: 1.65;
    }

    .cra-hero__media {
      z-index: 0;
      order: 2;
      width: 100%;
      height: clamp(17rem, 59vw, 26rem);
      position: relative;
      overflow: hidden;
    }

    .cra-hero__media:after {
      content: "";
      background: linear-gradient(#fff, #0000 25%);
      position: absolute;
      inset: 0;
    }

    .cra-hero__image {
      object-position: right 52%;
      width: 165%;
      max-width: none;
      margin-left: -65%;
    }
  }

.cra-vision {
    background: linear-gradient(#e6f1ff 0%, #eef6ff 75%, #fff 100%);
  }

.cra-vision__inner {
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 1.5rem;
    display: grid;
  }

.cra-vision__content {
    z-index: 1;
    position: relative;
  }

.cra-vision__title {
    text-wrap: balance;
    max-width: 47rem;
    font-size: clamp(2rem, 3.1vw, 3.1rem);
  }

.cra-vision__map {
    margin: -1.5rem -1.5rem -1.5rem 0;
  }

.cra-vision__map img {
    width: 100%;
    height: auto;
  }

@media (min-width: 1024px) {
    .cra-vision__inner {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

@media (max-width: 1023px) {
    .cra-vision__inner {
      grid-template-columns: minmax(0, 1fr);
      align-items: center;
      gap: 2.5rem;
      display: grid;
    }

    .cra-vision__content {
      max-width: 43rem;
    }

    .cra-vision__map {
      width: min(100%, 40rem);
      margin: 0 auto;
    }
  }

.cra-proof {
    padding-top: calc(var(--section-space) * .85);
    background: linear-gradient(#fff 60%, #f0f7fd);
  }

.cra-proof__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.75rem;
    display: grid;
  }

.cra-partner {
    padding-bottom: 2rem;
    display: block;
    position: relative;
  }

.cra-partner__photo {
    aspect-ratio: 1.85;
    object-fit: cover;
    border-radius: var(--radius-card);
    width: 100%;
    height: auto;
  }

.cra-partner__identity {
    width: 79%;
    min-height: 7.5rem;
    box-shadow: var(--shadow-soft);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
    background: #fff;
    border-radius: 1.1rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: -3.1rem auto 0;
    padding: 1.2rem 2rem;
    display: flex;
    position: relative;
  }

.cra-partner__logo {
    object-fit: contain;
    width: min(100%, 17rem);
    height: 3.35rem;
  }

.cra-partner__identity--dark {
    background: #102f4e;
  }

.cra-partner__identity--dark .cra-partner__location {
    color: #d3e1ef;
  }

.cra-partner__identity--dark .cra-partner__link-icon {
    color: #c1d3e6;
  }

.cra-partner__location {
    color: var(--color-body);
    margin-top: .5rem;
    font-size: .8rem;
  }

.cra-partner__link-icon {
    color: #8c9db3;
    width: 1rem;
    height: 1rem;
    position: absolute;
    top: .9rem;
    right: .9rem;
  }

.cra-partner:hover .cra-partner__identity {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px #13386126;
  }

@media (min-width: 768px) {
    .cra-proof__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

@media (max-width: 767px) {
    .cra-proof__grid {
      grid-template-columns: minmax(0, 1fr);
      gap: 2rem;
      display: grid;
    }

    .cra-partner__identity {
      width: 85%;
      min-height: 7rem;
    }

    .cra-partner {
      padding-bottom: 0;
    }
  }

.cra-ecosystem {
    color: #fff;
    padding-bottom: calc(var(--section-space) * .4);
  }

.cra-ecosystem:after {
    content: "";
    z-index: -1;
    background: linear-gradient(172deg, #0000 0 20%, #fff 20.2%);
    height: 23%;
    position: absolute;
    inset: auto 0 0;
  }

.cra-ecosystem .cra-section__description {
    color: #d1e0f1;
  }

.cra-ecosystem .cra-heading {
    font-size: clamp(2rem, 3.05vw, 3.125rem);
  }

.cra-ecosystem__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.15rem;
    display: grid;
  }

.cra-audience {
    --audience-color: var(--color-learner);
    --audience-tint: #d6e7ff;
    color: var(--color-ink);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
    background: #fff;
    border: 1px solid #e8eff7;
    flex-direction: column;
    padding: 1.5rem 1.15rem;
    display: flex;
  }

.cra-audience--employers {
    --audience-color: var(--color-employer);
    --audience-tint: #ffe0e2;
  }

.cra-audience--educators {
    --audience-color: var(--color-educator);
    --audience-tint: #ffebc9;
  }

.cra-audience--communities {
    --audience-color: var(--color-community);
    --audience-tint: #d1f5e6;
  }

.cra-audience__icon {
    background: var(--audience-tint);
    width: 3.1rem;
    height: 3.1rem;
    color: var(--audience-color);
    border-radius: 50%;
    place-items: center;
    margin-bottom: .85rem;
    display: grid;
  }

.cra-audience__icon .cra-icon {
    width: 1.7rem;
    height: 1.7rem;
  }

.cra-audience__title {
    letter-spacing: -.035em;
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.2;
  }

.cra-audience__description {
    color: #50617d;
    margin: .5rem 0 1rem;
    font-size: .95rem;
    line-height: 1.5;
  }

.cra-audience__photo {
    aspect-ratio: 1.85;
    object-fit: cover;
    border-radius: .55rem;
    width: 100%;
    height: auto;
    margin-top: auto;
  }

.cra-audience--learners .cra-audience__photo {
    object-position: 50% 40%;
  }

.cra-audience--employers .cra-audience__photo {
    object-position: 50% 65%;
  }

.cra-audience--educators .cra-audience__photo {
    object-position: 50% 45%;
  }

.cra-audience--communities .cra-audience__photo {
    object-position: 50% 35%;
  }

.cra-audience__benefits {
    color: #405775;
    flex-direction: column;
    gap: .65rem;
    margin: 1rem 0 0;
    padding: 0;
    font-size: .82rem;
    line-height: 1.5;
    list-style: none;
    display: flex;
  }

.cra-audience__benefits li {
    min-height: 1.4rem;
    padding-left: 2rem;
    position: relative;
  }

.cra-audience__check {
    color: var(--audience-color);
    width: 1.4rem;
    height: 1.4rem;
    position: absolute;
    top: .025em;
    left: 0;
  }

@media (min-width: 640px) {
    .cra-ecosystem__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

@media (min-width: 1024px) {
    .cra-ecosystem__grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

@media (min-width: 1200px) {
    .cra-audience {
      padding: 1.75rem 1.4rem;
    }

    .cra-audience__icon {
      width: clamp(3.25rem, 4.4vw, 4.75rem);
      height: clamp(3.25rem, 4.4vw, 4.75rem);
    }

    .cra-audience__icon .cra-icon {
      width: 55%;
      height: 55%;
    }

    .cra-audience__title {
      font-size: clamp(1.25rem, 1.6vw, 1.75rem);
    }

    .cra-audience__description {
      font-size: clamp(1.125rem, 1.3vw, 1.25rem);
    }

    .cra-audience__benefits {
      font-size: clamp(.875rem, 1.05vw, 1.125rem);
    }

    .cra-audience__benefits li {
      min-height: 1.65rem;
      padding-left: 2.15rem;
    }

    .cra-audience__check {
      width: clamp(1.4rem, 1.5vw, 1.75rem);
      height: clamp(1.4rem, 1.5vw, 1.75rem);
    }
  }

@media (max-width: 1023px) {
    .cra-audience {
      padding: 1.6rem;
    }

    .cra-audience__photo {
      aspect-ratio: 1.95;
      margin-top: auto;
    }

    .cra-ecosystem__grid {
      row-gap: 1.5rem;
    }
  }

@media (max-width: 639px) {
    .cra-audience__photo {
      aspect-ratio: 1.9;
    }

    .cra-audience__description {
      font-size: .95rem;
    }

    .cra-audience__benefits {
      font-size: .875rem;
    }

    .cra-audience__title {
      font-size: 1.3rem;
    }

    .cra-ecosystem__grid {
      max-width: 26rem;
      margin-inline: auto;
    }
  }

.cra-features {
    padding-top: calc(var(--section-space) * .8);
  }

.cra-features__inner {
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: clamp(2.5rem, 4vw, 4.5rem);
    display: grid;
  }

.cra-features .cra-heading {
    font-size: clamp(2.3rem, 3.4vw, 3.5rem);
  }

.cra-features__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0 1.5rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
    display: grid;
  }

.cra-feature {
    border-bottom: 1px solid #e6eef7;
    align-items: flex-start;
    gap: .8rem;
    padding-block: 1.2rem;
    display: flex;
  }

.cra-feature:nth-last-child(-n+2) {
    border-bottom: 0;
  }

.cra-feature__icon {
    color: #0876fa;
    background: #e8f3ff;
    border-radius: 50%;
    flex: none;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    display: grid;
  }

.cra-feature__title {
    letter-spacing: -.025em;
    margin: .1rem 0 .35rem;
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.35;
  }

.cra-feature__description {
    color: #586b86;
    font-size: .875rem;
    line-height: 1.55;
  }

@media (min-width: 640px) {
    .cra-features__list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 0;
    }

    .cra-feature:nth-child(odd) {
      border-right: 1px solid #e6eef7;
      padding-right: 1.25rem;
    }

    .cra-feature:nth-child(2n) {
      padding-left: 1.25rem;
    }
  }

@media (min-width: 1024px) {
    .cra-features__inner {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

@media (min-width: 1200px) {
    .cra-feature__icon {
      width: 3rem;
      height: 3rem;
    }

    .cra-feature__icon .cra-icon {
      width: 1.75rem;
      height: 1.75rem;
    }

    .cra-feature__title {
      font-size: clamp(1rem, 1.12vw, 1.25rem);
    }

    .cra-feature__description {
      font-size: clamp(.9375rem, 1.05vw, 1.125rem);
    }
  }

.cra-showcase {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 2rem 2rem 3.7rem 0;
    position: relative;
  }

.cra-showcase__laptop {
    width: 96%;
    margin-block: 1.5rem 6rem;
    position: relative;
  }

.cra-showcase__screen {
    aspect-ratio: 1.5;
    background: #101114;
    border: 1rem solid #202124;
    border-width: 1rem .65rem;
    border-radius: 1rem 1rem .35rem .35rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 0 0 1px #777, 0 16px 30px #05172d19;
  }

.cra-showcase__screen:before {
    content: "";
    background: #646974;
    border-radius: 50%;
    width: .25rem;
    height: .25rem;
    position: absolute;
    top: -.65rem;
    left: 50%;
  }

.cra-showcase__screen img {
    object-fit: cover;
    object-position: top;
    width: 100%;
    height: 100%;
  }

.cra-showcase__base {
    background: linear-gradient(#e4e8ec, #a7adb6 40%, #4c535e);
    border-radius: .15rem .15rem 60% 60% / .15rem .15rem 100% 100%;
    height: 1.2rem;
    position: absolute;
    bottom: -1rem;
    left: -6%;
    right: -6%;
    box-shadow: 0 10px 12px #152c4926;
  }

.cra-showcase__base:before {
    content: "";
    background: #8e95a0;
    border-radius: 0 0 .4rem .4rem;
    width: 15%;
    height: .3rem;
    margin: 0 auto;
    display: block;
  }

.cra-showcase__phone {
    background: #15171a;
    border: .45rem solid #15171a;
    border-radius: 1.8rem;
    width: 33%;
    position: absolute;
    bottom: 3.8rem;
    right: -.4rem;
    overflow: hidden;
    box-shadow: 0 0 0 1px #666, 0 12px 22px #05172d35;
  }

.cra-showcase__phone:before {
    content: "";
    z-index: 1;
    background: #101113;
    border-radius: 1rem;
    width: 40%;
    height: .6rem;
    position: absolute;
    top: .2rem;
    left: 30%;
  }

.cra-showcase__phone img {
    width: 100%;
    height: auto;
    display: block;
  }

.cra-showcase__caption {
    color: #63748a;
    text-align: center;
    font-size: .75rem;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }

@media (max-width: 1023px) {
    .cra-showcase {
      order: 2;
      max-width: 38rem;
      margin-inline: auto;
    }

    .cra-features__content {
      max-width: 47rem;
      margin-inline: auto;
    }

    .cra-showcase__laptop {
      margin-bottom: 6rem;
    }
  }

@media (max-width: 639px) {
    .cra-feature {
      gap: 1rem;
      padding-block: 1.15rem;
    }

    .cra-feature__title {
      font-size: 1rem;
    }

    .cra-feature__description {
      font-size: .875rem;
    }

    .cra-feature:nth-last-child(2) {
      border-bottom: 1px solid #e6eef7;
    }

    .cra-showcase {
      padding-right: 1.2rem;
    }

    .cra-showcase__phone {
      border-width: .3rem;
      border-radius: 1rem;
      width: 34%;
      right: 0;
    }

    .cra-showcase__screen {
      border-width: .4rem;
      border-radius: .6rem .6rem .2rem .2rem;
    }
  }

.cra-contact {
    color: #fff;
    padding-block: calc(var(--section-space) * .85);
  }

.cra-contact__inner {
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: clamp(2.5rem, 5vw, 6rem);
    display: grid;
  }

@media (min-width: 1024px) {
    .cra-contact__inner {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

.cra-contact__title {
    font-size: clamp(2.5rem, 4.3vw, 4.5rem);
    line-height: 1.1;
  }

.cra-contact .cra-text-accent {
    color: #198fff;
  }

.cra-contact .cra-section__description {
    color: #d1e0f1;
    text-wrap: pretty;
    max-width: 38rem;
    line-height: 1.7;
  }

.cra-contact.cra-wave-surface {
    background-image: linear-gradient(to bottom, transparent 65%, var(--color-navy) 100%), radial-gradient(ellipse at 110% -50%, #0860a3 0, transparent 53%), radial-gradient(ellipse at -15% 125%, #0c66ac 0, transparent 42%);
  }

.cra-contact.cra-wave-surface:before {
    -webkit-mask-image: linear-gradient(#000 65%, #0000 100%);
    mask-image: linear-gradient(#000 65%, #0000 100%);
  }

.cra-footer {
    background: var(--color-navy);
    color: #c3d5e8;
  }

.cra-footer__inner {
    border-top: 1px solid #315578;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    padding-block: 1.6rem 2rem;
    display: flex;
  }

.cra-footer__copyright {
    font-size: .7rem;
    line-height: 1.6;
  }

.cra-footer__links {
    align-items: center;
    gap: 1.2rem;
    font-size: .7rem;
    display: flex;
  }

.cra-footer__link {
    color: inherit;
    font-size: inherit;
    text-underline-offset: 3px;
    background: none;
    border: 0;
    align-items: center;
    gap: .5rem;
    min-height: 2.75rem;
    text-decoration: underline;
    display: inline-flex;
  }

.cra-footer__link:hover {
    color: #fff;
  }

.cra-footer__link .cra-icon {
    width: .9rem;
    height: .9rem;
  }

.cra-footer__separator {
    color: #7c9ab7;
  }

@media (max-width: 767px) {
    .cra-footer__inner {
      flex-direction: column;
      align-items: flex-start;
      gap: .5rem;
    }

    .cra-footer__links {
      flex-wrap: wrap;
      gap: .8rem;
    }
  }

.cra-reveal {
    opacity: 1;
    transition: opacity var(--motion-reveal-duration) var(--motion-ease) var(--reveal-delay, 0s), transform var(--motion-reveal-duration) var(--motion-ease) var(--reveal-delay, 0s);
    transform: none;
  }

.cra-reveal--pending {
    opacity: 0;
    transform: translateY(16px);
  }

.cra-reveal:focus-within {
    opacity: 1;
    transition: none;
    transform: none;
  }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .cra-button .cra-icon {
      transition: transform .22s var(--motion-ease);
    }

    .cra-button:hover .cra-icon, .cra-button:focus-visible .cra-icon {
      transform: translateX(3px);
    }

    .cra-header__link:after {
      transform-origin: 0;
      transition: transform .22s var(--motion-ease);
    }
  }

@media (prefers-reduced-motion: reduce) {
    .cra-reveal, .cra-reveal--pending {
      opacity: 1;
      transition: none;
      transform: none;
    }

    .cra-partner:hover .cra-partner__identity, .cra-button:active {
      transform: none;
    }
  }

@media print {
    .cra-reveal, .cra-reveal--pending {
      opacity: 1;
      transform: none;
    }

    .cra-header[data-sticky="true"] {
      position: relative;
    }
  }

.visible {
    visibility: visible;
  }

.sticky {
    position: sticky;
  }

.contents {
    display: contents;
  }

.hidden {
    display: none;
  }

.inline {
    display: inline;
  }

.shrink {
    flex-shrink: 1;
  }

.transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

.resize {
    resize: both;
  }

.uppercase {
    text-transform: uppercase;
  }

.underline {
    text-decoration-line: underline;
  }

:root {
  --space-xs: .5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-section: clamp(4.25rem, 7vw, 7.25rem);
  --space-gutter: clamp(1.25rem, 5.6vw, 6.25rem);
  --content-width: 100rem;
  --reading-width: 46rem;
  --page-gutter: clamp(1.25rem, 5.6vw, 6.25rem);
  --section-space: clamp(4.25rem, 7vw, 7.25rem);
  --radius-card: 1rem;
  --transition-fast: .18s ease;
  --motion-ease: cubic-bezier(.22, 1, .36, 1);
  --motion-reveal-duration: .56s;
  --motion-header-duration: .28s;
  --shadow-soft: 0 12px 36px #13386117;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme, .cra-contact .cra-gravity-form .gform_wrapper.gravity-theme form {
  margin: 0;
  padding: 0;
}

.cra-gravity-form .gform_heading, .cra-contact .cra-gravity-form .ginput_counter {
  display: none;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gform_fields {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem 1.1rem;
  display: grid;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gfield {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gfield_label {
  color: #fff;
  letter-spacing: normal;
  margin: 0 0 .45rem;
  padding: 0;
  font-family: inherit;
  font-size: .8rem;
  font-weight: 700;
  line-height: 1.4;
  display: block;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gfield_required {
  color: var(--color-action);
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .ginput_container {
  margin: 0;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .ginput_container :is(input, textarea, select) {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: auto;
  min-height: 2.85rem;
  color: var(--color-ink);
  letter-spacing: normal;
  box-shadow: none;
  background: #fff;
  border: 1px solid #b7cce0;
  border-radius: .35rem;
  margin: 0;
  padding: .75rem .85rem;
  font-family: inherit;
  font-size: .82rem;
  font-weight: 400;
  line-height: 1.5;
  display: block;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .ginput_container textarea {
  resize: vertical;
  min-height: 6.5rem;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .ginput_container :is(input, textarea)::placeholder {
  color: #6a778b;
  opacity: 1;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .ginput_container :is(input, textarea, select):focus-visible {
  outline-offset: 3px;
  outline: 3px solid #81c0ff;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .ginput_container [aria-invalid="true"] {
  outline-offset: 1px;
  border-color: #ffb1b7;
  outline: 2px solid #ffb1b7;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gform_footer {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin: 0;
  padding: 0;
  display: flex;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gform_footer .gform_button {
  background: var(--color-action);
  color: #fff;
  letter-spacing: normal;
  text-align: center;
  text-transform: none;
  width: 100%;
  min-height: 3rem;
  box-shadow: none;
  cursor: pointer;
  border: 0;
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  margin: 1.1rem 0 0;
  padding: .8rem 1.9rem;
  font-family: inherit;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.4;
  display: inline-flex;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gform_footer .gform_button:hover {
  background: #c91322;
  box-shadow: 0 6px 20px #e91e2a26;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gform_footer .gform_button:disabled {
  opacity: .6;
  cursor: wait;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gform_footer .gform_button:focus-visible {
  outline-offset: 5px;
  outline: 3px solid #81c0ff;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gfield_description {
  color: #c7dcee;
  margin: .5rem 0 0;
  padding: 0;
  font-size: .75rem;
  line-height: 1.6;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gfield_validation_message {
  color: #ffd4d8;
  background: none;
  border: 0;
  margin: .5rem 0 0;
  padding: 0;
  font-size: .75rem;
  font-weight: 600;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gform_validation_errors {
  box-shadow: none;
  background: #123e62;
  border: 1px solid #ffb1b7;
  border-radius: .4rem;
  margin: 0 0 1rem;
  padding: .9rem;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gform_validation_errors :is(h2, li, a) {
  color: #ffd4d8;
  letter-spacing: normal;
  font-family: inherit;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.6;
}

.cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gform_validation_errors .gform-icon {
  display: none;
}

.cra-gravity-form .gform_confirmation_message {
  color: #fff;
  font-size: 1rem;
  line-height: 1.7;
}

.cra-gravity-form .gform_confirmation_wrapper {
  margin: 0;
}

.cra-gravity-form .gform_ajax_spinner {
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
}

@media (min-width: 640px) {
  .cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gfield--width-half {
    grid-column: span 6;
  }
}

@media (min-width: 1200px) {
  .cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gfield_label {
    font-size: .9375rem;
  }

  .cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .ginput_container :is(input, textarea, select) {
    font-size: 1rem;
  }

  .cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gfield_description {
    font-size: .875rem;
  }
}

@media (max-width: 767px) {
  .cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .ginput_container :is(input, textarea, select) {
    font-size: 1rem;
  }

  .cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gfield .ginput_container input:is([type="text"], [type="email"]) {
    line-height: 1.5;
  }
}

@media (max-width: 639px) {
  .cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .ginput_container textarea {
    min-height: 10.5rem;
  }

  .cra-contact .cra-gravity-form .gform_wrapper.gravity-theme .gform_footer .gform_button {
    gap: 1rem;
    padding-inline: 1.4rem;
  }
}

body, .editor-styles-wrapper {
  --font-sans: var(--wp--preset--font-family--sans, "Plus Jakarta Sans Variable", "Arial", sans-serif);
  --color-ink: var(--wp--preset--color--ink, #061d43);
  --color-body: var(--wp--preset--color--body, #35496c);
  --color-brand: var(--wp--preset--color--brand, #006bff);
  --color-action: var(--wp--preset--color--action, #e51c28);
  --color-navy: var(--wp--preset--color--navy, #052c50);
  --color-mist: var(--wp--preset--color--mist, #edf6ff);
  --color-sky: var(--wp--preset--color--sky, #dfedff);
  --color-line: var(--wp--preset--color--line, #dfe8f3);
  --color-learner: var(--wp--preset--color--learner, #187dff);
  --color-employer: var(--wp--preset--color--employer, #ff202d);
  --color-educator: var(--wp--preset--color--educator, #ffad00);
  --color-community: var(--wp--preset--color--community, #00b879);
  --color-white: var(--wp--preset--color--white, #fff);
  --text-small: var(--wp--preset--font-size--small, .875rem);
  --text-body: var(--wp--preset--font-size--body, 1rem);
  --text-lead: var(--wp--preset--font-size--lead, clamp(1rem, 1.35vw, 1.25rem));
  --text-heading: var(--wp--preset--font-size--heading, clamp(2rem, 3.15vw, 3.125rem));
  --text-heading-large: var(--wp--preset--font-size--heading-large, clamp(2.4rem, 3.75vw, 3.75rem));
  --text-display: var(--wp--preset--font-size--display, clamp(3.4rem, 6.2vw, 7rem));
  --space-xs: var(--wp--preset--spacing--xs, .5rem);
  --space-sm: var(--wp--preset--spacing--sm, 1rem);
  --space-md: var(--wp--preset--spacing--md, 1.5rem);
  --space-lg: var(--wp--preset--spacing--lg, 2rem);
  --space-xl: var(--wp--preset--spacing--xl, 3rem);
  --space-section: var(--wp--preset--spacing--section, clamp(4.25rem, 7vw, 7.25rem));
  --space-gutter: var(--wp--preset--spacing--gutter, clamp(1.25rem, 5.6vw, 6.25rem));
  --content-width: var(--wp--style--global--wide-size, 100rem);
  --reading-width: var(--wp--style--global--content-size, 46rem);
  --page-gutter: var(--wp--preset--spacing--gutter, clamp(1.25rem, 5.6vw, 6.25rem));
  --section-space: var(--wp--preset--spacing--section, clamp(4.25rem, 7vw, 7.25rem));
  --radius-card: var(--wp--custom--cra--radius-card, 1rem);
  --transition-fast: var(--wp--custom--cra--transition-fast, .18s ease);
  --motion-ease: var(--wp--custom--cra--motion-ease, cubic-bezier(.22, 1, .36, 1));
  --motion-reveal-duration: var(--wp--custom--cra--motion-reveal-duration, .56s);
  --motion-header-duration: var(--wp--custom--cra--motion-header-duration, .28s);
  --shadow-soft: var(--wp--preset--shadow--soft, 0 12px 36px #13386117);
}

.cra-site .wp-site-blocks {
  padding: 0;
}

.cra-site .wp-site-blocks > *, .cra-site .cra-main:not(.cra-prose) > .wp-block-post-content > * {
  margin-block: 0;
}

.cra-site .cra-site-header-part {
  display: contents;
}

.cra-site .cra-main {
  margin: 0;
}

.cra-site .cra-header[data-sticky="true"] {
  top: var(--wp-admin--admin-bar--height, 0px);
}

.cra-brand__image {
  object-fit: contain;
  width: auto;
  max-width: min(20rem, 45vw);
  height: 4.6rem;
}

.cra-brand__logo {
  aspect-ratio: 280 / 83.776;
  width: clamp(13rem, 18.5vw, 15rem);
  height: auto;
  display: block;
}

.cra-prose {
  padding: var(--section-space) var(--page-gutter);
  min-height: 55vh;
}

.cra-prose > *, .cra-prose > .wp-block-post-content > * {
  max-width: var(--wp--style--global--content-size, 48rem);
  margin-inline: auto;
}

.cra-prose > .wp-block-post-content, .cra-prose > .wp-block-query {
  max-width: none;
}

.cra-prose :where(h1, h2, h3, h4) {
  color: var(--color-ink);
  margin-block: 1.5em .65em;
  font-weight: 800;
  line-height: 1.2;
}

.cra-prose :where(h1) {
  margin-block-start: 0;
  font-size: clamp(2rem, 4vw, 3.5rem);
}

.cra-prose :where(h2) {
  font-size: clamp(1.65rem, 3vw, 2.5rem);
}

.cra-prose :where(h3) {
  font-size: 1.4rem;
}

.cra-prose :where(p, ul, ol, blockquote) {
  color: var(--color-body);
  margin-block: 0 1.5rem;
  line-height: 1.8;
}

.cra-prose :where(ul, ol) {
  padding-inline-start: 1.5rem;
}

.cra-prose :where(ul) {
  list-style: outside;
}

.cra-prose :where(ol) {
  list-style: decimal;
}

.cra-prose a {
  color: var(--color-brand);
  text-underline-offset: .2em;
  text-decoration: underline;
}

.cra-prose :where(input, textarea) {
  border: 1px solid var(--color-line);
  background: #fff;
  border-radius: .35rem;
  padding: .75rem;
}

.cra-prose .wp-block-search__button {
  background: var(--color-action);
  color: #fff;
  border: 0;
  border-radius: .35rem;
  padding: .75rem 1.25rem;
}

.cra-prose .wp-block-post-template {
  padding: 0;
  list-style: none;
}

.cra-prose .wp-block-post-template > li {
  max-width: var(--wp--style--global--content-size, 48rem);
  margin: 0 auto 3rem;
}

.editor-styles-wrapper .cra-header {
  position: relative !important;
  top: auto !important;
}

.editor-styles-wrapper .cra-skip-link {
  display: none;
}

.editor-styles-wrapper .cra-header__nav {
  display: flex !important;
}

.editor-styles-wrapper [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
}

.editor-styles-wrapper .acf-block-preview:is(.wp-block-acf-cra-hero, .wp-block-acf-cra-vision, .wp-block-acf-cra-proof, .wp-block-acf-cra-ecosystem, .wp-block-acf-cra-features, .wp-block-acf-cra-contact) {
  width: 100%;
  max-width: none;
  margin: 0;
}

@media (max-width: 1023px) {
  .cra-brand__image {
    max-width: 60vw;
    height: 2.65rem;
  }

  .cra-brand__logo {
    width: 10rem;
  }

  .cra-site .cra-header[data-enhanced="true"] .cra-header__nav {
    max-height: calc(100dvh - 6rem - var(--wp-admin--admin-bar--height, 0px));
  }
}

@media (max-width: 600px) {
  .cra-site .cra-header[data-sticky="true"] {
    top: 0;
  }
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}
