.module-shell{
    width:100%;
    max-width:960px;
    margin:0 auto;
    padding:48px 22px 24px;
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.hero{
    text-align:center;
    margin-bottom:28px;
}

.brand-logo{
    display:block;
    margin:0 auto 20px;

    max-width:300px;
    width:100%;
    height:auto;

    border-radius:16px;
    overflow:hidden;

    box-shadow:0 10px 24px rgba(0,0,0,.08);
}}

.brand-logo.compact{
    width:min(260px,76vw);
}

.page-header{
    text-align:center;
    margin-bottom:28px;
}

.page-header h1{
    margin-bottom:10px;
}

.page-header p{
    max-width:600px;
    margin:0 auto;
}



.action-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:22px;
    width:100%;
    max-width:900px;
    margin:0 auto;
}

.page-card{
    width:100%;
    max-width:420px;
    margin:0 auto;
    padding:35px;
}

.page-card h1{
    text-align:center;
}

.module-footer{
    width:100%;
    padding:18px 22px 28px;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    color:var(--color-muted);
    font-size:13px;
}

.module-footer span + span::before{
    content:"\2022";
    margin-right:12px;
}

@media (max-width:720px){

    .module-shell{
        max-width:520px;
        padding-top:34px;
    }

    .action-grid{
        grid-template-columns:1fr;
        max-width:420px;
    }

    .page-card{
        max-width:480px;
    }

}

@media (max-width:440px){

    .module-shell{
        padding-left:16px;
        padding-right:16px;
    }

    .action-card,
    .page-card{
        padding:26px;
    }

    h1{
        font-size:24px;
    }

}

