.elementor-20482 .elementor-element.elementor-element-733c134{width:100%;max-width:100%;}.elementor-20482 .elementor-element.elementor-element-733c134 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-20482 .elementor-element.elementor-element-e991956 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-733c134 *//* ============================================
   BRAND VARIABLES
   ============================================ */
:root {
    --teal:     #3e9f8e;
    --teal-dk:  #527F76;
    --teal-lt:  #8ACFBA;
    --gray:     #ebebeb;
    --gray-dk:  #e3e3e3;
}

/* ============================================
   BASE
   ============================================ */
* { box-sizing: border-box; }

/* ============================================
   BUTTONS
   ============================================ */
a.btn {
    font-family: 'Quicksand', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: white;
    text-decoration: none;
    display: inline-block;
    margin: 8px 0;
    background-color: var(--teal);
    padding: 16px 36px;
    border-radius: 0;
    transition: background-color 0.3s ease !important;
}
a.btn.btn-white {
    background-color: white;
    color: var(--teal-lt);
    border: 1px solid var(--teal-lt);
}
a.btn:hover,
a.btn.btn-white:hover {
    color: white;
    background-color: #6EBEAE;
}
a.btn.bg-dkgreen            { background-color: var(--teal) !important; transition: all 0.3s ease !important; -webkit-transition: all 0.3s ease !important; }
a.btn.bg-dkgreen:hover      { background-color: var(--teal-dk) !important; transition: all 0.3s ease !important; -webkit-transition: all 0.3s ease !important; }

/* ============================================
   RESPONSIVE HELPERS
   ============================================ */
@media only screen and (max-width: 576px) {
    .hide-sm { display: none !important; }
    .show-sm { display: block !important; }
}
@media only screen and (min-width: 577px) {
    .hide-sm { display: block !important; }
    .show-sm { display: none !important; }
}
@media only screen and (min-width: 577px) and (max-width: 768px) {
    .hide-md { display: none !important; }
    .show-md { display: block !important; }
}

/* ============================================
   HERO
   ============================================ */
#smp-hero {
    display: block;
    width: 100%;
}
#smp-hero a {
    width: 100%;
    display: block;
}
#smp-hero img {
    width: 100%;
    display: block;
}

/* ============================================
   FEATURES (3 circles)
   ============================================ */
#features {
    padding: 3% 10% 0% 10%;
    display: block;
    text-align: center;
}

.feature {
    width: 28%;
    text-align: center;
    padding: 15px;
    display: inline-block;
    border-radius: 50%;
    overflow: hidden;
    transition: transform 0.3s ease !important;
}
.feature img {
    width: 100%;
    display: block;
    border-radius: 50%;
}
.feature:hover { transform: scale(1.05); }

@media only screen and (max-width: 768px) {
    #features { text-align: center; padding: 7% 10% 0% 10%; }
    .feature {
        width: 100%;
        padding: 5px;
    }
}

/* ============================================
   SPECIAL2: MAP + COPY
   ============================================ */
#special2 {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 20px 0px;
    margin-top: 15px;
    background-color: #f4f4f4;
}
#special2 .bg-gray-inner {
    border-radius: 12px;
    padding: 30px 0px 30px 80px;
    text-align: center;
    flex: 0 1 50%;
    max-width: 50%;
    min-width: 0;
}
#special2 #form-container {
    flex: 0 1 50%;
    max-width: 50%;
    min-width: 0;
    padding: 0;
}

@media (max-width: 768px) {
    #special2 {
        flex-wrap: wrap;
    }
    #special2 .bg-gray-inner {
        flex: 1 1 100%;
        max-width: 100%;
        padding: 30px 40px;
        margin-bottom: 0;
        border-bottom: 10px solid #ffffff;
    }
    #special2 #form-container {
        flex: 1 1 100%;
        max-width: 100%;
    }
    #special2 #form-container .form-container,
    #special2 .form-container {
        border-radius: 0 !important;
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
    }
}
#special2 h2       { color: var(--teal); }



p.special-intro,
h3.special-intro {
    color: #8d8d8d;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 8px;
}

@media (max-width: 767px) {
    #special2 .fwp-column {
        width: 100%;
        padding: 30px;
    }
    #special2 .fwp-column.map {
        width: 100%;
        padding: 0 10px;
    }
    a#map { min-height: 300px; }
}

/* ============================================
   FORM: handled entirely by WPCode 18252 + 18237
   ============================================ */

/* ============================================
   INFLUENCER VIDEO + COLLAGE
   ============================================ */
#hp-video-section {
    padding: 20px;
    border-radius: 12px;
    background: var(--gray);
    max-width: 1200px;
    margin: 30px auto;
}
.smp-testimonials-video-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: stretch;
}
.smp-video-box {
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 4px 20px #ebebeb, 0 2px 8px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
}
.smp-influencer-blurb {
    text-align: center;
    font-size: 18px !important;
    color: #8d8d8d !important;
    margin-bottom: 15px;
    font-weight: 500;
}
.smp-video-wrapper {
    position: relative;
    aspect-ratio: 1 / 1;
    width: 100%;
    max-width: 100%;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    margin: 0 auto;
}
.smp-video-wrapper iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
}
.smp-video-thumbnail {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    cursor: pointer;
    z-index: 10;
}
.smp-video-thumbnail img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center;
}
.smp-play-button {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: transform 0.2s ease, opacity 0.2s ease !important;
}
.smp-play-button:hover { transform: translate(-50%, -50%) scale(1.1); }
.smp-play-button:hover .smp-play-bg { fill: #cc0000; fill-opacity: 1; }
.smp-video-wrapper.playing .smp-video-thumbnail { display: none; }
.smp-video-wrapper.playing iframe { display: block !important; }
.smp-image-column {
    display: flex;
    align-items: stretch;
}
.smp-image-column img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

@media (max-width: 768px) {
    .smp-testimonials-video-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .smp-video-box { padding: 0 !important; }
    #hp-video-section { padding: 20px !important; margin-top: 10px !important; }
}

/* ============================================
   TESTIMONIALS - 3 horizontal layers
   z-index stacking: daisies(1) < quotes(2) < photos(3)
   ============================================ */
#hp-testi-head {
    text-align: center;
    margin: 30px 0 10px;
}
#hp-testi-img {
    max-width: 700px;
    width: 80%;
}
@media (max-width: 768px) {
    #hp-testi-img {
        width: 100%;
        max-width: 100%;
    }
}

/* Card row: 3 columns side by side */
#hp-testi-row {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 20px;
    padding: 0 0 30px;
}

/* Each card: vertical stack */
.hp-card {
    flex: 0 1 310px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Daisy: behind the quote box */
.hp-card-daisy {
    position: relative;
    z-index: 1;
    margin-bottom: -32px;
    opacity: 0.5;
}
.hp-daisy {
    width: 90px;
}

/* Quote box: gray bg, stretches to match siblings */
.hp-card-quote {
    background: #f9f9f9;
    border-radius: 8px;
    padding: 45px 15px 50px;
    text-align: left;
    flex: 1;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.hp-rev-text {
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    line-height: 1.6;
    color: #444;
    margin: 0;
}

/* Photo: overlaps up into the quote box */
.hp-card-photo {
    position: relative;
    z-index: 3;
    margin-top: -50px;
}
img.hp-baby {
    width: 100px !important;
    height: 100px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

/* Mobile: stack cards vertically */
@media (max-width: 768px) {
    #hp-testi-row {
        flex-direction: column;
        align-items: center;
    }
    .hp-card {
        flex: 0 1 100%;
        max-width: 380px;
    }
}

/* form container formatting */
#form-container {
    padding-top: 50px;
}

.smp-play-button{
    background-color: transparent !important;
}

.elementor-container,
.elementor-column-gap-default,
#content > div.elementor.elementor-20482 > section > div > div > div > div.elementor-element.elementor-element-e991956.elementor-widget.elementor-widget-html  {
    padding: 0 !important;
}


#special2 > div.bg-gray-inner > div {
    font-size: 18px !important;
}/* End custom CSS */