@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

.cdfp-wrap,
.cdfp-wrap *{
    box-sizing:border-box;
}

.cdfp-wrap{
    width:100%;
    max-width:960px;
    margin:0 auto;
    padding:48px 36px 42px;
    font-family:'Montserrat', Arial, sans-serif;
    color:#3f3e39;
    background:#f7f5f0;
}

.cdfp-top{
    display:grid;
    grid-template-columns:230px 1fr;
    gap:38px;
    align-items:start;
}

.cdfp-photo{
    width:190px;
    height:190px;
    border-radius:50%;
    background:#d7d7d7;
    overflow:hidden;
    justify-self:center;
}

.cdfp-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.cdfp-bio{
    max-width:560px;
    padding-top:3px;
}

.cdfp-bio h2,
.cdfp-bottom h3{
    margin:0;
    font-family:Georgia, 'Times New Roman', serif;
    color:#3d3b36;
    font-weight:700;
    line-height:1.12;
}

.cdfp-bio h2{
    font-size:22px;
}

.cdfp-handle{
    margin:0 0 28px !important;
    font-size:15px;
    line-height:1.1;
    color:#3d3b36;
    font-weight:500;
}

.cdfp-bio p:not(.cdfp-handle){
    margin:0;
    max-width:560px;
    font-size:14px;
    line-height:1.22;
    font-weight:500;
    color:#3f3e39;
}

.cdfp-bottom{
    display:grid;
    grid-template-columns:1.18fr .82fr;
    gap:70px;
    margin-top:58px;
    align-items:start;
}

.cdfp-bottom h3{
    font-size:23px;
    margin-bottom:32px;
}

.cdfp-focus-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:0;
    max-width:430px;
}

.cdfp-focus-item{
    min-height:106px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    padding:0 15px;
    border-right:2px solid #b9dedb;
}

.cdfp-focus-item:last-child{
    border-right:0;
}

.cdfp-icon-box{
    width:78px;
    height:78px;
    display:block;
    background:#d9d9d9;
    margin-bottom:14px;
}

.cdfp-focus-item strong{
    font-size:12px;
    line-height:1;
    font-weight:700;
    color:#2f2f2b;
    text-align:center;
}

.cdfp-ideal ul{
    margin:0;
    padding:0;
    list-style:none;
}

.cdfp-ideal li{
    position:relative;
    margin:0 0 16px;
    padding-left:42px;
    min-height:24px;
    font-size:14px;
    line-height:1.12;
    font-weight:500;
    color:#3f3e39;
}

.cdfp-ideal li::before{
    content:'✓';
    position:absolute;
    left:0;
    top:-3px;
    font-size:22px;
    line-height:1;
    font-weight:700;
    color:#5c8f8a;
}

@media (max-width: 820px){
    .cdfp-wrap{
        padding:38px 24px;
    }

    .cdfp-top{
        grid-template-columns:1fr;
        gap:24px;
        text-align:center;
    }

    .cdfp-bio{
        max-width:620px;
        margin:0 auto;
    }

    .cdfp-bio p:not(.cdfp-handle){
        max-width:620px;
    }

    .cdfp-bottom{
        grid-template-columns:1fr;
        gap:44px;
        margin-top:48px;
    }

    .cdfp-bottom h3{
        text-align:center;
    }

    .cdfp-focus-grid{
        margin:0 auto;
    }

    .cdfp-ideal{
        max-width:430px;
        margin:0 auto;
    }
}

@media (max-width: 520px){
    .cdfp-wrap{
        padding:34px 18px;
    }

    .cdfp-photo{
        width:150px;
        height:150px;
    }

    .cdfp-bio h2{
        font-size:19px;
    }

    .cdfp-handle{
        margin-bottom:20px !important;
        font-size:13px;
    }

    .cdfp-bio p:not(.cdfp-handle),
    .cdfp-ideal li{
        font-size:13px;
        line-height:1.25;
    }

    .cdfp-bottom h3{
        font-size:20px;
        margin-bottom:24px;
    }

    .cdfp-focus-grid{
        grid-template-columns:repeat(2, 1fr);
        row-gap:28px;
        max-width:290px;
    }

    .cdfp-focus-item{
        border-right:2px solid #b9dedb;
        padding:0 12px;
    }

    .cdfp-focus-item:nth-child(2n){
        border-right:0;
    }

    .cdfp-icon-box{
        width:68px;
        height:68px;
    }

    .cdfp-ideal li{
        padding-left:34px;
        margin-bottom:15px;
    }
}
