/* =========================
   ROOT VARIABLES
========================= */
:root{
    --font-serif:"Cormorant Garamond", serif;
    --font-sans:"Inter", sans-serif;

    --color-bg:#f8f6f3;
    --color-ink:#231f20;
    --color-text:#555;
    --color-teal:#00a499;
    --color-border:#e5e5e5;
    --color-faq:#f2eded;
}

/* =========================
   RESET
========================= */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:var(--font-sans);
    background:var(--color-bg);
    color:var(--color-ink);
    line-height:1.7;
}

img{
    display:block;
    width:100%;
    height:auto;
}
.practice-hero__inner{
    padding-top:100px;
}
/* =========================
   LAYOUT
========================= */
.container,
.practice-container{
    width:100%;
    max-width:1200px;
    margin:auto;
    padding:0 20px;
}


/* =========================
   TYPOGRAPHY
========================= */
.practice-hero__title,
.practice-title,
.section-heading-text{
    font-family:var(--font-serif);
    font-weight:500;
    letter-spacing:-0.025em;
    color:var(--color-ink);
}
    .practice-hero__back{
        padding-top:100px;
    }
.practice-hero__title{
    max-width:56rem;
    font-size:clamp(3rem,5vw,4.5rem);
    line-height:.98;
}

.practice-title{
    max-width:56rem;
    padding-top:30px;
    font-size:2rem;
    line-height:1.1;
}

.section-heading-text{
    max-width:56rem;
    padding:40px 0 10px;
    font-size:3rem;
    line-height:1;
}

p,
.list-oll,
.sect{
    max-width:750px;
    font-size:18px;
    color:var(--color-text);
}

p{
    margin:20px 0;
}

.list-oll{
    padding-left:20px;
}

.sect{
    padding-top:35px;
}

em{
    font-style:normal;
    color:var(--color-teal);
}

/* =========================
   HERO SECTION
========================= */
.practice-hero{
    padding:90px 0 80px;
    background:var(--color-bg);
}

.practice-hero__content{
    max-width:850px;
}

.practice-hero__back{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:40px;
    text-decoration:none;
    color:var(--color-text);
    font-size:14px;
    transition:.3s;
}

.practice-hero__back:hover{
    color:var(--color-ink);
}

/* =========================
   BUTTONS
========================= */
.practice-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
}

.practice-hero__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:15px 28px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.practice-hero__button--primary{
    background:var(--color-teal);
    color:var(--color-ink);
}

.practice-hero__button--primary:hover{
    background:#000;
    color:#fff;
    transform:translateY(-2px);
}

.practice-hero__button--secondary{
    border:1px solid var(--color-ink);
    color:var(--color-ink);
}

.practice-hero__button--secondary:hover{
    background:var(--color-ink);
    color:#fff;
}

/* =========================
   FAQ SECTION
========================= */
.section-faq{
    padding:80px 0;
}

.section-faq__title{
    margin-bottom:3rem;
    font-family:var(--font-serif);
    font-size:clamp(1.5rem,4vw,3rem);
    font-weight:500;
    color:var(--color-ink);
}

.section-faq__list{
    display:grid;
    gap:1px;
}

.faq-item{
    background:var(--color-faq);
    padding:1.75rem;
    transition:.3s;
}

.faq-item:hover{
    background:#fff;
}

.faq-item__question{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1.5rem;
    cursor:pointer;
    list-style:none;
}

.faq-item__question::-webkit-details-marker{
    display:none;
}

.faq-item__number{
        flex-shrink: 0;
    width: 2.5rem;
    margin-top: 0.125rem;
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-style: italic;
    font-weight: 600;
    line-height: 1;
    color: var(--color-teal);
}

.faq-item__label{
    flex:1;
    font-family:var(--font-serif);
    font-size:clamp(1.15rem,2vw,1.5rem);
    font-weight:500;
    line-height:1.4;
    color:var(--color-ink);
}

.faq-item__toggle{
    color:var(--color-teal);
    font-size:2rem;
    transition:.3s;
}

.faq-item[open] .faq-item__toggle{
    transform:rotate(45deg);
}

.faq-item__answer{
    max-width:48rem;
    margin-top:1.25rem;
    font-size:1rem;
    line-height:1.8;
    color:var(--color-text);
}

/* =========================
   TABLET
========================= */
@media (max-width:991px){

    .practice-hero{
        padding:70px 0;
    }

    .practice-hero__title{
        font-size:clamp(2.5rem,6vw,3.8rem);
    }

    .practice-title{
        font-size:1.75rem;
    }

    .section-heading-text{
        font-size:2.5rem;
    }

    p,
    .list-oll,
    .sect{
        font-size:17px;
    }
}

/* =========================
   MOBILE
========================= */
@media (max-width:767px){

    .container,
    .practice-container{
        padding:0 15px;
    }

    .practice-hero{
        padding:50px 0;
    }

    .practice-hero__back{
        margin-bottom:25px;
    }

    .practice-hero__title{
        font-size:2.2rem;
        line-height:1.05;
    }

    .practice-title{
        padding-top:20px;
        font-size:1.5rem;
    }

    .section-heading-text{
        padding-top:30px;
        font-size:2rem;
    }

    p,
    .list-oll,
    .sect{
        font-size:16px;
    }

    .practice-hero__actions{
        flex-direction:column;
    }

    .practice-hero__button{
        width:100%;
    }

    .faq-item{
        padding:1.25rem;
    }

    .faq-item__label{
        font-size:1.05rem;
    }

    .faq-item__toggle{
        font-size:1.5rem;
    }
}

/* =========================
   SMALL MOBILE
========================= */
@media (max-width:480px){
    .practice-hero__title{
        font-size:1.9rem;
    }

    .practice-title{
        font-size:1.3rem;
    }

    .section-heading-text{
        font-size:1.75rem;
    }

    p,
    .list-oll,
    .sect{
        font-size:15px;
    }

    .faq-item{
        padding:1rem;
    }

    .faq-item__label{
        font-size:1rem;
    }

    .faq-item__answer{
        font-size:.95rem;
    }
}