/* GunSafety4U article hub. Scoped to .gs4u-bl. Shares tokens and type with the homepage, catalog and contact page. No sticky or pinned elements, no fixed heights. */
.gs4u-bl{--ink:#0A0C0B;--ink2:#111514;--char:#161B1A;--paper:#F4F2EC;--paper2:#ECE9E1;--bone:#FAF9F5;--line:#D9D5CA;--line2:#E6E2D8;--g:#008000;--gd:#005C00;--gl:#6CD46C;--tint:#E6F2E6;--txt:#25292A;--mut:#585D5B;--wt:rgba(255,255,255,.76);--wm:rgba(255,255,255,.58);--wl:rgba(255,255,255,.13);--wl2:rgba(255,255,255,.07);--amber:#E0A526;--ease:cubic-bezier(.2,.75,.2,1);--pad:clamp(20px,4vw,56px);--sec:clamp(52px,5.6vw,88px);
font-family:"Barlow",system-ui,sans-serif;color:var(--txt);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;background:var(--paper)}
.gs4u-bl *,.gs4u-bl *::before,.gs4u-bl *::after{box-sizing:border-box}
.gs4u-bl a{color:inherit;text-decoration:none}
.gs4u-bl.gs4u-bl :where(h1,h2,h3,p,ul,ol,li,figure,figcaption){margin:0;padding:0}
.gs4u-bl.gs4u-bl :is(h1,h2,h3){font-family:"Barlow Condensed",sans-serif;color:var(--ink);text-transform:none;letter-spacing:normal;text-wrap:balance}
.gs4u-bl p{text-wrap:pretty}
.gs4u-bl ol,.gs4u-bl ul{list-style:none}
.gs4u-bl img{display:block;max-width:100%;height:auto}
.gs4u-bl [hidden]{display:none!important}
.gs4u-bl .bl-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gs4u-bl .bl-wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad)}
.gs4u-bl .bl-lt{font-weight:300;font-style:italic;color:var(--g)}
.gs4u-bl :focus-visible{outline:2px solid var(--g);outline-offset:3px}
.gs4u-bl .bl-ic{flex:none}

body.gs4u-bl-page #main{padding:0!important}
body.gs4u-bl-page #main>.fusion-row{max-width:none!important}

/* type */
.gs4u-bl .bl-eyebrow{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--g);margin-bottom:12px}
.gs4u-bl .bl-eyebrow-w{color:var(--gl)}
.gs4u-bl.gs4u-bl .bl-h2{font-weight:800;font-size:clamp(34px,3.9vw,54px);line-height:.98;letter-spacing:-.01em}
.gs4u-bl.gs4u-bl .bl-h2-w{color:#fff}
.gs4u-bl .bl-h2-w .bl-lt{color:var(--gl)}
.gs4u-bl.gs4u-bl .bl-h3{font-weight:700;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.gs4u-bl .bl-sec-hd{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 48px;margin-bottom:clamp(24px,2.8vw,40px)}
.gs4u-bl .bl-sec-lede{color:var(--mut);max-width:50ch}
.gs4u-bl .bl-sec-lede-w{color:var(--wt)}

/* buttons + links */
.gs4u-bl .bl-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border-radius:2px;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s;cursor:pointer}
.gs4u-bl .bl-btn svg{transition:transform .3s var(--ease)}
.gs4u-bl .bl-btn:hover svg{transform:translateX(3px)}
.gs4u-bl .bl-btn-g{background:var(--g);color:#fff}
.gs4u-bl .bl-btn-g:hover{background:var(--gd)}
.gs4u-bl .bl-btn-w{border-color:var(--wl);color:#fff}
.gs4u-bl .bl-btn-w:hover{border-color:#fff}
.gs4u-bl .bl-btn-w:hover svg{transform:none}
.gs4u-bl .bl-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--g);transition:color .2s}
.gs4u-bl .bl-link:hover{color:var(--gd)}
.gs4u-bl .bl-link svg{transition:transform .3s var(--ease)}
.gs4u-bl .bl-link:hover svg{transform:translateX(3px)}
.gs4u-bl .bl-link[href^="#"]:hover svg{transform:translateY(3px)}

/* ---------- Masthead ---------- */
.gs4u-bl .bl-mast{background:var(--ink);color:#fff;position:relative;overflow:hidden;border-top:1px solid var(--wl2)}
.gs4u-bl .bl-mast::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 110% at 0% 100%,rgba(0,128,0,.15),transparent 62%);pointer-events:none}
.gs4u-bl .bl-mast-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,4.4vw,72px);align-items:center;padding-top:clamp(44px,5vw,80px);padding-bottom:clamp(44px,5vw,80px)}
.gs4u-bl .bl-mast.is-slim .bl-mast-in{grid-template-columns:minmax(0,1fr);padding-top:clamp(36px,4vw,56px);padding-bottom:clamp(36px,4vw,56px)}
.gs4u-bl .bl-kick{display:flex;align-items:center;gap:14px;font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--wm);margin-bottom:22px}
.gs4u-bl .bl-kick b{font-weight:500;color:var(--gl)}
.gs4u-bl .bl-kick i{width:34px;height:1px;background:var(--wl)}
.gs4u-bl.gs4u-bl .bl-h1{font-weight:800;font-size:clamp(44px,5.4vw,82px);line-height:.92;letter-spacing:-.018em;color:#fff}
.gs4u-bl .bl-h1 .bl-lt{color:var(--gl);display:block;margin-top:.05em}
.gs4u-bl .bl-mast.is-slim .bl-h1{font-size:clamp(38px,4.2vw,60px)}
.gs4u-bl .bl-mast.is-slim .bl-h1 .bl-lt{display:inline}
.gs4u-bl .bl-lede{margin-top:20px;max-width:54ch;font-size:clamp(16.5px,1.3vw,18px);line-height:1.6;color:var(--wt)}
.gs4u-bl .bl-search{position:relative;display:flex;gap:0;margin-top:28px;max-width:560px;border:1px solid var(--wl);background:var(--ink2);transition:border-color .2s}
.gs4u-bl .bl-search:focus-within{border-color:var(--gl)}
.gs4u-bl .bl-search-ic{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--wm);display:flex}
.gs4u-bl .bl-search-ic svg{width:18px;height:18px}
.gs4u-bl.gs4u-bl .bl-search input{flex:1;min-width:0;height:54px!important;margin:0!important;padding:0 14px 0 46px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#fff!important;font-family:"Barlow",sans-serif!important;font-size:16.5px!important;line-height:54px;outline:0}
.gs4u-bl .bl-search input::placeholder{color:var(--wm);opacity:1}
.gs4u-bl .bl-search input::-webkit-search-cancel-button{filter:invert(1);opacity:.6}
.gs4u-bl .bl-search .bl-btn{min-height:54px;border-radius:0;flex:none}
.gs4u-bl .bl-stats{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:22px;font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--wm)}
.gs4u-bl .bl-stats b{font-weight:500;color:#fff}
.gs4u-bl .bl-mast-fig{position:relative;border:1px solid var(--wl);background:var(--ink2)}
.gs4u-bl .bl-mast-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 40%}
.gs4u-bl figcaption{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--wm);border-top:1px solid var(--wl)}
.gs4u-bl figcaption span:first-child{color:#fff}

/* ---------- Shared meta + title link ---------- */
.gs4u-bl .bl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);line-height:1.4}
.gs4u-bl .bl-tag{position:relative;z-index:2;color:var(--g);font-weight:500;transition:color .2s}
.gs4u-bl a.bl-tag:hover{color:var(--gd);text-decoration:underline;text-underline-offset:3px}
.gs4u-bl .bl-m{display:inline-flex;align-items:center}
.gs4u-bl .bl-meta>*+*::before{content:"";flex:none;width:3px;height:3px;border-radius:50%;background:var(--line);margin-right:10px}
.gs4u-bl .bl-meta>*{display:inline-flex;align-items:center}
.gs4u-bl .bl-stretch{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s var(--ease),color .2s}
.gs4u-bl .bl-stretch::after{content:"";position:absolute;inset:0;z-index:1}
.gs4u-bl :is(.bl-card,.bl-lead,.bl-side-i):hover .bl-stretch{background-size:100% 1px}
.gs4u-bl :is(.bl-card,.bl-lead,.bl-side-i):focus-within .bl-stretch{background-size:100% 1px}
.gs4u-bl .bl-stretch:focus-visible{outline:0}
.gs4u-bl .bl-stretch:focus-visible::after{outline:2px solid var(--g);outline-offset:4px}
.gs4u-bl .bl-dek{color:var(--mut);font-size:15.5px;line-height:1.55}
.gs4u-bl .bl-by{margin-top:12px;font-size:14px;color:var(--txt);font-weight:600}
.gs4u-bl :is(.bl-card-media,.bl-lead-media,.bl-side-media){overflow:hidden;background:var(--paper2)}
.gs4u-bl :is(.bl-card-media,.bl-lead-media,.bl-side-media) img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.gs4u-bl :is(.bl-card,.bl-lead,.bl-side-i):hover :is(.bl-card-media,.bl-lead-media,.bl-side-media) img{transform:scale(1.035)}

/* ---------- Latest ---------- */
.gs4u-bl .bl-latest{padding:var(--sec) 0}
.gs4u-bl .bl-latest-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,3.6vw,56px);align-items:start}
.gs4u-bl .bl-lead{position:relative}
.gs4u-bl .bl-lead-media{aspect-ratio:16/10}
.gs4u-bl .bl-lead-body{padding-top:22px}
.gs4u-bl.gs4u-bl .bl-lead-t{margin-top:12px;font-weight:800;font-size:clamp(30px,2.9vw,42px);line-height:1}
.gs4u-bl .bl-lead .bl-dek{margin-top:14px;font-size:17px;max-width:60ch}
.gs4u-bl .bl-more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--g)}
.gs4u-bl .bl-more svg{transition:transform .3s var(--ease)}
.gs4u-bl .bl-lead:hover .bl-more svg{transform:translateX(3px)}
.gs4u-bl .bl-side{border-top:1px solid var(--ink)}
.gs4u-bl .bl-side-i{position:relative;display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.gs4u-bl .bl-side-media{aspect-ratio:16/9;align-self:start}
.gs4u-bl.gs4u-bl .bl-side-t{margin-top:8px;font-weight:700;font-size:clamp(20px,1.7vw,23px);line-height:1.08}
.gs4u-bl .bl-side .bl-dek{margin-top:8px;font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- Licensing reference ---------- */
.gs4u-bl .bl-lic{background:var(--ink);color:#fff;padding:var(--sec) 0;position:relative;overflow:hidden}
.gs4u-bl .bl-lic::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 90% at 100% 0%,rgba(0,128,0,.13),transparent 60%);pointer-events:none}
.gs4u-bl .bl-lic .bl-wrap{position:relative}
.gs4u-bl .bl-lic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--wl);border:1px solid var(--wl)}
.gs4u-bl .bl-lc{display:flex;flex-direction:column;padding:clamp(22px,2vw,30px);background:var(--ink2);transition:background-color .25s}
.gs4u-bl .bl-lc:hover{background:#151B17}
.gs4u-bl .bl-lc-k{display:flex;align-items:center;gap:12px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--wm)}
.gs4u-bl .bl-lc-k span{color:var(--gl)}
.gs4u-bl.gs4u-bl .bl-lc-t{margin-top:16px;font-weight:700;font-size:clamp(23px,1.9vw,27px);line-height:1.02;color:#fff}
.gs4u-bl .bl-lc-for{margin-top:10px;font-size:15px;line-height:1.5;color:var(--wt)}
.gs4u-bl .bl-lc-f{margin-top:18px;padding-top:18px;border-top:1px solid var(--wl);display:flex;flex-direction:column;gap:11px}
.gs4u-bl .bl-lc-f li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;font-size:14.5px;line-height:1.5;color:#fff}
.gs4u-bl .bl-lc-f svg{margin-top:4px;color:var(--gl)}
.gs4u-bl .bl-lc-ft{margin-top:auto;padding-top:22px;display:flex;flex-direction:column;gap:6px}
.gs4u-bl .bl-lc-g{display:inline-flex;align-items:center;gap:8px;min-height:40px;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--gl);transition:color .2s}
.gs4u-bl .bl-lc-g:hover{color:#fff}
.gs4u-bl .bl-lc-g svg{transition:transform .3s var(--ease)}
.gs4u-bl .bl-lc-g:hover svg{transform:translateX(3px)}
.gs4u-bl .bl-lc-s{display:inline-flex;align-items:center;gap:6px;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--wm);line-height:1.5;transition:color .2s}
.gs4u-bl .bl-lc-s:hover{color:#fff}
.gs4u-bl .bl-lc-s svg{width:12px;height:12px}
.gs4u-bl .bl-lic-note{margin-top:18px;font-size:13.5px;color:var(--wm);max-width:90ch}

/* ---------- Archive ---------- */
.gs4u-bl .bl-arc{padding:var(--sec) 0;background:var(--bone);border-top:1px solid var(--line2);scroll-margin-top:24px}
.gs4u-bl .bl-arc-hd{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px 56px;align-items:end;margin-bottom:22px}
.gs4u-bl .bl-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.gs4u-bl .bl-chip{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:#fff;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:15px;letter-spacing:.04em;color:var(--ink);white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s}
.gs4u-bl .bl-chip small{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:11px;color:var(--mut);transition:color .2s}
.gs4u-bl .bl-chip:hover{border-color:var(--ink)}
.gs4u-bl .bl-chip.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.gs4u-bl .bl-chip.is-on small{color:var(--gl)}
.gs4u-bl .bl-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:14px 0;border-top:1px solid var(--ink);margin-bottom:clamp(22px,2.4vw,32px);font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.gs4u-bl .bl-clear{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:#fff;transition:border-color .2s}
.gs4u-bl .bl-clear:hover{border-color:var(--ink)}
.gs4u-bl .bl-clear svg{width:12px;height:12px}
.gs4u-bl .bl-arc-body{transition:opacity .25s}
.gs4u-bl .bl-arc-body[aria-busy="true"]{opacity:.45}
.gs4u-bl .bl-rows{display:flex;flex-direction:column;gap:clamp(36px,3.6vw,52px)}
.gs4u-bl .bl-row{display:grid;gap:clamp(22px,2.4vw,36px)}
.gs4u-bl .bl-row-1{grid-template-columns:minmax(0,1fr)}
.gs4u-bl .bl-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gs4u-bl .bl-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gs4u-bl .bl-row-4{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line)}
.gs4u-bl .bl-card{position:relative;display:flex;flex-direction:column;min-width:0}
.gs4u-bl .bl-card-media{position:relative}
.gs4u-bl .bl-card-body{padding-top:18px}
.gs4u-bl.gs4u-bl .bl-card-t{margin-top:10px;font-weight:700;font-size:clamp(21px,1.75vw,25px);line-height:1.06}
.gs4u-bl .bl-card .bl-dek{margin-top:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gs4u-bl .bl-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:28px;letter-spacing:.1em;color:var(--line)}
/* feature pair: most featured images are 16:9 graphics with text, so keep that ratio */
.gs4u-bl .bl-row-2 .bl-card-media{aspect-ratio:16/9}
.gs4u-bl.gs4u-bl .bl-row-2 .bl-card-t{font-size:clamp(25px,2.2vw,32px);line-height:1.03}
.gs4u-bl .bl-row-3 .bl-card-media{aspect-ratio:3/2}
/* wide single */
.gs4u-bl .bl-card--wide{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:center}
.gs4u-bl .bl-card--wide .bl-card-media{aspect-ratio:16/10}
.gs4u-bl .bl-card--wide .bl-card-body{padding-top:0}
.gs4u-bl.gs4u-bl .bl-card--wide .bl-card-t{font-size:clamp(26px,2.4vw,34px)}
/* compact strip */
.gs4u-bl .bl-card--compact .bl-card-media{aspect-ratio:16/10}
.gs4u-bl .bl-card--compact .bl-card-body{padding-top:14px}
.gs4u-bl .bl-card--compact .bl-meta{font-size:10.5px}
.gs4u-bl.gs4u-bl .bl-card--compact .bl-card-t{font-size:clamp(18px,1.45vw,20px);line-height:1.12;margin-top:8px}

.gs4u-bl .bl-empty{padding:28px;border:1px dashed var(--line);background:#fff}
.gs4u-bl .bl-empty p{color:var(--mut)}
.gs4u-bl .bl-empty ul{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px}
.gs4u-bl .bl-empty a{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:16px;letter-spacing:.04em;color:var(--g)}
.gs4u-bl .bl-empty a:hover{color:var(--gd);text-decoration:underline;text-underline-offset:3px}

/* pager */
.gs4u-bl .bl-pager{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:clamp(40px,4vw,56px);padding-top:20px;border-top:1px solid var(--ink)}
.gs4u-bl .bl-pg-list{display:flex;gap:6px}
.gs4u-bl .bl-pg{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--line);background:#fff;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:16px;letter-spacing:.06em;color:var(--ink);transition:border-color .2s,background-color .2s,color .2s}
.gs4u-bl a.bl-pg:hover{border-color:var(--ink)}
.gs4u-bl .bl-pg.is-cur{background:var(--ink);border-color:var(--ink);color:#fff}
.gs4u-bl .bl-pg-step{text-transform:uppercase;padding:0 16px}
.gs4u-bl .bl-pg.is-off{opacity:.4}

/* ---------- Instructor ---------- */
.gs4u-bl .bl-inst{padding:var(--sec) 0;background:var(--paper)}
.gs4u-bl .bl-inst-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,4.6vw,80px);align-items:center}
.gs4u-bl .bl-inst-fig{border:1px solid var(--line);background:var(--ink)}
.gs4u-bl .bl-inst-fig img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.gs4u-bl .bl-inst-fig figcaption{border-top-color:var(--wl)}
.gs4u-bl .bl-inst-p{margin-top:20px;font-size:17px;max-width:62ch}
.gs4u-bl .bl-creds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:24px;background:var(--line);border:1px solid var(--line)}
.gs4u-bl .bl-creds li{display:flex;align-items:center;min-height:52px;padding:10px 14px;background:var(--bone);font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:17px;line-height:1.15;color:var(--ink)}
.gs4u-bl .bl-creds li::before{content:"";flex:none;width:6px;height:6px;margin-right:12px;background:var(--g)}
.gs4u-bl .bl-inst .bl-h3{margin-top:30px}
.gs4u-bl .bl-reads{margin-top:10px;border-top:1px solid var(--ink)}
.gs4u-bl .bl-reads a{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:16px;min-height:56px;padding:12px 0;border-bottom:1px solid var(--line);transition:color .2s}
.gs4u-bl .bl-reads a span{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:19px;line-height:1.15;color:var(--ink);transition:color .2s}
.gs4u-bl .bl-reads a small{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);white-space:nowrap}
.gs4u-bl .bl-reads a svg{color:var(--g);transition:transform .3s var(--ease)}
.gs4u-bl .bl-reads a:hover span{color:var(--g)}
.gs4u-bl .bl-reads a:hover svg{transform:translateX(3px)}
.gs4u-bl .bl-inst .bl-link{margin-top:14px}

/* ---------- Training connection ---------- */
.gs4u-bl .bl-train{background:var(--ink);color:#fff;padding:var(--sec) 0;position:relative;overflow:hidden}
.gs4u-bl .bl-train::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 100% at 0% 100%,rgba(0,128,0,.15),transparent 62%);pointer-events:none}
.gs4u-bl .bl-train-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4.6vw,80px);align-items:center}
.gs4u-bl .bl-train-p{margin-top:18px;max-width:52ch;font-size:17px;color:var(--wt)}
.gs4u-bl .bl-evs{margin-top:26px;border-top:1px solid var(--wl)}
.gs4u-bl .bl-ev a{display:grid;grid-template-columns:76px minmax(0,1fr) 16px;align-items:center;gap:18px;min-height:76px;padding:12px 0;border-bottom:1px solid var(--wl);transition:background-color .2s}
.gs4u-bl .bl-ev a:hover{background:var(--wl2)}
.gs4u-bl .bl-ev-d{display:flex;align-items:center;gap:9px;line-height:1}
.gs4u-bl .bl-ev-d b{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:38px;color:#fff;min-width:1.1em}
.gs4u-bl .bl-ev-d>span{display:flex;flex-direction:column;gap:4px;font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gl)}
.gs4u-bl .bl-ev-d small{font-size:10.5px;color:var(--wm)}
.gs4u-bl .bl-ev-t{display:flex;flex-direction:column;gap:4px;min-width:0}
.gs4u-bl .bl-ev-t b{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:20px;line-height:1.12;color:#fff}
.gs4u-bl .bl-ev-t small{font-size:14px;color:var(--wm)}
.gs4u-bl .bl-ev a>svg{color:var(--gl);transition:transform .3s var(--ease)}
.gs4u-bl .bl-ev a:hover>svg{transform:translateX(3px)}
.gs4u-bl .bl-ev.is-tent .bl-ev-d b{color:var(--wm)}
.gs4u-bl .bl-train-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.gs4u-bl .bl-train-fig{border:1px solid var(--wl);background:var(--ink2)}
.gs4u-bl .bl-train-fig img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* light variant on paged/filtered views, so it doesn't run into the dark footer band */
.gs4u-bl .bl-train.is-light{background:var(--paper2);color:var(--txt)}
.gs4u-bl .bl-train.is-light::before{display:none}
.gs4u-bl .bl-train.is-light .bl-h2-w{color:var(--ink)}
.gs4u-bl .bl-train.is-light .bl-h2-w .bl-lt{color:var(--g)}
.gs4u-bl .bl-train.is-light .bl-eyebrow-w{color:var(--g)}
.gs4u-bl .bl-train.is-light .bl-train-p{color:var(--mut)}
.gs4u-bl .bl-train.is-light .bl-evs{border-top-color:var(--ink)}
.gs4u-bl .bl-train.is-light .bl-ev a{border-bottom-color:var(--line)}
.gs4u-bl .bl-train.is-light .bl-ev a:hover{background:var(--bone)}
.gs4u-bl .bl-train.is-light :is(.bl-ev-d b,.bl-ev-t b){color:var(--ink)}
.gs4u-bl .bl-train.is-light .bl-ev-d>span,.gs4u-bl .bl-train.is-light .bl-ev a>svg{color:var(--g)}
.gs4u-bl .bl-train.is-light :is(.bl-ev-d small,.bl-ev-t small){color:var(--mut)}
.gs4u-bl .bl-train.is-light .bl-btn-w{border-color:var(--ink);color:var(--ink)}
.gs4u-bl .bl-train.is-light .bl-btn-w:hover{background:var(--ink);color:#fff}

/* ---------- Reveal (JS adds .bl-anim; disabled for reduced motion) ---------- */
.gs4u-bl.bl-anim [data-rv]{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.gs4u-bl.bl-anim [data-rv].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
	.gs4u-bl *,.gs4u-bl *::before,.gs4u-bl *::after{transition:none!important;animation:none!important}
	.gs4u-bl.bl-anim [data-rv]{opacity:1;transform:none}
}

/* ---------- ≤1180 ---------- */
@media (max-width:1180px){
	.gs4u-bl .bl-lic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gs4u-bl .bl-arc-hd{grid-template-columns:minmax(0,1fr)}
	.gs4u-bl .bl-chips{justify-content:flex-start}
}

/* ---------- ≤1023 ---------- */
@media (max-width:1023px){
	.gs4u-bl .bl-mast-in{grid-template-columns:minmax(0,1fr)}
	.gs4u-bl .bl-mast-fig{max-width:640px}
	.gs4u-bl .bl-latest-grid{grid-template-columns:minmax(0,1fr)}
	.gs4u-bl .bl-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;border-top:0}
	.gs4u-bl .bl-side-i{grid-template-columns:minmax(0,1fr);gap:14px;padding:22px 0 0;border-top:1px solid var(--ink);border-bottom:0}
	.gs4u-bl .bl-side .bl-dek{display:none}
	.gs4u-bl .bl-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gs4u-bl.gs4u-bl .bl-row-2 .bl-card-t{font-size:clamp(21px,2.6vw,25px);line-height:1.06}
	.gs4u-bl .bl-row-3{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gs4u-bl .bl-row-3 .bl-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}
	.gs4u-bl .bl-row-3 .bl-card:first-child .bl-card-body{padding-top:0}
	.gs4u-bl .bl-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gs4u-bl .bl-inst-in{grid-template-columns:minmax(0,1fr);gap:36px}
	.gs4u-bl .bl-inst-fig{max-width:640px}
	.gs4u-bl .bl-inst-fig img{aspect-ratio:1/1}
	.gs4u-bl .bl-train-in{grid-template-columns:minmax(0,1fr);gap:36px}
	.gs4u-bl .bl-train-fig{max-width:640px}
}

/* ---------- ≤767 ---------- */
@media (max-width:767px){
	.gs4u-bl{--sec:clamp(44px,11vw,60px)}
	.gs4u-bl.gs4u-bl .bl-h1{font-size:clamp(40px,11.6vw,54px)}
	.gs4u-bl .bl-mast-in{gap:30px}
	.gs4u-bl .bl-search .bl-btn{padding:0 16px}
	.gs4u-bl .bl-stats{gap:6px 18px;font-size:11px}
	.gs4u-bl .bl-sec-hd{gap:10px}
	.gs4u-bl .bl-side{grid-template-columns:minmax(0,1fr);border-top:1px solid var(--ink);margin-top:28px}
	.gs4u-bl .bl-side-i{grid-template-columns:104px minmax(0,1fr);gap:16px;padding:16px 0;border-top:0;border-bottom:1px solid var(--line)}
	.gs4u-bl.gs4u-bl .bl-side-t{font-size:19px}
	.gs4u-bl .bl-lic-grid{grid-template-columns:minmax(0,1fr)}
	.gs4u-bl .bl-chips{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(var(--pad) * -1);padding:2px var(--pad) 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
	.gs4u-bl .bl-chips::-webkit-scrollbar{display:none}
	.gs4u-bl .bl-chip{flex:none}
	.gs4u-bl .bl-rows{gap:0}
	.gs4u-bl .bl-row{gap:0}
	.gs4u-bl .bl-row-2{grid-template-columns:minmax(0,1fr);gap:32px;padding-bottom:8px}
	.gs4u-bl .bl-row-3,.gs4u-bl .bl-row-4{grid-template-columns:minmax(0,1fr);padding-top:0;margin-top:24px;border-top:1px solid var(--ink)}
	.gs4u-bl .bl-row-1 .bl-card--wide{grid-template-columns:minmax(0,1fr);gap:0}
	.gs4u-bl .bl-row-1 .bl-card--wide .bl-card-body{padding-top:18px}
	/* rows of 3 and 4 become a scannable list on phones */
	.gs4u-bl .bl-row-3 .bl-card,.gs4u-bl .bl-row-3 .bl-card:first-child,.gs4u-bl .bl-row-4 .bl-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}
	.gs4u-bl .bl-row-3 .bl-card-media,.gs4u-bl .bl-row-4 .bl-card-media{aspect-ratio:1/1}
	.gs4u-bl .bl-row-3 .bl-card .bl-card-body,.gs4u-bl .bl-row-4 .bl-card .bl-card-body{padding-top:0}
	.gs4u-bl.gs4u-bl .bl-row-3 .bl-card-t,.gs4u-bl.gs4u-bl .bl-row-4 .bl-card-t{font-size:19px;line-height:1.1;margin-top:6px}
	.gs4u-bl .bl-row-3 .bl-dek{display:none!important}
	.gs4u-bl .bl-row-3 .bl-by{display:none}
	.gs4u-bl .bl-meta{font-size:10.5px;gap:3px 9px}
	.gs4u-bl .bl-pager{flex-wrap:wrap;justify-content:center}
	.gs4u-bl .bl-pg-list{order:-1;width:100%;justify-content:center}
	.gs4u-bl .bl-pg-step{flex:1}
	.gs4u-bl .bl-creds{grid-template-columns:minmax(0,1fr)}
	.gs4u-bl .bl-reads a{grid-template-columns:minmax(0,1fr) 16px;row-gap:4px}
	.gs4u-bl .bl-reads a small{grid-row:2;grid-column:1}
	.gs4u-bl .bl-reads a svg{grid-row:1/span 2;grid-column:2}
	.gs4u-bl .bl-ev a{grid-template-columns:64px minmax(0,1fr) 16px;gap:14px}
	.gs4u-bl .bl-ev-d b{font-size:32px}
	.gs4u-bl .bl-train-cta .bl-btn{flex:1 1 220px}
	.gs4u-bl figcaption{flex-direction:column;gap:3px}
}

@media (max-width:359px){
	.gs4u-bl .bl-search{flex-direction:column}
	.gs4u-bl .bl-search .bl-btn{width:100%}
	.gs4u-bl .bl-search-ic{top:27px}
	.gs4u-bl .bl-side-i,.gs4u-bl .bl-row-3 .bl-card,.gs4u-bl .bl-row-3 .bl-card:first-child,.gs4u-bl .bl-row-4 .bl-card{grid-template-columns:84px minmax(0,1fr);gap:14px}
	.gs4u-bl .bl-pg-step span{display:none}
}

/* v1.0.1: compact cards put the topic on its own line; side list drops deks where columns narrow */
.gs4u-bl .bl-card--compact .bl-tag{flex-basis:100%}
.gs4u-bl .bl-card--compact .bl-tag+.bl-m::before{display:none}
@media (max-width:1180px) and (min-width:1024px){.gs4u-bl .bl-side .bl-dek{display:none}}
@media (max-width:767px){.gs4u-bl .bl-card--compact .bl-tag{flex-basis:auto}.gs4u-bl .bl-card--compact .bl-tag+.bl-m::before{display:block}}

/* v1.0.2: featured images are shown whole (never cropped). Frames are 16:9, the shape of most featured graphics;
   images with another shape sit centered over a blurred copy of themselves, so the frame is always filled. */
.gs4u-bl :is(.bl-card-media,.bl-lead-media,.bl-side-media){position:relative;isolation:isolate;background:var(--ink)}
.gs4u-bl :is(.bl-card-media,.bl-lead-media,.bl-side-media)::before{content:"";position:absolute;inset:-24px;z-index:-1;background:var(--bl-bg,none) center/cover no-repeat;filter:blur(18px) brightness(.6) saturate(1.1)}
.gs4u-bl.gs4u-bl :is(.bl-card-media,.bl-lead-media,.bl-side-media) img{object-fit:contain;object-position:50% 50%}
.gs4u-bl .bl-lead-media,.gs4u-bl .bl-row-3 .bl-card-media,.gs4u-bl .bl-card--wide .bl-card-media,.gs4u-bl .bl-card--compact .bl-card-media{aspect-ratio:16/9}
@media (max-width:767px){.gs4u-bl .bl-row-3 .bl-card-media,.gs4u-bl .bl-row-4 .bl-card-media{aspect-ratio:4/3}}
