.elementor-kit-11{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-d753fe0:#173E74;--e-global-color-f93ccd7:#FFFFFF;--e-global-color-aa2eaa3:#C44685;--e-global-color-d24be89:#181A1E;--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-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-11 e-page-transition{background-color:#FFBC7D;}@media(max-width:1024px){.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;}}
/* Start custom CSS */.post, .page, article, .content {
    margin: 0;
}

/* ==========================================================================
   Container System for Elementor — USWDS-inspired
   ========================================================================== */

/* ---- Base spacing scale (4px/8px modular, public-domain style) ---- */
:root {
  /* USWDS-like spacing tokens */
  --space-0: 0;         /* 0px  */
  --space-1: 0.25rem;   /* 4px  */
  --space-2: 0.5rem;    /* 8px  */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.5rem;    /* 24px */
  --space-6: 2rem;      /* 32px */
  --space-7: 2.5rem;    /* 40px */
  --space-8: 3rem;      /* 48px */
  --space-9: 3.75rem;   /* 60px */
  --space-10: 5rem;     /* 80px */
  --space-11: 6rem;     /* 96px */
  --space-12: 7.5rem;   /* 120px */
  --space-13: 10rem;    /* 160px */

  /* Horizontal padding caps (use tokens) */
  --space-side-min: var(--space-5);   /* 24px min inline padding */
  --space-side-max: var(--space-12);  /* 120px max inline padding */
  --fluid-side-inline: clamp(var(--space-side-min), 4vw, var(--space-side-max));

  /* Vertical section paddings (mapped to scale; keep your class API) */
  --space-xxl-top-min: var(--space-11); /* 96px  */
  --space-xxl-top-max: var(--space-12); /* 120px */

  --space-xl-top-min:  var(--space-9);  /* 60px  */
  --space-xl-top-max:  var(--space-12); /* 120px */

  --space-l-top-min:   var(--space-8);  /* 48px  */
  --space-l-top-max:   var(--space-10); /* 80px  */

  --space-m-top-min:   var(--space-8);  /* 48px  */
  --space-m-top-max:   var(--space-10); /* 80px  */

  --space-s-top-min:   var(--space-6);  /* 32px  */
  --space-s-top-max:   var(--space-9);  /* 60px  */

  --space-xs-top-min:  var(--space-5);  /* 24px  */
  --space-xs-top-max:  var(--space-7);  /* 40px  */

  --space-xxs-top-min: var(--space-5);  /* 24px  */
  --space-xxs-top-max: var(--space-5);  /* 24px (fixed) */

  --space-header-top-min: var(--space-5);  /* 24px (tap-friendly) */
  --space-header-top-max: var(--space-5);  /* 24px */

  /* Hero section height */
  --space-hero-height: 100svh; /* modern viewport unit avoids mobile jump */

  /* Offset for overlay headers */
  --space-offset-header: var(--space-12); /* 120px */

  /* Widths for narrow sections */
  --section-width-narrow:    62.5rem; /* 1000px */
  --section-width-narrow-xs: 45rem;   /* 720px */

  /* Optional: content measure + inner rhythm */
  --content-measure: 65ch;
  --section-gap: clamp(2rem, 4vw, 6rem);

}

/* ==========================================================================
   Base Section Styles
   ========================================================================== */

/* Consistent horizontal padding with safe-area awareness */
:where(.section-xxl, .section-xl, .section-l, .section-m, .section-s, .section-xs, .section-xxs, .section-header) {
  padding-inline:
    max(env(safe-area-inset-left),  var(--fluid-side-inline))
    max(env(safe-area-inset-right), var(--fluid-side-inline));
}

/* Vertical padding that truly scales (additive middle term) */
.section-xxl {
  /* 96 → 120 */
  padding-block: clamp(var(--space-xxl-top-min), 1.0vw + 4.8rem, var(--space-xxl-top-max));
}
.section-xl {
  /* 60 → 120 */
  padding-block: clamp(var(--space-xl-top-min), 1.4vw + 2.8rem, var(--space-xl-top-max));
}
.section-l {
  /* 48 → 80 */
  padding-block: clamp(var(--space-l-top-min), 0.9vw + 3rem, var(--space-l-top-max));
}
.section-m {
  /* 48 → 80 (used to be fixed; now has a small fluid window) */
  padding-block: clamp(var(--space-m-top-min), 0.8vw + 2.2rem, var(--space-m-top-max));
}
.section-s {
  /* 32 → 60 */
  padding-block: clamp(var(--space-s-top-min), 0.6vw + 1.6rem, var(--space-s-top-max));
}
.section-xs {
  /* 24 → 40 */
  padding-block: clamp(var(--space-xs-top-min), 0.4vw + 1.2rem, var(--space-xs-top-max));
}
.section-xxs {
  /* fixed (24) but kept as clamp for consistency/future tuning) */
  padding-block: clamp(var(--space-xxs-top-min), 0.2vw + 1.3rem, var(--space-xxs-top-max));
}
.section-header {
  /* fixed 24 for tap targets */
  padding-block: clamp(var(--space-header-top-min), 0.25vw + 0.6rem, var(--space-header-top-max));
}

/* ==========================================================================
   Hero Section
   ========================================================================== */
.section-hero {
  min-height: var(--space-hero-height);
  min-height: 100dvh; /* additional fallback chain */
  min-height: 100vh;
}
.section-hero .e-con-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ==========================================================================
   Full Width and Narrow Sections
   ========================================================================== */

/* Scope tightly to Elementor inner; remove side padding for true edge-to-edge */
.section-full > .e-con-inner {
  max-width: none;
  padding-inline: 0;
}

.section-narrow    > .e-con-inner { max-width: var(--section-width-narrow); }
.section-narrow-xs > .e-con-inner { max-width: var(--section-width-narrow-xs); }

/* Optional helpers */
.prose { max-width: var(--content-measure) !important; }
.section-xxl .e-con-inner,
.section-xl  .e-con-inner,
.section-l   .e-con-inner,
.section-m   .e-con-inner { row-gap: var(--section-gap) !important; }

/* ==========================================================================
   Overlay Header Offset
   ========================================================================== */
.section-offset {
  /* generic additive offset rather than tying to a specific section size */
  padding-block-start: calc(var(--space-offset-header) + clamp(2rem, 3vw, 4rem));
}

/* ==========================================================================
   Notes
   ========================================================================== */
/* You generally don't need a mobile media query to clamp inline paddings;
   the clamp handles it. If you want a special-case hero height on tiny screens,
   add it explicitly:

@media (max-width: 480px) {
  .section-hero { min-height: 90svh; }
}
*/

/* Padding All Sides */
.p-0   { padding: var(--space-0) !important; }
.p-1   { padding: var(--space-1) !important; }
.p-2   { padding: var(--space-2) !important; }
.p-3   { padding: var(--space-3) !important; }
.p-4   { padding: var(--space-4) !important; }
.p-5   { padding: var(--space-5) !important; }
.p-6   { padding: var(--space-6) !important; }
.p-7   { padding: var(--space-7) !important; }
.p-8   { padding: var(--space-8) !important; }
.p-9   { padding: var(--space-9) !important; }
.p-10  { padding: var(--space-10) !important; }

/* Padding Inline (Left + Right) */
.px-1  { padding-inline: var(--space-1) !important; }
.px-2  { padding-inline: var(--space-2) !important; }
.px-3  { padding-inline: var(--space-3) !important; }
.px-4  { padding-inline: var(--space-4) !important; }
.px-5  { padding-inline: var(--space-5) !important; }
.px-6  { padding-inline: var(--space-6) !important; }

/* Padding Block (Top + Bottom) */
.py-1  { padding-block: var(--space-1) !important; }
.py-2  { padding-block: var(--space-2) !important; }
.py-3  { padding-block: var(--space-3) !important; }
.py-4  { padding-block: var(--space-4) !important; }
.py-5  { padding-block: var(--space-5) !important; }
.py-6  { padding-block: var(--space-6) !important; }

/* Padding Top Only */
.pt-1  { padding-top: var(--space-1) !important; }
.pt-2  { padding-top: var(--space-2) !important; }
.pt-3  { padding-top: var(--space-3) !important; }
.pt-4  { padding-top: var(--space-4) !important; }
.pt-5  { padding-top: var(--space-5) !important; }

/* Padding Bottom Only */
.pb-1  { padding-bottom: var(--space-1) !important; }
.pb-2  { padding-bottom: var(--space-2) !important; }
.pb-3  { padding-bottom: var(--space-3) !important; }
.pb-4  { padding-bottom: var(--space-4) !important; }
.pb-5  { padding-bottom: var(--space-5) !important; }/* End custom CSS */