.elementor-kit-5{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0;--container-default-padding-right:0;--container-default-padding-bottom:0;--container-default-padding-left:0;}.elementor-widget:not(:last-child){--kit-widget-spacing:0;}.elementor-element{--widgets-spacing:0 0;--widgets-spacing-row:0;--widgets-spacing-column:0;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1300px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --mrkt-typo-font-body:Outfit; --e-gv-87dd6be:var(--mrkt-color-red); --mrkt-typo-font-heading:Inter; --mrkt-space-xs:0.5rem; --mrkt-space-s:1rem; --mrkt-space-m:2rem; --mrkt-space-l:4rem; --mrkt-space-xl:6rem; --mrkt-space-xxl:9rem; --e-gv-cbf2633:#ffffff; --mrkt-color-primary:#ffffff; }
/* Start custom CSS *//* Atomic Heading Widget - Word break fix */ 
.e-heading-base{ 
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

/* Privacy Bee */
.prx_wrapper {
    max-width: unset !important;
    padding-bottom: unset !important;
}

.prx_wrapper * {
    max-width: unset !important;
}

[id] {
  scroll-margin-top: var(--mrkt-header-height) /* Change to match your sticky header height in pixels */
}

:root {
    /* Max width for content */
	--mrkt-max-content-width: 65ch;

/* ==========================================================================
   TRANSITIONS
   ========================================================================== */
	--mrkt-transition-curve: cubic-bezier(.4, 0, .2, 1);


	--mrkt-transition-speed-fast: 150ms;
	--mrkt-transition-speed-base: 300ms;
	--mrkt-transition-speed-slow: 600ms;

  /* ---- Semantic aliases ---- */
  --mrkt-transition-base: var(--mrkt-transition-speed-base) var(--mrkt-transition-curve);
  --mrkt-transition-slow: var(--mrkt-transition-speed-slow) var(--mrkt-transition-curve);

/* ==========================================================================
   BORDER
   ========================================================================== */
	--mrkt-border-width: 1px;
  --mrkt-border-type: solid;
  --mrkt-border-radius-S: 0.25rem;
	--mrkt-border-radius-base: 0.5rem;
	--mrkt-border-radius-L: 2rem;
	--mrkt-border-radius-full: 9999px;

/* ==========================================================================
   SHADOWS
   ========================================================================== */
	--mrkt-shadow-S: 0 1px 3px oklch(from var(--mrkt-color-black) l c h / 0.35), 0 1px 2px oklch(from var(--mrkt-color-black) l c h / 0.2);
	--mrkt-shadow-base: 0 4px 10px oklch(from var(--mrkt-color-black) l c h / 0.4), 0 2px 4px oklch(from var(--mrkt-color-black) l c h / 0.24);
	--mrkt-shadow-L: 0 16px 32px oklch(from var(--mrkt-color-black) l c h / 0.45), 0 6px 12px oklch(from var(--mrkt-color-black) l c h / 0.28);

/* ==========================================================================
   FONTS
   ========================================================================== */
  --mrkt-font-heading: "Outfit", system-ui, sans-serif;
  --mrkt-font-body: "Inter", system-ui, sans-serif;

/* ==========================================================================
   TYPOGRAPHGY SCALE
   ========================================================================== */
  --mrkt-typo-body-family: var(--mrkt-font-body);
  --mrkt-typo-body-size: 1rem;
  --mrkt-typo-body-weight: 400;
  --mrkt-typo-body-line-height: 1.65;
  --mrkt-typo-body-letter-spacing: 0;

  --mrkt-typo-button-family: var(--mrkt-font-body);
  --mrkt-typo-button-size: 1rem;
  --mrkt-typo-button-weight: 600;
  --mrkt-typo-button-line-height: 1;
  --mrkt-typo-button-letter-spacing: 0.02em;

  --mrkt-typo-eyebrow-family: var(--mrkt-font-heading);
  --mrkt-typo-eyebrow-size: 0.875rem;
  --mrkt-typo-eyebrow-weight: 600;
  --mrkt-typo-eyebrow-line-height: 1.4;
  --mrkt-typo-eyebrow-letter-spacing: 0.16em;

  --mrkt-typo-h1-family: var(--mrkt-font-heading);
  --mrkt-typo-h1-size: clamp(2.25rem, 4vw, 3.5rem);
  --mrkt-typo-h1-weight: 600;
  --mrkt-typo-h1-line-height: 1.1;
  --mrkt-typo-h1-letter-spacing: -0.015em;

  --mrkt-typo-h2-family: var(--mrkt-font-heading);
  --mrkt-typo-h2-size: clamp(1.75rem, 2.6vw, 2.5rem);
  --mrkt-typo-h2-weight: 600;
  --mrkt-typo-h2-line-height: 1.15;
  --mrkt-typo-h2-letter-spacing: -0.01em;

  --mrkt-typo-h3-family: var(--mrkt-font-heading);
  --mrkt-typo-h3-size: clamp(1.375rem, 1.6vw, 1.75rem);
  --mrkt-typo-h3-weight: 600;
  --mrkt-typo-h3-line-height: 1.25;
  --mrkt-typo-h3-letter-spacing: 0;

  --mrkt-typo-h4-family: var(--mrkt-font-heading);
  --mrkt-typo-h4-size: 1.25rem;
  --mrkt-typo-h4-weight: 600;
  --mrkt-typo-h4-line-height: 1.3;
  --mrkt-typo-h4-letter-spacing: 0;

  --mrkt-typo-h5-family: var(--mrkt-font-heading);
  --mrkt-typo-h5-size: 1.1rem;
  --mrkt-typo-h5-weight: 600;
  --mrkt-typo-h5-line-height: 1.4;
  --mrkt-typo-h5-letter-spacing: 0.02em;

  --mrkt-typo-h6-family: var(--mrkt-font-heading);
  --mrkt-typo-h6-size: 1rem;
  --mrkt-typo-h6-weight: 600;
  --mrkt-typo-h6-line-height: 1.4;
  --mrkt-typo-h6-letter-spacing: 0.02em;

  --mrkt-typo-large-family: var(--mrkt-font-heading);
  --mrkt-typo-large-size: clamp(3rem, 4vw, 7rem);
  --mrkt-typo-large-weight: 800;
  --mrkt-typo-large-line-height: 1.04;
  --mrkt-typo-large-letter-spacing: -0.02em;
  
  --mrkt-typo-small-family: var(--mrkt-font-body);
  --mrkt-typo-small-size: 0.9rem;
  --mrkt-typo-small-weight: 300;
  --mrkt-typo-small-line-height: 1.5;
  --mrkt-typo-small-letter-spacing: 0.01em;
  
  --mrkt-typo-meta-family: var(--mrkt-font-heading);
  --mrkt-typo-meta-size: 0.8rem;
  --mrkt-typo-meta-weight: 300;
  --mrkt-typo-meta-line-height: 1.04;
  --mrkt-typo-meta-letter-spacing: 0.01em; 
    
/* ==========================================================================
   COLOR SCALE
   ========================================================================== */
  /* Base Colors */
  --mrkt-color-transparent:        transparent;
  --mrkt-color-black:              oklch(0 0 0);              /* #000000 */
  --mrkt-color-white:              oklch(1.000 0.000 89.9);   /* #ffffff */

  /* Some shades of grey */
  --mrkt-color-grey-50:            oklch(0.9821 0 0);             /* #f9f9f9 */
  --mrkt-color-grey-100:           oklch(0.967 0.0029 264.54);    /* #f3f4f6 */
  --mrkt-color-grey-300:           oklch(0.8717 0.0093 258.34);   /* #d1d5db */
  --mrkt-color-grey-500:           oklch(0.551 0.0234 264.36);    /* #6b7280 */
  --mrkt-color-grey-700:           oklch(0.551 0.0234 264.36);    /* #111827 */
  --mrkt-color-grey-900:           oklch(0.2781 0.0296 256.85);   /* #1f2937 */

  /* BRAND PRIMARY (Deep Royal Purple) */
  --mrkt-color-primary-50:  oklch(0.962 0.018 312.45); /* #f6f0f8 - Softest tint */
  --mrkt-color-primary-100: oklch(0.915 0.038 312.10); /* #eadbf0 - Light tint */
  --mrkt-color-primary-300: oklch(0.725 0.098 310.85); /* #b88bc8 - Intermediate light */
  --mrkt-color-primary-500: oklch(0.448 0.122 308.62); /* #6b4680 - Base Brand Purple */
  --mrkt-color-primary-700: oklch(0.310 0.088 308.10); /* #462a56 - Intermediate dark */
  --mrkt-color-primary-900: oklch(0.205 0.058 307.50); /* #261330 - Deepest shadow */

  /* ─────────────────────────────────────────
     Accents
  ───────────────────────────────────────── */
	/* ADULT EDUCATION & COACHING (Calming Green) */
  --mrkt-color-accent-edu-50:  oklch(0.968 0.015 152.10); /* #eef8f2 - Softest tint */
  --mrkt-color-accent-edu-100: oklch(0.920 0.035 151.80); /* #d3edd9 - Light tint */
  --mrkt-color-accent-edu-300: oklch(0.740 0.092 150.50); /* #7ec694 - Intermediate light */
  --mrkt-color-accent-edu-500: oklch(0.531 0.118 148.24); /* #257a4a - Base Edu Green */
  --mrkt-color-accent-edu-700: oklch(0.365 0.082 147.80); /* #185231 - Intermediate dark */
  --mrkt-color-accent-edu-900: oklch(0.228 0.051 147.10); /* #0c2b19 - Deepest shadow */
 
	/* THERAPEUTIC & MEDICINAL (Soft Blue) */
  --mrkt-color-accent-med-50:  oklch(0.965 0.014 248.10); /* #edf5fd - Softest tint */
  --mrkt-color-accent-med-100: oklch(0.912 0.038 247.50); /* #d0e4fa - Light tint */
  --mrkt-color-accent-med-300: oklch(0.738 0.095 246.20); /* #7fb2ee - Intermediate light */
  --mrkt-color-accent-med-500: oklch(0.536 0.142 245.85); /* #2b73c5 - Base med Blue */
  --mrkt-color-accent-med-700: oklch(0.372 0.098 246.50); /* #1a4d87 - Intermediate dark */
  --mrkt-color-accent-med-900: oklch(0.235 0.062 247.10); /* #0e294a - Deepest shadow */

  /* KID TUITION & NACHHILFE (Vibrant Coral/Red) */
  --mrkt-color-accent-kid-50:  oklch(0.968 0.015 22.40); /* #fdf2f2 - Softest tint */
  --mrkt-color-accent-kid-100: oklch(0.918 0.042 22.10); /* #fbd8d8 - Light tint */
  --mrkt-color-accent-kid-300: oklch(0.728 0.128 23.50); /* #f38688 - Intermediate light */
  --mrkt-color-accent-kid-500: oklch(0.538 0.201 25.12); /* #d9383a - Base Kid Red */
  --mrkt-color-accent-kid-700: oklch(0.382 0.142 25.80); /* #962224 - Intermediate dark */
  --mrkt-color-accent-kid-900: oklch(0.242 0.088 26.20); /* #521011 - Deepest shadow */

 	/* Transparency (relative OKLCH — add as needed.) */
  --mrkt-color-primary-a10: oklch(from var(--mrkt-color-primary) l c h / 0.1); /* hairline borders on dark surfaces */
	--mrkt-color-white-a10: oklch(from var(--mrkt-color-white) l c h / 0.1); /* hairline borders on dark surfaces */
	--mrkt-color-white-a60: oklch(from var(--mrkt-color-white) l c h / 0.6);
	--mrkt-color-white-a80: oklch(from var(--mrkt-color-white) l c h / 0.8);
	--mrkt-color-black-a40: oklch(from var(--mrkt-color-black) l c h / 0.4);  /* overlays / scrims */
	--mrkt-color-black-a60: oklch(from var(--mrkt-color-black) l c h / 0.6);
	--mrkt-color-black-a80: oklch(from var(--mrkt-color-black) l c h / 0.8);

	/* ---- Semantic aliases ---- */
	--mrkt-color-primary:       var(--mrkt-color-primary-500);
  --mrkt-color-accent-edu:    var(--mrkt-color-accent-edu-500);
  --mrkt-color-accent-med:    var(--mrkt-color-accent-med-500);
  --mrkt-color-accent-kid:    var(--mrkt-color-accent-kid-500);

	--mrkt-color-background:      var(--mrkt-color-white);
  --mrkt-color-background-alt:  var(--mrkt-color-primary-50);

	--mrkt-color-surface:       var(--mrkt-color-accent-900);
	--mrkt-color-surface-dark:  var(--mrkt-color-accent-800);

	--mrkt-color-border:        var(--mrkt-color-grey-100);
	--mrkt-color-border-soft:   var(--mrkt-color-grey-50);
 
	--mrkt-color-text:              oklch(0.2596 0 0);
	--mrkt-color-text-muted:        var(--mrkt-color-black-a60);
	--mrkt-color-text-alt:          var(--mrkt-color-primary-50);
	--mrkt-color-text-alt-muted:    var(--mrkt-color-white-a60);
  --e-global-color-v4-mrkt-color-primary: var(--mrkt-color-primary);

/* ==========================================================================
   Textures
   ========================================================================== */
  --mrkt-texture-grain-fine: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.045'/%3E%3C/svg%3E");
}

/* ==========================================================================
   RESET-LIGHT
   ========================================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}
    
body {
  font-family: var(--mrkt-typo-body-family);
  font-size: var(--mrkt-typo-body-size);
  font-weight: var(--mrkt-typo-body-weight);
  line-height: var(--mrkt-typo-body-line-height);
  letter-spacing: var(--mrkt-typo-body-letter-spacing);
  color: var(--mrkt-color-text);
  background: var(--mrkt-color-background);
}


/* ==========================================================================
   RESPONSIVE SPACING SCALE
   ========================================================================== */
   
/* L */
@media only screen and (min-width: 1301px) {
	:root {
    /* Header Height */
		--mrkt-header-height: 110px;
    --mrkt-small-footer-height: 50px;

    /* Gaps */
		--mrkt-section-gap: var(--mrkt-space-XL);
		--mrkt-base-gap: var(--mrkt-space-M);

		/* Spacing Scale */
		--mrkt-space-XXS: 0.25rem;
		--mrkt-space-XS:  0.5rem;
		--mrkt-space-S:   1rem;
		--mrkt-space-M:   2rem;
		--mrkt-space-L:   4rem;
		--mrkt-space-XL:  6rem;
		--mrkt-space-XXL: 8rem;
 
		/* Section Padding */
		--mrkt-section-padding-block:  var(--mrkt-space-XXL);
		--mrkt-section-padding-inline: 10vw;
		--mrkt-section-padding-left:   var(--mrkt-section-padding-inline);
		--mrkt-section-padding-right:  var(--mrkt-section-padding-inline);
		--mrkt-section-padding-top:    var(--mrkt-section-padding-block);
		--mrkt-section-padding-bottom: var(--mrkt-section-padding-block);
	}
}
 
/* M */
@media only screen and (max-width: 1300px) and (min-width: 768px) {
	:root {
    /* Header Height */
		--mrkt-header-height: 95px;
    --mrkt-small-footer-height: 50px;

    /* Gaps */
 		--mrkt-section-gap: var(--mrkt-space-L);
		--mrkt-base-gap: var(--mrkt-space-S);

		/* Spacing Scale */
		--mrkt-space-XXS: 0.25rem;
		--mrkt-space-XS:  0.5rem;
		--mrkt-space-S:   0.875rem;
		--mrkt-space-M:   1.5rem;
		--mrkt-space-L:   3rem;
		--mrkt-space-XL:  4rem;
		--mrkt-space-XXL: 5.5rem;
 
		/* Section Padding */
		--mrkt-section-padding-block:  var(--mrkt-space-XL);
		--mrkt-section-padding-inline: 2rem;
		--mrkt-section-padding-left:   var(--mrkt-section-padding-inline);
		--mrkt-section-padding-right:  var(--mrkt-section-padding-inline);
		--mrkt-section-padding-top:    var(--mrkt-section-padding-block);
		--mrkt-section-padding-bottom: var(--mrkt-section-padding-block);
	}
}
 
/* S */
@media only screen and (max-width: 767px) {
	:root {
    /* Header Height */
		--mrkt-header-height: 80px;
    --mrkt-small-footer-height: 40px;
 
    /* Gaps */
		--mrkt-section-gap: var(--mrkt-space-L);
		--mrkt-base-gap: var(--mrkt-space-XS);

		/* Spacing Scale */
		--mrkt-space-XXS: 0.25rem;
		--mrkt-space-XS:  0.375rem;
		--mrkt-space-S:   0.75rem;
		--mrkt-space-M:   1.25rem;
		--mrkt-space-L:   2rem;
		--mrkt-space-XL:  3rem;
		--mrkt-space-XXL: 4rem;
 
		/* Section Padding */       
		--mrkt-section-padding-block:  var(--mrkt-space-XL);
		--mrkt-section-padding-inline: 1.25rem;
 
		--mrkt-section-padding-left:   var(--mrkt-section-padding-inline);
		--mrkt-section-padding-right:  var(--mrkt-section-padding-inline);
		--mrkt-section-padding-top:    var(--mrkt-section-padding-block);
		--mrkt-section-padding-bottom: var(--mrkt-section-padding-block);
	}
}

/* ==========================================================================
   TYPOGRAPHY UTILITIES
   ========================================================================== */
.mrkt-typo-body {
  font-family: var(--mrkt-typo-body-family);
  font-size: var(--mrkt-typo-body-size);
  font-weight: var(--mrkt-typo-body-weight);
  line-height: var(--mrkt-typo-body-line-height);
  letter-spacing: var(--mrkt-typo-body-letter-spacing);
}

.mrkt-typo-button {
  font-family: var(--mrkt-typo-button-family);
  font-size: var(--mrkt-typo-button-size);
  font-weight: var(--mrkt-typo-button-weight);
  line-height: var(--mrkt-typo-button-line-height);
  letter-spacing: var(--mrkt-typo-button-letter-spacing);
}

.mrkt-typo-eyebrow {
  font-family: var(--mrkt-typo-eyebrow-family);
  font-size: var(--mrkt-typo-eyebrow-size);
  font-weight: var(--mrkt-typo-eyebrow-weight);
  line-height: var(--mrkt-typo-eyebrow-line-height);
  letter-spacing: var(--mrkt-typo-eyebrow-letter-spacing);
  text-transform: uppercase;
}

.mrkt-typo-h1 {
  font-family: var(--mrkt-typo-h1-family);
  font-size: var(--mrkt-typo-h1-size);
  font-weight: var(--mrkt-typo-h1-weight);
  line-height: var(--mrkt-typo-h1-line-height);
  letter-spacing: var(--mrkt-typo-h1-letter-spacing);
}

.mrkt-typo-h2 {
  font-family: var(--mrkt-typo-h2-family);
  font-size: var(--mrkt-typo-h2-size);
  font-weight: var(--mrkt-typo-h2-weight);
  line-height: var(--mrkt-typo-h2-line-height);
  letter-spacing: var(--mrkt-typo-h2-letter-spacing);
}

.mrkt-typo-h3 {
  font-family: var(--mrkt-typo-h3-family);
  font-size: var(--mrkt-typo-h3-size);
  font-weight: var(--mrkt-typo-h3-weight);
  line-height: var(--mrkt-typo-h3-line-height);
  letter-spacing: var(--mrkt-typo-h3-letter-spacing);
}

.mrkt-typo-h4 {
  font-family: var(--mrkt-typo-h4-family);
  font-size: var(--mrkt-typo-h4-size);
  font-weight: var(--mrkt-typo-h4-weight);
  line-height: var(--mrkt-typo-h4-line-height);
  letter-spacing: var(--mrkt-typo-h4-letter-spacing);
}

.mrkt-typo-h5 {
  font-family: var(--mrkt-typo-h5-family);
  font-size: var(--mrkt-typo-h5-size);
  font-weight: var(--mrkt-typo-h5-weight);
  line-height: var(--mrkt-typo-h5-line-height);
  letter-spacing: var(--mrkt-typo-h5-letter-spacing);
}

.mrkt-typo-h6 {
  font-family: var(--mrkt-typo-h6-family);
  font-size: var(--mrkt-typo-h6-size);
  font-weight: var(--mrkt-typo-h6-weight);
  line-height: var(--mrkt-typo-h6-line-height);
  letter-spacing: var(--mrkt-typo-h6-letter-spacing);
}

.mrkt-typo-small {
  font-family: var(--mrkt-typo-small-family);
  font-size: var(--mrkt-typo-small-size);
  font-weight: var(--mrkt-typo-small-weight);
  line-height: var(--mrkt-typo-small-line-height);
  letter-spacing: var(--mrkt-typo-small-letter-spacing);
}

.mrkt-typo-meta {
  font-family: var(--mrkt-typo-meta-family);
  font-size: var(--mrkt-typo-meta-size);
  font-weight: var(--mrkt-typo-meta-weight);
  line-height: var(--mrkt-typo-meta-line-height);
  letter-spacing: var(--mrkt-typo-meta-letter-spacing);
}


/* ==========================================================================
   Button Styles
   ========================================================================== */

/* ─────────────────────────────────────────
  Non Elementor Button Styles
───────────────────────────────────────── */
:where([class^='mrkt-btn--']:not([class*='__'])) {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2.2rem;

  /** Typography */
  font-family: var(--mrkt-typo-button-family);
  font-size: var(--mrkt-typo-button-size);
  font-weight: var(--mrkt-typo-button-weight);
  line-height: var(--mrkt-typo-button-line-height);
  letter-spacing: var(--mrkt-typo-button-letter-spacing);

  cursor: pointer;
  background-color: transparent;
  transition: all var(--mrkt-transition-base);
  
  /* Overwritable Variables */
  --btn-color-muted: var(--mrkt-color-primary-300);
  --btn-color-vibrant: var(--mrkt-color-primary-500);
  --btn-glow: var(--mrkt-color-primary-700);
  
  color: var(--btn-color-vibrant);
}

/* Creates the top-center notch gap where the icon sits */
:where([class^='mrkt-btn--']:not([class*='__']))::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--btn-color-muted);
  border-radius: var(--mrkt-border-radius-S);
  transition: all var(--mrkt-transition-base);
  clip-path: polygon(
    0% 0%, 
    calc(50% - 18px) 0%, 
    calc(50% - 18px) 12px, 
    calc(50% + 18px) 12px, 
    calc(50% + 18px) 0%, 
    100% 0%, 
    100% 100%, 
    0% 100%
  );
}

/* Icon Floating in Notch */
:where([class^='mrkt-btn--']:not([class*='__']))::after {
  content: attr(data-icon); /* Default fallback uses data-icon attribute */
  position: absolute;
  z-index: 2;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 0 6px;

  font-size: var(--mrkt-typo-button-size);
  line-height: var(--mrkt-typo-button-line-height);
  color: var(--btn-color-muted);

  background: transparent;
  transition: all var(--mrkt-transition-base);
}

/* If no data-icon is explicitly set, fallback to TU'ES Star ★ */
:where([class^='mrkt-btn--']:not([class*='__'])):not([data-icon])::after {
  content: "★";
}

:where([class^='mrkt-btn--']:not([class*='__'])):hover,
:where([class^='mrkt-btn--']:not([class*='__'])):focus-visible {
  color: var(--btn-color-vibrant);
  transform: translateY(-2px);
}

:where([class^='mrkt-btn--']:not([class*='__'])):hover::before,
:where([class^='mrkt-btn--']:not([class*='__'])):focus-visible::before {
  border-color: var(--btn-color-vibrant);
  border-width: 1.5px;
}

:where([class^='mrkt-btn--']:not([class*='__'])):hover::after,
:where([class^='mrkt-btn--']:not([class*='__'])):focus-visible::after {
  color: var(--btn-color-vibrant);
  transform: translateX(-50%) rotate(15deg) scale(1.18); /* Tilts icon on hover */
}

/* ─────────────────────────────────────────
  Button Variants
───────────────────────────────────────── */
.mrkt-btn--primary {
  --btn-color-muted: var(--mrkt-color-primary-300);
  --btn-color-vibrant: var(--mrkt-color-primary-500);
  --btn-glow: var(--mrkt-color-primary-700);
}

.mrkt-btn--ghost {
  --btn-color-muted: var(--mrkt-color-white-a60);
  --btn-color-vibrant: var(--mrkt-color-white);
  --btn-glow: var(--mrkt-color-white);
}

.mrkt-btn--edu {
  --btn-color-muted: var(--mrkt-color-accent-edu-300);
  --btn-color-vibrant: var(--mrkt-color-accent-edu-500);
  --btn-glow: var(--mrkt-color-accent-edu-700);
}

.mrkt-btn--med {
  --btn-color-muted: var(--mrkt-color-accent-med-300);
  --btn-color-vibrant: var(--mrkt-color-accent-med-500);
  --btn-glow: var(--mrkt-color-accent-med-700);
}

.mrkt-btn--kid {
  --btn-color-muted: var(--mrkt-color-accent-kid-300);
  --btn-color-vibrant: var(--mrkt-color-accent-kid-500);
  --btn-glow: var(--mrkt-color-accent-kid-700);
}

/* ─────────────────────────────────────────
  Elementor Button Overrides
───────────────────────────────────────── */
.elementor :is(a, button, [role='button'], .elementor-button, .e-button-base):is([class^='mrkt-btn--'], [class*=' mrkt-btn--']) {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2.2rem;

  /** Typography */
  font-family: var(--mrkt-typo-button-family);
  font-size: var(--mrkt-typo-button-size);
  font-weight: var(--mrkt-typo-button-weight);
  line-height: var(--mrkt-typo-button-line-height);
  letter-spacing: var(--mrkt-typo-button-letter-spacing);

  cursor: pointer;
  background-color: transparent;
  transition: all var(--mrkt-transition-base);
  border: 1px solid transparent;
  
  /* Overwritable Variables */
  color: var(--btn-color-vibrant);
}

.elementor :is(a, button, [role='button'], .elementor-button, .e-button-base):is([class^='mrkt-btn--'], [class*=' mrkt-btn--'])::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--btn-color-muted);
  border-radius: var(--mrkt-border-radius-base);
  transition: all var(--mrkt-transition-base);
  /* Creates the top-center notch gap where the icon sits */
  clip-path: polygon(
    0% 0%, 
    calc(50% - 18px) 0%, 
    calc(50% - 18px) 12px, 
    calc(50% + 18px) 12px, 
    calc(50% + 18px) 0%, 
    100% 0%, 
    100% 100%, 
    0% 100%
  );
}

/* Icon Floating in Notch */
.elementor :is(a, button, [role='button'], .elementor-button, .e-button-base):is([class^='mrkt-btn--'], [class*=' mrkt-btn--'])::after {
  content: attr(data-icon); /* Default fallback uses data-icon attribute */
  position: absolute;
  z-index: 2;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 0 6px;

  font-size: var(--mrkt-typo-button-size);
  line-height: var(--mrkt-typo-button-line-height);
  color: var(--btn-color-muted);

  background: transparent;
  transition: all var(--mrkt-transition-base);
}

/* If no data-icon is explicitly set, fallback to TU'ES Star ★ */
.elementor :is(a, button, [role='button'], .elementor-button, .e-button-base):is([class^='mrkt-btn--'], [class*=' mrkt-btn--']):not([data-icon])::after {
  content: "★";
}

.elementor :is(a, button, [role='button'], .elementor-button, .e-button-base):is([class^='mrkt-btn--'], [class*=' mrkt-btn--']):hover,
.elementor :is(a, button, [role='button'], .elementor-button, .e-button-base):is([class^='mrkt-btn--'], [class*=' mrkt-btn--']):focus-visible {
  color: var(--btn-color-vibrant);
  transform: translateY(-2px);
}

.elementor :is(a, button, [role='button'], .elementor-button, .e-button-base):is([class^='mrkt-btn--'], [class*=' mrkt-btn--']):hover::before,
.elementor :is(a, button, [role='button'], .elementor-button, .e-button-base):is([class^='mrkt-btn--'], [class*=' mrkt-btn--']):focus-visible::before {
  border-color: var(--btn-color-vibrant);
  border-width: 1.5px;
}

.elementor :is(a, button, [role='button'], .elementor-button, .e-button-base):is([class^='mrkt-btn--'], [class*=' mrkt-btn--']):hover::after,
.elementor :is(a, button, [role='button'], .elementor-button, .e-button-base):is([class^='mrkt-btn--'], [class*=' mrkt-btn--']):focus-visible::after {
  color: var(--btn-color-vibrant);
  transform: translateX(-50%) rotate(15deg) scale(1.18); /* Tilts icon on hover */
}

/* ==========================================================================
   END Button Styles
========================================================================== */

.bg-image-div {
  min-height: 150px!important;
  border-radius: var(--mrkt-border-radius-base);
  align-self: stretch;
}

@media only screen and (max-width: 767px) {
  .bg-image-div {
    align-self: center;
  }
}


.mrkt-section {
  /* Layout */
  padding-block: var(--mrkt-section-padding-block)!important;
  padding-inline: var(--mrkt-section-padding-inline)!important;
}


.list {
  display: flex!important;
  flex-direction: column!important;
  align-items: flex-start!important;
  justify-content: flex-start!important;
  gap: var(--mrkt-space-XS)!important;
}

/* ==========================================================================
   ############## SCOPES START ##############
   ========================================================================== */


/* ==========================================================================
   SCOPE: Landing Hero
   ========================================================================== */
@scope (.mrkt-landing-hero) {
  :scope .e-div-block-base,
  .elementor :scope {
    /* Layout */
    min-width: 0;
    min-height: 0;
    padding: 0;
  }

  :scope {
    /* Style */
    --landing-hero-accent: var(--mrkt-color-primary-500);
    --landing-hero-overlay: var(--mrkt-color-primary-900);
    --landing-hero-background-start: var(--mrkt-color-white);
    --landing-hero-background-middle: var(--mrkt-color-primary-50);
    --landing-hero-background-end: var(--mrkt-color-primary-100);
  }

  .elementor :scope {
    /* Layout */
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    padding-top: calc(var(--mrkt-header-height) + var(--mrkt-space-M));
    padding-bottom: var(--mrkt-space-M);
    padding-inline: calc(var(--mrkt-section-padding-inline) / 4);

    /* Style */
    background-image: linear-gradient(
      to bottom in oklab,
      var(--landing-hero-background-start),
      var(--landing-hero-background-middle),
      var(--landing-hero-background-end)
    );
  }

  :scope .grid {
    /* Layout */
    min-height: 0;
    display: grid;
    flex: 1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(2, 1fr);
    grid-template-areas:
      "feature feature wide wide"
      "feature feature compact-start compact-end";
    gap: var(--mrkt-space-M);
  }

  :scope :is([class*='tile--']) {
    /* Positioning */
    position: relative;
    isolation: isolate;

    /* Layout */
    min-width: 0;
    min-height: 23rem;
    display: flex;
    align-items: flex-end;
    padding: var(--mrkt-space-M);
    overflow: hidden;

    /* Style */
    --tile-accent: var(--landing-hero-accent);
    --tile-overlay: var(--landing-hero-overlay);
    color: var(--mrkt-color-white);
    background-color: var(--tile-overlay);
    background-position: center;
    background-size: cover;
    border-radius: var(--mrkt-border-radius-base);
    box-shadow: var(--mrkt-shadow-S);
  }

  :scope :is([class*='tile--'])::before {
    /* Positioning */
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    /* Style */
    background: linear-gradient(
      160deg,
      oklch(from var(--tile-accent) l c h / 0.42) 0%,
      oklch(from var(--tile-overlay) l c h / 0.76) 72%,
      oklch(from var(--mrkt-color-black) l c h / 0.82) 100%
    );

    /* Transitions */
    transition: background-color var(--mrkt-transition-base);
  }

  :scope :is([class*='tile--'])::after {
    /* Positioning */
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    /* Style */
    background: oklch(from var(--tile-accent) l c h / 0.28);
    opacity: 0;

    /* Transitions */
    transition: opacity var(--mrkt-transition-base);
  }

  :scope :is([class*='tile--']):is(:hover, :focus-within)::after {
    /* Style */
    opacity: 1;
  }

  :scope .tile--feature {
    /* Positioning */
    grid-area: feature;
  }

  :scope .tile--wide {
    /* Positioning */
    grid-area: wide;
  }

  :scope .tile--compact-start {
    /* Positioning */
    grid-area: compact-start;
  }

  :scope .tile--compact-end {
    /* Positioning */
    grid-area: compact-end;
  }

  :scope .content {
    /* Layout */
    width: min(100%, 37rem);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--mrkt-space-S);
  }

  :scope p {
    /* Layout */
    max-width: var(--mrkt-max-content-width);
  }

  @media only screen and (max-width: 1600px) {
    .elementor :scope {
      /* Layout */
      height: auto;
    }

    :scope .grid {
      /* Layout */
      min-height: auto;
      flex: 1;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      grid-template-areas:
        "feature feature feature"
        "wide compact-start compact-end";
    }
  }

  @media only screen and (max-width: 1300px) and (min-width: 768px) {
    .elementor :scope {
      /* Layout */
      padding-inline: var(--mrkt-section-padding-inline);
      min-height: auto;
      height: auto;
    }
  }


  @media only screen and (max-width: 767px) {
    .elementor :scope {
      /* Layout */
      padding-inline: var(--mrkt-section-padding-inline);
      min-height: auto;
      height: auto;
    }

    :scope .grid {
      /* Layout */
      min-height: 0;
      flex: none;
      grid-template-columns: 1fr;
      grid-template-rows: auto;
      grid-template-areas:
        "feature"
        "wide"
        "compact-start"
        "compact-end";
      gap: var(--mrkt-space-S);
    }

    :scope :is([class*='tile--']) {
      /* Layout */
      min-height: fit-content;
    }

    :scope .tile--feature {
      /* Layout */
      min-height: 32rem;
    }
  }
}


/* ==========================================================================
   SCOPE: INTRO
   ========================================================================== */
@scope (.mrkt-intro) {
  :scope .e-div-block-base,
  .elementor :scope {
    /* Layout */
    min-width: 0;
    min-height: 0;
    padding: 0;
  }

  :scope {
    /* Style */
    --intro-accent: var(--mrkt-color-primary-300);
    --intro-color: var(--mrkt-color-primary-500);
    --intro-overlay: var(--mrkt-color-primary-900);
  }

  .elementor :scope {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: row;
    align-items: center;
    overflow: hidden; 
    gap: var(--mrkt-space-XL);
    color: var(--mrkt-color-text);
  }

  :scope .mrkt-typo-h2 {
    color: var(--intro-color);
  }

  :scope .mrkt-typo-h3 {
    color: var(--intro-color);
  }

  :scope .mrkt-typo-eyebrow {
    color: var(--intro-accent);
  }

  :scope .content {
    display: flex;
    flex-direction: column;
    align-items: left;
    gap: var(--mrkt-space-S);
  }

  @media only screen and (max-width: 767px) {
    .elementor :scope {
      flex-direction: column-reverse;
      gap: var(--mrkt-space-M);
    }
  }
}


/* ==========================================================================
   SCOPE: BADGE
   ========================================================================== */
@scope (.mrkt-badge) {
  :scope .e-div-block-base,
  .elementor :scope {
    /* Layout */
    min-width: 0;
    min-height: 0;
    padding: 0;
  }

  :scope {
    /* Style */
    --badge-background-color: var(--mrkt-color-primary-700);
    --badge-color: var(--mrkt-color-white);
  }

  .elementor :scope {
    /* Layout */
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: var(--mrkt-space-S);
    padding-block: var(--mrkt-space-S);

    /* Style */
    background-color: var(--badge-background-color);
    color: var(--badge-color);
  }

  @media only screen and (max-width: 767px) {
    .elementor :scope {
      padding: var(--mrkt-section-padding-inline);
      display: flex;
      text-align: center;
      flex-direction: column;
    }
  }
}


/* ==========================================================================
   SCOPE: CTA BANNER
   ========================================================================== */
@scope (.mrkt-cta) {
  :scope .e-div-block-base,
  .elementor :scope {
    /* Layout */
    min-width: 0;
    min-height: 0;
    padding: 0;
  }

  :scope {
    /* Style */
    --cta-overlay-color: color-mix(in oklch, var(--mrkt-color-primary-900) 75%, var(--mrkt-color-transparent));
    --cta-color: var(--mrkt-color-white);
  }

  .elementor :scope {
    /* Layout */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: var(--mrkt-space-S);
    padding-inline: var(--mrkt-section-padding-inline);
    padding-block: calc(var(--mrkt-section-padding-block));

    /* Style */
    color: var(--cta-color);
  }

  /* Overlay */
  :scope::before{
    content: "";
    pointer-events: none;

    /* Layout */
    position: absolute;
    z-index: 0;
    inset: 0;

    /* Style */
    background: var(--cta-overlay-color);
  }

  :scope .content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    align-items: center;
    gap: var(--mrkt-space-M);
    z-index: 1;
  }
}


/* ==========================================================================
   SCOPE: Horizontal Cards With intro text
   ========================================================================== */
@scope (.mrkt-top-cards) {
  :scope .e-div-block-base,
  .elementor :scope {
    /* Layout */
    min-width: 0;
    min-height: 0;
    padding: 0;
  }

  :scope {
    /* Style */
    --top-cards-accent: var(--mrkt-color-primary-100);
    --top-cards-color: var(--mrkt-color-primary-500);
    --top-cards-overlay: var(--mrkt-color-primary-900);

    --top-cards-background-start: var(--mrkt-color-white);
    --top-cards-background-middle: var(--mrkt-color-primary-50);
    --top-cards-background-end: var(--mrkt-color-primary-100);
  }

  .elementor :scope {
    /* Layout */
    display: flex;
    flex-direction: column;
    isolation: isolate;
    align-items: center;
    overflow: hidden; 
    gap: var(--mrkt-space-L);
    padding-block: var(--mrkt-section-padding-block);
    padding-inline: calc(var(--mrkt-section-padding-inline) / 2);
    color: var(--mrkt-color-text-muted);

    background-image: linear-gradient(
      to bottom in oklab,
      var(--top-cards-background-start),
      var(--top-cards-background-middle),
      var(--top-cards-background-end)
    );
  }

  :scope .content {
    /* Layout */
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: var(--mrkt-space-L);
  }

  :scope .header-right {
    /* Layout */
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: var(--mrkt-space-M);
  }

  :scope .header-left {
    /* Layout */
    display: flex;
    align-items: center;
    gap: var(--mrkt-space-M);
  }

  :scope .header-icon {
    width: 5rem;
    height: 5rem;
    border-radius: var(--mrkt-border-radius-base);
    background: var(--top-cards-color);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--top-cards-accent);
    flex-shrink: 0;
  }

  :scope .header-icon svg {
    width: 26px;
    height: 26px;
    fill: var(--mrkt-color-white);
  }

  :scope .header-title h2 {
    color: var(--top-cards-color);
  }

  /* ─────────────────────────────────────────
      Card Grid
  ───────────────────────────────────────── */
  :scope .cards-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--mrkt-space-M);
  }

  :scope .card {
    background: var(--mrkt-color-white);
    border: 1.5px solid var(--mrkt-color-border);
    border-radius: var(--mrkt-border-radius-base);
    padding: 1.4rem 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 5rem;
    position: relative;
    cursor: pointer;
    transition: all var(--mrkt-transition-base);
    box-shadow: 0 0 0 transparent;
    gap: var(--mrkt-space-S);
  }

  :scope .card:hover,
  :scope .card:focus-visible {
    transform: translateY(-3px);
    border-color: var(--mrkt-color-border);
    box-shadow: var(--mrkt-shadow-S);
  }

  :scope .card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  :scope .level-badge {
    font-size: var(--mrkt-typo-small-size);
    display: inline-flex;
    align-items: center;
    gap: var(--mrkt-space-XS);
    padding: 0.25rem 0.6rem;
    background: var(--top-cards-accent);
    color: var(--top-cards-overlay);
    border-radius: var(--mrkt-border-radius-S);
  }

  :scope .flag-wrapper {
    padding: 0;

    width: 50px;
    height: 35px;
    border-radius: var(--mrkt-border-radius-S);
    overflow: hidden;
    opacity: 0.65;
    transition: var(--mrkt-transition-base);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  :scope .card:hover .flag-wrapper,
  :scope .card:focus-visible .flag-wrapper {
    opacity: 1;
    transform: scale(1.08);
  }

  :scope .flag-svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  :scope .card-body {
    display: flex;
    flex-direction: column;
    gap: var(--mrkt-space-XS);
  }

  :scope .card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: var(--mrkt-space-S);
    border-top: 1px solid var(--mrkt-color-border);
  }

  :scope .tags-wrap {
    display: flex;
    gap: var(--mrkt-space-XS);
    flex-wrap: wrap;
  }

  :scope :is([class*='tag--']) {
    font-size: var(--mrkt-typo-small-size);
    font-weight: 600;
    padding: 0.2rem 0.55rem;
    border-radius: var(--mrkt-border-radius-base);
    background: var(--mrkt-color-background);
    color: var(--mrkt-color-text-muted);
  }

  :scope .tag--free {
    background: #dcfce7;
    color: #15803d;
  }

  :scope .tag--cert {
    background: #e0f2fe;
    color: #0369a1;
  }

  @media only screen and (max-width: 1300px) and (min-width: 768px) {
    .elementor :scope {
      padding-inline: var(--mrkt-section-padding-inline);
    }

    :scope .cards-grid {
      grid-template-columns: repeat(2, 2fr);
    }
  }

  @media only screen and (max-width: 767px) {
    .elementor :scope {
      padding-inline: var(--mrkt-section-padding-inline);
    }

    :scope .header-right  {
      flex-direction: column;
    }

    :scope .header-left {
      flex-direction: column;
    }

    :scope .cards-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
}


/* ==========================================================================
   SCOPE: Facts
   ========================================================================== */
@scope (.mrkt-facts) {
  :scope .e-div-block-base,
  .elementor :scope {
    /* Layout */
    min-width: 0;
    min-height: 0;
    padding: 0;
  }

  :scope {
    /* Style */
    --facts-accent: var(--mrkt-color-primary-100);
    --facts-color: var(--mrkt-color-primary-500);
    --facts-overlay: var(--mrkt-color-primary-900);
  }

  .elementor :scope {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden; 
    gap: var(--mrkt-space-L);
    padding-block: var(--mrkt-section-padding-block);
    padding-inline: var(--mrkt-section-padding-inline);
    color: var(--mrkt-color-text);
  }

  :scope .mrkt-typo-h2 {
    color: var(--facts-color);
  }

  :scope .mrkt-typo-eyebrow {
    color: var(--facts-accent);
  }

  :scope .content {
    display: flex;
    flex-direction: column;
    align-items: left;
    gap: var(--mrkt-space-S);
  }

  :scope .header-left {
    display: flex;
    align-items: center;
    gap: var(--mrkt-space-XL);
  }

  :scope .header-number {
    display: flex;
    align-items:flex-start;
    justify-content: flex-start;
    gap: var(--mrkt-space-L);
    padding-top: var(--mrkt-space-M);
    border-top: 1px solid var(--facts-accent);
  }

  :scope .mrkt-counter {
    /* Colors */
    --mrkt-counter-text-color: var(--mrkt-color-text);
    --mrkt-counter-accent-color: var(--facts-color);
    
    /* Typography */
    --mrkt-counter-font-family: var(--mrkt-typo-heading-family);
    --mrkt-counter-font-size: var(--mrkt-typo-h1-size);
    --mrkt-counter-font-weight: var(--mrkt-typo-h1-weight);
    --mrkt-counter-line-height: var(--mrkt-typo-h1-line-height);

    /* Animation & Layout */
    --mrkt-counter-duration: 2000ms; /* Default duration fallback */
    --mrkt-counter-padding: 0px;

    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--mrkt-counter-padding);
    font-family: var(--mrkt-counter-font-family);
    color: var(--mrkt-counter-text-color);
  }

  :scope .mrkt-counter__number {
    font-size: var(--mrkt-counter-font-size);
    font-weight: var(--mrkt-counter-font-weight);
    line-height: var(--mrkt-counter-line-height);
    color: var(--mrkt-counter-accent-color);
    font-variant-numeric: tabular-nums; /* Prevents text layout shifting while counting */
  }

  :scope .mrkt-counter__label {
    margin: 0.5rem 0 0 0;
    font-size: 1rem;
    font-weight: 400;
    opacity: 0.8;
  }

  @media only screen and (max-width: 1300px) and (min-width: 768px) {
    .elementor :scope {
      padding-inline: var(--mrkt-section-padding-inline);
    }

    :scope .list  {
      align-items: center!important;
      justify-content: center!important;
    }
  }

  @media only screen and (max-width: 767px) {
    .elementor :scope {
      padding-inline: var(--mrkt-section-padding-inline);
    }

    :scope .header-number  {
      flex-direction: column;
    }

    :scope .list  {
      align-items: center!important;
      justify-content: center!important;
    }
  }
}


/* ==========================================================================
   SCOPE: Cards left Text right
   ========================================================================== */
@scope (.mrkt-text-cards) {
  :scope .e-div-block-base,
  .elementor :scope {
    /* Layout */
    min-width: 0;
    min-height: 0;
    padding: 0;
  }

  :scope {
    /* Style */
    --text-cards-background-overlay: url('/wp-content/uploads/2026/08/engaged-young-adults-in-a-university-classroom-set-2026-01-05-06-30-30-utc-scaled.jpg');

    --text-cards-accent: var(--mrkt-color-primary-300);
    --text-cards-color: var(--mrkt-color-primary-500);
    --text-cards-overlay: var(--mrkt-color-primary-900);
  }

  .elementor :scope {
    /* Layout */
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    overflow: hidden; 
    isolation: isolate;

    padding-block: var(--mrkt-section-padding-block);
    padding-inline: var(--mrkt-section-padding-inline);
    gap: var(--mrkt-space-L);

    /* style */
    color: var(--mrkt-color-text-muted);
  }

  .elementor :scope::before {
    /* Positioning */
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;

    /* Style */
    opacity: 0.05;
    background-image: var(--text-cards-background-overlay);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }

  :scope .mrkt-typo-h2 {
    color: var(--text-cards-color);
  }

  :scope .mrkt-typo-eyebrow {
    color: var(--text-cards-accent);
  }

  :scope .content {
    display: flex;
    flex-direction: column;
    align-items: left;
    gap: var(--mrkt-space-S);
  }

  :scope .cards-grid {
    display: grid;
    grid-template-columns: repeat(2, 2fr);
    gap: var(--mrkt-space-M);
  }

  :scope .card {
    display: flex;
    background: var(--mrkt-color-white);
    border: 1.5px solid var(--mrkt-color-border);
    border-radius: var(--mrkt-border-radius-base);
    overflow: hidden;
    flex-direction: column;
    cursor: pointer;
    transition: transform var(--mrkt-transition-base), box-shadow var(--mrkt-transition-base), border-color var(--mrkt-transition-base);
    box-shadow: 0 0 0 transparent;
    gap: var(--mrkt-space-S);
  }

  :scope .card:hover,
  :scope .card:focus-visible {
    transform: translateY(-6px);
    border-color: var(--text-cards-accent);
    box-shadow: 0 0 25px var(--text-cards-accent);
  }

  :scope .card-img-wrap {
    position: relative;
    height: 180px;
    overflow: hidden;
    background: #f3f0f7;
  }

  :scope .card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transition: transform var(--mrkt-transition-base);
  }

  :scope .card:hover .card-img,
  :scope .card:focus-visible .card-img {
    transform: scale(1.08);
  }

  :scope .card-badge {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    background: var(--text-cards-color);
    color: white;
    font-weight: 700;
    text-transform: uppercase;
    padding: 0.25rem 0.65rem;
    border-radius: var(--mrkt-border-radius-S);
  }

  :scope .card-body {
    padding: 1.4rem 1.25rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
    gap: var(--mrkt-space-XS);
  }

  :scope .card-title {
    color: var(--text-cards-accent);
    transition: color 0.2s ease;
  }

  :scope .card:hover .card-title {
    color: var(--text-cards-color);
  }

  :scope .card:hover .card-footer {
    color: var(--text-cards-color);
  }

  :scope .card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--mrkt-color-border);
    padding-top: var(--mrkt-space-S);
    color: var(--text-cards-accent);
    font-size: var(--mrkt-typo-small-size);
    font-weight: 700;
  }


  @media only screen and (max-width: 1500px) and (min-width: 1301px) {
      :scope .card-footer {
      flex-direction: column;
    }
  }

  @media only screen and (max-width: 1300px) and (min-width: 768px) {
    .elementor :scope {
      flex-direction: column-reverse;
    }

    :scope .cards-grid {
      grid-template-columns: repeat(2, 1fr);
    }

    :scope .card-footer {
      flex-direction: column;
    }
  }

  @media only screen and (max-width: 767px) {
    .elementor :scope {
      flex-direction: column-reverse;
    }

    :scope .cards-grid {
      grid-template-columns: repeat(1, 1fr);
    }
  }
}


/* ==========================================================================
   SCOPE: Split section with 
   ========================================================================== */
@scope (.mrkt-fixed-image-section) {
  :scope .e-div-block-base,
  .elementor :scope {
    /* Layout */
    min-width: 0;
    min-height: 0;
    padding: 0;
  }

  :scope {
    /* Style */
    --fixed-image-section-bg: var(--mrkt-color-primary-50);
    --fixed-image-section-accent: var(--mrkt-color-primary-300);
    --fixed-image-section-color: var(--mrkt-color-primary-500);
    --fixed-image-section-overlay: var(--mrkt-color-primary-900);
  }

  .elementor :scope {
    position: relative;
    display: flex;
    flex-direction: row;
    overflow: hidden; 
    gap: var(--mrkt-space-XL);

    color: var(--mrkt-color-text-muted);
    background-color: var(--fixed-image-section-bg);
  }

  :scope .mrkt-typo-h2 {
    color: var(--fixed-image-section-color);
  }

  :scope .mrkt-typo-eyebrow {
    color: var(--fixed-image-section-accent);
  }

  :scope .content {
    display: flex;
    flex-direction: column;
    align-items: left;
    padding-right: var(--mrkt-section-padding-inline);
    padding-block: var(--mrkt-section-padding-block);
    gap: var(--mrkt-space-M);
    width: 40%;
  }

  :scope .fixed-image {
    min-height: 150px!important;
    align-self: stretch;
    width: 60%;
  }

  :scope .header-left {
    display: flex;
    align-items: flex-start;
    gap: var(--mrkt-space-L);
    padding-top: var(--mrkt-space-M);
    border-top: 1px solid var(--fixed-image-section-accent);
  }


  @media only screen and (max-width: 1300px) and (min-width: 768px) {
    :scope .fixed-image {
      width: 50%;
    }

    :scope .content {
      width: 50%;
    }
  }

  @media only screen and (max-width: 767px) {
    .elementor :scope {
      flex-direction: column;
      gap: 0px;
    }

    :scope .fixed-image {
      height: 150px!important;
      align-self: center;
      width: 100%;
    }

    :scope .content {
      padding-inline: var(--mrkt-section-padding-inline);
      width: 100%;
    }
  }
}


/* ==========================================================================
   SCOPE: Masonry Grid
   ========================================================================== */
@scope (.mrkt-masonry-grid-section) {
  :scope .e-div-block-base,
  .elementor :scope {
    /* Layout */
    min-width: 0;
    min-height: 0;
    padding: 0;
  }

  :scope {
    --masonry-grid-section-background-overlay: url('/wp-content/uploads/2026/08/engaged-young-adults-in-a-university-classroom-set-2026-01-05-06-30-30-utc-scaled.jpg');

    /* Style */
    --masonry-grid-section-bg: var(--mrkt-color-primary-50);
    --masonry-grid-section-accent: var(--mrkt-color-primary-300);
    --masonry-grid-section-color: var(--mrkt-color-primary-500);
    --masonry-grid-section-overlay: var(--mrkt-color-primary-900);

    --masonry-grid-section-start: var(--mrkt-color-white);
    --masonry-grid-section-middle: var(--mrkt-color-primary-50);
    --masonry-grid-section-end: var(--mrkt-color-primary-100);
  }

  .elementor :scope {
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    gap: var(--mrkt-space-L);
    padding-block: var(--mrkt-section-padding-block);
    padding-inline: var(--mrkt-section-padding-inline);
    color: var(--mrkt-color-text-muted);

    background-image: linear-gradient(
      to bottom in oklab,
      var(--masonry-grid-section-start),
      var(--masonry-grid-section-middle),
      var(--masonry-grid-section-end)
    );
  }

  :is(.elementor) :scope::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;

    /* Style */
    opacity: 0.05;
    background-image: var(--masonry-grid-section-background-overlay);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }

  :scope .mrkt-typo-h2 {
    color: var(--masonry-grid-section-color);
  }

  :scope .mrkt-typo-h3 {
    color: var(--masonry-grid-section-color);
  }

  :scope .mrkt-typo-eyebrow {
    color: var(--masonry-grid-section-accent);
  }

  :scope .content {
    display: flex;
    flex-direction: column;
    align-items: left;
    gap: var(--mrkt-space-M);
  }

  :scope .list {
    display: flex;
    flex-direction: column;
    align-items: left;
    gap: var(--mrkt-space-S);
  }

  :scope .header-left {
    display: flex;
    align-items: center;
    gap: var(--mrkt-space-M);
  }

  :scope .header-icon {
    width: 5rem;
    height: 5rem;
    border-radius: var(--mrkt-border-radius-base);
    background: var(--masonry-grid-section-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--masonry-grid-section-color);
    flex-shrink: 0;
  }

  :scope .header-icon svg {
    width: 26px;
    height: 26px;
    fill: var(--mrkt-color-white);
  }


  /* ==========================================================================
    Masonry Grid:
  ========================================================================== */
  .mrkt-masonry-grid__card::after {
    content: "";
    position: absolute;
    inset: 15% 0 0;
    background: linear-gradient(transparent, rgba(27, 20, 14, 0.75));
    pointer-events: none;
  }

  .mrkt-masonry-grid__img {
    pointer-events: auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
    cursor: zoom-in !important;
  }

  .mrkt-masonry-grid__card:hover .mrkt-masonry-grid__img {
    transform: scale(1.035);
  }

  .mrkt-masonry-grid__card:hover .mrkt-masonry-grid__zoom {
    background-color: rgba(33, 25, 18, 0.4) !important;
    transform: scale(1.035) !important;
  }

  @media only screen and (max-width: 767px) {
    :scope .content {
      flex-direction: column;
    }
  }
}


/* ==========================================================================
   SCOPE: FAQ Section
   ========================================================================== */
@scope (.mrkt-faq-section) {

  /* Reset Elementor Defaults */
  :scope .e-div-block-base,
  .elementor :scope {
    padding: 0;
    min-width: 0;
    min-height: 0;
  }

  .elementor :scope {
    /* Layout */
    isolation: isolate;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--mrkt-section-gap);

    /* Font */
    color: var(--mrkt-color-white);
  }

  :scope::before {
    content: "";

    /* Positioning */
    position: absolute;
    inset: 0;
    z-index: -1;

    /* Style */
    background: var(--mrkt-color-black-a80);
  }

  .elementor :scope .intro {
    /* Layout */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--mrkt-space-S);
  }

  /* Identity header: avatar of the contact person beside eyebrow + title. */
  :scope .identity {
    /* Layout */
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--mrkt-space-S);
  }

  :scope .titles {
    /* Layout */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--mrkt-space-XXS);
  }

  /* Round portrait with a primary ring. */
  :scope .avatar {
    /* Layout */
    width: 4.5rem;
    height: 4.5rem;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--mrkt-border-radius-full);

    /* Style */
    border: 2px solid var(--mrkt-color-primary);
  }

  @media only screen and (max-width: 767px) {
    .elementor :scope {
      flex-direction: column;
      align-items: stretch;
    }
  }
}


/* ==========================================================================
   SCOPE: FAQ
   ========================================================================== */
@scope (.mrkt-faq) {
  /* Reset Elementor Defaults */
  :scope .e-div-block-base,
  :scope:is(.elementor *) {
    /* Layout */
    padding: 0;
    min-width: 0;
    min-height: 0;
  }

  :scope {
    /* Style */
    --mrkt-faq-bg: var(--mrkt-color-primary-100);
    --mrkt-faq-color: var(--mrkt-color-primary-500);
    --mrkt-faq-accent: var(--mrkt-color-primary-300);
    --mrkt-faq-overlay: var(--mrkt-color-primary-700);

    --mrkt-faq-border-color: color-mix(in srgb, var(--mrkt-faq-color) 38%, transparent);
    --mrkt-faq-radius: var(--mrkt-border-radius-S);
    --mrkt-faq-shadow: 0 1.35rem 3.5rem color-mix(in srgb, var(--mrkt-faq-overlay) 32%, transparent);

    /* Transitions */
    --mrkt-faq-transition: var(--mrkt-motion-medium, 0.5s);
    --mrkt-faq-ease: cubic-bezier(0.22, 1, 0.36, 1);
  }

  .elementor :scope {
    /* Positioning */
    position: relative;

    /* Layout */
    display: grid;
    width: 100%;
    gap: 0.85rem;

    /* Style */
    color: var(--mrkt-color-white);
    counter-reset: faq 0;
  }

  .elementor :scope .question,
  .elementor :scope .answer p {
    /* Layout */
    margin: 0;
  }

  .elementor :scope .item {
    /* Positioning */
    position: relative;

    /* Layout */
    width: 100%;
    padding-block: 0;
    padding-inline: 0;
    overflow: hidden;

    /* Style */
    border: 1px solid color-mix(in srgb, var(--mrkt-faq-bg) 18%, transparent);
    border-radius: var(--mrkt-faq-radius);
    background: transparent;
    box-shadow: var(--mrkt-faq-shadow);
    counter-increment: faq 1;
    cursor: pointer;

    /* Transitions */
    transition:
      width var(--mrkt-faq-transition) var(--mrkt-faq-ease),
      padding-inline var(--mrkt-faq-transition) var(--mrkt-faq-ease),
      border-color var(--mrkt-faq-transition) var(--mrkt-faq-ease),
      background var(--mrkt-faq-transition) var(--mrkt-faq-ease),
      transform var(--mrkt-faq-transition) var(--mrkt-faq-ease);
  }

  :scope .item::before {
    /* Positioning */
    position: absolute;
    inset: 0;

    /* Style */
    content: "";
    border-radius: inherit;
    background: linear-gradient(90deg, color-mix(in srgb, var(--mrkt-faq-bg) 12%, transparent), transparent 34%);
    opacity: 0;
    pointer-events: none;

    /* Transitions */
    transition: opacity var(--mrkt-faq-transition) var(--mrkt-faq-ease);
  }

  :scope .item[open]:not(.is-closing),
  :scope .item.is-open:not(.is-closing) {
    /* Layout */
    width: calc(100% + 0.7rem);
    padding-inline: 0.35rem;

    /* Style */
    border-color: var(--mrkt-faq-border-color);
    background: linear-gradient(135deg, color-mix(in srgb, var(--mrkt-faq-color) 86%, transparent), color-mix(in srgb, var(--mrkt-faq-accent) 70%, transparent)),
      var(--mrkt-faq-overlay);

    /* Transitions */
    transform: translateX(-0.35rem);
  }

  :scope .item[open]:not(.is-closing)::before,
  :scope .item.is-open:not(.is-closing)::before {
    /* Style */
    opacity: 1;
  }

  :scope .question {
    /* Positioning */
    position: relative;
    z-index: 1;

    /* Layout */
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    width: 100%;
    gap: 1rem;
    padding: clamp(1rem, 2vw, 1.35rem);

    /* Font */
    font-family: var(--mrkt-font-anchor);
    font-size: clamp(1.15rem, 1.5vw, 1.45rem);
    font-weight: 600;
    line-height: 1.15em;
    list-style: none;
    text-align: start;

    /* Style */
    border-style: none;
    color: var(--mrkt-color-white);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  :scope .item[open]:not(.is-closing) .question::before,
  :scope .item.is-open:not(.is-closing) .question::before {
    /* Style */
    color: var(--mrkt-color-white);
  }

  :scope .question:focus-visible {
    /* Style */
    outline: 2px solid color-mix(in srgb, var(--mrkt-faq-color) 62%, transparent);
    outline-offset: -2px;
  }

  :scope .question::before {
    /* Font */
    font-family: var(--mrkt-font-body);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;

    /* Style */
    content: counter(faq, decimal-leading-zero);
    color: var(--mrkt-faq-color);
  }

  :scope .question::after {
    /* Layout */
    display: block;
    width: 2rem;
    height: 2rem;

    /* Style */
    content: "";
    border: 1px solid color-mix(in srgb, var(--mrkt-faq-bg) 28%, transparent);
    background-color: transparent;
    background-image:
      linear-gradient(var(--mrkt-faq-bg), var(--mrkt-faq-bg)),
      linear-gradient(var(--mrkt-faq-bg), var(--mrkt-faq-bg));
    background-position: center, center;
    background-repeat: no-repeat;
    background-size: 0.75rem 2px, 2px 0.75rem;
    transform-origin: center;

    /* Transitions */
    transition:
      transform var(--mrkt-faq-transition) var(--mrkt-faq-ease),
      background-color var(--mrkt-faq-transition) var(--mrkt-faq-ease);
  }

  :scope .item[open]:not(.is-closing) .question::after,
  :scope .item.is-open:not(.is-closing) .question::after {
    /* Style */
    background-color: color-mix(in srgb, var(--mrkt-faq-color) 14%, transparent);

    /* Transitions */
    transform: rotate(45deg);
  }

  :scope .answer {
    /* Positioning */
    position: relative;
    z-index: 1;

    /* Layout */
    min-width: min(48rem, 100%);
    padding: 0 calc(3.35rem + clamp(1rem, 2vw, 1.35rem)) clamp(1.1rem, 2vw, 1.45rem);
    overflow: hidden;

    /* Font */
    font-size: 1rem;
    line-height: 1.65;

    /* Style */
    color: color-mix(in srgb, var(--mrkt-color-white) 72%, transparent);
  }

  :scope .item:not([open]):not(.is-open):not(.is-animating) .answer {
    /* Layout */
    display: none;
  }

  @media (max-width: 767px) {
    :scope .item[open]:not(.is-closing),
    :scope .item.is-open:not(.is-closing) {
      /* Layout */
      width: 100%;

      /* Transitions */
      transform: none;
    }

    :scope .answer {
      /* Layout */
      padding-inline: calc(2rem + clamp(1rem, 2vw, 1.35rem));
    }
  }

  @media (prefers-reduced-motion: reduce) {
    :scope .item,
    :scope .item::before,
    :scope .question::after {
      /* Transitions */
      transition: none;
    }
  }
}


/* ==========================================================================
   SCOPE: Articles List
   ========================================================================== */
@scope (.mrkt-aticles-list) {
  :scope .e-div-block-base,
  .elementor :scope {
    /* Layout */
    min-width: 0;
    min-height: 0;
    padding: 0;
  }

  :scope {
    /* Style */
    --top-cards-accent: var(--mrkt-color-primary-100);
    --top-cards-color: var(--mrkt-color-primary-500);
    --top-cards-overlay: var(--mrkt-color-primary-900);

    --top-cards-background-start: var(--mrkt-color-white);
    --top-cards-background-middle: var(--mrkt-color-primary-50);
    --top-cards-background-end: var(--mrkt-color-primary-100);
  }

  .elementor :scope {
    /* Layout */
    display: flex;
    flex-direction: column;
    isolation: isolate;
    align-items: center;
    overflow: hidden; 
    gap: var(--mrkt-space-L);

    background-image: linear-gradient(
      to bottom in oklab,
      var(--top-cards-background-start),
      var(--top-cards-background-start),
      var(--top-cards-background-start),
      var(--top-cards-background-middle),
      var(--top-cards-background-end)
    );
  }
}


/* ==========================================================================
   SCOPE: Interior Hero
   ========================================================================== */
@scope (.mrkt-hero) {
  /* Reset Elementor Defaults */
  :scope .e-div-block-base,
  .elementor :scope {
    /* Layout */
    min-width: 0;
    min-height: 0;
    padding: 0;
  }

  .elementor :scope {
    /* Layout */
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    padding-top: calc(var(--mrkt-header-height) + var(--mrkt-space-M));
    padding-bottom: var(--mrkt-space-M);
    padding-inline: calc(var(--mrkt-section-padding-inline) / 4);
  }

  :scope .grid {
    /* Layout */
    min-width: 0;
    min-height: 0;
    display: grid;
    flex: 1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "feature feature wide wide"
      "feature feature compact-start compact-end";
    gap: var(--mrkt-space-S);
  }

  :scope :is([class*='tile--']) {
    /* Positioning */
    position: relative;
    isolation: isolate;

    /* Layout */
    min-width: 0;
    min-height: 10rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: var(--mrkt-space-M);
    gap: var(--mrkt-space-S);
    overflow: hidden;

    /* Style */
    background-color: var(--mrkt-color-black);
    background-position: center;
    background-size: cover;
    border-radius: var(--mrkt-border-radius-base);
    box-shadow: var(--mrkt-shadow-S);
    color: var(--mrkt-color-white);
  }

  :scope :is([class*='tile--'])::before {
    /* Positioning */
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    /* Style */
    background: var(--mrkt-color-black-a60);
    opacity: 1;

    /* Transitions */
    transition: opacity var(--mrkt-transition-base);
  }

  :scope :is([class*='tile--']):hover::before {
    /* Style */
    opacity: 0.5;
  }

  :scope .tile--feature {
    /* Positioning */
    min-height: 20rem;
    grid-area: feature;
  }

  :scope .tile--wide {
    /* Positioning */
    grid-area: wide;
  }

  :scope .tile--compact-start {
    /* Positioning */
    grid-area: compact-start;
  }

  :scope .tile--compact-end {
    /* Positioning */
    grid-area: compact-end;
  }

  @media only screen and (max-width: 1300px) and (min-width: 768px) {
    .elementor :scope {
      padding-inline: var(--mrkt-section-padding-inline);
    }
  }

  @media only screen and (max-width: 767px) {
    .elementor :scope {
      padding-inline: var(--mrkt-section-padding-inline);
    }

    :scope .grid {
      /* Layout */
      grid-template-rows: 2fr 1fr;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      grid-template-areas:
        "feature feature feature"
        "wide compact-start compact-end";
      gap: var(--mrkt-space-XS);
    }

    :scope :is([class*='tile--']) {
      /* Layout */
      padding: var(--mrkt-space-M);
    }
  }
}

/* ==========================================================================
   ############## SCOPES END ##############
   ========================================================================== *//* End custom CSS */