/* Scoped visual repairs – retain existing menu, footer and enquiry JS. */
:root{--repair-navy:#0c2348;--repair-orange:#ff7926}
/* Keep images constrained to their own cards, never impose a universal aspect ratio. */
.demo-card,.faculty-card,.achievement-card,.testimonial-card,.review-card{min-width:0;box-sizing:border-box}
.demo-card .image,.demo-card .card-image{overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f4f7fc}
.demo-card .image img,.demo-card .card-image img{width:100%;height:100%!important;object-fit:contain!important;object-position:center!important}
.faculty-card .image{overflow:hidden;position:relative;aspect-ratio:4/3;min-height:0}
.faculty-card .image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center top!important}
.faculty-card .body,.demo-card .body,.demo-card .card-body{color:#15294d}
.faculty-card .body p,.faculty-card .body .desc,.faculty-card .body .description,.demo-card .card-body p,.demo-card .body p{color:#51627c!important}
.faculty-card .body h3,.demo-card h3{color:#10254a!important}
/* Fix pale text on white cards while preserving white text on navy sections. */
.achievement-card .label,.achievement-card .desc{color:#e5edff!important}
.achievement-card .num{color:#ff9653!important}
section:not(.bg-dark-section) .testimonial-card,section:not(.bg-dark-section) .review-card{color:#142b51}
section:not(.bg-dark-section) .testimonial-card p,section:not(.bg-dark-section) .review-card p{color:#435777!important}
/* Do not crop cards or faculty carousel horizontally on smaller screens. */
@media(max-width:767px){.demo-grid,.faculty-grid{min-width:0}.demo-card,.faculty-card{max-width:100%}.faculty-card .image{aspect-ratio:4/3}}
@media(max-width:480px){.demo-card .card-body,.demo-card .body,.faculty-card .body{padding:16px}}
