html:has(.design-bento-page){scrollbar-width:none;scroll-behavior:auto}
html:has(.design-bento-page)::-webkit-scrollbar{display:none}
.design-bento-page{background:#000;color:#f4f4ef;margin:0;overflow-x:clip;-webkit-font-smoothing:antialiased}
.design-bento-page button{color:inherit}
.design-bento-page button:focus-visible,.design-bento-page a:focus-visible{outline:1px solid #fff;outline-offset:4px}
.bento-project{position:relative}
.bento-stage{position:relative;width:100%;height:76svh;overflow:hidden;isolation:isolate;touch-action:pan-y;outline:none}
.bento-grid{position:absolute;inset:0;pointer-events:none}
.bento-tile{position:absolute;left:50%;top:50%;display:block;width:400px;height:400px;padding:0;border:0;background:transparent;cursor:pointer;transform-origin:center;backface-visibility:hidden;will-change:transform;pointer-events:auto}
.bento-tile img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;user-select:none;-webkit-user-drag:none}
.bento-stage.is-dragging,.bento-stage.is-dragging .bento-tile{cursor:grabbing}
.bento-stage:focus-visible{outline:1px solid #555;outline-offset:-8px}
/* Text lives in normal document flow, leaving a generous native-scroll area. */
.bento-caption{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:24svh;padding:42px 6vw 30px;text-align:center;box-sizing:border-box}
.bento-caption h2{margin:0;font:400 clamp(20px,2.3vw,34px)/1.3 Monument,Arial,sans-serif;letter-spacing:normal}
.bento-caption button{padding:0;border:0;background:none;font:inherit;text-align:inherit;cursor:pointer}
.bento-caption p{margin:11px 0 0;font:400 13px/1.7 Arial,sans-serif;color:#aaa}
.bento-external{min-height:55svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:60px 24px}
.bento-external h2{font:400 clamp(20px,3vw,34px)/1.3 Monument,Arial,sans-serif;letter-spacing:normal;margin:0 0 15px}
.bento-external p{font:400 13px/1.6 Arial,sans-serif;color:#aaa}
.bento-external a{color:inherit;text-decoration:none}
.design-bento-page .wheel-collection h2{font:400 clamp(20px,2.3vw,34px)/1.3 Monument,Arial,sans-serif;letter-spacing:normal}
.design-bento-page .wheel-collection p{font:400 13px/1.7 Arial,sans-serif}
.design-bento-page .collection-dialog{background:#000}
.design-bento-page .wheel-collection h2{margin:0}
.design-bento-page .wheel-collection p{margin:11px 0 0}
html:has(.design-bento-page.study-modal-open){overflow:hidden}
@media(max-width:700px){
 .bento-caption{min-height:24svh;padding:40px 22px 28px}
 .bento-caption h2{font-size:clamp(19px,5vw,25px)}
 .bento-caption p{font-size:12px;max-width:300px}
}
@media(prefers-reduced-motion:reduce){.bento-tile img{object-fit:contain}}

/* A noninteractive duplicate softens only the front-card stacking handoff. */
.bento-handoff{position:absolute;left:50%;top:50%;pointer-events:none;transform-origin:center;will-change:opacity,transform}
.bento-handoff img{display:block;width:100%;height:100%;max-width:none;object-fit:contain}
