﻿.cp-hero {
    min-height: 590px;
    display: flex;
    align-items: center;
    padding: clamp(5rem,8vw,8rem) 0;
    background: linear-gradient(90deg, rgba(247,252,250,.98) 0%, rgba(247,252,250,.94) 36%, rgba(247,252,250,.55) 55%, rgba(247,252,250,.08) 72%, rgba(247,252,250,0) 100%), url('/images/cerebral-palsy/cp-hero.png');
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
}

.cp-hero-content {
    max-width: 58rem;
}

.cp-kicker {
    color: #08745e;
    font-size: .87rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.cp-hero h1 {
    margin: .7rem 0 1.1rem;
    color: #123f37;
    font-size: clamp(2.7rem,5vw,4.8rem);
    font-weight: 850;
    letter-spacing: -.05em;
    line-height: 1.03;
}

.cp-hero p {
    max-width: 50rem;
    margin: 0;
    color: #58736c;
    font-size: 19px;
    font-weight: 650;
    line-height: 1.8;
}

.cp-explore-btn {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    margin-top: 1.8rem;
    padding: .9rem 1.25rem;
    border-radius: .8rem;
    background: #08745e;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    transition: background .2s ease,transform .2s ease;
}

    .cp-explore-btn:hover {
        background: #065f4f;
        color: #fff;
        transform: translateY(-2px);
    }

.cp-intro {
    padding: clamp(4rem,7vw,6rem) 0;
    background: #fff;
}

.cp-intro-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: clamp(2rem,6vw,6rem);
    align-items: start;
}

.cp-intro h2 {
    margin: .6rem 0 0;
    color: #173f38;
    font-size: clamp(2rem,3.5vw,3.2rem);
    font-weight: 850;
    letter-spacing: -.04em;
    line-height: 1.1;
}

.cp-intro-grid p {
    margin: 0 0 1rem;
    color: #5b766f;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.8;
}

.cp-topics {
    padding: clamp(4.5rem,7vw,7rem) 0;
    background: #f4faf7;
}

.cp-section-heading {
    max-width: 50rem;
    margin-bottom: 2.4rem;
}

    .cp-section-heading h2 {
        margin: .5rem 0 .8rem;
        color: #123f37;
        font-size: clamp(2.2rem,4vw,3.6rem);
        font-weight: 850;
        letter-spacing: -.045em;
        line-height: 1.08;
    }
    .cp-section-heading p {
        margin: 0;
        color: #607a73;
        font-size:17px;
        font-weight: 600;
    }

.cp-topic-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1rem;
}

.cp-topic-card {
    display: flex;
    min-height: 0;
    flex-direction: column;
    padding: 1.35rem;
    border: 1px solid #dce9e5;
    border-radius: 1.2rem;
    background: #fff;
    transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

    .cp-topic-card:hover {
        transform: translateY(-5px);
        border-color: rgba(8,116,94,.35);
        box-shadow: 0 .9rem 2rem rgba(24,77,68,.08);
    }

.cp-topic-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    margin-bottom: 1rem;
    border-radius: .9rem;
    background: #e2f3ed;
    color: #08745e;
    font-size: 1.2rem;
}

.cp-topic-card > span {
    color: #95aaa4;
    font-size: .87rem;
    font-weight: 850;
}

.cp-topic-card h3 {
    margin: .35rem 0 .55rem;
    color: #173f38;
    font-size: 1.08rem;
    font-weight: 800;
}

.cp-topic-card p {
    margin: 0 0 1rem;
    color: #687f79;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.cp-topic-card h3 {
    overflow-wrap: anywhere;
}

.cp-topic-link {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-top: auto;
    color: #08745e;
    font-size: .94rem;
    font-weight: 800;
}

    .cp-topic-link i {
        transition: transform .2s ease;
    }

.cp-topic-card:hover .cp-topic-link i {
    transform: translateX(4px);
}

.cp-medical-notice {
    padding: 3rem 0 5rem;
    background: #f4faf7;
}

.cp-medical-notice-card {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.4rem;
    border: 1px solid #d6e8e2;
    border-radius: 1rem;
    background: #fff;
}

    .cp-medical-notice-card > i {
        display: grid;
        width: 3rem;
        height: 3rem;
        flex: 0 0 auto;
        place-items: center;
        border-radius: .85rem;
        background: #08745e;
        color: #fff;
        font-size: 1.15rem;
        font-weight:600;
    }

    .cp-medical-notice-card strong {
        display: block;
        margin-bottom: .35rem;
        color: #244f46;
        font-size: 19px;
        font-weight:700;
    }

    .cp-medical-notice-card p {
        margin: 0;
        color: #607a73;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.65;
    }

@media (max-width:1199.98px) {
    .cp-topic-grid {
        grid-template-columns: repeat(3,1fr);
    }
}

@media (max-width:991.98px) {
    .cp-intro-grid {
        grid-template-columns: 1fr;
    }

    .cp-topic-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width:575.98px) {
    .cp-hero {
        min-height: 540px;
        padding: 3.5rem 0;
        background-image: linear-gradient(90deg, rgba(247,252,250,.94) 0%, rgba(247,252,250,.88) 48%, rgba(247,252,250,.42) 100%), url('/images/cerebral-palsy/cp-hero.png');
        background-position: 68% center;
    }

    .cp-hero-content {
        max-width: 100%;
    }

    .cp-hero h1 {
        font-size: 2.65rem;
    }

    .cp-hero p {
        font-size: 17px;
        line-height: 1.65;
    }

    .cp-explore-btn {
        gap: .4rem;
        margin-top: 1.25rem;
        padding: .55rem .85rem;
        font-size: 13px;
    }

    .cp-topic-grid {
        grid-template-columns: 1fr;
    }

    .cp-topic-card {
        min-height: auto;
    }

    .cp-medical-notice-card {
        flex-direction: column;
    }
}


.cp-topic-grid > a.cp-topic-card,
.cp-topic-grid > a.cp-topic-card:link,
.cp-topic-grid > a.cp-topic-card:visited,
.cp-topic-grid > a.cp-topic-card:hover,
.cp-topic-grid > a.cp-topic-card:active {
    color: inherit !important;
    text-decoration: none !important;
}

    .cp-topic-grid > a.cp-topic-card h3,
    .cp-topic-grid > a.cp-topic-card p,
    .cp-topic-grid > a.cp-topic-card .cp-topic-link,
    .cp-topic-grid > a.cp-topic-card .cp-topic-link * {
        color: inherit;
        text-decoration: none !important;
    }

    .cp-topic-grid > a.cp-topic-card .cp-topic-link {
        color: #167d6b !important;
    }
