/* Four equal entrances share one rectangular panel. Images retain their full frame. */
.home-feature-mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:22px 0;background:#c9c9b9;border:1px solid #c9c9b9;border-radius:5px;overflow:hidden}
.feature-tile{--tile-accent:#775537;min-width:0;display:flex;background:#fcf8ef;border-top:3px solid var(--tile-accent)}
.feature-tile-karuta{--tile-accent:#365d6c;background:#f2f7f8}.feature-tile-learning{--tile-accent:#3b6258;background:#f1f5ed}.feature-tile-converter{--tile-accent:#8c573e;background:#fbf2e9}
.feature-tile-link{display:flex;flex:1;flex-direction:column;gap:12px;min-width:0;padding:18px;color:#273d3b!important;text-decoration:none!important}
.feature-tile-top{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:12px;align-items:center;min-height:0}.feature-tile-top>div{min-width:0}
.home-feature-mosaic .feature-tile-label{margin:0 0 8px!important;font-size:.6875rem!important;line-height:1.6!important;font-weight:700;letter-spacing:.02em;color:var(--tile-accent)}
.home-feature-mosaic h2{margin:0!important;padding:0!important;font-family:"Shippori Mincho",serif;font-size:1.25rem!important;line-height:1.5!important;letter-spacing:0;color:#273d3b!important}.home-feature-mosaic h2 small{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:.75rem;line-height:1.7;font-weight:500}
.feature-tile-top img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;border:1px solid #d8d4c5;border-radius:2px}
.home-feature-mosaic .feature-tile-description{margin:0!important;font-size:.875rem!important;line-height:1.8!important;color:#40504a}
.feature-tile-readings{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:.8125rem;font-weight:700}.feature-tile-readings rt{font-size:.5625rem;font-weight:400}
.feature-tile-words{display:flex;flex-wrap:wrap;gap:5px 12px;list-style:none;margin:0;padding:0;font-size:.75rem;color:#425d64}.feature-tile-words li{margin:0;padding:0}
.feature-tile-action{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid #ced5ca;font-size:.875rem;font-weight:700;color:var(--tile-accent)}
.feature-tile-link:hover .feature-tile-action{text-decoration:underline;text-underline-offset:4px}.feature-tile-link:focus-visible{outline:3px solid var(--tile-accent);outline-offset:-4px;background:#fffdf6}
.feature-tile-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;align-items:center;padding:15px 5px;border-block:1px solid #b6c5b7;color:#3b6258}.feature-tile-numbers span{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:.625rem;text-align:center}.feature-tile-numbers b{font-family:Georgia,serif;font-size:1.4rem;line-height:1.1}
.feature-tile-translation{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;padding:15px 7px;border-block:1px solid #d6c1ac;color:#8c573e}.feature-tile-translation span{font-size:.8125rem;font-weight:700;white-space:nowrap}.feature-tile-translation b{font-size:1rem;font-weight:400}
.feature-mosaic-sources{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:12px 18px;background:#faf9f2;color:#58645b;font-size:.75rem;line-height:1.8}.feature-mosaic-sources a{color:#365b57;text-decoration:underline;text-underline-offset:3px}.feature-mosaic-sources a:focus-visible{outline:2px solid #365b57;outline-offset:3px}
@media(max-width:650px){.home-feature-mosaic{grid-template-columns:minmax(0,1fr);margin:16px 0}.feature-tile-link{padding:16px;gap:10px}.feature-tile-top{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:0}.home-feature-mosaic h2{font-size:1.125rem!important}.home-feature-mosaic .feature-tile-description{font-size:.875rem!important}.feature-tile-numbers{padding:12px 3px}.feature-tile-numbers b{font-size:1.25rem}.feature-tile-numbers span{font-size:.625rem}.feature-mosaic-sources{gap:7px 16px;padding:12px 16px}.feature-mosaic-sources>span{width:100%}}
@media(max-width:360px){.feature-tile-top{gap:9px;grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}.home-feature-mosaic h2{font-size:1.0625rem!important}.home-feature-mosaic .feature-tile-label{font-size:.6875rem!important}.feature-tile-link{padding:14px}.feature-tile-numbers b{font-size:1rem}.feature-tile-translation{gap:4px;padding-inline:3px}.feature-tile-translation span{font-size:.75rem}}
@media(min-width:651px) and (max-width:900px){.feature-tile-numbers{gap:3px;padding-inline:3px}.feature-tile-numbers b{font-size:1rem}}
