/**
 * LoveU About V1.1 — independent About-page styling.
 * Preserves the existing Bootstrap columns, CMS content and Swiper gallery.
 * Does not modify Header, Footer, toolbar or shared Modal.
 */
body.loveu-about-page {
    --loveu-about-navy: var(--loveu-navy, #12346c);
    --loveu-about-ink: #283243;
    --loveu-about-muted: #647187;
    --loveu-about-soft: #f2f5fa;
    --loveu-about-rule: #e2e9f3;
    color: var(--loveu-about-ink);
    background: #fff;
}
body.loveu-about-page .loveu-about-main { min-width: 0; }
body.loveu-about-page .page-banner {
    position: relative; width: 100%; max-height: clamp(150px, 18vw, 260px);
    overflow: hidden; background: #eff3f8;
}
body.loveu-about-page .page-banner img {
    display: block; width: 100%; max-height: clamp(150px, 18vw, 260px);
    height: auto; object-fit: cover;
}
body.loveu-about-page .page-about-section {
    padding-top: clamp(1.25rem, 2vw, 2rem) !important;
    padding-bottom: clamp(3rem, 5vw, 5.5rem) !important;
}
body.loveu-about-page .bread-path {
    display: flex; align-items: center; flex-wrap: wrap; gap: .25rem;
    margin: 0 !important; padding: 0 0 clamp(1.6rem, 2.5vw, 2.25rem);
    color: #8894a5; font-size: .875rem; line-height: 1.7;
}
body.loveu-about-page .bread-path .breadcrumbs {
    display: inline-flex; flex-wrap: wrap; align-items: center; gap: .6rem; min-width: 0;
}
body.loveu-about-page .bread-path :is(a,span) { font-size: inherit; }
body.loveu-about-page .bread-path a { color: #6b788a; text-decoration: none; }
body.loveu-about-page .bread-path a:hover { color: var(--loveu-about-navy); }
body.loveu-about-page .bread-path .iconfont { font-size: .8rem; color: #9aa7b7; }
body.loveu-about-page .bread-path > .iconfont { color: var(--loveu-about-navy); }

/* Original centered page heading and introduction. */
body.loveu-about-page .sec-title {
    margin: 0 auto; padding: 0 0 .9rem;
    text-align: center; position: relative;
    font-size: clamp(1.8rem, 3vw, 2.65rem);
    line-height: 1.25; font-weight: 600; color: var(--loveu-about-navy);
}
body.loveu-about-page .sec-title::after {
    content: ""; display: block; width: 3.5rem; height: 3px;
    background: var(--loveu-about-navy);
    margin: 1.05rem auto 0; border: 0; border-radius: 5px;
}
body.loveu-about-page .ab-text-section .sec-title {
    margin-bottom: .85rem !important; padding-bottom: .45rem;
}
body.loveu-about-page .ab-text-section h2 {
    margin: 0 auto; max-width: 55rem;
    font-size: clamp(1.12rem, 1.6vw, 1.45rem);
    font-weight: 500; line-height: 1.62; color: #38485d; text-align: center;
}
body.loveu-about-page .ab-text-section h2 :is(p,div) {
    margin: 0 0 .6rem; font: inherit; line-height: inherit;
}
body.loveu-about-page .ab-text-section h2 :last-child { margin-bottom: 0; }

/* Same original offset-sm-1 / col-sm-5 / col-sm-5 grid; larger image and shorter visible copy. */
body.loveu-about-page .ab-tech-content2 {
    margin-top: 2.2rem !important;
    padding: clamp(1.35rem, 3.25vw, 3rem) !important;
    background: linear-gradient(112deg, #f1f5fa 0%, #f7f9fd 48%, #eef4fb 100%);
    border-radius: 1rem;
    box-shadow: 0 15px 42px rgba(20, 52, 108, .05);
    font-size: 1rem; line-height: 1.85; min-width: 0;
}
body.loveu-about-page .ab-tech-content2 .row {
    row-gap: 1.2rem; align-items: center !important;
}
body.loveu-about-page .ab-tech-content2 h2 {
    margin-top: 0; margin-bottom: 1.15rem !important;
    font-size: clamp(1.7rem, 2.25vw, 2.25rem);
    font-weight: 600; line-height: 1.28; color: var(--loveu-about-navy);
}
body.loveu-about-page .ab-tech-content2 .cp-info {
    color: #485b74;
    font-size: clamp(.875rem, 1.02vw, 1rem);
    line-height: 1.87;
    padding-right: clamp(.25rem, 1.5vw, 1.2rem) !important;
    overflow-wrap: anywhere; position: relative;
}
body.loveu-about-page .ab-tech-content2 .cp-info p { margin: 0 0 .9rem; line-height: inherit; }
body.loveu-about-page .ab-tech-content2 .cp-info p:last-child { margin-bottom: 0; }
body.loveu-about-page .ab-tech-content2 .cp-info.is-collapsed {
    max-height: 20.3rem; overflow: hidden;
}
body.loveu-about-page .ab-tech-content2 .cp-info.is-collapsed::after {
    position: absolute; content: ''; left: 0; right: 0; bottom: 0;
    height: 4rem; pointer-events: none;
    background: linear-gradient(to bottom, rgba(243,247,252,0), #f4f7fb 88%);
}
body.loveu-about-page .loveu-about-readmore {
    display: inline-flex; align-items: center; justify-content: center; gap: .75rem;
    min-height: 2.75rem; padding: .62rem 1.25rem; margin-top: 1rem;
    color: #fff; background: var(--loveu-about-navy);
    border: 1px solid var(--loveu-about-navy); border-radius: 2rem;
    font-size: .9rem; font-weight: 600; cursor: pointer;
    transition: background .18s, box-shadow .18s;
}
body.loveu-about-page .loveu-about-readmore[hidden] { display: none !important; }
body.loveu-about-page .loveu-about-readmore:hover,
body.loveu-about-page .loveu-about-readmore:focus-visible {
    background: #24528a; border-color: #24528a; color: #fff;
    box-shadow: 0 6px 18px rgba(19,52,108,.16);
}
body.loveu-about-page .loveu-about-readmore__arrow {
    width: .5rem; height: .5rem;
    border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .18s;
}
body.loveu-about-page .loveu-about-readmore[aria-expanded="true"] .loveu-about-readmore__arrow {
    transform: rotate(225deg) translateY(-2px);
}
body.loveu-about-page .ab-tech-content2 .col-sm-5:last-child {
    align-self: stretch; display: flex; align-items: stretch;
}
body.loveu-about-page .ab-tech-content2 .col-sm-5:last-child img {
    display: block; width: 100%; max-width: 100%; height: 100%;
    min-height: 25.5rem; max-height: 33rem;
    object-fit: cover; object-position: center;
    border-radius: .85rem;
    box-shadow: 0 15px 38px rgba(15,46,92,.14);
}

/* Quality text + original Swiper gallery. Compact light blue-gray panel, no heavy outline. */
body.loveu-about-page .loveu-about-quality {
    background: linear-gradient(120deg, #edf3fa, #f5f8fc 55%, #eaf1fb);
    border-radius: 1rem;
    margin-top: clamp(2rem, 3vw, 3.5rem) !important;
    padding: clamp(1.6rem, 2.7vw, 2.65rem) clamp(1.1rem, 3vw, 3.5rem)
             clamp(1.55rem, 2.8vw, 2.6rem);
    box-shadow: 0 12px 35px rgba(17,56,110,.045);
}
body.loveu-about-page .loveu-about-quality .sec-title {
    margin-bottom: 1.4rem !important; padding-bottom: .2rem;
    font-size: clamp(1.75rem, 2.45vw, 2.3rem);
}
body.loveu-about-page .loveu-about-quality .sec-title::after { margin-top: .8rem; }
body.loveu-about-page .loveu-about-quality .qu-info {
    max-width: 54rem; margin: 0 auto !important; text-align: center;
    color: #4e637e; font-size: .96rem; line-height: 1.85; overflow-wrap: anywhere;
}
body.loveu-about-page .loveu-about-quality.has-gallery .qu-info {
    margin-bottom: 1.8rem !important;
}
body.loveu-about-page .loveu-about-quality .qu-info p { margin: 0 0 1rem; }
body.loveu-about-page .loveu-about-quality .qu-info :last-child { margin-bottom: 0; }
body.loveu-about-page .ab-culture-swiper {
    position: relative; width: 100%; overflow: hidden; padding-bottom: 2.2rem;
}
body.loveu-about-page .ab-culture-swiper .swiper-wrapper { align-items: stretch; }
body.loveu-about-page .ab-culture-swiper .swiper-slide {
    overflow: hidden; height: auto; border: 0;
    background: #e9edf3; border-radius: .7rem;
    box-shadow: 0 5px 15px rgba(17,51,101,.075);
}
body.loveu-about-page .ab-culture-swiper .swiper-slide img {
    display: block; width: 100%; height: 100%; aspect-ratio: 6/5; object-fit: cover;
}
body.loveu-about-page .ab-culture-swiper .swiper-pagination { bottom: 0; left: 0; right: 0; }
body.loveu-about-page .ab-culture-swiper .swiper-pagination-bullet {
    width: 7px; height: 7px; background: #a4b6cc; opacity: 1;
}
body.loveu-about-page .ab-culture-swiper .swiper-pagination-bullet-active {
    background: var(--loveu-about-navy);
}
@media (min-width: 576px) and (max-width: 991.98px) {
    body.loveu-about-page .ab-tech-content2 .cp-info.is-collapsed { max-height: 17rem; }
    body.loveu-about-page .ab-tech-content2 .col-sm-5:last-child img {
        min-height: 23rem; max-height: 31rem;
    }
}
@media (max-width: 575.98px) {
    body.loveu-about-page .ab-text-section h2 { font-size: 1.08rem; }
    body.loveu-about-page .ab-tech-content2 {
        padding: 1.2rem !important; margin-top: 1.6rem !important;
        border-radius: .8rem;
    }
    body.loveu-about-page .ab-tech-content2 .cp-info.is-collapsed { max-height: 17rem; }
    body.loveu-about-page .ab-tech-content2 .col-sm-5:last-child { margin-top: 1.6rem !important; }
    body.loveu-about-page .ab-tech-content2 .col-sm-5:last-child img {
        min-height: 15rem; max-height: 23rem; width: 100%; object-fit: cover;
    }
    body.loveu-about-page .loveu-about-quality {
        border-radius: .8rem; margin-top: 1.8rem !important;
        padding: 1.45rem 1.1rem 1.65rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.loveu-about-page .loveu-about-readmore,
    body.loveu-about-page .loveu-about-readmore__arrow { transition: none; }
}
