.bw{--bw-bg:#111;--bw-dim:#8d8b85;--bw-on:#f3ecda;--bw-accent:#ff6a5c;--bw-red:#c20000;
  background:var(--bw-bg);color:#fff;margin:0;border-radius:0;position:relative;font-family:inherit}
.bw-copy{padding:80px 32px}
.bw h2{font-size:clamp(2rem,4.6vw,36pt);line-height:1.05;letter-spacing:-.025em;margin:0 0 18px;font-weight:700;color:#fff}
.bw-sub{color:#b9b7b0;max-width:44ch;margin:0 0 28px}
.bw-row{display:none}
.bw.bw-js .bw-row{display:flex;gap:22px;align-items:flex-start;margin:6px 0 28px}
.bw.bw-js .bw-row .bw-sub{margin:0;font-size:16pt;font-weight:500;padding-top:4px}
.bw-tile{flex:0 0 auto;width:104px;height:104px;background:#fff;border-radius:6px;display:grid;place-items:center;padding:4px;overflow:hidden}
.bw-tile img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.bw-tile span{color:#111;font-weight:700;font-size:.8rem;line-height:1.2;text-align:center;text-transform:uppercase;word-break:break-word}
.bw-tile.in{animation:bwIn .45s ease}
@keyframes bwIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@media(max-width:760px){.bw.bw-js .bw-row{gap:14px}.bw-tile{width:78px;height:78px;padding:3px}.bw.bw-js .bw-row .bw-sub{display:block;font-size:1rem}}
.bw-btn{display:inline-block;background:var(--bw-red);color:#fff;text-decoration:none;font-weight:600;padding:11px 22px;border-radius:999px}
.bw-list{list-style:none;margin:0;padding:0 32px 60px;display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--bw-dim)}

/* JS mode: sticky stage + rotating wheel */
.bw.bw-js .bw-list{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);padding:0;margin:-1px}
.bw.bw-js .bw-stage{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;align-items:center}
.bw.bw-js .bw-copy{padding:0 48px 0 0;transition:opacity .3s ease}
.bw-stage.wall-on .bw-copy{opacity:0;pointer-events:none}
.bw-wheel{position:relative;height:100%}
.bw-item{position:absolute;left:0;top:0;white-space:nowrap;font-weight:700;text-transform:uppercase;
  color:var(--bw-dim);transform-origin:0 50%;will-change:transform,opacity;transition:color .25s,font-size .25s;line-height:1}
.bw-item.on{color:var(--bw-on)}

/* End-of-scroll brand wall: fades in over the wheel once the last name is reached */
.bw-wall{position:absolute;inset:0;z-index:5;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease}
.bw-wall.on{opacity:1;visibility:visible;pointer-events:auto}
.bw-wall-grid{position:absolute;inset:0;background:#0b0b0c;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;padding:6px;overflow:hidden}
.bw-wall-tile{background:#141414;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1}
.bw-wall-tile img{width:100%;height:100%;object-fit:cover;display:block}
.bw-wall-tile span{color:#f3ecda;font-weight:700;font-size:.72rem;line-height:1.2;text-align:center;text-transform:uppercase;word-break:break-word;padding:8px}
.bw-wall-overlay{position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at center,rgba(11,11,12,.82) 0%,rgba(11,11,12,.55) 45%,rgba(11,11,12,.25) 75%,rgba(11,11,12,.1) 100%)}
.bw-wall-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:0 40px}
.bw-wall-content h2{font-size:clamp(2rem,4.6vw,36pt);font-weight:700;letter-spacing:-.02em;margin:0 0 16px;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.6)}
.bw-wall-content p{color:#cfcdc6;max-width:44ch;margin:0 0 24px;font-size:18pt;font-weight:500;text-shadow:0 1px 10px rgba(0,0,0,.6)}
@media(max-width:760px){
  .bw-wall-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:4px;padding:4px}
  .bw-wall-tile span{font-size:.58rem;padding:5px}
  .bw-wall-content{padding:0 20px}
}
@media(max-width:760px){
  .bw.bw-js .bw-stage{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:start}
  .bw.bw-js .bw-copy{order:-1;padding:56px 22px 0}
}

/* Trusted-by strip */
.q3d-trusted{max-width:none;margin:0;padding:44px clamp(24px,4vw,72px);font-family:inherit}
.q3d-trusted__title{margin:0 0 20px;color:#6b6a66;font-size:.95rem}
.q3d-logos{display:flex;flex-wrap:wrap;gap:22px 46px;align-items:center;justify-content:space-between}
.q3d-logos img{height:clamp(38px,2.6vw,56px);width:auto;max-width:340px;object-fit:contain;display:block}
.q3d-logos span{font-weight:600;color:#111}
@media(max-width:600px){.q3d-logos{gap:18px 30px}.q3d-logos img{height:30px;max-width:170px}}
