.mbento { display: grid; gap: clamp(14px, 1.6 * var(--cvw), 24px); grid-auto-flow: dense; }
.mbento--m4 { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; }
.mbento-c2 { grid-column: span 2; }
.mbento-r2 { grid-row: span 2; }
@media (max-width: 1024px) { .mbento--m4 { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 190px; } }
@media (max-width: 480px) { .mbento--m4 { grid-auto-rows: 140px; } }
.mbento__tile { position: relative; overflow: hidden; border-radius: 1.5rem; margin: 0; background: #efece7; }
.mtile { position: absolute; inset: 0; overflow: hidden; }
.mtile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
@media (hover: hover) and (pointer: fine) {
  .mbento__tile:hover .mtile img { transform: scale(1.05) translateZ(0); }
}
.mtile:focus-visible img { transform: scale(1.05) translateZ(0); }
.mbento-text { display: flex; flex-direction: column; justify-content: center; padding: 26px 30px; background: #efece7; color: #1d4a4b; }
.mbento-text__head { font-family: 'Outfit', sans-serif; font-size: clamp(22px, 2.2 * var(--cvw), 34px); font-weight: 700; line-height: 1.12; letter-spacing: -.01em; }
.mbento-text__sub { margin-top: 10px; font-size: .95rem; line-height: 1.5; color: #3f3f46; }
@media (max-width: 768px) { .mbento-text { padding: 18px 20px; } }
.mtile--more img { filter: brightness(.42); transition: transform .5s ease, filter .4s ease; }
@media (hover: hover) and (pointer: fine) {
  .mbento__tile:hover .mtile--more img { filter: brightness(.5); }
}
.mtile__more { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: #fff; font-size: 14px; font-weight: 600; line-height: 1.3; pointer-events: none; }
.mtile__more b { font-family: 'Outfit', sans-serif; font-size: 34px; font-weight: 700; line-height: 1; }
html.reduce-motion .mtile img { transition: none; }
html.reduce-motion .mbento__tile:hover .mtile img, html.reduce-motion .mtile:focus-visible img { transform: none; }
