:root {
    --ff-primary:
        'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont,
        'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --ff-secondary:
        'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI',
        Roboto, 'Helvetica Neue', Arial, sans-serif;
    --min-screen-width: 480px;
    --max-screen-width: 1280px;
    --page-width-full: 1920px;
    --page-width: var(--max-screen-width);
    --page-width--s: 60rem;
    --page-width--xs: 45rem;
    --primary-0: #ffffff;
    --primary-50: #f1f7fe;
    --primary-100: #e2effc;
    --primary-200: #bfdcf8;
    --primary-300: #87c2f2;
    --primary-400: #47a1e9;
    --primary-500: #1f86d8;
    --primary-600: #1061aa;
    --primary-700: #0f5395;
    --primary-800: #11487b;
    --primary-900: #143d66;
    --primary-950: #0d2744;
    --primary-default: var(--primary-600);
    --secondary-default: #ff8c00;
    --secondary-light: #ffa40a;
    --neutral-50: #f5f7fa;
    --neutral-100: #ebeef3;
    --neutral-200: #d2d9e5;
    --neutral-300: #abbbce;
    --neutral-400: #7e96b2;
    --neutral-500: #5e7999;
    --neutral-600: #4a607f;
    --neutral-700: #3c4d68;
    --neutral-800: #344256;
    --neutral-900: #303b4a;
    --neutral-950: #202631;
    --success: #2ecc71;
    --error: #f73e3e;
    --info-light: #fff1ca;
    --info-d-1: #a58222;
    --info-d-2: #6b551c;
    --info-d-3: #372c14;
    --info-l-1: #edc564;
    --info-l-2: #f6d898;
    --info-l-3: #fff1ca;
    --bg-dark: var(--primary-950);
    --bg-light: var(--primary-50);
    --bg-light-alt: var(--primary-100);
    --bg-primary: var(--primary-default);
    --bg-secondary: var(--secondary-default);
    --action-primary: var(--primary-default);
    --action-primary-hover: var(--primary-500);
    --action-secondary: var(--secondary-default);
    --action-secondary-hover: var(--secondary-light);
    --action-light: var(--primary-50);
    --action-light-hover: var(--primary-200);
    --action-dark: var(--primary-950);
    --action-dark-hover: var(--primary-default);
    --text-dark: var(--neutral-800);
    --text-light: var(--primary-50);
    --text-primary: var(--primary-default);
    --heading-dark: var(--neutral-950);
    --heading-light: var(--primary-100);
    --heading-primary: var(--primary-default);
    --border-dark: var(--neutral-600);
    --border-light: var(--primary-200);
    --border-primary: var(--primary-default);
    --border-light-alt: var(--primary-200);
    --space-4xs: clamp(0.13rem, calc(0vw + 0.13rem), 0.13rem);
    --space-3xs: clamp(0.25rem, calc(0vw + 0.25rem), 0.25rem);
    --space-2xs: clamp(0.5rem, calc(0vw + 0.5rem), 0.5rem);
    --space-xs: clamp(0.75rem, calc(0vw + 0.75rem), 0.75rem);
    --space-s: clamp(1rem, calc(0vw + 1rem), 1rem);
    --space-m: clamp(1.5rem, calc(0vw + 1.5rem), 1.5rem);
    --space-l: clamp(2rem, calc(0vw + 2rem), 2rem);
    --space-xl: clamp(2rem, calc(1.25vw + 1.63rem), 2.63rem);
    --space-2xl: clamp(2rem, calc(4vw + 0.8rem), 4rem);
    --space-3xl: clamp(2.63rem, calc(3.75vw + 1.5rem), 4.5rem);
    --space-4xl: clamp(4.5rem, calc(6vw + 2.7rem), 7.5rem);
    --text-2xs: clamp(0.75rem, calc(0vw + 0.75rem), 0.75rem);
    --text-xs: clamp(0.88rem, calc(0vw + 0.88rem), 0.88rem);
    --text-s: clamp(1rem, calc(0vw + 1rem), 1rem);
    --text-m: clamp(1.13rem, calc(0vw + 1.13rem), 1.13rem);
    --text-l: clamp(1.13rem, calc(0.25vw + 1.05rem), 1.25rem);
    --text-xl: clamp(1.25rem, calc(0.25vw + 1.18rem), 1.38rem);
    --text-2xl: clamp(1.38rem, calc(0.25vw + 1.3rem), 1.5rem);
    --display: clamp(2.25rem, calc(3.5vw + 1.2rem), 4rem);
    --h1: clamp(2.25rem, calc(1.63vw + 1.76rem), 3.06rem);
    --h2: clamp(1.94rem, calc(1vw + 1.64rem), 2.44rem);
    --h3: clamp(1.56rem, calc(0.75vw + 1.34rem), 1.94rem);
    --h4: clamp(1.25rem, calc(0.63vw + 1.06rem), 1.56rem);
    --h5: clamp(1.13rem, calc(0.5vw + 0.97rem), 1.25rem);
    --h6: clamp(1.13rem, calc(0vw + 1.13rem), 1.13rem);
    --font-300: 300;
    --font-400: 400;
    --font-500: 500;
    --font-600: 600;
    --font-700: 700;
    --link-font-weight: var(--font-600);
    --line-height-xs: 1;
    --line-height-s: 1.2;
    --line-height-m: 1.3;
    --line-height-l: 1.4;
    --line-height-xl: 1.7;
    --section-space-x: clamp(1.5rem, calc(2.25vw + 0.82rem), 2.63rem);
    --section-space-s: var(--space-xl);
    --section-space-m: var(--space-2xl);
    --section-space-l: var(--space-3xl);
    --section-space-xl: var(--space-4xl);
    --columns-1: repeat(1, minmax(0, 1fr));
    --columns-2: repeat(2, minmax(0, 1fr));
    --columns-3: repeat(3, minmax(0, 1fr));
    --columns-4: repeat(4, minmax(0, 1fr));
    --columns-5: repeat(5, minmax(0, 1fr));
    --columns-6: repeat(6, minmax(0, 1fr));
    --columns-7: repeat(7, minmax(0, 1fr));
    --columns-8: repeat(8, minmax(0, 1fr));
    --grid-2: 1fr 1fr;
    --grid-3: repeat(3, 1fr);
    --grid-4: repeat(4, 1fr);
    --grid-5: repeat(5, 1fr);
    --grid-6: repeat(6, 1fr);
    --grid-3-1: 3fr 1fr;
    --grid-auto-2: repeat(auto-fit, minmax(min(450px, 100%), 1fr));
    --grid-auto-3: repeat(auto-fit, minmax(min(330px, 100%), 1fr));
    --grid-auto-4: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
    --grid-gap: var(--space-m);
    --full-width: 100%;
    --max-width-30: 30rem;
    --max-width-40: 40rem;
    --max-width-50: 50rem;
    --max-width-60: 60rem;
    --radius-xs: 0.125rem;
    --radius-s: 0.25rem;
    --radius-m: 0.5rem;
    --radius-l: 0.75rem;
    --radius-xl: 1.25rem;
    --radius-full: 999rem;
    --transition-global: all 0.3s ease-in-out;
    --shadow-s: 0 0px 20px 0 rgba(0, 0, 0, 0.12);
    --shadow-m:
        0px 2.826px 6.36px -2.12px rgba(24, 39, 75, 0.12),
        0px 4.24px 14.839px -1.413px rgba(24, 39, 75, 0.12);
    --shadow-l: 0 5px 30px hsla(0, 0%, 0%, 0.15);
    --card-radius: var(--radius-l);
    --image-radius: var(--radius-l);
}

/* :root.cf-theme-dark,
:root.cf-theme-light .theme-inverted,
:root.cf-theme-light .theme-always-dark,
:root.cf-theme-dark .theme-inverted .theme-always-dark {
	--primary-0: #ffffff;
	--primary-50: #f2f1ff;
	--primary-100: #e9e5ff;
	--primary-200: #d6ceff;
	--primary-300: #b9a7ff;
	--primary-400: #9775ff;
	--primary-500: #783dff;
	--primary-600: #6a16ff;
	--primary-700: #5b04fd;
	--primary-800: #5b04fd;
	--primary-900: #4105ad;
	--primary-950: #240076;
	--primary-default: #c9035f;
	--neutral-50: #f0f4f8;
	--neutral-100: #d9e2ec;
	--neutral-200: #bcccdc;
	--neutral-300: #9fb3c8;
	--neutral-400: #829ab1;
	--neutral-500: #627d98;
	--neutral-600: #486581;
	--neutral-700: #334e68;
	--neutral-800: #243b53;
	--neutral-900: #102a43;
	--neutral-950: #081521;
	--info: #e2b226;
	--bg-dark: #ae5ba9;
	--bg-light: #92076b;
	--bg-light-alt: #000000;
	--bg-primary: #15aca5;
	--bg-secondary: #7c7986;
	--action-primary: #d7ab3c;
	--action-primary-hover: #5b04fd;
	--action-secondary: #aadad2;
	--action-secondary-hover: #aadad2;
	--action-light: #aadad2;
	--action-light-hover: #aadad2;
	--action-dark: #102a43;
	--action-dark-hover: #564a7d;
	--text-dark: #243b53;
	--text-light: #2fd0ad;
	--text-primary: #000000;
	--heading-dark: #161b1d;
	--heading-light: #a82977;
	--heading-primary: #783dff;
	--border-dark: #c45490;
	--border-light: #984af7;
	--border-primary: #d5993f;
	--border-light-alt: #70a428;
} */

html:not(.wp-toolbar):not([data-theme]) {
    max-width: 1920px;
    margin: auto;
    box-shadow: 0px 0px 40px -8px rgb(0 0 0 / 0.05);
}

/* ===== Global defaults ===== */
html,
body {
    font-family: var(--ff-secondary);
    color: var(--text-dark);
}

body {
    font-size: var(--text-m);
    line-height: var(--line-height-xl);
    font-weight: var(--font-400);
    min-height: 100vh;
}

section {
    gap: var(--space-xl);
}
.brxe-container {
    gap: var(--space-m);
}

.container__inner {
    max-width: var(--page-width--s);
    gap: var(--space-m);
}

/* normalize spacing and apply heading color */
h1,
h2,
h3,
h4,
h5,
h6,
.display {
    font-family: var(--ff-primary);
    color: var(--heading-dark);
    font-weight: var(--font-700);
}
/* H1 */
.display {
    font-size: var(--display);
    line-height: var(--line-height-s); /* ~120% */
    font-weight: var(--font-700);
    letter-spacing: 0.1px;
}
h1,
.h1 {
    font-size: var(--h1);
    line-height: var(--line-height-s);
    letter-spacing: 0.1px;
}

/* H2 */
h2,
.h2 {
    font-size: var(--h2);
    line-height: var(--line-height-m);
    letter-spacing: 0.1px;
}

/* H3 */
h3,
.h3 {
    font-size: var(--h3);
    line-height: var(--line-height-m);
}

/* H4 */
h4,
.h4 {
    font-size: var(--h4);
    line-height: var(--line-height-l);
}

/* H5 */
h5,
.h5 {
    font-size: var(--h5);
    line-height: var(--line-height-l);
}

/* H6 */
h6,
.h6 {
    font-size: var(--h6);
    line-height: var(--line-height-l);
}

/* ===== Font utility classes ===== */
.ff-primary {
    font-family: var(--ff-primary);
}

.ff-secondary {
    font-family: var(--ff-secondary);
}

/* ===== Text size utilities ===== */

.text-2xs {
    font-size: var(--text-2xs);
}

.text-xs {
    font-size: var(--text-xs);
}

.text-s {
    font-size: var(--text-s);
}

.text-m {
    font-size: var(--text-m);
}

.text-l {
    font-size: var(--text-l);
}

.text-xl {
    font-size: var(--text-xl);
}

.text-2xl {
    font-size: var(--text-2xl);
}
/* GENERAL */
b,
strong {
    font-weight: var(--font-700);
    color: inherit;
}

img {
    max-width: 100%;
    height: auto;
}

figure {
    margin: 1.5em 0 1.5em 0;
}

a {
    transition: var(--transition-global);
}
code {
    background-color: var(--primary-100);
    color: #f211a6;
    font-family: ui-monospace, monospace;
    padding: var(--space-3xs);
    border-radius: var(--radius-xs);
    font-weight: var(--font-500);
    white-space: nowrap;
    display: inline-block;
}

/* INNER CONTENT */
/*Links in text*/
.inner-content a:not(.wp-block-button__link) {
    font-weight: var(--link-font-weight);
    color: var(--action-primary);
    text-decoration: underline;
}

.inner-content a:not(.wp-block-button__link):hover {
    color: var(--action-primary-hover);
}

/* Adds a top margin to all headings within .inner-content */
.inner-content h1,
.inner-content h2,
.inner-content h3,
.inner-content h4,
.inner-content h5,
.inner-content h6 {
    margin-top: var(--space-xl);
    margin-bottom: var(--space-m);
    text-transform: capitalize;
}

/*INNER CONTENT IMAGES e.g. Smile gallery page*/
.inner-content figure,
.inner-content figure img {
    border-radius: var(--image-radius);
    overflow: hidden;
}

/* Removes the top margin if the heading is the first element within .inner-content */
.inner-content > :first-child {
    margin-top: 0;
}

/* Removes margin-bottom if the element is the last child of .inner-content and .inner-content is the last child of its parent */
.inner-content > :last-child:last-of-type {
    margin-bottom: 0;
}

.inner-content ul,
.inner-content ol {
    margin-block: var(--space-s) !important;
}

/* BULLETLISTS Base Styles for Lists */
.list-fill ul,
.list-none ul,
.list-chevron ul,
.list-chevron-light ul {
    list-style: none;
    padding-left: 0;
    margin-right: 0;
    margin-left: 0;
}

.list-chevron ul li,
.list-chevron-light ul li {
    list-style: none;
    position: relative;
    padding-left: 1.2rem;
    line-height: 1.5;
}

/* Remove margin from the last list item */
.list-fill ul li:not(:last-child),
.list-none ul li:not(:last-child),
.list-chevron ul li:not(:last-child),
.list-chevron-light ul li:not(:last-child) {
    padding-bottom: var(--space-s);
}

/* CHEVRONS */

/* Common Chevron styles */
.list-chevron ul li:before,
.list-chevron-light ul li:before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    transform: translateY(-50%) rotate(-45deg);
    left: 0;
    top: 0.75em;
    border-bottom: 2px solid;
    border-right: 2px solid;
}

/* Specific Chevron styles */

.list-chevron ul li:before {
    border-bottom-color: var(--border-primary);
    border-right-color: var(--border-primary);
}

.list-chevron-light ul li:before {
    border-bottom-color: var(--secondary);
    border-right-color: var(--secondary);
}

/* Chevron Fill */
.list-fill ul li {
    padding-left: 2rem;
    list-style: none;
    position: relative;
    line-height: 1.7;
}

/* To change color, update 6 last digits in "fill=%23" with 6 hex numbers. %23 stays as is */
.list-fill ul li:before {
    content: '';
    position: absolute;
    left: 0px;
    top: 0.25em;
    height: 1.2em;
    width: 1.2em;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0 center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2300A1E1' width='20px' height='20px'%3E%3Cpath d='M22 12a10 10 0 0 1-10 10A10 10 0 0 1 2 12A10 10 0 0 1 12 2a10 10 0 0 1 10 10m-12 6l6-6l-6-6l-1.4 1.4l4.6 4.6l-4.6 4.6L10 18Z'/%3E%3C/svg%3E");
}

/* Numbered List */
.list-numbered ol {
    --size: 1.5rem;
    counter-reset: awesome-counter;
    list-style: none;
    padding-left: 2.125rem; /* 34px */
}

.list-numbered ol li {
    margin: 0 0 0.75rem 0;
    counter-increment: awesome-counter;
    position: relative;
}

.list-numbered ol li:before {
    content: counter(awesome-counter);
    color: var(--text-light);
    font-size: 0.78rem;
    font-weight: var(--font-500);
    position: absolute;
    left: calc(-1 * var(--size) - 10px);
    line-height: var(--size);
    width: var(--size);
    height: var(--size);
    top: 0.25em;
    background: var(--primary-default);
    border-radius: 50%;
    text-align: center;
}

.list-chevron-new {
    --icon-url: url('/wp-content/uploads/icon-check.svg');
    --icon-color: var(--primary-default);
    --icon-offset: 0 0.3ex;
    --icon-size: 1.2em;
    --icon-gap: 0.5em;
    --icon-display: flex;
    --list-indent: 0;
}

.list-chevron-new ul {
    list-style: none;
    padding: 0;
    margin: var(--list-indent);
}

.list-chevron-new ul li:not(.item) {
    /* display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--icon-gap);
    line-height: 1.5;
    margin-bottom: var(--space-s); */
    display: list-item;
    padding-left: 2rem;
    position: relative;
    line-height: 1.5;
    margin-bottom: var(--space-s);
}

.list-chevron-new ul li:last-of-type {
    margin-bottom: 0;
}

.list-chevron-new ul li::before {
    content: '';
    display: var(--icon-display);
    inline-size: var(--icon-size);
    block-size: var(--icon-size);
    background-color: var(--icon-color);
    -webkit-mask-image: var(--icon-url);
    mask-image: var(--icon-url);
    mask-size: cover;
    translate: var(--icon-offset);
}

.liest-chevron-new-fill ul li {
    gap: calc(var(--icon-gap) * 1.4);
}

.list-chevron-new ul li:not(.item)::before,
.list-chevron-new ul li:not(.item)::after{
      translate: var(--icon-offset);
    position: absolute;
    top: 0;
    left: 0;
}

.liest-chevron-new-fill ul li::before {
    background-color: var(--primary-0);
    position: relative;
    z-index: 1;
}

.liest-chevron-new-fill ul li::after {
    content: '';
    display: var(--icon-display);
    inline-size: var(--icon-size);
    block-size: var(--icon-size);
    background-color: var(--primary-default);
    translate: var(--icon-offset);
    border-radius: 100%;
    position: absolute;
    z-index: 0;
}

/* GUTENBERG FIXES */
.wp-block-image picture {
    height: 100%;
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
    flex-grow: 0;
}

.wp-block-column figure,
.wp-block-column figure img,
.wp-block-group figure,
.wp-block-group figure img {
    width: 100% !important;
}

/* Targeting Gutenberg Button 
./* Apply btn styles
.wp-block-button__link.wp-element-button {
  all: unset;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--btn-gap);
  padding: var(--btn-padding);
  border: var(--btn-border-width) solid transparent;
  border-radius: var(--btn-border-radius);
  font-family: var(--btn-font-family);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  line-height: var(--btn-line-height);
  text-transform: var(--btn-text-transform);
  letter-spacing: var(--btn-letter-spacing);
  background-color: var(--btn-bg);
  color: var(--btn-color);
  text-decoration: none;
  transition: var(--transition-global);
  cursor: pointer;
}


.wp-block-button__link.wp-element-button:hover {
  background-color: var(--btn-bg-hover);
}
 */
/*PERMATTERS - VIDEO EMBED FIX for large gaps*/
.wp-has-aspect-ratio .wp-block-embed__wrapper {
    position: relative;
}
.wp-has-aspect-ratio .perfmatters-lazy-youtube {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-bottom: 0;
}

/* GUTENBERG FIXES END */
/* HERO BG IMAGE POSITION */

[data-bg-position='Left Top'] img {
    object-position: 20% 20%;
}

[data-bg-position='Left Center'] img {
    object-position: 20% 40%;
}

[data-bg-position='Left Bottom'] img {
    object-position: 20% 80%;
}

[data-bg-position='Center Top'] img {
    object-position: 50% 20%;
}

[data-bg-position='Center Center'] img {
    object-position: 50% 40%;
}

[data-bg-position='Center Bottom'] img {
    object-position: 50% 80%;
}

[data-bg-position='Right Top'] img {
    object-position: 80% 20%;
}

[data-bg-position='Right Center'] img {
    object-position: 80% 40%;
}

[data-bg-position='Right Bottom'] img {
    object-position: 80% 80%;
}

[data-bg-position='FarRight Bottom'] img {
    object-position: 100% 80%;
}

/* ==========================================================================
   BUTTON SYSTEM (Development)
   --------------------------------------------------------------------------
   This stylesheet is used to isolate button-related variables and classes
   during development for easier editing and debugging.
========================================================================== */
/* ==========================================================================
   BUTTON TOKENS
   ========================================================================== */
:root {
    /* Typography */
    --btn-font-family: var(--ff-primary);
    --btn-font-size: var(--text-m);
    --btn-font-size-small: calc(var(--text-m) - 0.1em);
    --btn-font-weight: var(--font-600);
    --btn-line-height: var(--line-height-xs);
    --btn-text-transform: capitalize;
    --btn-letter-spacing: 0;

    /* Spacing */
    --btn-padding: var(--space-s) var(--space-l);
    --btn-padding-small: var(--space-xs) var(--space-m);
    --btn-gap: var(--space-2xs);

    /* Borders & Radius */
    --btn-border-width: 2px;
    --btn-radius: var(--radius-full);
    --btn-radius-small: var(--radius-full);

    /* Default Button Colors */
    --btn-bg: var(--primary-default);
    --btn-bg-hover: var(--primary-800);
    --btn-text: var(--primary-50);

    /* Transitions */
    --btn-transition: var(--transition-global);
}

/* ==========================================================================
   BASE BUTTON STYLES - Shared by all button types
   ========================================================================== */
.btn,
.wp-block-button__link,
.nf-form-layout .nf-form-content .nf-field-element input[type='submit'] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--btn-gap);
    padding: var(--btn-padding);

    font-family: var(--btn-font-family);
    font-size: var(--btn-font-size);
    font-weight: var(--btn-font-weight);
    line-height: var(--btn-line-height);
    text-transform: var(--btn-text-transform);
    letter-spacing: var(--btn-letter-spacing);
    text-decoration: none;
    white-space: nowrap;

    border: var(--btn-border-width) solid transparent;
    border-radius: var(--btn-radius);
    background-color: var(--btn-bg);
    color: var(--btn-text);

    cursor: pointer;
    transition: var(--btn-transition);
    -webkit-appearance: none;
    appearance: none;
}

.btn:hover,
.wp-block-button__link:hover {
        background-color: var(--primary-800);
}

.btn .icon,
.btn svg,
.wp-block-button__link .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    stroke: currentColor;
    fill: currentColor;
    flex-shrink: 0;
    line-height: 1;
}

.nf-form-layout .nf-form-content .nf-field-element input[type='submit'] {
    background-color: var(--primary-0);
    color: var(--primary-default);
}

.nf-form-layout .nf-form-content .nf-field-element input[type='submit']:hover {
    background-color: var(--primary-100);
}

/* ==========================================================================
   CONTEXT-SPECIFIC ADJUSTMENTS
   ========================================================================== */

/* WordPress block container */
.wp-block-button {
    margin: 0;
}

/* Ninja Forms layout adjustments */
.nf-form-layout .nf-form-content .nf-field-element input[type='submit'] {
    display: block;
    margin-left: auto;
    width: auto;
    height: unset;
}

/* ==========================================================================
   BUTTON VARIANTS
   ========================================================================== */

.btn--secondary {
    background-color: var(--secondary-default);
    color: var(--primary-0);
}

.btn--secondary:hover {
    background-color: var(--secondary-light);
}

.btn--light {
    background-color: var(--primary-0);
    color: var(--primary-default);
}

.btn--light:hover {
    background-color: var(--primary-100);
}

.btn--outline {
    background-color: transparent;
    color: var(--primary-50);
    border-color: var(--primary-50);
}

.btn--outline:hover {
    color: var(--primary-default);
    background-color: var(--primary-50);
}

.btn--outline--dark {
    background: transparent;
    color: var(--primary-default);
    border-color: var(--primary-default);
}

.btn--outline--dark:hover {
    color: var(--primary-0);
}

.btn--accent {
    background-color: var(--accent-default);
    color: var(--primary-0);
}

.btn--accent:hover {
    background-color: var(--primary-700);
}

.btn--dark {
    background-color: var(--neutral-900);
    color: var(--primary-0);
}

.btn--dark:hover {
    background-color: var(--neutral-800);
}

.btn--small {
    font-size: var(--btn-font-size-small);
    padding: var(--btn-padding-small);
    border-radius: var(--btn-radius-small);
}

.btn--full {
    width: 100%;
    display: flex;
}

/* WordPress outline style */
.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent;
    color: var(--primary-default);
    border-color: var(--primary-default);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--primary-50);
}

/* ==========================================================================
   NINJA FORMS — LIGHT BUTTON IN FORM WRAPPER
   ========================================================================== */

.form-wrapper
    .nf-form-layout
    .nf-form-content
    .nf-field-element
    input[type='submit'] {
    --btn-bg: var(--primary-0);
    --btn-text: var(--primary-default);
    --btn-bg-hover: var(--primary-100);
}

/* ==========================================================================
   ACCESSIBILITY
   ========================================================================== */
.btn:focus-visible,
.wp-block-button__link:focus-visible,
.nf-form-layout
    .nf-form-content
    .nf-field-element
    input[type='submit']:focus-visible {
    outline: 2px solid var(--primary-default);
    outline-offset: 2px;
}

.btn:disabled,
.btn[aria-disabled='true'] {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}
/* ==========================================================================
   TEXT LINK VARIANT (Button-styled text links)
   ========================================================================== */
.btn-text {
    display: inline-flex;
    align-items: center;
    gap: var(--btn-gap);

    font-family: var(--btn-font-family);
    font-size: var(--btn-font-size);
    font-weight: var(--btn-font-weight);
    line-height: var(--btn-line-height);
    text-transform: var(--btn-text-transform);
    letter-spacing: var(--btn-letter-spacing);
    text-decoration: none;

    color: var(--primary-default);
    background-color: transparent;
    border: none;
    padding: 0; /* Key difference - no padding */

    cursor: pointer;
    transition: var(--btn-transition);
}

.btn-text:hover {
    color: var(--primary-500);
}

.btn-text .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    stroke: currentColor;
    fill: none;
    flex-shrink: 0;
    line-height: 1;
    transition: transform 0.2s ease; /* Subtle icon animation */
}

.btn-text:hover .icon {
    transform: translateX(3px); /* Nudge the arrow on hover */
}

/* Color variants for text links */
.btn-text--secondary {
    color: var(--secondary-default);
}

.btn-text--secondary:hover {
    color: var(--secondary-light);
}

.btn-text--light {
    color: var(--primary-0);
}

.btn-text--light:hover {
    color: var(--primary-100);
}

.btn-text:focus-visible {
    outline: 2px solid var(--primary-default);
    outline-offset: 2px;
}

/* Color System */
html.cf-theme-dark {
    color-scheme: dark;
}

.bg-dark {
    background-color: var(--bg-dark);
}

.bg-light {
    background-color: var(--bg-light);
}

.bg-light-alt {
    background-color: var(--bg-light-alt);
}

.bg-primary {
    background-color: var(--bg-primary);
}

.text-dark {
    color: var(--text-dark);
}

.text-light {
    color: var(--text-light);
}

.text-primary {
    color: var(--text-primary);
}

.border-dark {
    border-color: var(--border-dark);
}

.border-light {
    border-color: var(--border-light);
}

.border-primary {
    border-color: var(--border-primary);
}

.border-light-alt {
    border-color: var(--border-light-alt);
}

/* Fluid Typography */
/* Gradient Selectors */
.gradient-trans-to-black {
    background: var(--gradient-trans-to-black);
}

/* Heading selectors */
.heading-primary {
    color: var(--heading-primary);
}

.heading-light {
    color: var(--heading-light);
}

.heading-dark {
    color: var(--heading-dark);
}

/* Grid Variables */
/* Grid variables */
/* CSS Grid Layouts */
.row {
    display: grid;
    grid-auto-flow: column;
    justify-content: start;
}

.grid-1 {
    display: grid;
    grid-auto-flow: row;
    justify-items: start;
    align-content: start;
}

.grid-2 {
    display: grid;
    grid-template-columns: var(--grid-2);
}

.grid-3 {
    display: grid;
    grid-template-columns: var(--grid-3);
}

.grid-4 {
    display: grid;
    grid-template-columns: var(--grid-4);
}

.grid-5 {
    display: grid;
    grid-template-columns: var(--grid-5);
}

.grid-6 {
    display: grid;
    grid-template-columns: var(--grid-6);
}

.grid-7 {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

.grid-8 {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
}

/* Special Grid Columns */
.grid-3-1 {
    display: grid !important;
    grid-template-columns: var(--grid-3-1);
}

.grid-1-3 {
    display: grid !important;
    grid-template-columns: 1fr 3fr;
}

.col-1-2 {
    display: grid !important;
    grid-template-columns: 1fr 2fr;
    width: 100%;
}

.grid-2-1 {
    display: grid !important;
    grid-template-columns: 2fr 1fr;
    width: 100%;
}

/* Automatic Columns */
.grid-auto-2,
.grid-auto-2 .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: var(--grid-auto-2);
    gap: var(--grid-gap);
    align-items: stretch;
}
.grid-auto-2 .wp-block-group .wp-block-group__inner-container {
    gap: 0;
}
.grid-auto-3,
.grid-auto-3 .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: var(--grid-auto-3);
    gap: var(--grid-gap);
    align-items: stretch;
}
.grid-auto-4,
.grid-auto-4 .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: var(--grid-auto-4);
    gap: var(--grid-gap);
    align-items: stretch;
}
.col-min-5 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr));
}

.col-min-10 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

.col-min-20 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
}

.col-min-30 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
}

.col-min-40 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(40rem, 1fr));
}

.col-min-50 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(50rem, 1fr));
}

.col-min-60 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(60rem, 1fr));
}

.col-min-70 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(70rem, 1fr));
}

/* Width variables */
/* Width & Height */
.max-site-width {
    max-width: 140rem;
    width: 100%;
}

.full-width {
    width: var(--full-width);
}

.auto-width {
    width: auto;
}

.full-height {
    height: 100%;
}

.auto-height {
    height: auto;
}

.max-width-page-width--s {
    max-width: var(--page-width--s);
}

.max-width-140 {
    max-width: 140rem;
}

.max-width-130 {
    max-width: 130rem;
}

.max-width-120 {
    max-width: 120rem;
}

.max-width-110 {
    max-width: 110rem;
}

.max-width-100 {
    max-width: 100rem;
}

.max-width-90 {
    max-width: 90rem;
}

.max-width-80 {
    max-width: 80rem;
}

.max-width-70 {
    max-width: 70rem;
}

.max-width-60 {
    max-width: var(--max-width-60);
}

.max-width-50 {
    max-width: var(--max-width-50);
}

.max-width-40 {
    max-width: var(--max-width-40);
}

.max-width-30 {
    max-width: var(--max-width-30);
}

.max-width-20 {
    max-width: 20rem;
}

.max-width-10 {
    max-width: 10rem;
}

.height-20 {
    height: 20rem;
}

/* Transition */
/* Hovers */
.hover-zoom {
    transition: transform 300ms cubic-bezier(0.32, 0.72, 0, 0.3) 0s;
}

@media (hover: hover) {
    .hover-zoom:hover {
        transform: scale(1.05);
    }
}

.hover-opacity-80 {
    transition: opacity 0.3s ease;
}

@media (hover: hover) {
    .hover-opacity-80:hover {
        opacity: 0.8;
    }
}

/* Shadows */
.shadow-s {
    box-shadow: var(--shadow-s);
}

.shadow-m {
    box-shadow: var(--shadow-m);
}

.shadow-l {
    box-shadow: var(--shadow-l);
}

/* Image Fit */
.fit-contain {
    object-fit: contain;
}

.fit-cover {
    object-fit: cover;
}

.fit-fill {
    object-fit: fill;
}

/* Filters */
.grayscale {
    filter: grayscale(1);
}

/* Buttons */
/* Card variables */
/* Image variables */
/* Utilities */
.overflow-hidden {
    overflow: hidden;
}

.overflow-scroll {
    overflow: scroll;
}

.list-none {
    list-style-type: none;
}

.white-space-nowrap {
    white-space: nowrap;
}

.transition-global {
    transition: all 0.3s ease-in-out;
}

.center-all {
    justify-content: center;
    align-items: center;
    text-align: center;
}

.section-space-big {
    padding-block: var(--space-4xl) !important;
}

.gap-0 {
    gap: 0;
}

.gap-4xs {
    gap: var(--space-4xs);
}

.gap-3xs {
    gap: var(--space-3xs);
}

.gap-2xs {
    gap: var(--space-2xs);
}

.gap-xs {
    gap: var(--space-xs);
}

.gap-s {
    gap: var(--space-s);
}

.gap-m {
    gap: var(--space-m);
}

.gap-l {
    gap: var(--space-l);
}

.gap-xl {
    gap: var(--space-xl);
}

.gap-2xl {
    gap: var(--space-2xl);
}

.gap-3xl {
    gap: var(--space-3xl);
}

.gap-4xl {
    gap: var(--space-4xl);
}

.mt-0 {
    margin-top: 0 !important;
}

/* Custom Stylesheets */
/* Add your custom CSS below */
.office-hours li {
    padding-left: 0 !important;
}
.office-hours li::before,
.office-hours li::after,
.happyfiles-gallery li::before,
.happyfiles-gallery li::after {
    display: none !important;
}
.happyfiles-gallery {
    margin-block: var(--space-m) !important;
}

.happyfiles-gallery ul {
  gap: var(--space-s);
}
.happyfiles-gallery ul[data-col="3"] {
  grid-template-columns: var(--grid-auto-3) !important;
}
.happyfiles-gallery ul[data-col="4"] {
  grid-template-columns: var(--grid-auto-4) !important;
}

.office-hours .day {
    min-width: 2.8rem;
}

.header {
    --header-main-height: 88px;
    .header__top-bar-wrapper {
        background: var(--primary-950);
        color: var(--primary-0);
        padding-inline: var(--section-space-x);
    }
    .header__top-bar {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        gap: 0;
    }
    .header__info-box {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: var(--space-xs);
        min-height: 100%;
        padding: var(--space-s);
        &:hover {
            background: var(--primary-default);
        }
    }
    .header__info-text {
        font-size: var(--text-s);
        font-weight: 600;
    }
    .header__button {
        margin-inline-start: auto;
        margin-block: var(--space-2xs);
    }
    .header__main-bar-wrapper {
        z-index: 2;
        padding-inline: var(--section-space-x);
        padding-block: var(--space-s);
        width: 100%;
        margin: auto;
        max-width: 1920px;
        z-index: 999;
        background: var(--primary-0);
        box-shadow:
            0px 0px 0px rgba(58, 0, 77, 0.03),
            0px 0px 3px rgba(58, 0, 77, 0.03),
            0px 0px 6px rgba(58, 0, 77, 0.03),
            0px 0px 9px rgba(58, 0, 77, 0.03),
            0px 1px 11px rgba(58, 0, 77, 0.03),
            0px 1px 14px rgba(58, 0, 77, 0.03);
    }
    .header__main-bar {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    .header__logo {
        height: 3rem;
    }

    @media (max-width: 992px) {
        .header__info-box:nth-child(2) {
            display: none;
        }
    }

    @media (max-width: 768px) {
        .header__info-box {
            display: none;
        }
    }
    @media (max-width: 480px) {
        .header__top-bar-wrapper {
            display: none;
        }
    }
}

/* HEADER STICKY */
.header__main-bar-placeholder {
  display: none;
  height: var(--header-main-height, 0px);
}

body.header-main-fixed .header__main-bar-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

body.header-main-fixed .header__main-bar-placeholder {
  display: block;
}
@media (max-width: 1270px) {
  body.header-main-fixed .header__main-bar-wrapper {
    max-height: 100dvh;
  }

  body.header-main-fixed .wp-menu-buddy__list {
    max-height: calc(100dvh - var(--header-main-height, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}



.footer {
    background: var(--primary-950);
    color: var(--primary-0);
    font-size: var(--text-s);
    padding-block: 0;
    gap: 0;
    .footer__footer-top {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        flex-wrap: wrap;
        padding-block-start: var(--space-2xl);
        padding-block-end: var(--space-xl);
        border-bottom: 1px solid var(--primary-200);
        column-gap: var(--space-3xl);
    }
    .footer__column {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-m);
        flex: 1;
    }
    .footer__column:first-of-type {
        min-width: 25%;
    }

    .footer__text {
        & a {
            text-decoration: underline;
            margin-top: var(--space-2xs);
            font-weight: 600;
        }
    }
    .footer__heading {
        text-transform: uppercase;
        font-size: var(--text-m);
        font-weight: 600;
        font-family: var(--ff-primary);
    }
    .footer__list,
    .footer__list ul {
        margin: 0;
        padding: 0;
        list-style: none;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-2xs);
    }
    .footer__list-item-link:hover {
        color: var(--action-light-hover);
    }
    .footer__content-box {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-s);
    }
    .footer__contact-box {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: var(--space-s);
    }
    .footer__contact-box--big {
        font-size: var(--text-l);
        font-weight: 600;
    }
    .footer__contact-box-icon {
        position: relative;
        top: 4px;
    }

    .footer__footer-bottom {
        display: flex;
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
        column-gap: var(--space-3xl);
        row-gap: var(--space-s);
        padding-block: var(--space-s);
    }
    .footer__small-text {
        font-size: var(--text-xs);
    }

    .day {
        display: inline-flex;
        min-width: 3rem;
        margin-inline-end: var(--space-xs);
    }

    @media (max-width: 992px) {
        .footer__footer-top {
            display: grid;
            grid-template-columns: var(--columns-2);
            gap: var(--space-3xl);
        }
    }

    @media (max-width: 728px) {
        .footer__footer-top {
            display: grid;
            grid-template-columns: var(--columns-1);
            gap: var(--space-3xl);
        }
    }
}

.footer-cta {
    padding-block-start: 0;
    padding-block-end: var(--space-4xl);
    .footer-cta__container {
        position: relative;
        gap: var(--space-l);
        padding: var(--space-3xl);
        color: var(--primary-0);
        justify-content: center;
        align-items: center;
        text-align: center;
        border-radius: var(--card-radius);
        overflow: clip;
    }
    .footer-cta__container *:not(.footer-cta__image) {
        z-index: 1;
    }
    .footer-cta__image {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .footer-cta__overlay {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        background: var(--primary-600);
        opacity: 0.95;
        z-index: 1;
    }
    .footer-cta__heading {
        color: var(--primary-0);
        text-transform: capitalize;
        font-size: var(--h1);
        font-weight: 700;
        font-family: var(--ff-primary);
        margin: 0;
        line-height: var(--line-height-m);
    }
}

.hero {
    position: relative;
    background: var(--primary-100);
    color: var(--primary-default);
    padding-block: 0;
    overflow: clip;
    min-height: 25rem;
    .hero__image-wrapper {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        height: 100%;
        width: 45%;
    }
    .hero__image {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .hero__image-overlay {
        position: absolute;
        inset: 0;
        height: 100%;
        width: 100%;
        z-index: 1;
        background-image: linear-gradient(
            90deg,
            var(--primary-100),
            transparent 50%
        );
    }
    .hero__container {
        padding-block: var(--section-space-xl);
        display: grid;
        grid-template-columns: var(--columns-2);
        margin-block: auto;
    }
    .hero__heading {
        color: var(--primary-default);
    }
    .hero__tagline {
        order: -1;
        text-transform: uppercase;
        font-size: var(--text-xs);
        font-weight: 600;
        font-family: var(--ff-primary);
    }

    @media (max-width: 768px) {
        padding-block: var(--section-space-m);
        gap: var(--space-m);
        min-height: auto;
        .hero__image-wrapper {
            position: relative;
            width: 100%;
            border-radius: var(--card-radius);
            overflow: clip;
            height: auto;
            aspect-ratio: 4/3;
            order: 99;
        }
        .hero__image-overlay {
            background-image: none;
        }
        .hero__container {
            display: flex;
            padding-block: 0;
        }
    }
}

.content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18.75rem;
    gap: var(--space-2xl);
    .content-grid__content-wrapper section {
        padding-inline: 0;
    }

    .content-grid__content-wrapper section:first-of-type {
        padding-block-start: 0;
    }

    @media (max-width: 992px) {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
}

.sidebar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-s);
    .sidebar__content-box {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-s);
    }
    .sidebar__heading {
        text-transform: uppercase;
        color: var(--primary-default);
        font-size: var(--text-xs);
        font-weight: 600;
    }
    .sidebar__list {
        width: 100%;
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-2xs);
    }
    .sidebar__list-item {
        width: 100%;
    }
}

.link-card {
    width: 100%;
    background: var(--primary-100);
    color: var(--primary-default);
    border: 1px solid var(--primary-200);
    border-radius: var(--radius-l);
    min-height: 4.5rem;
    padding-block: var(--space-xs);
    padding-inline: var(--space-m);
    padding-inline-end: var(--space-s);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-m);
    transition: var(--transition-global);
    line-height: 1.2;
    font-size: var(--text-s);

    .link-card__icon {
        transition: var(--transition-global);
    }
    .link-card__icon path {
        fill: currentColor;
        color: currentColor;
    }
    &:hover {
        background: var(--primary-default);
        color: var(--primary-0);
    }
    &:hover .link-card__icon {
        transform: translateX(0.5rem);
    }
}
.link-card--active {
    background: var(--primary-default);
    color: var(--primary-0);
}

.sidebar-card {
    border-radius: var(--card-radius);
    overflow: clip;
    max-width: 20rem;
    .sidebar-card__image {
        aspect-ratio: 3/2;
        object-fit: cover;
    }
    .sidebar-card__content-wrapper {
        background: var(--primary-default);
        color: var(--primary-0);
        padding: var(--space-m) var(--space-s);
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .sidebar-card__heading {
        font-size: var(--h5);
        color: var(--primary-0);
        margin-block-end: var(--space-xs);
        text-transform: capitalize;
    }
    .sidebar-card__text {
        margin-block-end: var(--space-s);
        font-size: var(--text-xs);
    }
}

.intro-section {
    padding-block-end: 0;
    .intro-section__container {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: var(--space-m);
    }
    .intro-section__text {
        font-size: var(--h4);
        color: var(--primary-default);
        font-weight: 500;
        margin: 0;
        text-wrap: balance;
    }
}

.buttons-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-s);
}

.home-hero {
    position: relative;
    padding-block: 11rem !important;
    .home-hero__video {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }
    .home-hero__video iframe {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }
    .home-hero__overlay {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(
            180deg,
            rgba(61, 121, 238, 0.4) 0%,
            rgba(3, 26, 50, 0.86) 98.21%
        );
    }
    .home-hero__container {
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        color: var(--primary-0);
        gap: 0;
    }
    .home-hero__heading {
        color: var(--primary-0);
        margin-block-end: var(--space-s);
        font-size: var(--display);
    }
    .home-hero__tagline {
        order: -1;
        margin: 0;
        margin-block-end: var(--space-xs);
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }
    .home-hero__text {
        margin-block-end: var(--space-l);
        font-size: var(--text-xl);
    }

    .buttons-wrapper {
        justify-content: center;
    }

    @media (max-width: 992px) {
        padding-block: var(--section-space-xl) !important;
        
    }
    @media (max-width: 768px) {
        padding-block: var(--section-space-l) !important;
    }
    @media (max-width: 480px) {
        padding-block: var(--section-space-s) !important;
        .home-hero__tagline {
            font-size: var(--text-s);
        }
        .home-hero__text {
            font-size: var(--text-m);
        }
    }
}

.shd-tagline {
    order: -1;
    margin: 0;
    margin-block-end: var(--space-xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--primary-default);
    font-size: var(--text-xs);
    font-family: var(--ff-primary);
}

.content-and-image {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
    align-items: center;
    gap: var(--space-3xl);
    h2.content-and-image__heading {
        font-size: var(--h1);
        margin-block-end: var(--space-m);
    }
    h3.content-and-image__heading {
       margin-block-end: var(--space-m); 
    }
    .content-and-image__tagline {
        order: -1;
        margin: 0;
        margin-block-end: var(--space-xs);
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.56px;
        color: var(--primary-default);
    }
    .content-and-image__text {
        margin-block-end: var(--space-l);
    }
    .content-and-image__image-wrapper {
        position: relative;
    }
    .content-and-image__image-wrapper::before {
        content: '';
        display: block;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        background: var(--primary-default);
        border-radius: var(--card-radius);
        transform: rotate(4deg);
    }
    .content-and-image__image-wrapper--reverse::before {
        transform: rotate(-4deg);
    }
    .content-and-image__image {
        border-radius: var(--card-radius);
        z-index: 1;
        width: 100%;
        aspect-ratio: 1/1.1;
        object-fit: cover;
    }

    @media (max-width: 992px) {
        grid-template-columns: 1fr;
        .content-and-image__image-wrapper {
            order: -1;
        }

        .content-and-image__image-wrapper::before {
            transform: rotate(2deg);
        }
        .content-and-image__image-wrapper--reverse::before {
            transform: rotate(-2deg);
        }
    }
}

.section-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-m);
    .section-intro__inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .section-intro__heading {
        font-size: var(--h1);
    }
    .section-intro__text {
        margin-block-start: var(--space-s);
        text-wrap: balance;
    }
}

.section-intro--light {
    color: var(--primary-0);
    .section-intro__heading {
        color: var(--primary-0);
    }
    .section-intro__tagline {
        color: var(--primary-0);
    }
}

.section-intro--horizontal {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding-block-end: var(--space-m);
    border-block-end: 1px solid var(--primary-default);
    .section-intro__inner {
        align-items: flex-start;
        text-align: left;
    }
    @media (max-width: 992px) {
        flex-direction: column;
    }
}

.service-card {
    border-radius: var(--card-radius);
    overflow: clip;
    border: 1px solid var(--border-light);
    position: relative;
    .service-card__image-wrapper {
        position: relative;
    }
    .service-card__image {
        aspect-ratio: 4/3;
        object-fit: cover;
    }

    .service-card__content-wrapper {
        background: var(--primary-0);
        padding: var(--space-l);
        flex: 1;
    }
    .service-card__heading {
        font-size: var(--h4);
        margin-block-end: var(--space-m);
    }
    .service-card__tagline {
        font-size: var(--text-xs);
    }
    .service-card__text {
        margin-block-end: var(--space-m);
        font-size: var(--text-s);
    }
    .service-card__button {
        margin-block-start: auto;
    }
    .service-card__logo {
        position: absolute;
        bottom: var(--space-2xs);
        right: var(--space-2xs);
        height: 4rem;
        width: auto;
    }
    &.service-card--popular {
        border: 2px solid var(--primary-default);
    }
    &.service-card--popular::before {
        content: 'Most Popular';
        display: block;
        z-index: 1;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        background: var(--primary-default);
        color: var(--primary-0);
        font-size: var(--text-xs);
        font-weight: 600;
        text-align: center;
        padding-block: var(--space-xs);
        text-transform: uppercase;
    }
}

.link-arrow {
    color: var(--primary-default);
    font-weight: 600;
    text-transform: capitalize;
    &::after {
        content: '→';
        transition: var(--transition-global);
    }
    &:hover::after {
        transform: translateX(0.5rem);
    }
}

.features-section {
    color: var(--primary-0);
    padding-block: var(--space-2xl) !important;
    .features-section__container {
        display: grid;
        grid-template-columns: var(--columns-4);
        gap: var(--grid-gap);
        align-items: center;
    }
    @media (max-width: 992px) {
        .features-section__container {
            grid-template-columns: var(--columns-2);
        }
    }

    @media (max-width: 768px) {
        .features-section__container {
            grid-template-columns: var(--columns-1);
        }
    }
}

.feature-card {
    padding: var(--space-m);
    .feature-card__heading {
        color: var(--primary-0);
        font-size: var(--text-xl);
        margin-block-end: var(--space-s);
    }
    .feature-card__icon {
        order: -1;
        margin-block-end: var(--space-m);
    }
    .feature-card__text {
        font-size: var(--text-s);
    }
    &:not(:last-of-type) {
        padding-inline-end: var(--grid-gap);
        border-inline-end: 1px solid var(--neutral-600);
    }

    @media (max-width: 992px) {
        padding: 0;
        border: none !important;
    }
}

.bg-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    :has(> &) {
        position: relative;
    }
    /* :has(> &) *:not(.bg-image) {
        z-index: 1;
    } */
    :has(> &) .brxe-container {
        z-index: 1;
    }
}

.overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: var(--primary-950);
    opacity: 0.95;
}

.steps-section {
    counter-reset: step-counter;
}

.step-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    counter-increment: step-counter;
    background: var(--primary-0);
    border: 1px solid var(--border-light);
    border-radius: var(--card-radius);
    overflow: clip;
    padding: var(--space-m);
    .step-card__heading {
        font-size: var(--h5);
        color: var(--primary-default);
        margin-block-end: var(--space-s);
        text-transform: capitalize;
    }
    .step-card__tagline {
        order: -1;
        font-size: var(--text-xs);
        margin-block-end: var(--space-2xs);
        &::after {
            content: counter(step-counter);
        }
    }

    .step-card__image {
        order: -2;
        border-radius: var(--radius-full);
        aspect-ratio: 1/1;
        width: 11rem;
        object-fit: cover;
        margin-block-end: var(--space-s);
    }
    .step-card__text {
        font-size: var(--text-s);
    }
}

.general-card {
    border-radius: var(--card-radius);
    overflow: clip;
    background: var(--primary-100);
    border: 1px solid var(--primary-200);
    padding: var(--space-m);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-s);
    text-align: center;
    .general-card__heading {
        color: var(--primary-default);
        font-size: var(--h5);
    }
    .general-card__image {
        order: -1;
        width: 11rem;
        aspect-ratio: 1/1;
        border-radius: var(--radius-full);
        object-fit: cover;
    }
    .general-card__text {
        font-size: var(--text-s);
    }
    .general-card__button {
        margin-block-start: auto;
    }
}

.accordion {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-m);
    .accordion__item {
        border-block-end: 1px solid var(--border-light);
        padding-block-end: var(--space-m);
    }
    .accordion__title {
        flex-wrap: nowrap;
        gap: var(--space-s);
    }
    .accordion__heading {
        font-family: var(--ff-secondary);
        font-size: var(--text-xl);
        color: var(--primary-default);
        font-weight: 600;
    }
    .accordion__icon {
        color: var(--primary-default);
    }
    .accordion-content-wrapper {
        padding-block-start: var(--space-s);
    }
    .accordion__text {
        font-size: var(--text-s);
    }
}

.contact-section {
    padding-block-end: 0;

    @media (max-width: 992px) {
        padding-block-end: var(--section-space-l);
    }
}
.contact-container {
    display: grid;
    grid-template-columns: var(--columns-2);
    gap: var(--space-2xl);
    & * {
        z-index: 1;
    }
    .contact-container__content-wrapper {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-m);
        padding-block-end: var(--space-4xl);
    }
    .contact-container__boxes-wrapper {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: var(--space-xl);
        border-block-start: 1px solid var(--primary-default);
        padding-block-start: var(--space-m);
    }
    .contact-container__boxes-column {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-m);
    }
    .contact-container__content-box {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-s);
    }
    .contact-container__content-box--highlighted {
        background: var(--primary-100);
        border-radius: var(--card-radius);
        padding: var(--space-m);
    }
    .contact-container__content-box--highlighted ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .contact-container__content-box--highlighted .day {
        font-weight: 600;
        display: inline-flex;
        min-width: 4rem;
    }
    .contact-container__content-heading {
        font-size: var(--h4);
    }
    .contact-container__form-wrapper {
        background: var(--primary-950);
        border-radius: var(--card-radius);
        padding: var(--space-xl);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-m);
    }
    .contact-container__form-wrapper h2 {
        color: var(--primary-0);
    }
    .contact-container__form-wrapper p {
        font-size: var(--text-s);
        color: var(--primary-0);
    }
    @media (max-width: 768px) {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    @media (max-width: 992px) {
        grid-template-columns: 1fr;
        .contact-container__content-wrapper {
            padding-block-end: 0;
        }
    }
}

.contact-map-wrapper {
    margin-block-start: calc(var(--space-3xl) * -1);
    @media (max-width: 992px) {
        margin-block-start: 0;
    }
}

.contact-map-wrapper iframe {
    margin-block-end: -9px;
}

.social-icons-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-2xs);
}

.social-icon {
    /* Settings */
    --social-icon-size: 2.5rem;
    --social-icon-font-size: calc(var(--social-icon-size) * 0.5);
    --social-icon-bg: var(--action-primary);
    --social-icon-color: var(--primary-50);
    --social-icon-border-radius: var(--radius-full);

    /* Modifiers */
    --social-icon-size-small: 2rem;
    --social-icon-size-large: 3rem;

    --social-icon-hover-bg: var(--action-primary-hover);
}

.social-icons-wrapper--light .social-icon {
    --social-icon-bg: var(--primary-0);
    --social-icon-color: var(--primary-default);
}

.social-icons-wrapper--light .social-icon:hover {
    background: var(--action-light-hover);
}

.social-icons-wrapper--light .social-icon path {
    fill: var(--social-icon-color);
}

/* Application */
.social-icon {
    width: var(--social-icon-size);
    height: var(--social-icon-size);
    font-size: var(--social-icon-font-size); /* Icon size adjusts dynamically */
    background-color: var(--social-icon-bg);
    color: var(--social-icon-color);
    border-radius: var(--social-icon-border-radius);

    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-global);
    flex-shrink: 0;
}

.social-icon:hover {
    background-color: var(--social-icon-hover-bg);
}

.social-icon i {
    font-size: inherit; /* Icon inherits the calculated size from parent */
}

/** MODIFIERS ***********/
.social-icon--small {
    --social-icon-size: var(--social-icon-size-small);
}

.social-icon--large {
    --social-icon-size: var(--social-icon-size-large);
}

/* Light variant */
.social-icon--light {
    --social-icon-bg: var(--primary-50);
    --social-icon-color: var(--primary-900);
    --social-icon-hover-bg: var(
        --action-light-hover
    ); /* or your preferred subtle hover */
}

.border-box {
    border-block-end: 1px solid var(--border-light);
    padding-block-end: var(--space-m);
}

.border-box h2 {
    margin-top: 0;
}

.info-box {
    background: var(--info-l-3);
    border-radius: var(--card-radius);
    padding: var(--space-s);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-s);
    .info-box__icon-wrapper {
        background: var(--primary-default);
        padding: var(--space-2xs);
        border-radius: var(--radius-full);
        display: grid;
        place-items: center;
        aspect-ratio: 1/1;
        flex-shrink: 0;
    }
    .info-box__icon {
        color: var(--primary-0);
    }
    & strong {
        color: var(--primary-default);
    }
}

.appointment-container {
    background: var(--primary-950);
    border-radius: var(--card-radius);
    padding: var(--space-xl);
    display: grid;
    grid-template-columns: var(--grid-2);
    align-items: stretch;
    gap: var(--space-2xl);
    color: var(--primary-0);
    .appointment-container__content-wrapper {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-m);
    }
    .appointment-container__heading {
        color: var(--primary-0);
    }
    .appointment-container__text {
        font-size: var(--text-s);
    }
    .appointment-container__image-wrapper {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        justify-content: flex-end;
    }
    .appointment-container__image {
        border-radius: var(--card-radius);
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 70% 50%;
    }
    .appointment-container__image-text {
        position: absolute;
        left: var(--space-s);
        right: var(--space-s);
        bottom: var(--space-s);
        background: rgba(255, 255, 255, 0.78);
        border-radius: var(--card-radius);
        padding: var(--space-s);
        color: var(--heading-dark);
        font-size: var(--text-s);
    }
    @media (max-width: 992px) {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    @media (max-width: 480px) {
        .appointment-container__image-wrapper {
            align-items: flex-start;
            justify-content: flex-start;
        }
        .appointment-container__image-text {
            position: static;
            margin-block-start: var(--space-m);
            background: var(--primary-0);
        }
    }
}

.icon-link-card {
    padding: var(--space-2xs) var(--space-xl) var(--space-2xs) var(--space-2xs);
    background: var(--primary-100);
    border-radius: var(--card-radius);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-s);
    width: 100%;
    max-width: 60rem;
    color: var(--primary-default);
    & * {
        transition: var(--transition-global);
    }
    .icon-link-card__left {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: var(--space-s);
        flex-wrap: nowrap;
    }
    .icon-link-card__icon-wrapper {
        background: var(--primary-950);
        border-radius: var(--radius-m);
        padding: var(--space-2xs);
        aspect-ratio: 1/1;
        flex-shrink: 0;
        display: grid;
        place-items: center;
    }
    .icon-link-card__text {
        font-size: var(--text-xl);
        font-weight: 600;
        line-height: 1.2;
    }
    .icon-link-card__right {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: var(--space-s);
        flex-shrink: 0;
        margin-inline-start: auto;
    }
    .icon-link-card__link-description {
        color: var(--neutral-600);
    }
    &:hover {
        background: var(--primary-default);
        color: var(--primary-0);
    }
    &:hover .icon-link-card__link-description {
        color: var(--primary-0);
    }
    &:hover .icon-link-card__link-icon path {
        fill: var(--primary-0);
    }
    @media (max-width: 768px) {
        .icon-link-card__left {
            max-width: 100%;
        }
        .icon-link-card__right {
            display: none;
        }
    }
}

.reviews-container {
    display: grid;
    grid-template-columns: var(--columns-2);
    gap: var(--space-s);

    @media (max-width: 768px) {
        grid-template-columns: var(--columns-1);
    }
}
.reviews-container__column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-s);
}

.review-card {
    padding: var(--space-m);
    background: var(--primary-100);
    border-radius: var(--card-radius);
    border: 1px solid var(--primary-default);
    .review-card__icon {
        margin-block-end: var(--space-s);
    }
    .review-card__text {
        margin-block-end: var(--space-m);
        font-size: var(--text-s);
    }
    .review-card__author-wrapper {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: var(--space-xs);
    }
    .review-card__name {
        font-size: var(--text-s);
        font-weight: 700;
    }
}

.before-after-card {
    padding: var(--space-s);
    background: var(--primary-0);
    border-radius: var(--card-radius);
    gap: var(--space-s);
    box-shadow: var(--shadow-s);
    flex: 1;
    .before-after-card__before-after {
        border-radius: var(--card-radius);
        overflow: clip;
    }
    .before-after-card__image {
        aspect-ratio: 16/9;
        object-fit: cover;
        object-position: 50% 100%;
    }
    .x-before-after_slider-line {
        z-index: 1;
    }
    .x-before-after_slider-button {
        color: var(--primary-default);
        width: 3rem;
        height: 3rem;
        background: var(--primary-0);
        border-radius: var(--radius-full);
        display: grid;
        place-items: center;
        z-index: 2;
    }
    .x-before-after_slider-button-icon {
        width: 1.5rem;
        height: 1.5rem;
    }
    .x-before-after_slider-line-after {
        top: 0;
    }
    .x-before-after_label {
        padding: var(--space-2xs) var(--space-s);
        border-radius: var(--radius-s);
        font-size: var(--text-xs);
        background: var(--primary-0);
        color: var(--primary-default);
        text-transform: uppercase;
        font-weight: 600;
        line-height: 1;
        z-index: 1;
    }
    .x-before-after_before-label {
        left: 0.5rem;
        top: 0.5rem;
        bottom: unset;
        background: var(--primary-default);
        color: var(--primary-0);
    }
    .x-before-after_after-label {
        right: 0.5rem;
        top: 0.5rem;
    }
    .before-after-card__title-wrapper {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: var(--space-xs);
        flex-wrap: nowrap;
    }
    .before-after-card__icon-wrapper {
        background: var(--primary-950);
        border-radius: var(--radius-s);
        aspect-ratio: 1/1;
        padding: 0.5rem;
        flex-shrink: 0;
        display: grid;
        place-items: center;
    }
    .before-after-card__icon {
        width: 1.5rem;
        height: 1.5rem;
    }
    .before-after-card__heading {
        font-size: var(--h5);
    }

    @media (max-width: 480px) {
        .x-before-after_label {
            display: none;
        }
    }
}

.services-before-after {
    background: var(--primary-100);
    border-radius: var(--card-radius);
    border: 1px solid var(--primary-200);
    padding: var(--space-l);
    display: grid;
    grid-template-columns: var(--grid-auto-2);
    gap: var(--space-l);
    align-items: center;
    .services-before-after__heading {
        margin-block-end: var(--space-s);
        text-transform: capitalize;
    }
    .services-before-after__tagline {
        font-size: var(--text-xs);
        margin-block-end: var(--space-xs);
    }
    .services-before-after__text {
        font-size: var(--text-s);
        margin-block-end: var(--space-s);
    }

    @media (max-width: 480px) {
        padding: var(--space-s);
    }
}

.badges-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    column-gap: var(--space-xl);
    row-gap: var(--space-m);
    border-radius: var(--card-radius);
    border: 1px solid var(--border-light);
    padding: var(--space-m);
    margin-block-start: var(--space-l);
    max-width: fit-content;
    background: var(--primary-0);
    .badges-wrapper__image {
        height: 4.5rem;
        width: auto;
    }

    @media (max-width: 768px) {
        flex-direction: column;
        width: auto;
    }
}

.before-after-wp {
    position: relative;
    border-radius: var(--card-radius);
    padding: var(--space-s);
    box-shadow: var(--shadow-s);
    & img {
        width: 100%;
        border-radius: var(--card-radius);
    }
    &::before,
    &::after {
        font-size: var(--text-xs);
        font-weight: 600;
        text-transform: uppercase;
        padding: var(--space-2xs) var(--space-s);
        border-radius: var(--radius-s);
        position: absolute;
        line-height: 1;
    }
    &::before {
        content: 'before';
        background: var(--primary-default);
        color: var(--primary-0);
        top: var(--space-m);
        left: var(--space-m);
    }
    &::after {
        content: 'after';
        background: var(--primary-0);
        color: var(--primary-default);
        top: var(--space-m);
        right: var(--space-m);
    }
    @media (max-width: 480px) {
        &::before,
        &::after {
            top: 0;
        }
    }
}

.reviews-code {
    background: var(--neutral-100);
    min-height: 60rem;
}

.info-card {
    background: var(--primary-100);
    border: 1px solid var(--primary-default);
    border-radius: var(--card-radius);
    padding: var(--space-l);
    max-width: var(--page-width--xs);
    .info-card__heading {
        color: var(--primary-default);
        margin-block-end: var(--space-s);
    }
    .info-card__text {
        margin-block-end: var(--space-m);
    }
}

.margin-bottom-4xl {
    margin-block-end: var(--space-4xl);
}

.stars-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: var(--space-xs);
    flex-wrap: wrap;
    & * {
        margin: 0;
    }
    .stars-container__text {
        font-weight: 600;
        font-size: var(--text-l);
    }
}
.smile-gallery-section {
    padding-block: var(--space-4xl);
}
.smile-gallery-section .section-intro {
    border-block-end: none;
    padding-block-end: 0;
    margin: 0;
}

.card-post-basic {
    .card-post-basic__heading {
        color: var(--primary-default);
    }
}

.post {
    .post__title {
        color: var(--primary-default);
    }
}

.wp-content-box {
    background: var(--primary-100);
    border-radius: var(--card-radius);
    border: 1px solid var(--primary-200);
    padding: var(--space-l);
    margin-block: var(--space-xl);
    h2,
    h3 {
        color: var(--primary-default);
        margin: 0;
    }
}

@media (max-width: 480px) {
    .wp-block-image .alignright,
    .wp-block-image .alignleft {
        max-width: 50% !important;
    }
}


.container-404 {
    display: grid;
    grid-template-columns: var(--grid-auto-2);
    align-items: center;
    gap: var(--space-xl);
}


.wp-videos-container {
    
    figure {
        margin: 0;
    }
    video {
        border-radius: var(--card-radius);
    }
}