/* ==========================================================
   LOVEU Homepage 05 | Company Strength Data V1
   Scope: body.loveu-site .loveu-strength only.
   Uses existing Bootstrap 5 grid and global LoveU variables.
   Does not modify Header, Banner, Categories, Featured, About.
   ========================================================== */
body.loveu-site .loveu-strength {
    background: var(--loveu-surface, #f2f2f2);
    padding: clamp(1.15rem, 2.7vw, 2.75rem) 0 clamp(3.5rem, 6vw, 6rem);
}
body.loveu-site .loveu-strength__heading {
    text-align: center;
    max-width: 56rem;
    margin: 0 auto clamp(1.55rem, 2.6vw, 2.5rem);
}
body.loveu-site .loveu-strength__title {
    color: var(--loveu-navy, #12346c);
    font: 600 clamp(1.65rem, 2.25vw, 2.5rem)/1.28 var(--loveu-font, Arial, sans-serif);
    margin: 0 0 .7rem;
    overflow-wrap: anywhere;
}
body.loveu-site .loveu-strength__subtitle {
    font: 400 clamp(.82rem, 1.05vw, .94rem)/1.8 var(--loveu-font, Arial, sans-serif);
    color: var(--loveu-muted, #8a8e96);
    margin: 0;
    overflow-wrap: anywhere;
}
body.loveu-site .loveu-strength__grid > [class*="col-"] { min-width: 0; }
body.loveu-site .loveu-strength__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
    min-height: 17.5rem;
    padding: clamp(1.3rem, 2vw, 2rem);
    border-radius: .4rem;
    background: #fff;
    box-shadow: 0 .15rem 1rem rgba(17, 38, 73, .025);
    transition: box-shadow .22s ease, transform .22s ease;
}
body.loveu-site .loveu-strength__icon {
    width: 3.55rem;
    height: 3.55rem;
    border: 1px solid #c8d0db;
    border-radius: .2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: .55rem;
    margin: 0 0 1.4rem;
}
body.loveu-site .loveu-strength__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
body.loveu-site .loveu-strength__card-title {
    color: #252a35;
    font: 600 clamp(.98rem, 1.15vw, 1.13rem)/1.5 var(--loveu-font, Arial, sans-serif);
    margin: 0 0 .85rem;
    overflow-wrap: anywhere;
}
body.loveu-site .loveu-strength__card-description {
    color: #68717d;
    font: 400 .85rem/1.77 var(--loveu-font, Arial, sans-serif);
    margin: 0 0 1.45rem;
    overflow-wrap: anywhere;
}
body.loveu-site .loveu-strength__link {
    display: inline-flex;
    gap: .6rem;
    align-items: center;
    margin-top: auto;
    padding: .35rem 0;
    color: var(--loveu-navy, #10336d);
    font: 600 .8rem/1.5 var(--loveu-font, Arial, sans-serif);
    text-decoration: none;
    transition: gap .2s ease, color .2s ease;
}
body.loveu-site .loveu-strength__link:hover,
body.loveu-site .loveu-strength__link:focus-visible {
    color: #22589a;
    gap: 1rem;
}
body.loveu-site .loveu-strength__link:focus-visible { outline: 2px solid #12346c; outline-offset: 4px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    body.loveu-site .loveu-strength__card:hover {
        box-shadow: 0 .7rem 1.75rem rgba(17, 38, 73, .09);
        transform: translateY(-4px);
    }
}
@media (max-width: 991.98px) {
    body.loveu-site .loveu-strength { padding-top: 2rem; }
    body.loveu-site .loveu-strength__card { min-height: 16rem; }
}
@media (max-width: 575.98px) {
    body.loveu-site .loveu-strength {
        padding-top: 1.8rem;
        padding-bottom: 3rem;
    }
    body.loveu-site .loveu-strength__heading { margin-bottom: 1.55rem; }
    body.loveu-site .loveu-strength__card {
        min-height: 0;
        padding: 1.5rem;
    }
    body.loveu-site .loveu-strength__icon { margin-bottom: 1.1rem; }
}
@media (prefers-reduced-motion: reduce) {
    body.loveu-site .loveu-strength__card,
    body.loveu-site .loveu-strength__link { transition: none; }
}
@media (prefers-reduced-motion: no-preference) {
    body.loveu-site .loveu-strength.is-visible .loveu-strength__card {
        animation: loveu-strength-rise .45s ease-out both;
    }
    @keyframes loveu-strength-rise {
        from { opacity: .87; transform: translateY(.5rem); }
        to { opacity: 1; transform: translateY(0); }
    }
}
