/* S8 Bento: bento hero tiles, pinned horizontal course rail */
.s8{--br:14px;--cr:24px;--ir:18px;--lr:10px}
.s8 h1,.s8 h2,.s8 h3{font-weight:700;letter-spacing:-.03em}
.s8-hero{padding:clamp(24px,4vw,48px) 0 clamp(40px,6vw,80px)}
.s8-b{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(180px,auto);gap:14px}
.s8-t{border-radius:var(--cr);background:var(--surf);padding:26px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;overflow:hidden;position:relative;min-width:0}
.s8-main{grid-column:span 2;grid-row:span 2;background:var(--ink);color:var(--bg);justify-content:space-between}
.s8-main .eyebrow{color:color-mix(in srgb,var(--bg) 75%,transparent)}
.s8-main h1{font-size:clamp(38px,4.8vw,70px);line-height:1}
.s8-main .btn{align-self:flex-start;background:var(--acc);color:var(--on)}
.s8-img{grid-column:span 2;padding:0}
.s8-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.s8-stat{background:var(--acc);color:var(--on)}
.s8-stat b{font:700 64px/1 var(--hf)}
.s8-next{text-decoration:none;border:2px solid var(--ink);background:var(--bg);transition:background .3s,color .3s}
.s8-next:hover{background:var(--ink);color:var(--bg)}
.s8-next span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.s8-next b{font:700 22px/1.15 var(--hf)}
.s8-q{grid-column:span 2}
.s8-q p{font:500 19px/1.4 var(--hf);margin:0}
.s8-q small{color:var(--mute)}
.s8-hs{padding:clamp(48px,6vw,80px) 0;overflow:hidden}
.s8-hh{display:flex;justify-content:space-between;align-items:baseline}
.s8-track{display:flex;gap:20px;padding:0 max(20px,calc((100vw - 1200px)/2));width:max-content}
.s8-track .cc{width:min(360px,78vw);flex:none}
.cc-bold.c0{background:color-mix(in srgb,var(--acc) 16%,var(--bg))}.cc-bold.c1{background:var(--surf)}.cc-bold.c2{background:color-mix(in srgb,var(--ink) 7%,var(--bg))}
.s8-sec{padding:clamp(48px,7vw,96px) 0}
.s8-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px)}
@media (max-width:1000px){.s8-b{grid-template-columns:1fr 1fr}.s8-main,.s8-img,.s8-q{grid-column:span 2}.s8-img{min-height:260px}}
@media (max-width:900px){.s8-hs{overflow:visible}.s8-track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.s8-track .cc{scroll-snap-align:start}.s8-two{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.s8-b{grid-template-columns:minmax(0,1fr)}.s8-main,.s8-img,.s8-q{grid-column:auto}.s8-main{grid-row:auto}}
