/*==================================================
Key Features Section
Base Layout
==================================================*/

.key-features-section{

    position:relative;

    padding-block:var(--section-space);

    background:var(--background);

}


/*==================================================
Container
==================================================*/

.key-features-container{

    width:100%;

    max-width:var(--container-md);

    margin-inline:auto;

    padding-inline:var(--space-inline);

}


/*==================================================
Heading
==================================================*/

.key-features-heading{

    max-width:768px;

    margin-inline:auto;

    text-align:center;

}


/*----------------------------------*/

.key-features-heading h2{

    font-family:var(--font-heading);

    font-weight:var(--title-weight);

    font-size:var(--hero-title-size);

    line-height:1.2;

    letter-spacing:-.03em;

    color:var(--text);

}


/*----------------------------------*/

.key-features-heading p{

    font-family:var(--font-body);

    font-weight:var(--body-weight);

    font-size:var(--hero-desc-size);

    line-height:1.9;

    color:var(--text-light);

    margin-top:1.5rem;

}


/*==================================================
FEATURE GRID
==================================================*/

.key-features-grid{

    margin-top:clamp(50px,7vw,80px);

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:1.6rem;

}


/*==================================================
FEATURE CARD
==================================================*/

.key-feature-card{

    position:relative;

    overflow:hidden;

    padding:clamp(25px,3vw,35px);

    border-radius:var(--radius-xl);

    background:var(--background);

    border:1px solid var(--border);

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}


/*----------------------------------*/

.key-feature-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg, rgba(var(--accent-rgb),.08), transparent 45%);

    opacity:0;

    transition:.45s;

}


/*----------------------------------*/

.key-feature-card:hover{

    transform:translateY(-10px);

    border-color:rgba(var(--primary-rgb),.35);

    box-shadow:var(--shadow-lg);

}


/*----------------------------------*/

.key-feature-card:hover::before{

    opacity:1;

}


/*==================================================
FEATURE ICON
==================================================*/

.key-feature-icon{

    position:relative;

    width:65px;

    height:65px;

    border-radius:var(--radius-round);

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(135deg,
        rgba(var(--accent-rgb),.15), rgba(var(--accent-rgb),.25));

    margin-bottom:1.6rem;

}


/*----------------------------------*/

.key-feature-icon img{

    width:50px;

    height:50px;

}


/*----------------------------------*/

.key-feature-icon svg path{

    stroke:var(--primary);

}


/*==================================================
CARD TEXT
==================================================*/

.key-feature-card h3{

    position:relative;

    font-family:var(--font-heading);

    font-weight:var(--font-weight-h3);

    color:var(--text);

    font-size:1.25rem;

    margin-bottom:.9rem;

}


/*----------------------------------*/

.key-feature-card p{

    position:relative;

    font-family:var(--font-body);

    font-weight:var(--body-weight);

    color:var(--text-light);

    line-height:1.8;

    font-size:var(--font-size-p);

}


/*==================================================
BOTTOM HIGHLIGHT
==================================================*/

.key-features-highlight{

    margin-top:clamp(50px,7vw,80px);

    padding:clamp(30px,5vw,50px);

    border-radius:var(--radius-xl);

    background:linear-gradient(
        120deg, var(--surface), var(--background));

    border:1px solid var(--border);

    text-align:center;

}


/*----------------------------------*/

.key-features-highlight h3{

    font-family:var(--font-heading);

    font-weight:var(--heading-weight);

    color:var(--text);

    font-size:clamp(1.3rem,2vw,1.8rem);

    margin-bottom:.9rem;

}


/*----------------------------------*/

.key-features-highlight p{

    font-family:var(--font-body);

    font-weight:var(--body-weight);

    color:var(--text-light);

    line-height:1.8;

    max-width:576px;

    margin-inline:auto;

}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:992px){

    .key-features-grid{

        grid-template-columns:repeat(2,1fr);

    }

}


/*----------------------------------*/

@media(max-width:768px){

    .key-features-section{

        padding-block:90px;

    }

    .key-features-grid{

        margin-top:50px;

        gap:1.2rem;

    }

    .key-features-highlight{

        margin-top:50px;

    }

}


/*----------------------------------*/

@media(max-width:576px){

    .key-features-heading h2{

        font-size:1.85rem;

        line-height:1.3;

    }

    .key-features-heading p{

        font-size:.95rem;

    }

    .key-features-grid{

        grid-template-columns:1fr;

    }

    .key-feature-card{

        text-align:center;

    }

    .key-feature-icon{

        margin-inline:auto;

    }

    .key-feature-card h3{

        font-size:1.1rem;

    }

    .key-features-highlight h3{

        font-size:1.3rem;

    }

}


/*----------------------------------*/

@media(max-width:380px){

    .key-features-heading h2{

        font-size:1.65rem;

    }

    .key-feature-card p{

        font-size:.88rem;

    }

}


/*==================================================
ACCESSIBILITY
Reduced Motion
==================================================*/

@media(prefers-reduced-motion:reduce){

    .key-features-section *,
    .key-features-section *::before,
    .key-features-section *::after{

        transition:none !important;

        animation:none !important;

    }

}
