*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:"Inter", sans-serif;
    background:#f8f6f3;
    color:#231f20;
    line-height:1.7;
}

p{
    font-size:18px;
    font-family: "Inter", sans-serif;
}
main{
    padding-top:70px;
}
/* =========================
   CONTAINER
========================= */
.container,
.practice-container{
    width:100%;
    max-width:1200px;
    margin:auto;
    padding:0 20px;
}
/* =========================
   back to home icon
========================= */
.practice-hero__back{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#00A499;
    text-decoration:none;
    font-family:monospace;
    font-size:16px;
    letter-spacing:0.5px;
    transition:color .3s ease;
    margin-bottom:40px;
}

.practice-hero__back:hover{
    color:#333333;
}

.practice-hero__back:hover .icon--arrow-left{
    transform:translateX(-3px);
}

.practice-hero__back .icon{
    width:14px;
    height:14px;
    stroke:currentColor;
    fill:none;
    transition:all .3s ease;
}

.practice-hero__back span{
    transition:all .3s ease;
}

.practice-hero__back:hover .icon{
    transform:translateX(-3px);
}
/* =========================
   HERO SECTION
========================= */
.practice-hero{
    position:relative;
    overflow:hidden;
    padding:90px 0 80px;
   
    display:flex;
    align-items:center;
    background:#f8f6f3;
}

.practice-hero__inner{
    position:relative;
    z-index:2;
}

.practice-hero__content{
    max-width:850px;
}

/* =========================
   TITLE
========================= */
.practice-hero__title{
    max-width:56rem;
    font-family:"Cormorant Garamond", serif;
    font-size:clamp(3rem, 5vw, 4.5rem);
    font-weight:500;
    line-height:0.98;
    letter-spacing:-0.025em;
    color:#231f20;
    padding-bottom: 30px;
}

/* =========================
   INTRO
========================= */
.practice-hero__intro{
    max-width:750px;
    font-size:18px;
    color:#555;
    margin-top:20px;
    
}

.practice-hero-anchor{
    text-decoration:none;
    font-size:18px;
    color:#00a499;
    transition:0.3s;
}

em {
    font-style: normal;
    color: #00a499;
}

.practice-hero-anchor:hover{
    color:#00867d;
}


.practice-hero {
  position: relative;
  overflow: hidden;
  padding-top: 6rem;
  border-bottom: 2px solid var(--color-ink-border);
}

/* Read More Button Css Code */

#moreText{
    display:none;
}

#moreText.show{
    display:block;
}

.read-more-btn-click {
    color: #00a499;
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid #00a499;
    margin: 5px;
    transition: 0.3s ease;
    font-size: 1.1rem;
    
}

.read-more-btn-click:hover {
  color: #131313;
  border-bottom: 1px solid #131313;
}

/* =========================
   BUTTONS
========================= */
.practice-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    padding-top: 30px;
}

.practice-hero__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:15px 28px;
    text-decoration:none;
    font-weight:600;
    transition:0.35s ease;
}

.practice-hero__button--primary{
    background:#00a499;
    color:#111;
}

.practice-hero__button--primary:hover{
    background:#000;
    color:#fff;
    transform:translateY(-2px);
}

.practice-hero__button--secondary{
    border:1px solid #111;
    color:#111;
}

.practice-hero__button--secondary:hover{
    background:#111;
    color:#fff;
}

/* next section  */

.family-law-intro{
    padding:100px 0;
}

.family-law-intro__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.family-law-intro__image{
    position:relative;
}

.family-law-intro__image img{
    width:100%;
    display:block;
    border-radius:16px;
    box-shadow:0 20px 50px rgba(15,23,42,.12);
}

.family-law-intro__content{
    background:#fff;
    padding:50px;
    border-radius:16px;
    box-shadow:0 10px 40px rgba(15,23,42,.06);
}

.section-tag{
    display:inline-block;
    margin-bottom:15px;
    color:#00A499;
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
}

.family-law-intro__content h2{
    color:#0F172A;
    font-size:48px;
    line-height:1.2;
    margin-bottom:20px;
    font-weight:700;
}

.family-law-intro__content h3{
    color:#00A499;
    font-size:28px;
    line-height:1.4;
    margin-bottom:25px;
    font-weight:600;
}

.family-law-intro__content p{
    color:#475569;
    font-size:18px;
    line-height:1.9;
    margin-bottom:20px;
}

.primary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:16px 32px;
    background:#00A499;
    color:#fff;
    text-decoration:none;
    border-radius:8px;
    font-weight:600;
    transition:.3s;
}

.primary-btn:hover{
    background:#008b81;
    transform:translateY(-2px);
}

/* next section */
.why-choose-jos{
    padding:100px 0;
}

.section-header{
    max-width:900px;
    margin:0 auto 60px;
    text-align:center;
}

.section-tag{
    display:inline-block;
    margin-bottom:15px;
    color:#00A499;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.section-header h2{
    color:#0F172A;
    font-size:48px;
    margin-bottom:25px;
    font-weight:700;
    font-family: "Cormorant Garamond", serif;
}

.section-highlight{
    color:#00A499;
    font-size:28px;
    line-height:1.4;
    font-weight:600;
    margin-bottom:30px;
}

.section-header p{
    color:#475569;
    font-size:18px;
    line-height:1.9;
    margin-bottom:20px;
}

.benefits-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.benefit-card{
    background:#fff;
    border-radius:16px;
    padding:40px 30px;
    box-shadow:0 10px 30px rgba(15,23,42,.06);
    border-top:4px solid #00A499;
    transition:.3s ease;
}

.benefit-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 40px rgba(15,23,42,.10);
}

.benefit-number{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#E6F8F7;
    color:#00A499;
    font-size:24px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:25px;
}

.benefit-card h3{
    color:#0F172A;
    font-size:28px;
    line-height:1.3;
    margin-bottom:20px;
    font-weight:700;
}

.benefit-card p{
    color:#64748B;
    font-size:17px;
    line-height:1.8;
}

@media (max-width:991px){

    .benefits-grid, .family-law-intro__grid{
        grid-template-columns:1fr;
    }

    .section-header h2{
        font-size:36px;
    }

    .section-highlight{
        font-size:24px;
    }
}

@media (max-width:767px){

    .why-choose-jos{
        padding:70px 0;
    }

    .section-header h2{
        font-size:30px;
    }

    .section-highlight{
        font-size:20px;
    }

    .benefit-card{
        padding:30px 25px;
    }

    .benefit-card h3{
        font-size:24px;
    }
}
/* =========================================
   FAQ SECTION
========================================= */

.faq-section{
    padding:100px 0;
}

.faq-header{
    max-width:850px;
    margin:0 auto 60px;
    text-align:center;
}

.faq-header .section-tag{
    display:inline-block;
    margin-bottom:15px;
    color:#00A499;
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
}

.faq-header h2{
    font-size:48px;
    line-height:1.2;
    color:#0F172A;
    margin-bottom:20px;
    font-weight:700;
}

.faq-header p{
    color:#64748B;
    font-size:18px;
    line-height:1.8;
    margin-bottom:0;
}

.faq-wrapper{
    max-width:1000px;
    margin:0 auto;
}

/* =========================================
   FAQ ITEM
========================================= */

.faq-item{
    background:#fff;
    border:1px solid #E2E8F0;
    border-radius:12px;
    margin-bottom:20px;
    overflow:hidden;
    box-shadow:0 5px 20px rgba(15,23,42,.05);
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.faq-item:hover{
    box-shadow:0 10px 30px rgba(15,23,42,.08);
}

.faq-item.active{
    box-shadow:0 15px 40px rgba(15,23,42,.10);
}

/* =========================================
   QUESTION
========================================= */

.faq-question{
    width:100%;
    background:none;
    border:none;
    padding:28px 30px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    cursor:pointer;
    text-align:left;
    color:#0F172A;
    font-size:22px;
    line-height:1.5;
    font-weight:600;
}

/* =========================================
   PLUS / MINUS ICON
========================================= */

.faq-icon{
    position:relative;
    width:24px;
    height:24px;
    flex-shrink:0;
}

.faq-icon::before,
.faq-icon::after{
    content:'';
    position:absolute;
    background:#00A499;
    transition:all .3s ease;
}

.faq-icon::before{
    width:20px;
    height:2px;
    top:11px;
    left:2px;
}

.faq-icon::after{
    width:2px;
    height:20px;
    top:2px;
    left:11px;
}

.faq-item.active .faq-icon::after{
    transform:scaleY(0);
}

/* =========================================
   ANSWER
========================================= */

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .45s ease;
}

.faq-answer-inner{
    padding:0 30px 30px;
}

.faq-answer p{
    margin:0;
    color:#475569;
    font-size:17px;
    line-height:1.9;
}

/* =========================================
   MOBILE
========================================= */

@media (max-width:991px){

    .faq-section{
        padding:80px 0;
    }

    .faq-header h2{
        font-size:36px;
    }

    .faq-question{
        font-size:20px;
        padding:24px;
    }
}

@media (max-width:767px){

    .faq-section{
        padding:60px 0;
    }

    .faq-header h2{
        font-size:30px;
    }

    .faq-header p{
        font-size:16px;
    }

    .faq-question{
        font-size:18px;
        padding:20px;
    }

    .faq-answer-inner{
        padding:0 20px 20px;
    }

    .faq-answer p{
        font-size:16px;
    }
}