.c-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;width:min(1100px,100%);text-align:left}
.c-cards .c{
  position:relative;overflow:hidden;
  background:var(--soft);border:1px solid transparent;border-radius:16px;
  padding:26px 22px 24px;display:grid;gap:10px;align-content:start;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .4s var(--ease),border-color .4s var(--ease)
}
.c-cards .c::before{
  content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--brass);
  transition:width .5s var(--ease)
}
.c-cards a.c{cursor:pointer}
.c-cards a.c:hover{background:#fff;border-color:var(--brass);box-shadow:var(--shadow);transform:translateY(-4px)}
.c-cards a.c:hover::before{width:100%}
.c-cards a.c:focus-visible{outline-offset:2px}

.c-cards i{
  justify-self:start;padding:4px 12px;border-radius:999px;
  background:#fff;border:1px solid var(--line);
  font-style:normal;font-size:.78rem;font-weight:500;color:var(--ink2);
  transition:background .3s,color .3s,border-color .3s
}
.c-cards a.c:hover i{background:var(--brass);border-color:var(--brass);color:#fff}
.c-cards h3{font-size:1.25rem;font-weight:500;letter-spacing:-.01em;margin-top:4px}
.c-cards p{margin:0;font-size:.93rem;line-height:1.65;color:var(--ink2)}

.c-map{width:min(1100px,100%);height:clamp(280px,46svh,460px);flex:none}

@media(max-width:1000px){
  .c-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .c-cards{grid-template-columns:1fr}
  .c-map{height:clamp(260px,40svh,360px)}
}

@media(prefers-reduced-motion:reduce){
  .c-cards a.c:hover{transform:none}
}