.elementor-1333 .elementor-element.elementor-element-cbb2f0b{--display:flex;}.elementor-1333 .elementor-element.elementor-element-73ed724{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 100px;--row-gap:0px;--column-gap:100px;--flex-wrap:nowrap;--border-radius:60px 60px 60px 60px;--padding-top:0px;--padding-bottom:0px;--padding-left:80px;--padding-right:80px;}.elementor-1333 .elementor-element.elementor-element-73ed724:not(.elementor-motion-effects-element-type-background), .elementor-1333 .elementor-element.elementor-element-73ed724 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-blocksy_palette_5 );}.elementor-1333 .elementor-element.elementor-element-2c67250{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-1333 .elementor-element.elementor-element-e44a6bd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-1333 .elementor-element.elementor-element-6165bed{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-end;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1333 .elementor-element.elementor-element-5f2f36f{margin:-150px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;z-index:2;}.elementor-1333 .elementor-element.elementor-element-bbc1520{--display:flex;}@media(max-width:1024px){.elementor-1333 .elementor-element.elementor-element-73ed724{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--border-radius:20px 20px 20px 20px;--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-1333 .elementor-element.elementor-element-2c67250{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;--z-index:1;}.elementor-1333 .elementor-element.elementor-element-6165bed{--margin-top:-150px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1333 .elementor-element.elementor-element-5f2f36f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1333 .elementor-element.elementor-element-5f2f36f.elementor-element{--align-self:flex-end;}.elementor-1333 .elementor-element.elementor-element-5f2f36f img{width:50%;}}@media(max-width:767px){.elementor-1333 .elementor-element.elementor-element-73ed724{--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-1333 .elementor-element.elementor-element-2c67250{--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-1333 .elementor-element.elementor-element-6165bed{--margin-top:-100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1333 .elementor-element.elementor-element-5f2f36f{margin:-50px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1333 .elementor-element.elementor-element-5f2f36f.elementor-element{--align-self:flex-end;}.elementor-1333 .elementor-element.elementor-element-5f2f36f img{width:90%;}}@media(min-width:768px){.elementor-1333 .elementor-element.elementor-element-2c67250{--width:100%;}.elementor-1333 .elementor-element.elementor-element-6165bed{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1333 .elementor-element.elementor-element-2c67250{--width:100%;}.elementor-1333 .elementor-element.elementor-element-6165bed{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-a6c525a */.fn-service-container {
    --fn-primary-1: #872c58;
    --fn-primary-2: #c93d80;
    --fn-secondary: #cd5a91;
    --fn-bg-rare: #ffedf5;
    --fn-text: #0a1544;
    --fn-border-radius: 8px;
    
    max-width: 100%;
    margin: 0 auto;
    font-family: inherit;
    color: var(--fn-text);
    line-height: 1.6;
}

/* Typography */
.fn-service-container h1, 
.fn-service-container h2, 
.fn-service-container h3 {
    color: var(--fn-primary-1);
    margin-bottom: 15px;
    font-weight: 600;
}

.fn-service-container h1 { font-size: 2.2rem; line-height: 1.3; }
.fn-service-container h2 { font-size: 1.8rem; margin-top: 40px; border-bottom: 2px solid var(--fn-bg-rare); padding-bottom: 8px; }
.fn-service-container h3 { font-size: 1.3rem; margin-top: 25px; color: var(--fn-primary-2); }
.fn-service-container p { margin-bottom: 15px; font-size: 1.05rem; }

/* Sections */
.fn-service-container section {
    padding: 30px 0;
}

/* Images */
.fn-service-container img {
    max-width: 100%;
    height: auto;
    border-radius: var(--fn-border-radius);
    box-shadow: 0 4px 15px rgba(10, 21, 68, 0.08);
    margin: 20px 0;
    display: block;
}

/* Lists */
.fn-service-container ul {
    list-style: none;
    padding-left: 0;
}

.fn-service-container ul li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 12px;
    font-size: 1.05rem;
}

.fn-service-container ul li::before {
    content: "\2022"; /* Standard Bullet */
    color: var(--fn-primary-2);
    font-weight: bold;
    font-size: 1.5rem;
    position: absolute;
    left: 0;
    top: -5px;
}

/* Table of Contents (TOC) */
.fn-toc-wrapper {
    background: var(--fn-bg-rare);
    border: 1px solid rgba(201, 61, 128, 0.2);
    border-radius: var(--fn-border-radius);
    margin: 30px 0;
    overflow: hidden;
}

.fn-toc-header {
    background: var(--fn-primary-1);
    color: #fff;
    padding: 15px 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    font-size: 1.1rem;
    transition: background 0.3s;
}

.fn-toc-header:hover {
    background: var(--fn-primary-2);
}

.fn-toc-body {
    padding: 20px;
    display: none; /* Hidden by default */
}

.fn-toc-body ul { padding-left: 15px; }
.fn-toc-body ul li { padding-left: 0; margin-bottom: 8px; }
.fn-toc-body ul li::before { display: none; }
.fn-toc-body ul ul { padding-left: 20px; margin-top: 8px; margin-bottom: 12px; }
.fn-toc-body a {
    text-decoration: none;
    color: var(--fn-text);
    transition: color 0.2s;
}
.fn-toc-body a:hover { color: var(--fn-primary-2); font-weight: 600; }

/* Pricing Table */
.fn-table-wrapper {
    overflow-x: auto;
    margin: 25px 0;
    border-radius: var(--fn-border-radius);
    box-shadow: 0 4px 10px rgba(10, 21, 68, 0.05);
}

.fn-service-container table {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
}

.fn-service-container th {
    background-color: var(--fn-primary-1);
    color: white;
    text-align: left;
    padding: 15px;
    font-weight: 600;
}

.fn-service-container td {
    padding: 12px 15px;
    border-bottom: 1px solid rgba(201, 61, 128, 0.1);
}

.fn-service-container tr:nth-child(even) td {
    background-color: var(--fn-bg-rare);
}

/* Call to Action (CTA) Links */
.fn-cta-block {
    margin: 30px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.fn-cta-link {
    display: inline-block;
    background-color: var(--fn-primary-1);
    color: #fff !important;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 30px;
    font-weight: 600;
    transition: all 0.3s ease;
    border: 2px solid var(--fn-primary-1);
}

.fn-cta-link:hover {
    background-color: #fff;
    color: var(--fn-primary-1) !important;
}

.fn-cta-link-outline {
    background-color: transparent;
    color: var(--fn-primary-1) !important;
}

.fn-cta-link-outline:hover {
    background-color: var(--fn-primary-1);
    color: #fff !important;
}

/* Reviews Box */
.fn-review-box {
    background: #fff;
    border-left: 4px solid var(--fn-primary-2);
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 2px 10px rgba(10, 21, 68, 0.06);
    border-radius: 0 var(--fn-border-radius) var(--fn-border-radius) 0;
}

.fn-review-stars {
    color: var(--fn-primary-2);
    font-size: 1.2rem;
    margin-bottom: 10px;
}

/* FAQ Accordion */
.fn-faq-item {
    border: 1px solid rgba(201, 61, 128, 0.15);
    border-radius: var(--fn-border-radius);
    margin-bottom: 15px;
    background: #fff;
    overflow: hidden;
}

.fn-faq-question {
    padding: 18px 20px;
    margin: 0 !important;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--fn-primary-1) !important;
    transition: background 0.3s;
}

.fn-faq-question:hover { background: var(--fn-bg-rare); }

.fn-faq-question::after {
    content: '+';
    font-size: 1.5rem;
    color: var(--fn-primary-2);
    transition: transform 0.3s;
}

.fn-faq-item.active .fn-faq-question::after {
    transform: rotate(45deg);
}

.fn-faq-answer {
    padding: 0 20px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    background: #fff;
}

.fn-faq-item.active .fn-faq-answer {
    padding: 0 20px 20px 20px;
    max-height: 500px; /* arbitrary large height for smooth transition */
}

/* Vertical Video Container */
.fn-video-wrapper {
    position: relative;
    width: 100%;
    max-width: 400px; /* Keep vertical video constrained */
    margin: 30px auto;
    aspect-ratio: 9 / 16;
    border-radius: var(--fn-border-radius);
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(10, 21, 68, 0.1);
}

.fn-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .fn-service-container h1 { font-size: 1.8rem; }
    .fn-service-container h2 { font-size: 1.5rem; }
    .fn-cta-block { flex-direction: column; }
    .fn-cta-link { text-align: center; }
}/* End custom CSS */