/* SFS legal/login placement refinements */
.login-page{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:100vh;
    padding:clamp(24px,4vw,56px);
}

.login-stack{
    width:min(100%,460px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:20px;
}

.login-stack .login-card{width:100%;}

.login-legal-outside{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    font-weight:700;
    color:#0b2346;
}

.login-legal-outside a{
    color:#0b2346;
    text-decoration:none;
    position:relative;
}

.login-legal-outside a:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-4px;
    height:2px;
    background:#00a65a;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .18s ease;
}

.login-legal-outside a:hover:after{transform:scaleX(1);}

.legal-shell{
    min-height:100vh;
    background:linear-gradient(120deg,rgba(0,166,90,.07),rgba(0,85,139,.10));
}

.legal-shell-wrap{
    width:100%;
    min-height:100vh;
    padding:clamp(28px,5vw,72px);
}

.legal-page{
    width:min(1240px,100%);
    margin:0 auto;
    padding:0;
}

.legal-page-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:26px;
    background:#fff;
    border:1px solid #dfe7f0;
    border-radius:6px;
    padding:clamp(28px,4vw,46px);
    box-shadow:0 12px 30px rgba(12,31,61,.06);
}

.legal-page-head h1{
    margin:.25rem 0 0;
    font-size:clamp(38px,5vw,64px);
    line-height:1;
    letter-spacing:-.045em;
}

.legal-lead{
    margin:12px 0 0;
    color:#68758b;
}

.legal-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    align-items:stretch;
}

.legal-panel{
    padding:clamp(28px,3vw,42px)!important;
    border-radius:6px!important;
}

.legal-panel h2{
    margin:0 0 14px;
    line-height:1.22;
    font-size:clamp(22px,2.3vw,30px);
}

.legal-panel p{
    line-height:1.75;
    color:#52637a;
    word-break:normal;
    overflow-wrap:break-word;
}

.legal-wide{
    max-width:none;
}

.legal-wide h2{
    margin-top:34px;
}

.legal-wide h2:first-child{
    margin-top:0;
}

.legal-back{
    white-space:nowrap;
    flex-shrink:0;
}

@media(max-width:920px){
    .legal-page-head{
        flex-direction:column;
        align-items:flex-start;
    }
    .legal-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:560px){
    .legal-shell-wrap{
        padding:20px;
    }
    .legal-page-head h1{
        font-size:34px;
    }
}
