.elementor-kit-8{--e-global-color-primary:#152C32;--e-global-color-secondary:#354640;--e-global-color-text:#172020;--e-global-color-accent:#78966C;--e-global-color-9670681:#E8E1D8;--e-global-color-9042db2:#F4F0EE;--e-global-color-541fa18:#FFFFFF;--e-global-color-c75ad52:#AF4B2F00;background-color:var( --e-global-color-9042db2 );}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:var( --e-global-color-accent );}.elementor-kit-8 a:hover{color:var( --e-global-color-accent );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0rem;--container-default-padding-right:0rem;--container-default-padding-bottom:0rem;--container-default-padding-left:0rem;}.elementor-widget:not(:last-child){margin-block-end:2rem;}.elementor-element{--widgets-spacing:2rem 2rem;--widgets-spacing-row:2rem;--widgets-spacing-column:2rem;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:5%;padding-inline-start:5%;}.site-header .site-branding .site-logo img{width:75px;max-width:75px;}.site-header .site-navigation ul.menu li a{color:var( --e-global-color-primary );}.site-header .site-navigation .menu li{font-family:var( --e-global-typography-abebd36-font-family ), Sans-serif;font-size:var( --e-global-typography-abebd36-font-size );font-weight:var( --e-global-typography-abebd36-font-weight );text-transform:var( --e-global-typography-abebd36-text-transform );font-style:var( --e-global-typography-abebd36-font-style );text-decoration:var( --e-global-typography-abebd36-text-decoration );line-height:var( --e-global-typography-abebd36-line-height );letter-spacing:var( --e-global-typography-abebd36-letter-spacing );word-spacing:var( --e-global-typography-abebd36-word-spacing );}.site-footer{padding-inline-end:5%;padding-inline-start:5%;}.site-footer .site-branding .site-logo img{width:75px;max-width:75px;}.site-footer .copyright p{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}.site-header .site-navigation .menu li{font-size:var( --e-global-typography-abebd36-font-size );line-height:var( --e-global-typography-abebd36-line-height );letter-spacing:var( --e-global-typography-abebd36-letter-spacing );word-spacing:var( --e-global-typography-abebd36-word-spacing );}.site-footer .copyright p{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}.site-header .site-navigation .menu li{font-size:var( --e-global-typography-abebd36-font-size );line-height:var( --e-global-typography-abebd36-line-height );letter-spacing:var( --e-global-typography-abebd36-letter-spacing );word-spacing:var( --e-global-typography-abebd36-word-spacing );}.site-footer .copyright p{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}/* Start custom CSS *//* Global Typography System using Utopia Fluid Type Scale */
/* @link https://utopia.fyi/type/calculator?c=360,18,1.2,1240,20,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  /* Fluid Type Scale */
  --step--2: clamp(0.7813rem, 0.7736rem + 0.0341vw, 0.8rem);
  --step--1: clamp(0.9375rem, 0.9119rem + 0.1136vw, 1rem);
  --step-0: clamp(1.125rem, 1.0739rem + 0.2273vw, 1.25rem);
  --step-1: clamp(1.35rem, 1.2631rem + 0.3864vw, 1.5625rem);
  --step-2: clamp(1.62rem, 1.4837rem + 0.6057vw, 1.9531rem);
  --step-3: clamp(1.944rem, 1.7405rem + 0.9044vw, 2.4414rem);
  --step-4: clamp(2.3328rem, 2.0387rem + 1.3072vw, 3.0518rem);
  --step-5: clamp(2.7994rem, 2.384rem + 1.8461vw, 3.8147rem);

  /* Line Heights */
  --line-height-tight: 1.2;
  --line-height-base: 1.6;
  --line-height-loose: 1.8;

  /* Font Weights */
  --font-light: 300;
  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  /* Letter Spacing */
  --letter-spacing-tight: -0.02em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.02em;
  --letter-spacing-wider: 0.04em;
}

/* Reset Elementor Default Styles */
.elementor *,
.elementor-widget-wrap * {
  line-height: inherit;
  letter-spacing: inherit;
}

/* Base Typography */
body,
.elementor-widget-container {
  font-size: var(--step-0);
  line-height: var(--line-height-base);
  font-weight: var(--font-regular);
  letter-spacing: var(--letter-spacing-normal);
}

/* Headings - Global and Elementor Specific */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6 {
  line-height: var(--line-height-tight);
  font-weight: var(--font-bold);
  letter-spacing: var(--letter-spacing-tight);
  margin-top: 0;
  margin-bottom: 0.5em;
}

/* Specific Heading Sizes */
h1,
.h1,
.elementor-widget-heading h1,
.elementor-widget-heading .elementor-heading-title:is(h1) {
  font-size: var(--step-5);
}

h2,
.h2,
.elementor-widget-heading h2,
.elementor-widget-heading .elementor-heading-title:is(h2) {
  font-size: var(--step-4);
}

h3,
.h3,
.elementor-widget-heading h3,
.elementor-widget-heading .elementor-heading-title:is(h3) {
  font-size: var(--step-3);
}

h4,
.h4,
.elementor-widget-heading h4,
.elementor-widget-heading .elementor-heading-title:is(h4) {
  font-size: var(--step-2);
}

h5,
.h5,
.elementor-widget-heading h5,
.elementor-widget-heading .elementor-heading-title:is(h5) {
  font-size: var(--step-1);
}

h6,
.h6,
.elementor-widget-heading h6,
.elementor-widget-heading .elementor-heading-title:is(h6) {
  font-size: var(--step-0);
  font-weight: var(--font-semibold);
}

/* Elementor Text Editor */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-theme-post-content {
  font-size: var(--step-0);
  line-height: var(--line-height-base);
}

/* Paragraphs */
p,
.elementor-widget-text-editor p {
  font-size: var(--step-0);
  line-height: var(--line-height-base);
  margin-top: 0;
  margin-bottom: 1.5em;
  text-wrap-style: balance;
}

/* Lead/Intro Text */
.lead,
.text-large,
.elementor-drop-cap-letter {
  font-size: var(--step-1);
  line-height: var(--line-height-loose);
  font-weight: var(--font-light);
}

/* Small Text */
small,
.small,
.text-small,
.elementor-widget-icon-list .elementor-icon-list-text {
  font-size: var(--step--1);
}

/* Extra Small Text */
.text-xs,
.elementor-post-info {
  font-size: var(--step--2);
}

/* Links */
a:not(.elementor-button) {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 0.05em;
  transition: all 0.2s ease;
}

a:not(.elementor-button):hover {
  text-decoration-thickness: 0.1em;
}

/* Lists */
ul,
ol,
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
  font-size: var(--step-0);
  line-height: var(--line-height-base);
  margin-top: 0;
  margin-bottom: 1.5em;
  padding-left: 1.5em;
}

li,
.elementor-widget-text-editor li {
  margin-bottom: 0.5em;
}

/* Blockquotes */
blockquote,
.elementor-widget-text-editor blockquote,
.elementor-blockquote {
  font-size: var(--step-1);
  line-height: var(--line-height-loose);
  font-style: italic;
  margin: 2em 0;
  padding-left: 1.5em;
  border-left: 4px solid currentColor;
  opacity: 0.8;
}

/* Buttons - Maintain Elementor Control */
.elementor-button {
  font-size: var(--step-0);
  font-weight: var(--font-medium);
  letter-spacing: var(--letter-spacing-wide);
}

.elementor-button-wrapper .elementor-button.elementor-size-sm {
  font-size: var(--step--1);
}

.elementor-button-wrapper .elementor-button.elementor-size-lg {
  font-size: var(--step-1);
}

/* Forms */
.elementor-field,
.elementor-field-label {
  font-size: var(--step-0);
}

/* Navigation Menu */
.elementor-nav-menu a {
  font-size: var(--step-0);
  font-weight: var(--font-medium);
}

/* Utility Classes */
.text-balance {
  text-wrap: balance;
}

.text-uppercase {
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-wider);
}

/* Font Weight Utilities */
.font-light {
  font-weight: var(--font-light);
}
.font-regular {
  font-weight: var(--font-regular);
}
.font-medium {
  font-weight: var(--font-medium);
}
.font-semibold {
  font-weight: var(--font-semibold);
}
.font-bold {
  font-weight: var(--font-bold);
}

/* Size Utilities for Manual Override */
.text-size--2 {
  font-size: var(--step--2);
}
.text-size--1 {
  font-size: var(--step--1);
}
.text-size-0 {
  font-size: var(--step-0);
}
.text-size-1 {
  font-size: var(--step-1);
}
.text-size-2 {
  font-size: var(--step-2);
}
.text-size-3 {
  font-size: var(--step-3);
}
.text-size-4 {
  font-size: var(--step-4);
}
.text-size-5 {
  font-size: var(--step-5);
}

/* Responsive Typography Adjustments */
@media (max-width: 768px) {
  /* Slightly tighter spacing on mobile */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .elementor-widget-heading .elementor-heading-title {
    letter-spacing: calc(var(--letter-spacing-tight) * 0.5);
  }

  /* Reduce list padding on mobile */
  ul,
  ol {
    padding-left: 1.2em;
  }

  /* Adjust button sizes on mobile */
  .elementor-button {
    font-size: var(--step--1);
  }
}

/* Override Elementor's Inline Styles */
.elementor-widget-container > * {
  font-size: inherit;
}

/* Specific Widget Overrides */
.elementor-widget-icon-box .elementor-icon-box-title {
  font-size: var(--step-1);
}

.elementor-widget-icon-box .elementor-icon-box-description {
  font-size: var(--step-0);
}

/* Optional: Dark Mode Adjustments */
@media (prefers-color-scheme: dark) {
  body {
    font-weight: calc(var(--font-regular) - 50);
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: calc(var(--font-bold) - 100);
  }
}

.home #content {
  padding-top: 0;
}

#content {
  padding: 4rem 2rem;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 116px; /* Default for small screens */
}

@media (min-width: 768px) {
  html {
    scroll-padding-top: 111px;
  }
}

@media (min-width: 1025px) {
  html {
    scroll-padding-top: 168px;
  }
}/* End custom CSS */