/* A1: product chrome only. Tenant logos/signatures are deliberately untouched. */
.vf-brand{display:flex;align-items:center;gap:12px;color:#172c43;text-decoration:none;max-width:100%;padding:0 2px 26px}
.vf-symbol{width:38px;height:44px;flex-shrink:0;overflow:visible}
.vf-brand-type{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
.vf-brand-type img{width:100%;height:auto;display:block}
.vf-brand-claim{font-size:9px;letter-spacing:.01em;white-space:nowrap;color:#172c43}
.sidebar .vf-piece-left path{fill:#fff}
.sidebar .vf-brand-claim{color:#fff}
.sidebar .vf-brand:focus-visible{outline-color:#b0eb32}
.vf-brand:focus-visible{outline:3px solid #172c43;outline-offset:5px;border-radius:4px}
.login-card .vf-brand{padding-bottom:32px;gap:20px;max-width:340px;margin:0 auto}
.login-card .vf-symbol{width:62px;height:72px}
.login-card .vf-brand-claim{font-size:12px}
.vf-media-hero{background:#172c43;color:#fff;border-radius:20px;padding:clamp(24px,4vw,60px);margin-bottom:24px}
.vf-media-hero>img{display:block;width:min(100%,640px);height:auto;margin-bottom:24px}
.vf-media-hero p{max-width:680px;color:#e3ecdf}
.vf-download{display:inline-block;background:#b0eb32;color:#172c43!important;padding:13px 20px;border-radius:10px;font-weight:700;text-decoration:none}
.vf-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.vf-media-card{border:1px solid #dce3e9;border-radius:14px;background:white;overflow:hidden;min-width:0}
.vf-media-card>img,.vf-media-card>video{width:100%;height:220px;object-fit:contain;display:block;background:#eef2ed;padding:15px;box-sizing:border-box}
.vf-media-card.vf-dark>img{background:#172c43}
.vf-media-card>div{padding:16px;overflow-wrap:anywhere}
.vf-media-card p{font-size:13px;color:#45576a}
.vf-media-card a{margin-right:14px}
.vf-media-section{margin:30px 0}
@media(prefers-reduced-motion:no-preference){
 .vf-brand.vf-opening .vf-piece-left{animation:vf-open-left 1100ms cubic-bezier(.22,1,.36,1) both}
 .vf-brand.vf-opening .vf-piece-right{animation:vf-open-right 1100ms cubic-bezier(.22,1,.36,1) both}
 @keyframes vf-open-left{from{transform:translate(0,0)}to{transform:translate(-8px,8px)}}
 @keyframes vf-open-right{from{transform:translate(0,0)}to{transform:translate(8px,-8px)}}
}
@media(max-width:760px){
 .sidebar .vf-brand{padding:0 3px 25px;justify-content:center}
 .sidebar .vf-brand-type{display:none}
 .sidebar .vf-symbol{width:35px;height:40px}
 .login-card .vf-brand{gap:12px}
 .login-card .vf-brand-claim{font-size:10px}
 .vf-media-grid{grid-template-columns:1fr}
}
