.container,
.fanime-container{
    width:min(calc(100% - 38px), 1260px);
    margin:0 auto;
}

.fanime-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:30px;
    align-items:start;
}

.fanime-layout--content .fanime-stack{min-width:0;}
.fanime-layout--full{
    display:block;
}

.fanime-stack{
    display:grid;
    gap:22px;
}

.fanime-sidebar{
    display:grid;
    gap:18px;
}

.fanime-grid{
    display:grid;
    gap:20px;
}

.fanime-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.fanime-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.fanime-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}

/* Slightly more premium section rhythm */
.fanime-section{
    padding:30px 0;
}

.fanime-container--narrow{
    width:min(calc(100% - 38px), 1020px);
    margin:0 auto;
}
.fanime-container--wide{
    width:min(calc(100% - 38px), 1360px);
    margin:0 auto;
}

.fanime-cluster{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
}

@media (max-width: 1024px){
    .fanime-layout{grid-template-columns:1fr;}
}

@media (max-width: 640px){
    .fanime-container{
        width:min(calc(100% - 28px), 1260px);
    }

    .fanime-container--narrow,
    .fanime-container--wide{
        width:min(calc(100% - 28px), 1260px);
    }

    .fanime-stack{gap:18px;}
    .fanime-grid{gap:16px;}
    .fanime-sidebar{gap:16px;}
    .fanime-section{padding:24px 0;}
}
