:root {
    --min-screen-width: 320px;
    --max-screen-width: 1400px;
    --primary: #29DFCD;
    --primary-5: #29dfcd0d;
    --primary-10: #29dfcd1a;
    --primary-20: #29dfcd33;
    --primary-30: #29dfcd4d;
    --primary-40: #29dfcd66;
    --primary-50: #29dfcd80;
    --primary-60: #29dfcd99;
    --primary-70: #29dfcdb3;
    --primary-80: #29dfcdcc;
    --primary-90: #29dfcde6;
    --primary-d-1: #2cafa2;
    --primary-d-2: #288076;
    --primary-d-3: #21544e;
    --primary-d-4: #172c29;
    --primary-l-1: #6fe7d7;
    --primary-l-2: #97ede0;
    --primary-l-3: #bef4eb;
    --primary-l-4: #e1faf5;
    --secondary: #47F687;
    --secondary-5: #47f6870d;
    --secondary-10: #47f6871a;
    --secondary-20: #47f68733;
    --secondary-30: #47f6874d;
    --secondary-40: #47f68766;
    --secondary-50: #47f68780;
    --secondary-60: #47f68799;
    --secondary-70: #47f687b3;
    --secondary-80: #47f687cc;
    --secondary-90: #47f687e6;
    --secondary-d-1: #3ec16c;
    --secondary-d-2: #348d51;
    --secondary-d-3: #285d37;
    --secondary-d-4: #192f1e;
    --secondary-l-1: #7bf99f;
    --secondary-l-2: #a1fcb7;
    --secondary-l-3: #c4fdcf;
    --secondary-l-4: #e1ffe6;
    --bg-secondary: #ECFEF2;
    --text-detail: #74766F;
    --text-body: #343430;
    --text-header: #000000;
    --text-body-white: rgba(255, 255, 255, .96);
    --neutral: #343430;
    --neutral-5: #3434300d;
    --neutral-10: #3434301a;
    --neutral-20: #34343033;
    --neutral-30: #3434304d;
    --neutral-40: #34343066;
    --neutral-50: #34343080;
    --neutral-60: #34343099;
    --neutral-70: #343430b3;
    --neutral-80: #343430cc;
    --neutral-90: #343430e6;
    --neutral-d-1: #282825;
    --neutral-d-2: #1d1d1b;
    --neutral-d-3: #121211;
    --neutral-l-1: #4e4e4b;
    --neutral-l-2: #686864;
    --neutral-l-3: #838381;
    --neutral-l-4: #a2a2a0;
    --neutral-l-5: #c0c0bf;
    --neutral-l-6: #dedede;
    --black: #000;
    --black-5: #0000000d;
    --black-10: #0000001a;
    --black-20: #00000033;
    --black-30: #0000004d;
    --black-40: #00000066;
    --black-50: #00000080;
    --black-60: #00000099;
    --black-70: #000000b3;
    --black-80: #000000cc;
    --black-90: #000000e6;
    --white: #fff;
    --white-5: #ffffff0d;
    --white-10: #ffffff1a;
    --white-20: #ffffff33;
    --white-30: #ffffff4d;
    --white-40: #ffffff66;
    --white-50: #ffffff80;
    --white-60: #ffffff99;
    --white-70: #ffffffb3;
    --white-80: #ffffffcc;
    --white-90: #ffffffe6;
    --border-color: #E3E3E3;
    --success-bg: #d3efcf;
    --success-bg-d-1: #b3d3ae;
    --success-bg-d-2: #637061;
    --success-bg-d-3: #333932;
    --success: #27771D;
    --error-bg: #fff1f4;
    --error-bg-d-1: #b8adaf;
    --error-bg-d-2: #766f71;
    --error-bg-d-3: #3c393a;
    --error: #cd2340;
    --space-4xs: clamp(0.45rem, calc(0.18vw + 0.41rem), 0.57rem);
    --space-3xs: clamp(0.56rem, calc(0.23vw + 0.52rem), 0.72rem);
    --space-2xs: clamp(0.7rem, calc(0.28vw + 0.65rem), 0.9rem);
    --space-xs: clamp(0.88rem, calc(0.36vw + 0.81rem), 1.12rem);
    --space-s: clamp(1.1rem, calc(0.44vw + 1.01rem), 1.4rem);
    --space-m: clamp(1.38rem, calc(0.56vw + 1.26rem), 1.75rem);
    --space-l: clamp(1.72rem, calc(0.69vw + 1.58rem), 2.19rem);
    --space-xl: clamp(2.15rem, calc(0.87vw + 1.98rem), 2.73rem);
    --space-2xl: clamp(2.69rem, calc(1.09vw + 2.47rem), 3.42rem);
    --space-3xl: clamp(3.36rem, calc(1.36vw + 3.09rem), 4.27rem);
    --space-4xl: clamp(4.2rem, calc(1.7vw + 3.86rem), 5.34rem);
    --space-5xl: clamp(5.25rem, calc(2.12vw + 4.82rem), 6.68rem);
    --space-6xl: clamp(6.56rem, calc(2.65vw + 6.03rem), 8.34rem);
    --space-7xl: clamp(8.2rem, calc(3.31vw + 7.53rem), 10.43rem);
    --space-8xl: clamp(10.24rem, calc(4.14vw + 9.42rem), 13.04rem);
    --text-xs: clamp(0.64rem, calc(0.12vw + 0.62rem), 0.72rem);
    --text-s: clamp(0.8rem, calc(0.15vw + 0.77rem), 0.9rem);
    --text-m: clamp(1rem, calc(0.19vw + 0.96rem), 1.13rem);
    --text-l: clamp(1.25rem, calc(0.23vw + 1.2rem), 1.41rem);
    --text-xl: clamp(1.56rem, calc(0.29vw + 1.5rem), 1.76rem);
    --text-2xl: clamp(1.95rem, calc(0.36vw + 1.88rem), 2.2rem);
    --text-3xl: clamp(2.44rem, calc(0.45vw + 2.35rem), 2.75rem);
    --text-4xl: clamp(3.05rem, calc(0.57vw + 2.94rem), 3.43rem);
    --text-5xl: clamp(3.81rem, calc(0.71vw + 3.67rem), 4.29rem);
    --section-padding: var(--space-5xl);
    --gutter: clamp(.75rem,calc(3vw + 0.1553677932rem),2.75rem);
    --transition: all .3s ease;
}
/* Color System */
/* Fluid Spacing */
/* Fluid Typography */
/* Type */
body {
    font-family: var(--body-typeface);
    color: var(--text-body);
    line-height: 1.5;
    font-size: var(--text-m);
}
H1, H2, H3, H4, H5, H6 {
    font-family: var(--header-typeface);
    color: var(--text-header);
}
H1 {
    font-size: var(--text-5xl);
    line-height: 100%;
    font-weight: 700;
}
H2 {
    font-size: var(--text-3xl);
    line-height: 1.1;
    font-weight: 700;
}
H3 {
    font-size: var(--text-2xl);
    line-height: 1.2;
    font-weight: 700;
}
H4 {
    font-size: var(--text-xl);
    line-height: 1.3;
    font-weight: 700;
}
H5 {
    font-size: var(--text-l);
    line-height: 1.3;
    font-weight: 700;
}
H6 {
    font-size: var(--text-m);
    line-height: 1.4;
}
/* Headers */
/* Typefaces */
/* Contextual Spacing Classes */
.brxe-section {
    padding: var(--section-padding) var(--gutter);
}
/* Contextual Spacing */
/*  */
/* Border Radius */
/* Transition */
@media (max-width: 768px) {
    H1 {
        font-size: var(--text-4xl);
        line-height: 1.05;
    }
    H2 {
        font-size: var(--text-2xl);
        line-height: 1.2;
    }
}
@media (max-width: 480px) {
    :root {
        --section-padding: var(--space-3xl);
    }
}
@media (prefers-reduced-motion: reduce) {
    *,
    ::before,
    ::after {
        animation-delay: -1ms !important;
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        background-attachment: initial !important;
        scroll-behavior: auto !important;
        transition-duration: 0s !important;
        transition-delay: 0s !important;
    }
}

/* Custom Stylesheets */
/* === Form Messages === */

.brxe-form .message {
  border: 1px solid gray;
}

.brxe-form .message.success {
    background-color: var(--success-bg);
    border-color: var(--success-bg-d-1);
    color: var(--success);
}

.brxe-form .message.error {
    background-color: var(--error-bg);
    border-color: var(--error-bg-d-1);
    color: var(--error);
    
}



/* === Misc === */

.brxe-container {
  width: var(--max-screen-width);
}

.skip-link:focus-visible {
  clip: auto;
  height: auto;
  width: fit-content;
  overflow: visible;
  z-index: 10001;
}

:where(.brxe-form) .required:after {
  color: var(--error);
}