.fl-public-home{
    width:100%;
    max-width:1400px;
    margin:18px auto 0;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 12px 34px rgba(52,87,120,.06);
}

.fl-public-hero{
    min-height:560px;
    display:grid;
    grid-template-columns:1.06fr .94fr;
    background:linear-gradient(135deg,#ffffff 0%,#f4faff 52%,#edf7fd 100%);
}

.fl-public-copy{
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    visibility:visible !important;
    opacity:1 !important;
    position:relative;
    z-index:3;
    padding:58px 54px 62px 58px;
    color:#173a57 !important;
    background:
        radial-gradient(circle at 20% 32%,rgba(90,167,232,.10),transparent 38%);
}

.fl-kicker{
    display:block !important;
    max-width:680px;
    margin:0 0 22px;
    color:#153d5c !important;
    font-size:clamp(34px,3.4vw,56px);
    font-weight:800;
    line-height:1.08;
    letter-spacing:-.04em;
}

.fl-public-copy h1{
    display:block !important;
    margin:0 0 24px;
    color:#3e91dc !important;
    font-size:clamp(25px,2.25vw,34px);
    font-weight:750;
    line-height:1.25;
}

.fl-public-copy p{
    display:block !important;
    max-width:660px;
    margin:0;
    color:rgba(23,58,87,.70) !important;
    font-size:16px;
    line-height:1.75;
}

.fl-login-button{
    width:fit-content;
    min-height:52px;
    margin-top:34px;
    display:inline-flex !important;
    align-items:center;
    gap:10px;
    padding:0 22px;
    border-radius:10px;
    background:linear-gradient(135deg,#5aa7e8,#3e91dc);
    color:#fff !important;
    font-weight:800;
    text-decoration:none;
    box-shadow:0 14px 30px rgba(62,145,220,.20);
}

.fl-public-visual{
    min-height:560px;
    position:relative;
    overflow:hidden;
    background:#eef8fe;
}

.fl-public-visual::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(
        90deg,
        rgba(244,250,255,.98) 0%,
        rgba(244,250,255,.68) 10%,
        rgba(244,250,255,.18) 26%,
        rgba(244,250,255,0) 42%
    );
}

.fl-hero-image{
    width:100%;
    height:100%;
    min-height:560px;
    object-fit:cover;
    object-position:center;
    display:block;
}

.fl-public-features{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    background:#fff;
    border-top:1px solid rgba(70,120,160,.12);
    border-bottom:1px solid rgba(70,120,160,.12);
    padding:34px 44px;
}

.fl-public-features article{
    display:grid;
    grid-template-columns:52px 1fr;
    gap:15px;
    padding:5px 24px;
    border-right:1px solid rgba(23,58,87,.10);
}

.fl-public-features article:first-child{padding-left:0}
.fl-public-features article:last-child{padding-right:0;border-right:0}

.fl-feature-icon{
    width:48px;height:48px;
    display:grid;place-items:center;
    border-radius:13px;
    background:rgba(90,167,232,.10);
    color:#3e91dc;
    font-size:21px;
}

.fl-public-features h3{
    margin:2px 0 7px;
    color:#173a57;
    font-size:15px;
}

.fl-public-features p{
    margin:0;
    color:rgba(23,58,87,.60);
    font-size:12px;
    line-height:1.55;
}

.fl-public-footer{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:24px 44px;
    background:#f8fcff;
    color:rgba(23,58,87,.48);
    font-size:12px;
}

@media(max-width:980px){
    .fl-public-hero{grid-template-columns:1fr}
    .fl-public-copy{padding:44px 30px}
    .fl-public-visual{min-height:340px}
    .fl-hero-image{min-height:340px}
    .fl-public-features{grid-template-columns:repeat(2,1fr);row-gap:24px}
}

@media(max-width:650px){
    .fl-public-home{margin-top:10px;border-radius:12px}
    .fl-public-features{grid-template-columns:1fr}
    .fl-public-features article{border-right:0;padding-left:0;padding-right:0}
    .fl-public-footer{flex-direction:column}
}
