/* Public programme policies. No private workspace layout is loaded. */
.bsi-policies main { width: min(900px, calc(100% - 40px)); margin: 48px auto; }
.bsi-policies .policy-brand { display: flex; align-items: center; gap: 16px; margin: 0 0 32px; font-size: 22px; font-weight: 600; }
.bsi-policies .bsi-logo { display: block; position: relative; width: 60px; height: 60px; overflow: hidden; flex: 0 0 60px; border-radius: 50%; }
.bsi-policies .bsi-logo img { position: absolute; max-width: none; width: 175%; height: 175%; left: -37.5%; top: -37.5%; object-fit: contain; }
.bsi-policies h1 { font-size: clamp(32px, 4.2vw, 48px); line-height: 1.15; margin: 0 0 16px; }
.bsi-policies h2 { font-size: 28px; margin: 40px 0 16px; scroll-margin-top: 24px; }
.bsi-policies h3 { font-size: 22px; margin: 32px 0 16px; scroll-margin-top: 24px; }
.bsi-policies p { color: var(--bsi-slate); line-height: 1.7; }
.bsi-policies main a:not(.policy-brand) { text-decoration: underline; text-underline-offset: 4px; }
.bsi-policies .vm-signature { display: flex; align-items: center; gap: 12px; margin: 32px 0 16px; }
.bsi-policies .vm-signature img { width: 40px; height: 30px; object-fit: contain; }
.bsi-policies .whatsapp-fixed { display: flex; align-items: center; justify-content: center; min-height: 48px; width: fit-content; max-width: calc(100% - 40px); margin: 24px auto 32px; padding: 11px 20px; border: 1px solid var(--bsi-navy); border-radius: var(--bsi-radius); background: var(--bsi-navy); color: var(--bsi-cream); font-size: 16px; font-weight: 600; text-align: center; }
@media (max-width: 600px) { .bsi-policies main { width: calc(100% - 32px); margin: 32px auto; } }
@media print { .bsi-policies .whatsapp-fixed, .bsi-policies .website-analytics-choice { display: none !important; } }
