.perfect-fit-section{
    padding:112px 0;
    background:var(--bg);
}

.pf-title{
    max-width:900px;
    margin:0 auto 60px;
    text-align:center;
    font-size:clamp(2rem,3.4vw,2.8rem);
    line-height:1.06;
    letter-spacing:-.02em;
    font-weight:900;
    text-transform:uppercase;
}

.pf-title span{
    color:var(--cyan);
}

:root:not([data-theme="light"]) .pf-title span{
    text-shadow:0 0 15px rgba(0,209,224,.3);
}

.pf-list{
    display:flex;
    flex-direction:column;
    gap:20px;
    width:100%;
    max-width:950px;
    margin:0 auto;
}

.pf-card{
    display:flex;
    flex-direction:column;
    gap:16px;
    padding:30px 40px;
    background:var(--surface-2);
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:var(--shadow);
    transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.pf-card:hover{
    transform:translateY(-4px);
    border-color:rgba(0,209,224,.24);
    box-shadow:0 12px 28px rgba(0,209,224,.08);
}

[data-theme="light"] .pf-card{
    background:var(--surface);
    box-shadow:0 10px 25px rgba(0,0,0,.03);
    border-color:rgba(0,0,0,.08);
}

.pf-row{
    display:flex;
    align-items:flex-start;
    gap:18px;
}

.pf-icon{
    flex-shrink:0;
    width:20px;
    height:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:3px;
}

.pf-icon svg{
    width:100%;
    height:100%;
}

.pf-icon-warning svg{
    fill:#f4c84a;
    opacity:1;
    filter:drop-shadow(0 0 8px rgba(244,200,74,.16));
}

.pf-icon-check svg{
    fill:var(--cyan);
}

.pf-text{
    margin:0;
    text-align:left;
    font-size:1.05rem;
    line-height:1.55;
}

.pf-pain{
    color:var(--muted);
    font-weight:500;
}

.pf-solution{
    color:var(--text);
    font-weight:700;
}

@media (max-width:900px){
    .perfect-fit-section{
        padding:88px 0;
    }

    .pf-title{
        margin-bottom:44px;
    }

    .pf-card{
        padding:24px;
    }
}

@media (max-width:768px){
    .perfect-fit-section{
        padding:64px 0;
    }

    .pf-title{
        margin-bottom:36px;
        font-size:1.85rem;
    }

    .pf-card{
        padding:20px;
        gap:18px;
    }

    .pf-text{
        font-size:.95rem;
    }
}
