/* LOVEU 06 | Customized Services. Scoped to this section only.
   The CMS background has its blue translucent overlay already applied:
   DO NOT add ::before darkness overlays or opacity to that image. */
body.loveu-site .loveu-custom {
    background-color: var(--loveu-navy-dark, #0a2857);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: clamp(3.5rem, 5vw, 5.5rem) 0 clamp(3.3rem, 5.4vw, 5.8rem);
    color: #fff;
    overflow: hidden;
}
body.loveu-site .loveu-custom__heading {
    text-align: center;
    max-width: 61rem;
    margin: 0 auto clamp(2.1rem, 3.3vw, 3.7rem);
}
body.loveu-site .loveu-custom__title {
    margin: 0 0 .65rem;
    color: #fff;
    font: 600 clamp(1.75rem, 2.6vw, 2.75rem)/1.25 var(--loveu-font, Arial, sans-serif);
    overflow-wrap: anywhere;
}
body.loveu-site .loveu-custom__subtitle {
    margin: 0;
    color: rgba(255,255,255,.86);
    font: 400 clamp(.85rem, 1.03vw, 1rem)/1.75 var(--loveu-font, Arial, sans-serif);
    overflow-wrap: anywhere;
}
body.loveu-site .loveu-custom__body > [class*="col-"] { min-width: 0; }
body.loveu-site .loveu-custom__visual {
    width: 100%;
    max-width: 36rem;
    min-height: 22rem;
    margin: 0 auto;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
body.loveu-site .loveu-custom__visual img {
    display: block;
    width: 100%;
    height: auto;
    max-height: clamp(22rem, 35vw, 37rem);
    object-fit: contain;
    object-position: center bottom;
}
body.loveu-site .loveu-custom__grid > [class*="col-"] { min-width: 0; }
body.loveu-site .loveu-custom__card {
    background: #fff;
    color: var(--loveu-text, #222832);
    border-radius: .45rem;
    padding: clamp(1.25rem, 1.75vw, 2rem);
    min-height: 15rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 .2rem 1.2rem rgba(2,15,42,.07);
    transition: transform .22s ease, box-shadow .22s ease;
}
body.loveu-site .loveu-custom__card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin: 0 0 1.3rem;
}
body.loveu-site .loveu-custom__icon {
    display: inline-flex;
    flex: 0 0 2.65rem;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    background: var(--loveu-navy, #10336d);
    border-radius: 50%;
    padding: .55rem;
}
body.loveu-site .loveu-custom__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    filter: brightness(0) invert(1);
}
body.loveu-site .loveu-custom__number {
    color: #313744;
    font: 600 .86rem/1.7 var(--loveu-font, Arial, sans-serif);
    white-space: nowrap;
}
body.loveu-site .loveu-custom__card-title {
    margin: 0 0 .7rem;
    color: #1e2530;
    font: 600 clamp(.98rem, 1.06vw, 1.15rem)/1.45 var(--loveu-font, Arial, sans-serif);
    overflow-wrap: anywhere;
}
body.loveu-site .loveu-custom__card-text {
    margin: 0;
    color: #636c79;
    font: 400 .85rem/1.75 var(--loveu-font, Arial, sans-serif);
    overflow-wrap: anywhere;
}
@media (hover:hover) {
    body.loveu-site .loveu-custom__card:hover {
        box-shadow: 0 .5rem 1.6rem rgba(0,14,50,.15);
        transform: translateY(-3px);
    }
}
/* Below lg, prioritise a wide transparent product visual and readable cards. */
@media (max-width: 991.98px) {
    body.loveu-site .loveu-custom__heading { margin-bottom: 2.4rem; }
    body.loveu-site .loveu-custom__visual { max-width: 27rem; min-height: 0; }
    body.loveu-site .loveu-custom__visual img { max-height: 27rem; }
    body.loveu-site .loveu-custom__card { min-height: 14rem; }
}
@media (max-width: 575.98px) {
    body.loveu-site .loveu-custom { padding: 3.1rem 0 3.5rem; }
    body.loveu-site .loveu-custom__heading { margin-bottom: 1.8rem; }
    body.loveu-site .loveu-custom__visual { max-width: 19rem; }
    body.loveu-site .loveu-custom__visual img { max-height: 21rem; }
    body.loveu-site .loveu-custom__card { padding: 1.4rem; min-height: 0; }
    body.loveu-site .loveu-custom__card-top { margin-bottom: .85rem; }
}
/* Optional progressive enhancement: never hides cards without JavaScript. */
@media (prefers-reduced-motion: no-preference) {
    body.loveu-site .loveu-custom.is-visible .loveu-custom__card {
        animation: loveu-custom-fade-in .38s ease-out both;
    }
    @keyframes loveu-custom-fade-in {
        from { opacity: .82; transform: translateY(9px); }
        to { opacity: 1; transform: translateY(0); }
    }
}
@media (prefers-reduced-motion: reduce) {
    body.loveu-site .loveu-custom__card { transition: none; }
}
