.c4y-anim-up   { opacity:0; transform:translateY(30px); transition:opacity .6s ease, transform .6s ease; }
.c4y-anim-left { opacity:0; transform:translateX(-20px); transition:opacity .5s ease, transform .5s ease; }
.c4y-anim-up.c4y-visible,
.c4y-anim-left.c4y-visible { opacity:1; transform:none; }

.c4y-sg { display:grid; gap:1.5rem; width:100%; box-sizing:border-box; }
@media(max-width:1023px) { .c4y-sg { grid-template-columns:repeat(2,1fr) !important; } }
@media(max-width:639px)  { .c4y-sg { grid-template-columns:1fr !important; } }

.c4y-sg .c4y-sg-wrap { opacity:0; transform:translateY(30px); transition:opacity .6s ease, transform .6s ease; display:flex; }
.c4y-sg.c4y-visible .c4y-sg-wrap { opacity:1; transform:none; }

.c4y-sg .c4y-sg-card,
.c4y-sg .c4y-sg-card:link,
.c4y-sg .c4y-sg-card:visited {
    display:flex; flex-direction:column;
    background:#fff; border-radius:1rem; padding:2rem;
    border:1px solid rgb(228, 231, 236); text-decoration:none; color:inherit;
    box-sizing:border-box; flex:1;
    transition:transform .3s ease, box-shadow .3s ease;
}
.c4y-sg .c4y-sg-card:hover {
    transform:translateY(-4px);
    box-shadow:0 20px 25px -5px rgba(38,54,100,.10),0 8px 10px -6px rgba(38,54,100,.10);
}
.c4y-sg .c4y-sg-card:hover .c4y-sg-title { color:rgb(104, 200, 81) !important; }
.c4y-sg .c4y-sg-card:hover .c4y-sg-cta   { gap:.75rem !important; }

.c4y-sg .c4y-sg-icon {
    width:3.5rem; height:3.5rem; border-radius:.75rem;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:1.5rem; color:#fff; flex-shrink:0;
}
.c4y-sg .c4y-sg-icon svg { display:block; }
.c4y-sg .c4y-sg-title { font-size:1.25rem; font-weight:600; color:rgb(20, 31, 56); margin:0 0 .75rem; padding:0; line-height:1.4; transition:color .2s ease; }
.c4y-sg .c4y-sg-desc  { font-size:1rem; color:rgb(107, 114, 128); line-height:1.625; margin:0 0 1.5rem; padding:0; }

.c4y-sg .c4y-sg-features {
    list-style:none !important;
    padding:0 !important;
    margin:0 0 1.5rem !important;
    display:flex; flex-direction:column; gap:.5rem;
}
.c4y-sg .c4y-sg-features li {
    display:flex !important;
    align-items:center !important;
    gap:.5rem;
    font-size:.875rem; color:rgb(107, 114, 128);
    padding:0 !important;
    margin:0 !important;
    list-style:none !important;
}
.c4y-sg .c4y-sg-features li::before {
    content:'' !important;
    width:6px; height:6px; min-width:6px;
    border-radius:50%; background:rgb(104, 200, 81);
    display:block !important; flex-shrink:0;
    position:static !important;
    top:auto !important; left:auto !important;
    border:none !important; background-color:rgb(104, 200, 81) !important;
}
.c4y-sg .c4y-sg-features li::marker { display:none; content:''; }

.c4y-sg .c4y-sg-cta {
    display:inline-flex; align-items:center; gap:.5rem;
    color:rgb(104, 200, 81); font-weight:500; font-size:.9375rem;
    margin-top:auto; padding-top:.5rem;
    text-decoration:none; transition:gap .2s ease;
}
