/* Shared image composition: neutral surfaces, original brand accents. */
.menu-directory { background:#fff; }
.menu-visual-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.menu-visual-card { display:block; border:1px solid #dedede; border-radius:12px; overflow:hidden; min-width:0; background:#fff; transition:box-shadow .2s,border-color .2s; }
.menu-visual-card:hover,.menu-visual-card:focus-visible { border-color:#98b0e8; box-shadow:0 12px 32px #14295b0a; }
.menu-visual-art { background:#f1f3f7; }
.menu-visual-art img { display:block; width:100%; height:180px; object-fit:contain; }
.menu-visual-copy { padding:25px 27px 28px; }
.menu-visual-copy small { color:#626262; font-size:10px; letter-spacing:.12em; }
.menu-visual-copy h3 { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:24px; font-weight:750; margin:14px 0; color:#171717; }
.menu-visual-copy h3 span { font-size:21px; color:#2563ed; }
.menu-visual-copy p { font-size:16px; line-height:1.8; color:#555; word-break:keep-all; }
.solution-map .map-scene { display:block; width:100%; height:70px; object-fit:contain; margin:4px 0 12px; }
.solution-map li { padding-top:14px; }
.solution-map li strong { margin-top:0; }
.reading-feature-grid .reading-feature-scene { display:block; width:100%; height:90px; object-fit:contain; margin:0 auto 17px; }
@media (max-width:1024px) {
 .menu-visual-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
}
@media (max-width:640px) {
 .menu-visual-grid { grid-template-columns:1fr; }
 .menu-visual-art img { height:165px; }
 .menu-visual-copy { padding:22px; }
 .menu-visual-copy h3 { font-size:22px; }
 .menu-visual-copy p { font-size:15px; }
 .solution-map .map-scene { height:60px; }
}
@media (prefers-reduced-motion:reduce) { .menu-visual-card { transition:none; } }
