.concept-showcase { background:#f3f3eb; }
.concept-heading { display:grid; grid-template-columns:1.1fr .55fr; align-items:end; gap:12%; margin:72px 0 54px; }
.concept-heading h2 { font:400 clamp(46px,6vw,88px)/1.05 var(--serif); letter-spacing:-.045em; margin-top:22px; }
.concept-heading h2 em { font-style:italic; color:#748578; }
.concept-heading > p { color:#58675c; max-width:440px; line-height:1.8; font-size:16px; }
.concept-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.concept-card { min-width:0; background:#e7ebe2; display:flex; flex-direction:column; }
.concept-card-image { display:block; position:relative; aspect-ratio:1.15; overflow:hidden; background:#dce4dc; }
.concept-card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.concept-card-image:hover img { transform:scale(1.035); }
.concept-card-image span { position:absolute; left:18px; bottom:18px; padding:9px 12px; background:rgba(247,247,240,.93); color:#304239; font-size:12px; letter-spacing:.03em; }
.concept-card-body { display:flex; flex-direction:column; align-items:flex-start; flex:1; padding:28px 26px 26px; }
.concept-card-kicker { color:#5b6d60; font-size:11px; letter-spacing:.1em; font-weight:700; }
.concept-card h3 { margin:14px 0 12px; font:400 clamp(34px,3vw,48px)/1.1 var(--serif); letter-spacing:-.03em; }
.concept-card h3 a { color:inherit; text-decoration:none; }
.concept-card-body > p:not(.concept-card-kicker) { color:#5a695d; font-size:15px; line-height:1.65; max-width:310px; margin-bottom:30px; }
.concept-card-link { margin-top:auto; width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #b7c3b7; padding-top:18px; color:#233b2d; font-size:14px; font-weight:600; text-decoration:none; }
.concept-card-link span { font-size:20px; }
.concept-card a:focus-visible { outline:3px solid #345c42; outline-offset:4px; }
.concept-note { color:#66736a; font-size:13px; margin-top:26px; max-width:680px; line-height:1.6; }
@media(max-width:900px) { .concept-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .concept-heading { gap:7%; } }
@media(max-width:650px) { .concept-heading { display:block; margin:44px 0 32px; } .concept-heading > p { margin-top:22px; } .concept-grid { grid-template-columns:1fr; gap:18px; } .concept-card-image { aspect-ratio:1.35; } .concept-card-body { padding:23px 22px; } }
@media(prefers-reduced-motion:reduce) { .concept-card-image img { transition:none; } }
