/* BLACKSNOW V31 – brand family and common layout QA, design only */
:root{--v31-content:1236px;--v31-border:#E6DFE4;--v31-ink:#171820}
/* Match the same content width as the site, and align the logo strip precisely. */
body:not(.portal-body) .bs-identity-strip-v31{
  width:100%;max-width:none;margin:0;padding:clamp(42px,5vw,70px) 0 clamp(52px,6vw,76px);
}
body:not(.portal-body) .bs-identity-strip-v31 .bs-identity-eyebrow{margin:0 0 15px;color:#986276;font-size:11px;letter-spacing:.17em}
body:not(.portal-body) .brand-strip-head-v31{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}
body:not(.portal-body) .brand-strip-head-v31 h2{font-family:'Space Grotesk',Inter,Arial,sans-serif;font-size:clamp(31px,3.4vw,47px);line-height:1.08;letter-spacing:-.05em;margin:0;max-width:690px}
body:not(.portal-body) .brand-strip-head-v31 p{font-size:14px;color:#6B6570;margin:0;max-width:260px;line-height:1.55}
body:not(.portal-body) .bs-lockup-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
body:not(.portal-body) .bs-lockup-v31{
  position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;
  min-width:0;min-height:208px;padding:23px 19px 18px;border:1px solid var(--v31-border);border-radius:20px;
  background:#fff;box-shadow:0 10px 34px rgba(39,26,38,.035);overflow:hidden;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
body:not(.portal-body) .bs-lockup-v31::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--brand-tile)}
body:not(.portal-body) .bs-lockup-v31:hover{transform:translateY(-3px);border-color:#CDBBC4;box-shadow:0 16px 40px rgba(39,26,38,.09)}
body:not(.portal-body) .bs-lockup-v31 .brand-symbol-v31{
  width:67px;height:67px;min-height:67px;max-height:none;aspect-ratio:1;object-fit:contain;object-position:left center;flex:none;margin:0 0 15px;
}
body:not(.portal-body) .brand-copy-v31{display:flex;flex-direction:column;gap:3px;line-height:1.15;max-width:100%;padding-right:17px}
body:not(.portal-body) .brand-copy-v31 strong{font:800 clamp(15px,1.28vw,19px)/1.1 Inter,Arial,sans-serif;letter-spacing:-.045em;white-space:nowrap;color:var(--v31-ink)}
body:not(.portal-body) .brand-copy-v31>span{font:700 17px/1.15 Inter,Arial,sans-serif;color:var(--brand-tile)}
body:not(.portal-body) .brand-copy-v31 small{font:400 12px/1.4 'DM Sans',Inter,Arial,sans-serif;color:#736E76;margin-top:5px}
body:not(.portal-body) .brand-arrow-v31{position:absolute;right:16px;bottom:17px;display:grid;place-items:center;border:1px solid #E1DAE0;border-radius:50%;width:28px;height:28px;color:#625866;font-size:16px}
/* Avoid oversized empty block between the identity strip and main services. */
body:not(.portal-body) .bs-identity-strip-v31 + .section{padding-top:26px}
/* Keep footer, portal and public site visually continuous. */
body:not(.portal-body) .top{max-width:none}
body:not(.portal-body) .foot-v28{border-top:1px solid var(--v31-border)}
body.portal-body .sidebar .brand{display:block;max-width:100%}
body.portal-body .sidebar .bs-logo{width:min(220px,100%);height:auto;object-fit:contain}
body.portal-body :where(.panel,.metric,.table-wrap,.table-scroll){min-width:0}
body.portal-body :where(.table-wrap,.table-scroll){overflow-x:auto;max-width:100%}
@media(max-width:1160px){body:not(.portal-body) .bs-lockup-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body:not(.portal-body) .bs-lockup-v31{min-height:200px}body:not(.portal-body) .brand-copy-v31 strong{font-size:19px}}
@media(max-width:760px){body:not(.portal-body) .brand-strip-head-v31{align-items:start;flex-direction:column;gap:12px}body:not(.portal-body) .brand-strip-head-v31 p{max-width:560px}body:not(.portal-body) .bs-lockup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body:not(.portal-body) .bs-lockup-v31{min-height:198px}body:not(.portal-body) .bs-lockup-v31 .brand-symbol-v31{width:62px;height:62px;min-height:62px}body:not(.portal-body) .brand-copy-v31 strong{font-size:16px}}
@media(max-width:420px){body:not(.portal-body) .bs-lockup-grid{grid-template-columns:1fr;gap:10px}body:not(.portal-body) .bs-lockup-v31{min-height:120px;flex-direction:row;align-items:center;gap:15px;padding:18px 46px 18px 17px}body:not(.portal-body) .bs-lockup-v31 .brand-symbol-v31{width:70px;height:70px;min-height:70px;margin:0}body:not(.portal-body) .brand-copy-v31 strong{font-size:18px}body:not(.portal-body) .brand-copy-v31>span{font-size:17px}body:not(.portal-body) .brand-arrow-v31{right:13px;bottom:calc(50% - 14px)}}
@media(prefers-reduced-motion:reduce){body:not(.portal-body) .bs-lockup-v31{transition:none}}
