.elementor-widget-container.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-container .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-container:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-container.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-7073 .elementor-element.elementor-element-65c5df7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-html.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-html .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-html:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-html.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-7073 .elementor-element.elementor-element-d41c17d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7073 .elementor-element.elementor-element-ffbf566{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-1595a2e */.service-banner{
    max-width:1400px;
    margin:auto;
    padding:70px 40px;
    display:grid;
    grid-template-columns:1fr 580px;
    gap:80px;
    border-bottom:1px solid #d7dddd;
}

/* LEFT */

.section-label{
    display:block;
    font-size:12px;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#9f8765;
    margin-bottom:35px;
}

.service-left h2{
    font-size:88px;
    line-height:.95;
    font-weight:400;
    color:#111;
    margin-bottom:40px;
}

.service-left em{
    font-style:italic;
}

.service-left p{
    max-width:600px;
    font-size:18px;
    line-height:1.7;
    color:#6d6d6d;
    margin-bottom:30px;
}

.service-btn{
    display:inline-flex;
    align-items:center;
    gap:15px;
    padding:10px 22px;
    background:#2c7472;
    color:#fff;
    border-radius:50px;
  font-family: auto;
}


/* RIGHT */

.service-right{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.info-card{
    border:1px solid #d9dddd;
    background:#fafafa;
    padding:20px;
    min-height:110px;
    overflow:hidden;
    transition:.45s ease;
}

.card-label{
    display:block;
    font-size:11px;
    letter-spacing:4px;
    color:#8f8f8f;
    margin-bottom:18px;
}

.info-card h3{
    font-family:"Cormorant Garamond",serif;
    font-size:33px;
    font-weight:400;
    margin:0;
    color:#111;
}

.card-content{
    max-height:0;
    opacity:0;
    overflow:hidden;
    margin-top:0;
    font-size:18px;
    line-height:1.7;
    transition:.45s ease;
    color:#e8f3f2;
}


/* Active and hover */

.info-card.active,
.info-card:hover{
    background:#2c7472;
    min-height:132px;
}

.info-card.active .card-label,
.info-card:hover .card-label{
    color:#d7efee;
}

.info-card.active h3,
.info-card:hover h3{
    color:#fff;
}

.info-card.active .card-content,
.info-card:hover .card-content{
    max-height:120px;
    opacity:1;
    margin-top:18px;
}


/* MOBILE */

@media(max-width:991px){

.service-banner{
    grid-template-columns:1fr;
    gap:60px;
    padding:80px 24px;
}

.service-left h2{
    font-size:64px;
}

.info-card h3{
    font-size:40px;
}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-18924ae */.practice-areas{
    max-width:1400px;
    margin:0 auto;
    padding:80px 40px;
}

.practice-header{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:120px;
    margin-bottom:50px;
    align-items:start;
}

.section-label{
    display:block;
    margin-bottom:10px;
    font-size:11px;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#9b8666;
}

.practice-heading h2{
    font-size:50px;
    line-height:1;
    font-weight:400;
    color:#171717;
    margin:0;
}

.practice-intro p{
    max-width:520px;
    font-size:15px;
    line-height:1.8;
    color:#6f6f6f;
}

/* LIST */

.practice-list{
    border-top:1px solid #dcdcdc;
}

.practice-item{
    display:grid;
    grid-template-columns:80px 420px 1fr 70px;
    gap:40px;
    align-items:center;
    text-decoration:none;
    color:inherit;
    padding:30px;
    border-bottom:1px solid #dcdcdc;
    position:relative;
    overflow:hidden;
    transition:all .45s ease;
}

/* Background Animation */

.practice-item::before{
    content:"";
    position:absolute;
    inset:0;
    background:#f7f7f4;
    transform:scaleY(0);
    transform-origin:bottom;
    transition:transform .45s ease;
    z-index:0;
}

.practice-item > *{
    position:relative;
    z-index:2;
}

/* Number */

.practice-number{
    font-size:12px;
    letter-spacing:4px;
    font-weight:600;
    color:#9b8666;
    transition:.35s ease;
}

/* Title */

.practice-item h3{
    margin:0;
    font-size:26px;
    line-height:1.1;
    font-weight:400;
    color:#1c1c1c;
    transition:.35s ease;
}

/* Description */

.practice-item p{
    font-family: auto;
    margin:0;
    color:#707070;
    font-size:15px;
    line-height:1.8;
    transition:.35s ease;
}

/* Arrow */

.practice-arrow{
    width:50px;
    height:50px;
    border:1px solid #d6d6d6;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    transition:.4s ease;
}

/* Hover Effects */

.practice-item:hover::before{
    transform:scaleY(1);
}

.practice-item:hover{
    padding-left:40px;
}

.practice-item:hover .practice-number{
    color:#2c7472;
}

.practice-item:hover h3{
    color:#2c7472;
    transform:translateX(12px);
}

.practice-item:hover p{
    transform:translateX(12px);
    color:#444;
}

.practice-item:hover .practice-arrow{
    background:#2c7472;
    border-color:#2c7472;
    color:#fff;
    transform:rotate(45deg);
}

/* Mobile */

@media(max-width:991px){

    .practice-areas{
        padding:80px 24px;
    }

    .practice-header{
        grid-template-columns:1fr;
        gap:30px;
    }

    .practice-heading h2{
        font-size:44px;
    }

    .practice-item{
        grid-template-columns:1fr;
        gap:18px;
        padding:28px 20px;
    }

    .practice-item h3{
        font-size:30px;
    }

    .practice-arrow{
        margin-top:10px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6a21343 */.pricing-section {
    background: #2d7875;
    padding: 120px 0;
}

.pricing-header {
    max-width: 1200px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    margin-bottom: 70px;
}

.section-label {
    display: block;
    font-size: 30px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: rgba(255,255,255,.75);
    margin-bottom: 18px;
}

.pricing-title {
    font-family: "Cormorant Garamond", serif;
    font-size: 72px;
    line-height: .95;
    color: #fff;
    font-weight: 400;
}

.pricing-content p {
    color: rgba(255,255,255,.9);
    font-size: 20px;
    line-height: 1.8;
    max-width: 550px;
}

.pricing-grid {
    max-width: 1200px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 25px;
}

.pricing-card {
    background: #f8f8f8;
    padding: 30px;
    min-height: 480px;
    position: relative;
    transition: all .45s ease;
    border: 1px solid rgba(0,0,0,.08);
    overflow: hidden;
}

/* Hover Animation */
.pricing-card:hover {
    transform: translateY(-15px) scale(1.03);
    box-shadow: 0 30px 60px rgba(0,0,0,.18);
}

.pricing-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 4px;
    background: #2d7875;
    transition: .4s;
}

.pricing-card:hover::before {
    width: 100%;
}

.pricing-label {
    display: block;
    font-size: 30px;
    letter-spacing: 4px;
    color: #9b7b55;
    margin-bottom: 15px;
}

.pricing-card h3 {
    font-family: "Cormorant Garamond", serif;
    font-size: 54px;
    line-height: 1;
    font-weight: 400;
    margin-bottom: 30px;
}

.pricing-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pricing-card ul li {
    border-top: 1px solid #e5e5e5;
    padding: 18px 0;
    color: #666;
    font-size: 16px;
    transition: .3s;
}

.pricing-card:hover ul li {
    color: #222;
    transform: translateX(5px);
}

.featured {
    border: 2px solid #222;
}

.featured-badge {
    display: inline-block;
    background: #2d7875;
    color: white;
    font-size: 10px;
    letter-spacing: 3px;
    padding: 8px 14px;
    border-radius: 20px;
    margin-bottom: 20px;
}

.featured:hover {
    transform: translateY(-18px) scale(1.04);
}

/* Tablet */
@media (max-width: 991px) {

    .pricing-header {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .pricing-title {
        font-size: 56px;
    }

    .pricing-grid {
        grid-template-columns: 1fr;
    }
}

/* Mobile */
@media (max-width: 767px) {

    .pricing-section {
        padding: 80px 20px;
    }

    .pricing-title {
        font-size: 42px;
    }

    .pricing-content p {
        font-size: 17px;
    }

    .pricing-card {
        min-height: auto;
    }

    .pricing-card h3 {
        font-size: 46px;
    }
}/* End custom CSS */