/* Company page — isolated overrides for legacy component classes. */
.company-overview,
.mission-vision-values,
.company-stats,
.services-overview,
.leadership-team,
.company-culture,
.company-contact { position: relative; padding: clamp(4.5rem,7vw,7rem) 0; }

.company-overview,
.company-stats,
.leadership-team,
.company-contact { background: #f5f2eb !important; }
.mission-vision-values,
.services-overview { background: #ebe7de !important; }

.company-overview .overview-content { display: grid !important; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr) !important; gap: clamp(2rem,6vw,5rem) !important; align-items: center !important; }
.company-overview .overview-text { min-width: 0; }
.company-overview .section-title { margin: 0 0 1.25rem !important; color: #111820 !important; -webkit-text-fill-color: #111820 !important; }
.company-overview .overview-description { margin: 0 0 1.15rem !important; color: #59636e !important; -webkit-text-fill-color: #59636e !important; opacity: 1 !important; }
.company-overview .overview-mascot { display: grid !important; min-height: 340px; place-items: center; border: 1px solid rgba(17,24,32,.12); border-radius: 24px; background: radial-gradient(circle,rgba(215,25,32,.12),transparent 58%),#fff !important; }
.company-overview .overview-mascot img { width: min(230px,75%); height: auto; }
.story-principle { align-items: baseline; color: #59636e !important; }

.mvv-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 1.25rem !important; margin-top: 0 !important; align-items: stretch; }
.mvv-card { display: flex; min-width: 0; min-height: 330px; flex-direction: column; align-items: flex-start; padding: 2rem !important; text-align: left !important; border: 1px solid rgba(17,24,32,.12) !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 14px 38px rgba(17,24,32,.06) !important; opacity: 1 !important; }
.mvv-card .mvv-icon { display: grid; width: 56px; height: 56px; margin: 0 0 1.5rem !important; place-items: center; border-radius: 14px !important; color: #d71920 !important; background: rgba(215,25,32,.08) !important; box-shadow: none !important; }
.mvv-card .mvv-title { margin: 0 0 .8rem !important; color: #111820 !important; -webkit-text-fill-color: #111820 !important; }
.mvv-card .mvv-description { margin: 0 !important; color: #59636e !important; -webkit-text-fill-color: #59636e !important; line-height: 1.75; opacity: 1 !important; }

.company-stats .stats-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 1rem !important; width: 100% !important; }
.company-stats .section-title,
.services-overview .section-title,
.leadership-team .section-title,
.company-contact .section-title { color: #111820 !important; -webkit-text-fill-color: #111820 !important; }
.company-stats .section-description,
.services-overview .section-description,
.leadership-team .section-description,
.company-contact .section-description { color: #59636e !important; }
.company-stats .stat-item { display: flex !important; min-width: 0; min-height: 160px; flex-direction: column; align-items: center; justify-content: center; margin: 0 !important; padding: 1.5rem !important; border: 1px solid rgba(17,24,32,.12) !important; border-radius: 16px !important; background: #fff !important; box-shadow: none !important; opacity: 1 !important; transform: none !important; }
.company-stats .stat-number { margin: 0 0 .45rem !important; color: #d71920 !important; -webkit-text-fill-color: #d71920 !important; font-size: clamp(2rem,4vw,3.25rem) !important; line-height: 1 !important; }
.company-stats .stat-label { color: #59636e !important; -webkit-text-fill-color: #59636e !important; font-size: .82rem !important; font-weight: 750; letter-spacing: .08em; text-align: center; text-transform: uppercase; opacity: 1 !important; }

.services-overview .services-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 1rem !important; align-items: stretch; }
.services-overview .service-item { display: flex; min-width: 0; min-height: 270px; flex-direction: column; align-items: flex-start; padding: 1.65rem !important; border: 1px solid rgba(17,24,32,.12) !important; border-radius: 18px !important; background: #fff !important; box-shadow: none !important; opacity: 1 !important; transform: none !important; }
.services-overview .service-icon { display: grid; width: 50px; height: 50px; margin: 0 0 1.35rem !important; place-items: center; border-radius: 13px; color: #d71920 !important; background: rgba(215,25,32,.08) !important; }
.services-overview .service-title { margin: 0 0 .75rem !important; color: #111820 !important; -webkit-text-fill-color: #111820 !important; }
.services-overview .service-description { margin: 0 !important; color: #59636e !important; -webkit-text-fill-color: #59636e !important; line-height: 1.7; opacity: 1 !important; }

.leadership-team .team-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 1.25rem !important; align-items: stretch; }
.leadership-team .team-member { display: flex; min-width: 0; min-height: 390px; flex-direction: column; align-items: center; margin: 0 !important; padding: 2rem !important; border: 1px solid rgba(17,24,32,.12) !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 14px 38px rgba(17,24,32,.06) !important; text-align: center; opacity: 1 !important; transform: none !important; }
.leadership-team .member-avatar { display: grid; width: 124px; height: 124px; margin-bottom: 1.4rem; place-items: center; border-radius: 50%; background: #f4e8e6; }
.leadership-team .member-image { width: 90px; height: 90px; object-fit: contain; }
.leadership-team .member-name { margin: 0 0 .3rem !important; color: #111820 !important; -webkit-text-fill-color: #111820 !important; }
.leadership-team .member-position { margin: 0 0 1rem !important; color: #b41118 !important; -webkit-text-fill-color: #b41118 !important; font-weight: 700; }
.leadership-team .member-description { margin: 0 !important; color: #59636e !important; -webkit-text-fill-color: #59636e !important; line-height: 1.7; opacity: 1 !important; }

.company-culture { background: #ebe7de !important; }
.company-culture .culture-content { display: grid !important; grid-template-columns: minmax(0,1fr) 280px !important; align-items: center !important; }
.company-culture .culture-features { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.company-culture .culture-feature { display: flex !important; align-items: center; opacity: 1 !important; }

.company-contact .contact-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 1rem !important; }
.company-contact .contact-item { display: flex !important; min-width: 0; min-height: 130px; align-items: center; gap: 1rem; margin: 0 !important; padding: 1.5rem !important; border: 1px solid rgba(17,24,32,.12) !important; border-radius: 16px !important; background: #fff !important; box-shadow: none !important; opacity: 1 !important; transform: none !important; }
.company-contact .contact-icon { display: grid; flex: 0 0 48px; width: 48px; height: 48px; place-items: center; border-radius: 13px; color: #fff !important; background: #d71920 !important; }
.company-contact .contact-details h4 { margin: 0 0 .3rem !important; color: #111820 !important; -webkit-text-fill-color: #111820 !important; }
.company-contact .contact-details p { margin: 0 !important; color: #59636e !important; -webkit-text-fill-color: #59636e !important; opacity: 1 !important; }

@media (max-width: 900px) {
    .company-overview .overview-content { grid-template-columns: 1fr !important; }
    .company-overview .overview-mascot { display: none !important; }
    .mvv-grid,
    .company-stats .stats-grid,
    .services-overview .services-grid,
    .leadership-team .team-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .company-culture .culture-content { grid-template-columns: 1fr !important; }
    .company-culture .culture-mascot { display: none !important; }
    .company-contact .contact-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 560px) {
    .mvv-grid,
    .company-stats .stats-grid,
    .services-overview .services-grid,
    .leadership-team .team-grid { grid-template-columns: 1fr !important; }
    .company-culture .culture-features { grid-template-columns: 1fr !important; }
    .mvv-card,.services-overview .service-item,.leadership-team .team-member { min-height: 0; }
}
