/* Springsan About V1 | original about.php layout, refreshed visual system.
   Page-specific selectors only; shared header/footer CSS remains untouched.
   Do not include legacy page.css (global body padding-top:6rem).
*/
.spr-site.spr-about-page {
    --spr-about-blue:var(--spr-primary,#45a4e0);
    --spr-about-ink:#17191b;
    --spr-about-muted:#697079;
    background:#fff;
    color:var(--spr-about-ink);
}
.spr-about-page #spr-main-content { min-width:0; }
.spr-about-page .spr-about__banner { width:100%; background:#e9eced; overflow:hidden; }
.spr-about-page .spr-about__banner img { display:block; width:100%; height:auto; max-height:420px; object-fit:cover; object-position:center; }
.spr-about-page .spr-about__page { background:#fff; }
.spr-about-page .spr-about__breadcrumb {
    display:flex; align-items:center; flex-wrap:wrap; gap:.7rem;
    padding:clamp(1rem,2.2vw,1.6rem) 0; margin:0;
    color:#8e9297; font-size:.83rem; line-height:1.6;
}
.spr-about-page .spr-about__breadcrumb a { color:#636b72; text-decoration:none; }
.spr-about-page .spr-about__breadcrumb a:hover { color:var(--spr-about-blue); }
.spr-about-page .spr-about__intro { text-align:center; padding:clamp(2rem,4vw,3.9rem) 0 clamp(2.5rem,4vw,4.3rem); }
.spr-about-page .spr-about__section-heading {
    position:relative; margin:0 auto clamp(1.45rem,2.2vw,2.3rem);
    padding:0 0 1.05rem; color:var(--spr-about-ink); text-align:center;
    font:600 clamp(1.75rem,2.65vw,2.65rem)/1.25 var(--spr-font-sans,'Poppins',Arial,sans-serif);
    letter-spacing:-.024em;
}
.spr-about-page .spr-about__section-heading:after { content:""; position:absolute; height:3px; width:65px; bottom:0; left:50%; transform:translateX(-50%); background:var(--spr-about-blue); }
.spr-about-page .spr-about__richtext { overflow-wrap:anywhere; }
.spr-about-page .spr-about__richtext :is(p,div,ul,ol) { max-width:100%; }
.spr-about-page .spr-about__richtext img { max-width:100%; height:auto; }
.spr-about-page .spr-about__richtext :is(ul,ol) { padding-inline-start:1.4rem; margin-bottom:1.2rem; }
.spr-about-page .spr-about__richtext li { margin-bottom:.4rem; }
.spr-about-page .spr-about__richtext a { color:var(--spr-about-blue); }
.spr-about-page .spr-about__intro-text {
    max-width:880px; margin:0 auto; font-size:clamp(1.08rem,1.45vw,1.45rem);
    line-height:1.6; font-weight:500; color:#30343a;
}
.spr-about-page .spr-about__intro-text :is(p,h2,h3) { font:inherit; margin:0; }
.spr-about-page .spr-about__intro-text p + p { margin-top:.75rem; }
.spr-about-page .spr-about__company { padding:clamp(2rem,5vw,4.7rem) 0; background:#f5f8fa; }
.spr-about-page .spr-about__company-heading {
    margin:0 0 1.35rem; color:var(--spr-about-ink);
    font:600 clamp(1.7rem,2.65vw,2.7rem)/1.2 var(--spr-font-sans,'Poppins',Arial,sans-serif);
}
.spr-about-page .spr-about__company-text { color:#4b5159; font-size:.97rem; line-height:1.9; }
.spr-about-page .spr-about__company-text p { margin:0 0 1rem; }
.spr-about-page .spr-about__company-image { width:100%; overflow:hidden; background:#e5e8ea; }
.spr-about-page .spr-about__company-image img { display:block; max-width:100%; width:100%; height:auto; object-fit:cover; }
.spr-about-page .spr-about__quality { padding:clamp(3.5rem,6vw,6rem) 0 clamp(4rem,6vw,6rem); background:#fff; }
.spr-about-page .spr-about__quality-text {
    max-width:920px; margin:0 auto 2.6rem; text-align:center; font-size:.97rem;
    color:#596068; line-height:1.85;
}
.spr-about-page .spr-about__quality-text p { margin:0 0 1rem; }
.spr-about-page .spr-about__gallery { overflow:hidden; position:relative; padding-bottom:2.3rem; }
.spr-about-page .spr-about__gallery .swiper-slide { overflow:hidden; height:auto; background:#f3f5f6; border:1px solid #e2e5e8; border-radius:0; }
.spr-about-page .spr-about__gallery .swiper-slide img { display:block; width:100%; height:auto; aspect-ratio:1.25; object-fit:cover; }
.spr-about-page .spr-about__gallery .swiper-pagination { bottom:.2rem; left:0; width:100%; }
.spr-about-page .spr-about__gallery .swiper-pagination-bullet { background:#a7b4be; width:7px; height:7px; opacity:.65; }
.spr-about-page .spr-about__gallery .swiper-pagination-bullet-active { opacity:1; background:var(--spr-about-blue); }
@media (max-width:991.98px) {
    .spr-about-page .spr-about__company { padding:2.5rem 0; }
    .spr-about-page .spr-about__company-text { line-height:1.8; }
}
@media (max-width:575.98px) {
    .spr-about-page .spr-about__banner img { max-height:190px; }
    .spr-about-page .spr-about__breadcrumb { padding:.9rem 0; font-size:.75rem; }
    .spr-about-page .spr-about__intro { padding:1.65rem 0 2.75rem; }
    .spr-about-page .spr-about__intro-text { font-size:1.05rem; }
    .spr-about-page .spr-about__company { padding:2.25rem 0; }
    .spr-about-page .spr-about__company-text { font-size:.9rem; }
    .spr-about-page .spr-about__quality-text { font-size:.9rem; margin-bottom:1.75rem; }
    .spr-about-page .spr-about__gallery { padding-bottom:2rem; }
}
@media (prefers-reduced-motion:reduce) { .spr-about-page * { scroll-behavior:auto; } }
