/* Additions for Concepts use the existing Japan 301 colours, fonts and components. */
.concepts-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:30px;margin:34px 0 30px;padding:26px;border:1px solid var(--border-soft);border-radius:var(--radius-medium);background:rgba(255,255,255,.72);box-shadow:var(--shadow-card)}
.concepts-eyebrow{font-size:.72rem;letter-spacing:.14em;color:var(--color-red);margin-bottom:10px}
.concepts-preview h2{font-size:clamp(1.65rem,2.2vw,2rem);font-weight:var(--font-weight-regular);line-height:1.15;margin-bottom:14px}
.concepts-preview-copy>p:not(.concepts-eyebrow){color:var(--color-muted);font-size:.95rem;line-height:1.6}
.concepts-preview-copy>.concepts-preview-note{font-size:.78rem!important;margin-top:10px}
.concepts-preview-copy>.button{margin-top:20px;gap:8px}
.concepts-preview-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.concepts-preview-tile{display:block;min-width:0;border:1px solid var(--border-soft);border-radius:var(--radius-small);overflow:hidden;background:#fff;transition:transform .18s,box-shadow .18s}
.concepts-preview-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}
.concepts-preview-tile:focus-visible{outline:2px solid var(--color-red);outline-offset:3px}
.concepts-preview-tile img{width:100%;height:auto;aspect-ratio:1.44;object-fit:cover;object-position:top;display:block}
.concepts-preview-tile>span{display:flex;justify-content:space-between;gap:4px;padding:10px 8px;font-size:.72rem;line-height:1.4;color:var(--color-text);overflow-wrap:anywhere}
.concepts-preview-tile>span>span{color:var(--color-red)}
.about-section .concepts-inline{border-top:1px solid var(--border-soft);padding-top:13px;margin-top:18px}
.concepts-inline .card-link{display:inline-block;margin-top:5px;font-size:inherit}
@media(max-width:980px){.concepts-preview{grid-template-columns:1fr;gap:22px}.concepts-preview-gallery{max-width:640px}}
@media(max-width:760px){.concepts-preview{padding:22px 18px;gap:18px}.concepts-preview h2{font-size:1.5rem}.concepts-preview-copy>p:not(.concepts-eyebrow){font-size:.9rem}.concepts-preview-gallery{gap:8px}.concepts-preview-tile>span{font-size:.65rem;padding:8px 6px}}
@media(prefers-reduced-motion:reduce){.concepts-preview-tile{transition:none}}
