.oss-co-founder {
display: grid; grid-template-columns: 40fr 60fr; gap: 80px; align-items: center;
}
.oss-co-founder__photo img {
width: 100%; height: auto; display: block; border-radius: 16px;
}
.oss-co-sig {
margin-top: 40px; padding-top: 26px; border-top: 1px solid #E5E5E5; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
}
.oss-co-sig__name {
font-family: var(--oss-display); font-weight: 700; font-size: 20px; color: #0A0A0F; margin: 0;
}
.oss-co-sig__role {
font-size: 16px; color: #8B8B95; margin: 4px 0 0;
}
.oss-co-sig__li {
display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: #8B8B95; text-decoration: none; transition: color 0.2s ease;
}
.oss-co-sig__li svg {
width: 17px; height: 17px; display: block;
}
.oss-co-sig__li:hover {
color: var(--oss-cyan);
}
.oss-co-founder .oss-co-founder__h2 {
margin-bottom: 32px;
}
.oss-co-founder .oss-co-lead-in {
font-size: 24px; line-height: 1.5; font-weight: 600; color: #0A0A0F; margin-top: 0;
}
.oss-co-lead-in + .oss-svc-p {
margin-top: 34px;
}
.oss-co-lead {
max-width: 72ch; margin-top: 26px;
}
.oss-co-brands {
display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 56px; align-items: stretch;
}
.oss-co-brand {
background: #FFFFFF; border: 1px solid #E5E5E5; border-radius: 16px; padding: 36px; display: flex; flex-direction: column;
}
.oss-co-brand__logobox {
height: 90px; background: #F5F5F5; border-radius: 12px; padding: 16px 24px; display: flex; align-items: center; justify-content: flex-start;
}
.oss-co-brand__logobox img {
max-height: 58px; max-width: 200px; width: auto; height: auto; display: block;
}
.oss-co-brand__desc {
font-size: 18px; line-height: 1.6; font-weight: 600; color: #0A0A0F; margin: 24px 0 0;
}
.oss-co-brand__sub {
font-size: 16px; line-height: 1.6; color: #8B8B95; margin: 10px 0 0;
}
.oss-co-brand__link {
display: inline-flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 26px; font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--oss-cyan); text-decoration: none;
}
.oss-co-brand__link svg {
width: 14px; height: 14px; transition: transform 0.2s ease;
}
.oss-co-brand__link:hover svg {
transform: translateX(4px);
}
.oss-co-locs {
display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; margin-top: 56px;
}
.oss-co-loc__city {
font-family: var(--oss-display); font-weight: 700; font-size: 22px; color: #0A0A0F; margin: 0;
}
.oss-co-loc__addr {
font-size: 18px; line-height: 1.6; color: #4A4A55; margin: 12px 0 0;
}
.oss-co-loc__tel {
display: inline-block; margin-top: 10px; font-size: 18px; font-weight: 600; color: var(--oss-cyan); text-decoration: none;
}
.oss-co-loc__tel:hover {
text-decoration: underline;
}
@media (max-width: 1000px) {
.oss-co-sig {
flex-direction: column; align-items: flex-start; gap: 14px;
}
.oss-co-founder {
grid-template-columns: 1fr; gap: 44px;
}
.oss-co-brands {
grid-template-columns: 1fr;
}
.oss-co-locs {
grid-template-columns: 1fr; gap: 36px;
}
}

/* Re-asserted over Elementor's `.elementor img` reset — see build/split.py. */
.oss-co-founder__photo.oss-co-founder__photo img {
width: 100%;  height: auto;
}
.oss-co-brand__logobox.oss-co-brand__logobox img {
max-height: 58px;  max-width: 200px;  width: auto;  height: auto;
}
