.elementor-2493 .elementor-element.elementor-element-9e4bb36{--display:flex;}/* Start custom CSS for html, class: .elementor-element-1b0d20e *//*==================================================
CRIMINAL HERO
==================================================*/

.sa-criminal-hero{
    position:relative;
    overflow:hidden;
    padding:110px 0;
    background:linear-gradient(135deg,#081B3A 0%,#0B2C63 55%,#174A8B 100%);
}

.sa-criminal-hero::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    top:-180px;
    right:-120px;
    border-radius:50%;
    background:rgba(255,255,255,.05);
}

.sa-criminal-hero::after{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    left:-120px;
    bottom:-120px;
    border-radius:50%;
    background:rgba(200,155,60,.08);
}

.sa-criminal-hero .sa-container {
    position:relative;
    z-index:2;
    margin:0 auto;
    padding-left:20px !important;
    padding-right:20px !important;
}

.sa-criminal-hero-grid{
    display:grid;
    grid-template-columns:1.55fr .85fr;
    gap:60px;
    align-items:center;
}

/*==================================================
LEFT CONTENT
==================================================*/

.sa-criminal-content{
    color:#fff;
}

.sa-criminal-badge{
    display:inline-block;
    padding:10px 22px;
    margin-bottom:25px;
    border-radius:50px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.15);
    backdrop-filter:blur(12px);
    font-size:14px;
    font-weight:600;
    letter-spacing:.3px;
    color:#F4C95D;
}

.sa-criminal-content h1{
    margin:0 0 25px;
    font-size:56px;
    line-height:1.15;
    font-weight:800;
    color:#fff;
}

.sa-criminal-content p{
    margin:0;
    font-size:18px;
    line-height:1.95;
    color:rgba(255,255,255,.90);
}

/*==================================================
BUTTONS
==================================================*/

.sa-hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:38px;
}

.sa-btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 28px;
    border-radius:10px;
    background:#C89B3C;
    color:#fff;
    text-decoration:none;
    font-weight:700;
    transition:.35s;
}

.sa-btn-primary:hover{
    background:#b88822;
    transform:translateY(-3px);
}

/*==================================================
FEATURES
==================================================*/

.sa-features{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:35px;
}

.sa-features span{
    padding:10px 18px;
    border-radius:40px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    font-size:15px;
    font-weight:600;
}

/*==================================================
FIRM CARD
==================================================*/

.firm-card{
    background:#fff;
    border-radius:22px;
    padding:40px;
    box-shadow:0 20px 50px rgba(0,0,0,.15);
}

.firm-card-badge{
    display:inline-block;
    padding:8px 18px;
    border-radius:30px;
    background:#EEF5FF;
    color:#0B2C63;
    font-size:13px;
    font-weight:700;
    margin-bottom:18px;
}

.firm-card h3{
    margin:0 0 28px;
    font-size:28px;
    line-height:1.3;
    color:#0B1F46;
}

.firm-card ul{
    margin:0;
    padding:0;
    list-style:none;
}

.firm-card li{
    position:relative;
    padding-left:30px;
    margin-bottom:16px;
    color:#3B4453;
    line-height:1.7;
}

.firm-card li::before{
    content:"✔";
    position:absolute;
    left:0;
    top:0;
    color:#C89B3C;
    font-weight:700;
}

/*==================================================
ABOUT
==================================================*/

.about-spark{
    padding:100px 0;
    background:#fff;
}

.about-content{
    max-width:980px;
    margin:auto;
}

.about-content p{
    font-size:18px;
    line-height:2;
    color:#555;
    margin:0 0 24px;
}

/*==================================================
SECTION HEADING
==================================================*/

.section-heading{
    text-align:center;
    margin-bottom:60px;
}

.section-heading span{
    display:inline-block;
    margin-bottom:18px;
    color:#C89B3C;
    font-size:15px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
}

.section-heading h2{
    margin:0 0 22px;
    font-size:44px;
    line-height:1.25;
    color:#0B1F46;
}

.section-heading p{
    max-width:850px;
    margin:auto;
    font-size:18px;
    line-height:1.9;
    color:#666;
}

/*==================================================
PRACTICE AREA
==================================================*/

.practice-areas{
    padding:100px 0;
    background:#F8FAFC;
}

.practice-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
}

.sa-practice-card{
    background:#fff;
    padding:35px 28px;
    border-radius:20px;
    border:1px solid #E5E7EB;
    transition:.35s;
    box-shadow:0 10px 35px rgba(0,0,0,.06);
}

.sa-practice-card:hover{
    transform:translateY(-8px);
    border-color:#C89B3C;
    box-shadow:0 20px 45px rgba(0,0,0,.10);
}

.practice-icon{
    width:70px;
    height:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:25px;
    border-radius:18px;
    background:#EEF5FF;
    font-size:32px;
}

.sa-practice-card h3{
    margin:0 0 18px;
    font-size:24px;
    color:#0B1F46;
}

.sa-practice-card p{
    margin:0;
    color:#666;
    line-height:1.85;
}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:991px){

.sa-criminal-hero{
    padding:90px 0;
}

.sa-criminal-hero-grid{
    grid-template-columns:1fr;
}

.practice-grid{
    grid-template-columns:repeat(2,1fr);
}

.sa-criminal-content h1{
    font-size:clamp(24px,8vw,58px);
    line-height:1.15;
}

}

@media(max-width:767px){

.sa-criminal-hero{
    padding:70px 0;
}

.sa-criminal-content h1{
    font-size:24px;
}

.sa-criminal-content p,
.about-content p,
.section-heading p{
    font-size:16px;
}

.section-heading h2{
    font-size:22px;
}

.practice-grid{
    grid-template-columns:1fr;
}

.firm-card{
    padding:28px;
}

.sa-hero-buttons{
    flex-direction:column;
}

.sa-btn-primary{
    width:100%;
}

.sa-features span{
    width:100%;
    text-align:center;
    justify-content:center;
}

}
/*==================================================
UNDERSTANDING CRIMINAL PROCEEDINGS
==================================================*/

.why-spark{
    padding:100px 0;
    background:#F8FAFC;
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:60px;
}

.why-card{
    background:#fff;
    border:1px solid #E7ECF3;
    border-radius:22px;
    padding:40px 35px;
    text-align:center;
    transition:.35s ease;
    box-shadow:0 10px 35px rgba(15,23,42,.06);
}

.why-card:hover{
    transform:translateY(-8px);
    border-color:#C89B3C;
    box-shadow:0 22px 50px rgba(15,23,42,.12);
}

.why-icon{
    width:80px;
    height:80px;
    margin:0 auto 28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:22px;
    background:linear-gradient(135deg,#EEF4FF,#F8FAFC);
    font-size:36px;
}

.why-card h3{
    margin:0 0 18px;
    font-size:26px;
    line-height:1.35;
    color:#0B1F46;
}

.why-card p{
    margin:0;
    color:#5F6B7A;
    line-height:1.9;
    font-size:16px;
}


/*==================================================
MISSION & VISION
==================================================*/

.mission-vision{
    padding:100px 0;
    background:#fff;
}

.mission-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:35px;
}

.mission-box,
.vision-box{
    position:relative;
    padding:45px;
    border-radius:24px;
    overflow:hidden;
    border:1px solid #E7ECF3;
    background:#fff;
    transition:.35s;
    box-shadow:0 12px 40px rgba(15,23,42,.06);
}

.mission-box:hover,
.vision-box:hover{
    transform:translateY(-8px);
    border-color:#C89B3C;
    box-shadow:0 25px 55px rgba(15,23,42,.12);
}

.mission-box::before,
.vision-box::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:5px;
    background:#C89B3C;
}

.mission-box span,
.vision-box span{
    display:inline-block;
    margin-bottom:18px;
    padding:8px 18px;
    border-radius:40px;
    background:#EEF4FF;
    color:#0B1F46;
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.mission-box h3,
.vision-box h3{
    margin:0 0 22px;
    font-size:30px;
    line-height:1.35;
    color:#0B1F46;
}

.mission-box p,
.vision-box p{
    margin:0;
    color:#5F6B7A;
    font-size:17px;
    line-height:1.95;
}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:991px){

.why-grid{
    grid-template-columns:1fr;
}

.mission-grid{
    grid-template-columns:1fr;
}

.mission-box,
.vision-box{
    padding:38px;
}

}

@media(max-width:767px){

.why-spark,
.mission-vision{
    padding:70px 0;
}

.why-card{
    padding:30px 24px;
}

.why-icon{
    width:68px;
    height:68px;
    font-size:30px;
    margin-bottom:22px;
}

.why-card h3{
    font-size:22px;
}

.mission-box,
.vision-box{
    padding:28px 24px;
}

.mission-box h3,
.vision-box h3{
    font-size:24px;
}

.mission-box p,
.vision-box p,
.why-card p{
    font-size:16px;
    line-height:1.8;
}

}
/*==================================================
OUR CRIMINAL DEFENCE CAPABILITIES
==================================================*/

.core-values{
    padding:100px 0;
    background:#F8FAFC;
}

.values-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:60px;
}

.value-card{
    position:relative;
    background:#fff;
    padding:38px 34px;
    border:1px solid #E5E7EB;
    border-radius:22px;
    overflow:hidden;
    transition:.35s ease;
    box-shadow:0 12px 35px rgba(15,23,42,.06);
}

.value-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:5px;
    background:#C89B3C;
    transform:scaleX(0);
    transform-origin:left;
    transition:.35s;
}

.value-card:hover{
    transform:translateY(-8px);
    border-color:#C89B3C;
    box-shadow:0 20px 45px rgba(15,23,42,.12);
}

.value-card:hover::before{
    transform:scaleX(1);
}

.value-card h3{
    margin:0 0 18px;
    color:#0B1F46;
    font-size:24px;
    line-height:1.35;
}

.value-card p{
    margin:0;
    color:#5F6B7A;
    font-size:16px;
    line-height:1.9;
}


/*==================================================
CRIMINAL DEFENCE APPROACH
==================================================*/

.legal-approach{
    padding:100px 0;
    background:#ffffff;
}

.approach-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:60px;
}

.approach-box{
    position:relative;
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:22px;
    padding:38px 34px;
    transition:.35s;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(15,23,42,.06);
}

.approach-box::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:5px;
    background:#0B1F46;
    transform:scaleX(0);
    transform-origin:left;
    transition:.35s;
}

.approach-box:hover{
    transform:translateY(-8px);
    border-color:#0B1F46;
    box-shadow:0 22px 50px rgba(15,23,42,.12);
}

.approach-box:hover::before{
    transform:scaleX(1);
}

.approach-box h3{
    margin:0 0 18px;
    color:#0B1F46;
    font-size:24px;
    line-height:1.4;
}

.approach-box p{
    margin:0;
    color:#5F6B7A;
    font-size:16px;
    line-height:1.9;
}


/*==================================================
RESPONSIVE
==================================================*/

@media (max-width:991px){

.core-values,
.legal-approach{
    padding:80px 0;
}

.values-grid,
.approach-grid{
    grid-template-columns:repeat(2,1fr);
    gap:25px;
}

}

@media (max-width:767px){

.core-values,
.legal-approach{
    padding:70px 0;
}

.values-grid,
.approach-grid{
    grid-template-columns:1fr;
}

.value-card,
.approach-box{
    padding:30px 24px;
}

.value-card h3,
.approach-box h3{
    font-size:22px;
}

.value-card p,
.approach-box p{
    font-size:16px;
    line-height:1.8;
}

}
/*==================================================
CRIMINAL DEFENCE PROCESS
==================================================*/

.legal-process{
    padding:100px 0;
    background:#F8FAFC;
}

.timeline{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
    margin-top:60px;
}

.timeline-item{
    position:relative;
    background:#fff;
    padding:45px 35px;
    border-radius:22px;
    border:1px solid #E5E7EB;
    text-align:center;
    transition:.35s;
    box-shadow:0 12px 35px rgba(15,23,42,.06);
}

.timeline-item:hover{
    transform:translateY(-8px);
    border-color:#C89B3C;
    box-shadow:0 25px 50px rgba(15,23,42,.12);
}

.timeline-number{
    width:75px;
    height:75px;
    margin:0 auto 25px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg,#C89B3C,#E4BF69);
    color:#fff;
    font-size:24px;
    font-weight:700;
}

.timeline-item h3{
    margin:0 0 18px;
    color:#0B1F46;
    font-size:25px;
    line-height:1.35;
}

.timeline-item p{
    margin:0;
    color:#5F6B7A;
    line-height:1.9;
}


/*==================================================
WHY CHOOSE SPARK
==================================================*/

.why-choose{
    padding:100px 0;
    background:#ffffff;
}

.why-choose .why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:60px;
}

.why-choose .why-card{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:22px;
    padding:40px 35px;
    text-align:center;
    transition:.35s;
    box-shadow:0 12px 35px rgba(15,23,42,.06);
}

.why-choose .why-card:hover{
    transform:translateY(-8px);
    border-color:#C89B3C;
    box-shadow:0 22px 48px rgba(15,23,42,.12);
}

.why-choose .why-icon{
    width:80px;
    height:80px;
    margin:0 auto 28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:20px;
    background:#EEF4FF;
    font-size:36px;
}

.why-choose .why-card h3{
    margin:0 0 18px;
    font-size:25px;
    line-height:1.35;
    color:#0B1F46;
}

.why-choose .why-card p{
    margin:0;
    color:#5F6B7A;
    line-height:1.9;
}


/*==================================================
CRIMINAL COURTS
==================================================*/

.office-locations{
    padding:100px 0;
    background:#F8FAFC;
}

.office-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:35px;
    margin-top:60px;
}

.sa-office-card{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:22px;
    padding:42px;
    transition:.35s;
    box-shadow:0 12px 35px rgba(15,23,42,.06);
}

.sa-office-card:hover{
    transform:translateY(-8px);
    border-color:#C89B3C;
    box-shadow:0 22px 50px rgba(15,23,42,.12);
}

.office-icon{
    width:82px;
    height:82px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:25px;
    border-radius:20px;
    background:linear-gradient(135deg,#EEF4FF,#F8FAFC);
    font-size:38px;
}

.sa-office-card h3{
    margin:0 0 20px;
    font-size:28px;
    line-height:1.35;
    color:#0B1F46;
}

.sa-office-card p{
    margin:0 0 22px;
    color:#5F6B7A;
    line-height:1.9;
}

.sa-office-card ul{
    margin:0;
    padding:0;
    list-style:none;
}

.sa-office-card li{
    position:relative;
    padding-left:28px;
    margin-bottom:14px;
    color:#4B5563;
    line-height:1.8;
}

.sa-office-card li::before{
    content:"✔";
    position:absolute;
    left:0;
    color:#C89B3C;
    font-weight:700;
}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:991px){

.legal-process,
.why-choose,
.office-locations{
    padding:80px 0;
}

.timeline{
    grid-template-columns:1fr;
}

.why-choose .why-grid{
    grid-template-columns:1fr;
}

.office-grid{
    grid-template-columns:1fr;
}

}

@media(max-width:767px){

.legal-process,
.why-choose,
.office-locations{
    padding:70px 0;
}

.timeline-item,
.sa-office-card,
.why-choose .why-card{
    padding:30px 24px;
}

.timeline-number{
    width:65px;
    height:65px;
    font-size:21px;
}

.timeline-item h3,
.sa-office-card h3,
.why-choose .why-card h3{
    font-size:22px;
}

.timeline-item p,
.sa-office-card p,
.why-choose .why-card p{
    font-size:16px;
    line-height:1.8;
}

.office-icon{
    width:68px;
    height:68px;
    font-size:30px;
}

}
/*==================================================
SERVICE AREAS
==================================================*/

.service-areas{
    padding:100px 0;
    background:#ffffff;
}

.service-area-list{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:18px;
    margin:55px 0 40px;
}

.service-area-list a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 28px;
    border-radius:50px;
    background:#F8FAFC;
    border:1px solid #E5E7EB;
    color:#0B1F46;
    text-decoration:none;
    font-weight:600;
    transition:.35s;
}

.service-area-list a:hover{
    background:#0B1F46;
    color:#fff;
    border-color:#0B1F46;
    transform:translateY(-4px);
}

.service-area-text{
    max-width:900px;
    margin:0 auto;
    text-align:center;
}

.service-area-text p{
    margin:0;
    color:#5F6B7A;
    font-size:17px;
    line-height:1.9;
}


/*==================================================
FAQ
==================================================*/

.spark-faq{
    padding:100px 0;
    background:#F8FAFC;
}

.faq-wrapper{
    max-width:900px;
    margin:60px auto 0;
}

.faq-wrapper details{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:18px;
    margin-bottom:18px;
    overflow:hidden;
    transition:.3s;
}

.faq-wrapper details[open]{
    border-color:#C89B3C;
    box-shadow:0 15px 35px rgba(15,23,42,.08);
}

.faq-wrapper summary{
    padding:22px 26px;
    cursor:pointer;
    list-style:none;
    font-size:20px;
    font-weight:700;
    color:#0B1F46;
    position:relative;
}

.faq-wrapper summary::-webkit-details-marker{
    display:none;
}

.faq-wrapper summary::after{
    content:"+";
    position:absolute;
    right:26px;
    top:50%;
    transform:translateY(-50%);
    font-size:28px;
    color:#C89B3C;
}

.faq-wrapper details[open] summary::after{
    content:"–";
}

.faq-wrapper details p{
    padding:0 26px 26px;
    margin:0;
    color:#5F6B7A;
    line-height:1.9;
}


/*==================================================
RELATED PRACTICE AREAS
==================================================*/

.related-practice{
    padding:100px 0;
    background:#ffffff;
}

.practice-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:18px;
    margin-top:55px;
}

.practice-links a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:16px 30px;
    border-radius:12px;
    background:#0B1F46;
    color:#fff;
    text-decoration:none;
    font-weight:600;
    transition:.35s;
}

.practice-links a:hover{
    background:#C89B3C;
    transform:translateY(-4px);
}


/*==================================================
RELATED ARTICLES
==================================================*/

.related-articles{
    padding:100px 0;
    background:#F8FAFC;
}

.article-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:55px;
}

.article-card{
    display:block;
    padding:35px;
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:20px;
    text-decoration:none;
    transition:.35s;
    box-shadow:0 12px 35px rgba(15,23,42,.06);
}

.article-card:hover{
    transform:translateY(-8px);
    border-color:#C89B3C;
    box-shadow:0 22px 50px rgba(15,23,42,.12);
}

.article-card h3{
    margin:0 0 18px;
    font-size:24px;
    line-height:1.4;
    color:#0B1F46;
}

.article-card p{
    margin:0;
    color:#5F6B7A;
    line-height:1.85;
}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:991px){

.service-areas,
.spark-faq,
.related-practice,
.related-articles{
    padding:80px 0;
}

.article-grid{
    grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:767px){

.service-areas,
.spark-faq,
.related-practice,
.related-articles{
    padding:70px 0;
}

.service-area-list,
.practice-links{
    flex-direction:column;
}

.service-area-list a,
.practice-links a{
    width:100%;
}

.article-grid{
    grid-template-columns:1fr;
}

.article-card{
    padding:28px 24px;
}

.article-card h3{
    font-size:22px;
}

.faq-wrapper summary{
    font-size:18px;
    padding:18px 20px;
}

.faq-wrapper summary::after{
    right:20px;
}

.faq-wrapper details p{
    padding:0 20px 20px;
}

}
/*==================================================
FINAL CTA
==================================================*/

.spark-final-cta{
    padding:100px 0;
    background:linear-gradient(135deg,#081B3A 0%,#0B2C63 55%,#174A8B 100%);
}

.sa-cta-box{
    max-width:950px;
    margin:auto;
    text-align:center;
    padding:70px 60px;
    border-radius:26px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(12px);
}

.sa-cta-box span{
    display:inline-block;
    padding:10px 22px;
    margin-bottom:22px;
    border-radius:40px;
    background:rgba(255,255,255,.10);
    color:#F4D28A;
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.6px;
}

.sa-cta-box h2{
    margin:0 0 22px;
    font-size:46px;
    line-height:1.25;
    color:#fff;
}

.sa-cta-box p{
    max-width:820px;
    margin:0 auto 38px;
    color:rgba(255,255,255,.90);
    font-size:18px;
    line-height:1.9;
}

.sa-btn-outline{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 28px;
    border:2px solid rgba(255,255,255,.30);
    border-radius:10px;
    text-decoration:none;
    color:#fff;
    font-weight:700;
    transition:.35s;
}

.sa-btn-outline:hover{
    background:#fff;
    color:#0B1F46;
}


/*==================================================
COMPARISON TABLE
==================================================*/

.litigation-comparison{
    padding:100px 0;
    background:#F8FAFC;
}

.comparison-table{
    margin-top:55px;
    overflow-x:auto;
}

.comparison-table table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(15,23,42,.08);
}

.comparison-table thead{
    background:#0B1F46;
}

.comparison-table th{
    padding:22px;
    color:#fff;
    text-align:left;
    font-size:18px;
}

.comparison-table td{
    padding:18px 22px;
    border-bottom:1px solid #E5E7EB;
    color:#4B5563;
    line-height:1.7;
}

.comparison-table tbody tr:hover{
    background:#F8FAFC;
}


/*==================================================
OFFICE MAP
==================================================*/

.office-map{
    padding:100px 0;
    background:#ffffff;
}

.map-grid{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:40px;
    align-items:stretch;
    margin-top:55px;
}

.map-card{
    overflow:hidden;
    border-radius:22px;
    background:#fff;
    border:1px solid #E5E7EB;
    box-shadow:0 15px 40px rgba(15,23,42,.08);
}

.map-card iframe{
    width:100%;
    height:100%;
    min-height:520px;
    border:0;
}


/*==================================================
SERVICE COVERAGE
==================================================*/

.service-coverage{
    padding:100px 0;
    background:#F8FAFC;
}

.coverage-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    margin-top:55px;
}

.coverage-card{
    display:flex;
    align-items:center;
    gap:18px;
    padding:30px;
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:20px;
    transition:.35s;
    box-shadow:0 12px 35px rgba(15,23,42,.08);
}

.coverage-card:hover{
    transform:translateY(-6px);
    border-color:#C89B3C;
    box-shadow:0 20px 45px rgba(15,23,42,.12);
}

.coverage-card span{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:#EEF4FF;
    font-size:28px;
    flex-shrink:0;
}

.coverage-card h3{
    margin:0;
    font-size:20px;
    line-height:1.45;
    color:#0B1F46;
}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:991px){

.spark-final-cta,
.litigation-comparison,
.office-map,
.service-coverage{
    padding:80px 0;
}

.map-grid{
    grid-template-columns:1fr;
}

.coverage-grid{
    grid-template-columns:repeat(2,1fr);
}

.sa-cta-box{
    padding:50px 40px;
}

.sa-cta-box h2{
    font-size:38px;
}

}

@media(max-width:767px){

.spark-final-cta,
.litigation-comparison,
.office-map,
.service-coverage{
    padding:70px 0;
}

.sa-cta-box{
    padding:40px 24px;
}

.sa-cta-box h2{
    font-size:30px;
}

.sa-cta-box p{
    font-size:16px;
}

.map-card iframe{
    min-height:350px;
}

.coverage-grid{
    grid-template-columns:1fr;
}

.coverage-card{
    padding:24px;
}

.coverage-card h3{
    font-size:18px;
}

}/* End custom CSS */