/* Non-hero image sizing audit, October 2026. Scoped to content cards only. */
:root{--dsv-card-gap:clamp(12px,2vw,22px)}
.products-row,.course-feature-grid,.tech-grid,.evidence-grid{gap:var(--dsv-card-gap)}
.product-card .media{aspect-ratio:4/3;background:linear-gradient(145deg,#fffdf7,#f5efff)}
.product-card .media img{width:100%;height:100%;object-fit:contain;padding:clamp(8px,1.5vw,16px);box-sizing:border-box}
.product-card .body{padding:clamp(12px,1.7vw,19px)}
.product-card h3{line-height:1.2}
.product-card p{line-height:1.45}
.course-feature>img,.service-card .card-media img,.research-visual-card>img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;object-position:center;background:linear-gradient(145deg,#fff9ed,#f2ebff)}
.course-feature>img{aspect-ratio:16/10;object-fit:contain;padding:10px;box-sizing:border-box}
.service-card .card-media{overflow:hidden;border-radius:14px}
.service-card .card-media img{max-height:300px}
.person-panel>img,.story-image img{display:block;width:100%;height:auto;max-height:380px;object-fit:contain;object-position:center}
.welcome-photo{max-height:300px;object-fit:contain}
.tech-original-image img{max-height:390px;object-fit:contain}
@media(max-width:650px){.products-row,.course-feature-grid,.tech-grid{gap:12px}.product-card .body{padding:12px}.course-feature>img,.service-card .card-media img{max-height:250px}.person-panel>img,.story-image img{max-height:300px}.tech-original-image img{max-height:260px}}

/* Floating sticky navigation shared by all primary pages */
.site-header{position:sticky!important;top:0!important;z-index:1000!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:9px clamp(8px,2vw,24px) 0!important;backdrop-filter:none!important}
.site-header>.wrap,.site-header>.container{width:min(100%,1320px)!important;max-width:1320px!important;margin-inline:auto!important;background:rgba(255,253,248,.96)!important;border:1px solid rgba(230,204,169,.7)!important;border-radius:22px!important;box-shadow:0 9px 28px rgba(28,42,73,.12)!important;backdrop-filter:blur(16px)!important;padding-inline:clamp(10px,2vw,20px)!important}
.site-header .mobile-nav{border-radius:0 0 18px 18px}
@media(max-width:650px){.site-header{padding:7px 9px 0!important}.site-header>.wrap,.site-header>.container{border-radius:18px!important;padding-inline:10px!important}.site-header .nav{min-height:60px!important}.site-header .mobile-nav.open{max-height:min(65vh,520px);overflow-y:auto}}
