/* B4 Mosaic: floating pill nav, bento of mixed tiles, coloured section tiles */
.b4{--br:14px;--ir:16px;--cr:22px;--lr:10px}
.b4 h1,.b4 h2,.b4 h3{font-weight:700;letter-spacing:-.025em}
.b4-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:end;padding:clamp(48px,7vw,100px) 0 36px}
.b4-hero h1{font-size:clamp(42px,6.6vw,92px);line-height:.98}
.b4-hm p{color:var(--mute);margin:0 0 20px;font-size:18px}
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(200px,auto);gap:14px}
.bt{position:relative;border-radius:var(--cr);overflow:hidden;background:var(--surf);padding:24px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;min-width:0;text-decoration:none;will-change:transform}
.bt h2{font-size:clamp(20px,1.8vw,26px);line-height:1.15}
.bt h2 a{text-decoration:none}
.bt h2 a::after{content:"";position:absolute;inset:0;z-index:1}
.bt .pc-k{position:relative;z-index:2}
.bt-xl{grid-column:span 2;grid-row:span 2;color:#fff}
.bt-tall{grid-row:span 2;color:#fff}
.bt-im{position:absolute;inset:0}
.bt-im img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.bt:hover .bt-im img{transform:scale(1.05)}
.bt-xl::after,.bt-tall::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.8))}
.bt-c{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px}
.bt-xl .pc-k a,.bt-tall .pc-k a{color:#fff}
.bt-xl h2{font-size:clamp(28px,3.2vw,44px)}
.bt-xl .pc-meta{color:rgba(255,255,255,.82)}
.bt-cat{background:var(--acc);color:var(--on);justify-content:space-between}
.bt-cat.c2{background:var(--ink);color:var(--bg)}
.bt-cat .n{font:700 60px/1 var(--hf)}
.bt-cat b{font:700 26px/1.1 var(--hf)}
.bt-cat small{opacity:.85;font-size:14px;line-height:1.4}
.bt-txt p:not(.pc-k){margin:0;color:var(--mute);font-size:15px}
.bt-txt{justify-content:flex-start;border:1.5px solid var(--line);background:var(--bg)}
.b4-more{padding:clamp(56px,8vw,110px) 0 40px}
.b4-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pc-tile{background:var(--surf);border-radius:var(--cr);padding:14px 14px 20px}
.pc-tile .pc-b{padding:0 6px}
.b4-cats{padding:40px 0 clamp(56px,8vw,100px)}
.b4-cl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.b4-ci{display:flex;flex-direction:column;justify-content:space-between;gap:30px;min-height:150px;padding:22px;border-radius:var(--cr);border:1.5px solid var(--ink);text-decoration:none;transition:background .3s,color .3s}
.b4-ci:hover{background:var(--ink);color:var(--bg)}
.b4-ci b{font:700 24px/1.1 var(--hf)}
.b4-ci span{display:flex;justify-content:space-between;align-items:center;font-size:14px}
@media (max-width:1000px){.bento{grid-template-columns:1fr 1fr}.b4-cl{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.b4-hero{grid-template-columns:minmax(0,1fr)}.bento{grid-template-columns:minmax(0,1fr)}.bt-xl,.bt-tall{grid-column:auto;grid-row:auto;min-height:380px}.b4-g{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px) and (min-width:701px){.b4-g{grid-template-columns:1fr 1fr}}
