.elementor-kit-16{--e-global-color-primary:#29453B;--e-global-color-secondary:#1E342D;--e-global-color-text:#2C302E;--e-global-color-accent:#A55F48;--e-global-color-6037734:#7E9487;--e-global-color-7384646:#E6ECE7;--e-global-color-753df05:#F5F0E8;--e-global-color-d365c7d:#D5C8B8;--e-global-color-864ddb8:#FFFDFC;--e-global-color-c7909dc:#65706A;--e-global-color-0e88256:#D8DFDA;--e-global-color-6c0459b:#FFFFFF;--e-global-color-b750701:#9C3B2C;--e-global-color-317b485:#D7D7D2;--e-global-color-8b7eadc:#BEBEB8;--e-global-color-456c8bc:#4A4A46;--e-global-typography-primary-font-family:"Newsreader";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"Newsreader";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-size:1rem;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-size:1rem;--e-global-typography-accent-font-weight:600;--e-global-typography-05fb402-font-family:"Newsreader";--e-global-typography-05fb402-font-size:clamp(2.75rem, 2rem + 2.4vw, 6.5rem);--e-global-typography-05fb402-font-weight:500;--e-global-typography-05fb402-line-height:1.04;--e-global-typography-ba1b447-font-family:"Newsreader";--e-global-typography-ba1b447-font-size:clamp(2.25rem, 1.75rem + 1.6vw, 4.75rem);--e-global-typography-ba1b447-font-weight:500;--e-global-typography-ba1b447-line-height:1.04;--e-global-typography-1bb1e56-font-family:"Newsreader";--e-global-typography-1bb1e56-font-size:clamp(1.875rem, 1.55rem + 1.1vw, 3.5rem);--e-global-typography-1bb1e56-font-weight:500;--e-global-typography-1bb1e56-line-height:1.08;--e-global-typography-1c5fc32-font-family:"Newsreader";--e-global-typography-1c5fc32-font-size:clamp(1.5rem, 1.3rem + 0.65vw, 2.5rem);--e-global-typography-1c5fc32-font-weight:600;--e-global-typography-1c5fc32-line-height:1.12;--e-global-typography-445d04e-font-family:"Newsreader";--e-global-typography-445d04e-font-size:clamp(1.25rem, 1.14rem + 0.4vw, 1.875rem);--e-global-typography-445d04e-font-weight:600;--e-global-typography-445d04e-line-height:1.18;--e-global-typography-021b21a-font-family:"Newsreader";--e-global-typography-021b21a-font-size:clamp(1.0625rem, 1rem + 0.25vw, 1.5rem);--e-global-typography-021b21a-font-weight:600;--e-global-typography-021b21a-line-height:1.25;--e-global-typography-25e812d-font-family:"Manrope";--e-global-typography-25e812d-font-size:0.875rem;--e-global-typography-25e812d-font-weight:400;--e-global-typography-9fa4055-font-family:"Manrope";--e-global-typography-9fa4055-font-size:1.125rem;--e-global-typography-9fa4055-font-weight:400;}.elementor-kit-16 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.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);}.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: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 */:root {
  --ali-h1: clamp(2.75rem, 2rem + 2.4vw, 6.5rem);
  --ali-h2: clamp(2.25rem, 1.75rem + 1.6vw, 4.75rem);
  --ali-h3: clamp(1.875rem, 1.55rem + 1.1vw, 3.5rem);
  --ali-h4: clamp(1.5rem, 1.3rem + 0.65vw, 2.5rem);
  --ali-h5: clamp(1.25rem, 1.14rem + 0.4vw, 1.875rem);
  --ali-h6: clamp(1.0625rem, 1rem + 0.25vw, 1.5rem);

  --ali-text: clamp(1rem, 0.97rem + 0.1vw, 1.0625rem);
  --ali-text-small: 0.875rem;
  --ali-text-large: clamp(1.125rem, 1.04rem + 0.28vw, 1.375rem);
}

h1 {
  font-family: "Newsreader", serif;
  font-size: var(--ali-h1);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.035em;
}

h2 {
  font-family: "Newsreader", serif;
  font-size: var(--ali-h2);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -0.028em;
}

h3 {
  font-family: "Newsreader", serif;
  font-size: var(--ali-h3);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.022em;
}

h4 {
  font-family: "Newsreader", serif;
  font-size: var(--ali-h4);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.015em;
}

h5 {
  font-family: "Newsreader", serif;
  font-size: var(--ali-h5);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -0.01em;
}

h6 {
  font-family: "Manrope", sans-serif;
  font-size: var(--ali-h6);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.04em;
}

body {
  font-family: "Manrope", sans-serif;
  font-size: var(--ali-text);
  font-weight: 400;
  line-height: 1.75;
  color: #2C302E;
}

/* ==================================================
   ALI DUBBINS – FULL-WIDTH WAVY CONTOUR BACKGROUNDS
   ================================================== */


/* --------------------------------------------------
   1. BASE CONTAINER
   -------------------------------------------------- */

.ali-wavy-lines {
    --ali-wave-colour: #7E9487;
    --ali-wave-opacity: 0.55;
    --ali-wave-height: 220px;

    position: relative;
    isolation: isolate;
    overflow: visible !important;
}


/* --------------------------------------------------
   2. FULL-WIDTH WAVY-LINE GRAPHIC
   -------------------------------------------------- */

.ali-wavy-lines::before {
    content: "";
    position: absolute;

    /* Extend beyond Elementor’s boxed content width */
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
    width: auto;
    max-width: none;

    /* Centre is the default vertical position */
    top: 50%;
    bottom: auto;
    height: var(--ali-wave-height);
    transform: translateY(-50%);

    z-index: 0;
    pointer-events: none;

    background-color: var(--ali-wave-colour);
    opacity: var(--ali-wave-opacity);

    /*
     * preserveAspectRatio="none" allows the original
     * 1200px SVG to stretch across the full screen.
     */

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 220' preserveAspectRatio='none'%3E%3Cpath d='M0 180 C200 140 340 210 600 170 S1000 110 1200 150' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' opacity='.65'/%3E%3Cpath d='M0 158 C200 118 340 188 600 148 S1000 88 1200 128' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' opacity='.57'/%3E%3Cpath d='M0 136 C200 96 340 166 600 126 S1000 66 1200 106' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' opacity='.49'/%3E%3Cpath d='M0 114 C200 74 340 144 600 104 S1000 44 1200 84' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' opacity='.41'/%3E%3Cpath d='M0 92 C200 52 340 122 600 82 S1000 22 1200 62' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' opacity='.33'/%3E%3Cpath d='M0 70 C200 30 340 100 600 60 S1000 0 1200 40' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' opacity='.25'/%3E%3C/svg%3E");

    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 220' preserveAspectRatio='none'%3E%3Cpath d='M0 180 C200 140 340 210 600 170 S1000 110 1200 150' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' opacity='.65'/%3E%3Cpath d='M0 158 C200 118 340 188 600 148 S1000 88 1200 128' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' opacity='.57'/%3E%3Cpath d='M0 136 C200 96 340 166 600 126 S1000 66 1200 106' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' opacity='.49'/%3E%3Cpath d='M0 114 C200 74 340 144 600 104 S1000 44 1200 84' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' opacity='.41'/%3E%3Cpath d='M0 92 C200 52 340 122 600 82 S1000 22 1200 62' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' opacity='.33'/%3E%3Cpath d='M0 70 C200 30 340 100 600 60 S1000 0 1200 40' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' opacity='.25'/%3E%3C/svg%3E");

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}


/* Keep Elementor content above the decorative lines */

.ali-wavy-lines > * {
    position: relative;
    z-index: 1;
}


/* --------------------------------------------------
   3. VERTICAL POSITIONING
   -------------------------------------------------- */


/* Lines at the top */

.ali-wavy-lines--top::before {
    top: 0;
    bottom: auto;
    transform: none;
}


/* Lines through the centre */

.ali-wavy-lines--centre::before {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
}


/* Lines against the bottom edge */

.ali-wavy-lines--bottom::before {
    top: auto;
    bottom: 0;
    transform: none;
}


/* Lines slightly above the bottom edge */

.ali-wavy-lines--bottom-inset::before {
    top: auto;
    bottom: 30px;
    transform: none;
}


/* --------------------------------------------------
   4. BACKGROUND COLOUR VARIANTS
   -------------------------------------------------- */


/* Warm oat with sage lines */

.ali-wavy-lines--oat {
    background-color: #F5F0E8;

    --ali-wave-colour: #7E9487;
    --ali-wave-opacity: 0.55;
}


/* Ivory with sage lines */

.ali-wavy-lines--ivory {
    background-color: #FFFDFC;

    --ali-wave-colour: #7E9487;
    --ali-wave-opacity: 0.45;
}


/* Pale mist with forest lines */

.ali-wavy-lines--mist {
    background-color: #E6ECE7;

    --ali-wave-colour: #29453B;
    --ali-wave-opacity: 0.32;
}


/*
 * LIGHTER DARK BACKGROUND
 * Brand forest with pale mist lines.
 * Recommended for footers, CTAs and dark feature areas.
 */

.ali-wavy-lines--forest {
    background-color: #29453B;

    --ali-wave-colour: #E6ECE7;
    --ali-wave-opacity: 0.28;
}


/*
 * Deeper alternative.
 * Retained for areas requiring stronger contrast.
 */

.ali-wavy-lines--deep-forest {
    background-color: #1E342D;

    --ali-wave-colour: #E6ECE7;
    --ali-wave-opacity: 0.22;
}


/* Terracotta with ivory lines */

.ali-wavy-lines--terracotta {
    background-color: #A55F48;

    --ali-wave-colour: #FFFDFC;
    --ali-wave-opacity: 0.25;
}


/*
 * Retains an existing Elementor background.
 * Use when the background is set inside Elementor.
 */

.ali-wavy-lines--transparent {
    background-color: transparent;

    --ali-wave-colour: #7E9487;
    --ali-wave-opacity: 0.45;
}


/* --------------------------------------------------
   5. LINE VISIBILITY OPTIONS
   -------------------------------------------------- */


/* Very quiet decorative lines */

.ali-wavy-lines--subtle {
    --ali-wave-opacity: 0.25;
}


/* Standard visibility */

.ali-wavy-lines--regular {
    --ali-wave-opacity: 0.50;
}


/* More prominent lines */

.ali-wavy-lines--strong {
    --ali-wave-opacity: 0.75;
}


/* --------------------------------------------------
   6. ELEMENTOR OVERFLOW FIX
   -------------------------------------------------- */


/*
 * Add to an outer parent container if it clips
 * the full-width lines.
 */

.ali-waves-parent {
    overflow: visible !important;
}


/* --------------------------------------------------
   7. RESPONSIVE SETTINGS
   -------------------------------------------------- */

@media (max-width: 1024px) {
    .ali-wavy-lines {
        --ali-wave-height: 190px;
    }

    .ali-wavy-lines--bottom-inset::before {
        bottom: 20px;
    }
}

@media (max-width: 767px) {
    .ali-wavy-lines {
        --ali-wave-height: 150px;
    }

    .ali-wavy-lines--bottom-inset::before {
        bottom: 10px;
    }
}

ul {margin-bottom: 20px;} ol {margin-bottom:20px;}/* End custom CSS */