/* Springsan Home Section 09 V1 — Global Cooperation.
   CSS isolated to .spr-site .spr-global-cooperation; no changes to existing
   header, footer, common_base or completed homepage sections.
   Uses original Bootstrap 5 .container + row + 6/6 grid columns. */
.spr-site .spr-global-cooperation {
    --spr09-blue: var(--spr-primary, #489fdf);
    --spr09-ink: #181818;
    --spr09-font: var(--spr-font, Arial, sans-serif);
    background: #fff;
    color: var(--spr09-ink);
    padding: clamp(3.75rem, 5.2vw, 6.25rem) 0 clamp(4rem, 5.4vw, 6.25rem);
}
.spr-site .spr-global-cooperation__head {
    text-align: center;
    margin: 0 auto clamp(2.7rem, 3.8vw, 4.4rem);
    max-width: 58rem;
}
.spr-site .spr-global-cooperation__title {
    margin: 0 0 .95rem;
    font: 650 clamp(1.85rem, 2.15vw, 2.55rem)/1.3 var(--spr09-font);
    letter-spacing: -.02em;
    color: #151515;
    text-align: center;
    overflow-wrap: anywhere;
}
.spr-site .spr-global-cooperation__title span { color: var(--spr09-blue); }
.spr-site .spr-global-cooperation__subtitle {
    margin: 0;
    color: #808080;
    font: 400 clamp(.93rem, 1vw, 1.12rem)/1.6 var(--spr09-font);
    text-align: center;
}
.spr-site .spr-global-cooperation__layout { min-width:0; }
.spr-site .spr-global-cooperation__copy-column,
.spr-site .spr-global-cooperation__image-column { min-width:0; }
.spr-site .spr-global-cooperation__copy {
    margin: 0;
    color: #383838;
    font: 400 clamp(.93rem, 1.02vw, 1.075rem)/1.84 var(--spr09-font);
    overflow-wrap: anywhere;
}
.spr-site .spr-global-cooperation__copy p { margin: 0 0 1.75rem; }
.spr-site .spr-global-cooperation__copy > :last-child { margin-bottom: 0; }
.spr-site .spr-global-cooperation__copy :is(ul, ol) { padding-left: 1.35rem; margin: 1rem 0 1.5rem; }
.spr-site .spr-global-cooperation__copy li { margin-bottom:.3rem; }
.spr-site .spr-global-cooperation__copy img { max-width:100%; height:auto; }
.spr-site .spr-global-cooperation__copy a { color:var(--spr09-blue); text-underline-offset: 3px; }
.spr-site .spr-global-cooperation__customers { margin-top: clamp(2rem, 2.4vw, 2.8rem); }
.spr-site .spr-global-cooperation__customers-title {
    display:flex;
    gap:.82rem;
    align-items:center;
    font: 650 clamp(1.16rem, 1.25vw, 1.48rem)/1.4 var(--spr09-font);
    margin: 0 0 1.1rem;
    color: #202020;
}
.spr-site .spr-global-cooperation__customers-icon {
    display:inline-flex;
    width: 1.12rem;
    height: 1.12rem;
    border: 2px solid #343434;
    border-radius: 50%;
    align-items:center;
    justify-content:center;
    flex: none;
}
.spr-site .spr-global-cooperation__customers-icon::before {
    content:"";
    display:block;
    width: .48rem;
    height: .48rem;
    background: #303030;
    border-radius:50%;
}
.spr-site .spr-global-cooperation__customer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr);
    column-gap: clamp(.75rem, 1.6vw, 1.8rem);
    row-gap: 1rem;
    padding: 0;
    margin: 0;
    list-style: none;
}
.spr-site .spr-global-cooperation__customer {
    display:flex;
    align-items:center;
    min-width:0;
    min-height:3.45rem;
    margin:0;
    padding:.8rem clamp(.95rem, 1.15vw, 1.35rem);
    border-radius: .56rem;
    background:#333;
    color:#fff;
    font:400 clamp(.79rem, .9vw, .975rem)/1.46 var(--spr09-font);
    overflow-wrap:anywhere;
    transition: background-color .22s ease;
}
@media(hover:hover) {
    .spr-site .spr-global-cooperation__customer:hover { background: #268ecd; }
}
.spr-site .spr-global-cooperation__image-frame {
    position:relative;
    width:100%;
    aspect-ratio: 4 / 3;
    background:#f1efed;
    border-radius:clamp(.9rem, 1.55vw, 1.75rem);
    overflow:hidden;
}
.spr-site .spr-global-cooperation__photo {
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.spr-site .spr-global-cooperation__image-empty {
    position:absolute;
    inset:0;
    display:none;
    justify-content:center;
    align-items:center;
    padding:1.5rem;
    color:#8b8985;
    text-align:center;
    font:500 .9rem/1.55 var(--spr09-font);
}
.spr-site .spr-global-cooperation__image-frame.is-missing .spr-global-cooperation__photo { display:none; }
.spr-site .spr-global-cooperation__image-frame.is-missing .spr-global-cooperation__image-empty { display:flex; }
@media(max-width:991.98px) {
    .spr-site .spr-global-cooperation { padding:3.9rem 0 4.25rem; }
    .spr-site .spr-global-cooperation__head { margin-bottom:2.6rem; }
    .spr-site .spr-global-cooperation__customer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .spr-site .spr-global-cooperation__image-frame { max-width: 48rem; margin-inline:auto; }
}
@media(max-width:575.98px) {
    .spr-site .spr-global-cooperation { padding:3.2rem 0 3.6rem; }
    .spr-site .spr-global-cooperation__head { margin-bottom:2.3rem; }
    .spr-site .spr-global-cooperation__title { font-size:clamp(1.66rem, 7.2vw, 2.08rem); }
    .spr-site .spr-global-cooperation__subtitle { font-size:.88rem; }
    .spr-site .spr-global-cooperation__copy { font-size:.92rem; line-height:1.75; }
    .spr-site .spr-global-cooperation__copy p { margin-bottom:1.2rem; }
    .spr-site .spr-global-cooperation__customers { margin-top:1.65rem; }
    .spr-site .spr-global-cooperation__customer-grid { grid-template-columns: minmax(0,1fr); row-gap:.65rem; }
    .spr-site .spr-global-cooperation__customer { min-height:2.9rem; }
    .spr-site .spr-global-cooperation__image-frame { border-radius:1rem; }
}
@media(prefers-reduced-motion:reduce) {
    .spr-site .spr-global-cooperation__customer { transition:none; }
}
