
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:"Inter", sans-serif;
    background:#f8f6f3;
    color:#231f20;
    line-height:1.7;
}

img{
    max-width:100%;
    height:auto;
    display:block;
}

/* =========================
   CONTAINER
========================= */
.container,
.practice-container{
    width:100%;
    max-width:1200px;
    margin:auto;
    padding:20px;
}

/* =========================
   HERO SECTION
========================= */
.practice-hero{
    position:relative;
    overflow:hidden;
    padding:90px 0 120px;
   
    display:flex;
    align-items:center;
    background:#f8f6f3;
}

.practice-hero__inner{
    position:relative;
    z-index:2;
    padding-top:100px;
}

.practice-hero__content{
    max-width:850px;
}

/* =========================
   BACK LINK
========================= */
.practice-hero__back{
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:#555;
    font-size:14px;
    margin-bottom:40px;
    transition:0.3s;
}

.practice-hero__back:hover{
    color:#000;
}

.practice-hero__back svg{
    width:14px;
    height:14px;
}

/* =========================
   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;
}

/* =========================
   INTRO
========================= */
.practice-hero__intro{
    max-width:750px;
    font-size:18px;
    color:#555;
    margin-top:20px;
    margin-bottom:35px;
}

.practice-hero-anchor{
    text-decoration:none;
    font-size:18px;
    color:#00a499;
    transition:0.3s;
}

.practice-hero-anchor:hover{
    color:#00867d;
}

/* =========================
   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: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;
}

/* =========================
   GRID BOX SECTION
========================= */
.grid-box-container{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:30px;
    align-items:stretch;
}

.box-container{
    background:#F8F6F3;
    padding:30px;
    border-radius:12px;
        box-shadow: 0 12px 35px rgb(118 113 113 / 8%);
    transition:all 0.3s ease;
    height:100%;
    display:flex;
    flex-direction:column;
}

.box-container:hover{
    transform:translateY(-5px);
    box-shadow:0 12px 35px rgba(0,0,0,0.12);
}

.box-text-content h3{
    color:#00a499;
    padding-bottom:20px;
    font-size:1.5rem;
    line-height:1.3;
}

.box-text-content p{
    color:#555;
    font-size:16px;
}

/* =========================
   TABLET
   2 COLUMNS
========================= */
@media (max-width:991px){

    .practice-hero{
        padding:70px 0 90px;
        min-height:auto;
    }

    .practice-hero__title{
        font-size:clamp(2.5rem, 6vw, 3.8rem);
    }

    .practice-hero__intro{
        font-size:16px;
    }

    .practice-hero__actions{
        gap:12px;
    }

    .grid-box-container{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:20px;
    }
}

/* =========================
   MOBILE
   1 COLUMN
========================= */
@media (max-width:767px){

    .container,
    .practice-container{
        padding:0 15px;
    }

    .practice-hero{
        padding:50px 0 70px;
    }

    .practice-hero__back{
        margin-bottom:25px;
    }

    .practice-hero__title{
        font-size:2.2rem;
        line-height:1.05;
        word-break:break-word;
    }

    .practice-hero__intro{
        font-size:15px;
        margin-bottom:25px;
    }

    .practice-hero__actions{
        flex-direction:column;
        width:100%;
    }

    .practice-hero__button{
        width:100%;
        justify-content:center;
    }

    .grid-box-container{
        grid-template-columns:1fr;
        gap:20px;
    }

    .box-container{
        padding:25px;
    }
}

/* =========================
   SMALL MOBILE
========================= */
@media (max-width:480px){
    .practice-hero{
        padding-top:150px;
    }

    .practice-hero__title{
        font-size:1.9rem;
    }

    .practice-hero__intro{
        font-size:14px;
    }

    .box-container{
        padding:20px;
    }

    .box-text-content h3{
        font-size:1.2rem;
        padding-bottom:15px;
    }

    .practice-hero__button{
        padding:14px 20px;
        font-size:14px;
    }
}