.bento {color:var(--advantages-text);scroll-margin-top:110px}
.bento__inner {max-width:var(--bento-max);margin:auto;padding:0 24px}
.bento__heading {margin:0 0 16px;overflow-wrap:anywhere;line-height:1.15}
.bento__intro {margin:0 0 32px;line-height:1.6;overflow-wrap:anywhere}
.bento__grid {display:grid;grid-template-columns:repeat(var(--bento-columns),minmax(0,1fr));grid-auto-rows:minmax(var(--bento-row),auto);gap:var(--bento-gap)}
.bento__card {position:relative;isolation:isolate;display:flex;flex-direction:column;grid-column:span var(--bento-span);grid-row:span var(--bento-height);min-width:0;overflow:hidden;border-radius:var(--bento-radius);background:var(--bento-card-bg);transition:transform .3s,box-shadow .3s}
.bento__image {display:block;flex-shrink:0;width:100%;height:var(--bento-image-height);transition:transform .6s}
.bento__card--background>.bento__image {position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.bento__overlay {position:absolute;inset:0;background:var(--bento-overlay);z-index:-1;pointer-events:none}
.bento__card--bottom>.bento__image {order:2}
.bento__card--left,.bento__card--right {flex-direction:row}
.bento__card--left>.bento__image,.bento__card--right>.bento__image {width:45%;height:auto;min-height:var(--bento-image-height);align-self:stretch}
.bento__card--right>.bento__image {order:2}
.bento__content {flex:1;min-width:0;display:flex;flex-direction:column;justify-content:var(--bento-position);gap:16px;padding:var(--bento-padding);overflow-wrap:anywhere;line-height:1.55;pointer-events:none}
.bento__content h3,.bento__content p {margin:0;line-height:1.3}
.bento__badge {display:inline-block;padding:5px 10px;border-radius:8px;line-height:1.4}
.bento__card-link {position:absolute;inset:0;z-index:1;border-radius:inherit}
.bento__buttons,.bento__html {position:relative;z-index:2;pointer-events:auto}
.bento__html img,.bento__html video,.bento__html iframe {max-width:100%}
.bento__buttons {display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;align-items:center}
.bento__buttons--left {justify-content:flex-start}.bento__buttons--center {justify-content:center}.bento__buttons--right {justify-content:flex-end}
.bento__button {display:inline-flex;justify-content:center;align-items:center;padding:11px 18px;text-decoration:none;max-width:100%;box-sizing:border-box;background:var(--bento-button-bg);border:1px solid var(--bento-button-bg);transition:filter .2s;overflow-wrap:anywhere}
.bento__button--secondary {background:transparent}.bento__button--ghost {background:transparent;border-color:transparent}
.bento__button:hover {filter:brightness(1.18)}
.bento__card:focus-within {outline:2px solid var(--advantages-text);outline-offset:3px}
.bento__button:focus-visible {outline:2px solid currentColor;outline-offset:3px}
@media(max-width:1024px) {.bento__grid{grid-template-columns:repeat(var(--bento-tablet),minmax(0,1fr))}.bento__card{grid-column:span var(--bento-tablet-span)}}
@media(max-width:600px) {
.bento__inner{padding:0 16px}.bento__grid{grid-template-columns:repeat(var(--bento-mobile),minmax(0,1fr));grid-auto-rows:auto}
.bento__card{grid-column:span var(--bento-mobile-span);grid-row:auto;min-height:var(--bento-row)}
.bento__card--left,.bento__card--right{flex-direction:column}.bento__card--left>.bento__image,.bento__card--right>.bento__image{width:100%;height:var(--bento-image-height);min-height:0;order:0}
.bento__content{padding:min(var(--bento-padding),24px)}
}
@media(prefers-reduced-motion:reduce) {.bento__card,.bento__image,.bento__button,.bento__card--shine::after{transition:none}}

/* Composed tiles: a readable foreground, separate decoration and independent light. */
.bento__card {--bento-rise:0px;--bento-rx:0deg;--bento-ry:0deg;transform:perspective(1000px) translateY(var(--bento-rise));transition:transform var(--bento-speed,400ms) ease,box-shadow var(--bento-speed,400ms) ease}
.bento__content {position:relative;z-index:1}
.bento__card-link {z-index:2}
.bento__buttons,.bento__html {z-index:3}
.bento__card:has(.bento__index) .bento__content {padding-top:max(64px,var(--bento-padding))}
.bento__index {position:absolute;top:22px;left:var(--bento-padding);z-index:1;font:500 12px/1 monospace;letter-spacing:.16em;opacity:.55;pointer-events:none}
.bento__art {position:absolute;right:-12%;top:-20%;width:90%;max-width:440px;aspect-ratio:1;pointer-events:none;color:var(--bento-accent);opacity:.35;background:radial-gradient(ellipse,#70dccc18,transparent 65%);transform:rotate(-22deg)}
.bento__art svg {width:100%;height:100%;stroke:currentColor;stroke-width:.75}
.bento__art path {opacity:.35}.bento__orbit-dot {fill:currentColor;stroke:none}
.bento__art--grid {inset:0;width:100%;height:100%;max-width:none;transform:none;background-image:linear-gradient(to right,#ffffff0d 1px,transparent 1px),linear-gradient(to bottom,#ffffff0d 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(140deg,#000,transparent 75%)}
.bento__art--grid svg {display:none}
.bento__card--glass {background-image:none}
.bento__card--glass::before {content:"";position:absolute;inset:0;border-radius:inherit;z-index:1;pointer-events:none;background:linear-gradient(125deg,#ffffff35,transparent 45%,#ffffff10);box-shadow:inset 0 1px 0 #ffffff80,inset 1px 0 0 #ffffff20}
.bento__light {position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--bento-px,75%) var(--bento-py,15%),rgb(255 255 255 / var(--bento-light-alpha,.35)),transparent 55%);opacity:0;transition:opacity .25s}
.bento__card--glass>.bento__light {opacity:.3}
.bento__card.is-active>.bento__light {opacity:1}
.bento__card--shine::after {display:none}
@media(prefers-reduced-motion:no-preference) {
.bento__card--lift.is-active {--bento-rise:-10px;transform:perspective(1000px) translateY(var(--bento-rise));box-shadow:0 28px 50px #0005}
.bento__card--tilt.is-active {transform:perspective(1000px) translateY(var(--bento-rise)) rotateX(var(--bento-rx)) rotateY(var(--bento-ry))}
.bento__card--zoom.is-active>.bento__image {transform:scale(1.12)}
.bento__card.is-active .bento__art--orbits {transform:rotate(0deg) scale(1.08);transition:transform 1.2s ease}
.bento__art--orbits {transition:transform 1.2s ease}
}
@media(max-width:1024px) {.bento__card{grid-row:auto}}
@media(prefers-reduced-motion:reduce) {.bento__card.is-active{transform:none}.bento__card.is-active>.bento__image{transform:none}}
.bento__video {position:absolute;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none;transition:transform .6s}
.bento__media-open {position:absolute;right:18px;top:18px;z-index:5;display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff55;border-radius:50%;background:#0008;color:#fff;cursor:pointer;backdrop-filter:blur(10px)}
.bento__media-open:focus-visible {outline:2px solid white;outline-offset:3px}
@media(prefers-reduced-motion:no-preference) {.bento__card--zoom.is-active>.bento__video{transform:scale(1.12)}}
/* Keep independent buttons above the full-card link. */
.bento__content {z-index:3}

.bento-viewer {position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:64px 24px 24px;box-sizing:border-box;background:#050912ed;color:white}
.bento-viewer::backdrop {background:#000b;backdrop-filter:blur(12px)}
.bento-viewer__content {height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none}
.bento-viewer__content img,.bento-viewer__content video {display:block;max-width:100%;max-height:100%;object-fit:contain;pointer-events:auto;border-radius:12px}
.bento-viewer__close {position:absolute;right:20px;top:16px;width:40px;height:40px;border:1px solid #fff6;border-radius:50%;background:#ffffff15;color:white;font-size:28px;cursor:pointer}
.bento-viewer__close:focus-visible {outline:2px solid white;outline-offset:3px}
