/* GleeLaw counsel cards v1. One component owns geometry and interaction states.
   Source portrait bytes and all person facts remain unchanged. */
.gl-counsel-cards {
  --gl-card-gap: 28px;
  --gl-card-padding: 28px;
  --gl-portrait-width: 38%;
  --gl-portrait-height: 280px;
  width: min(1312px, calc(100% - clamp(24px, 4.6vw, 68px) * 2));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gl-card-gap);
  align-items: stretch;
}
.gl-counsel-card {
  box-sizing: border-box;
  min-width: 0;
  display: grid;
  grid-template-columns: var(--gl-portrait-width) minmax(0, 1fr);
  align-items: stretch;
  gap: 24px;
  padding: var(--gl-card-padding);
  margin: 0;
  background: #fff;
  color: #1b1618;
  border: 1px solid #ddd7d3;
  border-radius: 4px;
  text-decoration: none;
  box-shadow: 0 4px 18px rgb(27 22 24 / 3%);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.gl-counsel-card:hover {
  background: #fff;
  color: #1b1618;
  border-color: #a99590;
  box-shadow: 0 8px 24px rgb(27 22 24 / 7%);
}
.gl-counsel-card:focus:not(:focus-visible) { outline: none; }
.gl-counsel-card:focus-visible { outline: 2px solid #86121d; outline-offset: 4px; }
.gl-counsel-card__portrait {
  min-width: 0;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: #fff;
}
.gl-counsel-card__portrait img {
  display: block;
  width: 100%;
  height: var(--gl-portrait-height);
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center bottom;
  margin: 0;
  padding: 0;
}
.gl-counsel-card__content {
  min-width: 0;
  display: grid;
  grid-template-rows: minmax(40px, auto) auto 1fr auto;
  align-content: start;
  gap: 12px;
}
.gl-counsel-card__role {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #86121d;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.gl-counsel-card__name {
  margin: 0;
  padding: 0;
  color: #1b1618;
  font-size: 30px;
  line-height: 1.15;
  font-weight: 600;
  overflow-wrap: normal;
  word-break: normal;
}
.gl-counsel-card__summary {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  font-family: inherit;
  color: #5a5254;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 400;
  overflow-wrap: break-word;
}
.gl-counsel-card__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  margin: 8px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid #ddd7d3;
  color: #86121d;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
.gl-counsel-card__action em { display: flex; width: 20px; height: 20px; }
.gl-counsel-card__action svg { width: 20px; height: 20px; stroke: currentColor; }
.gl-counsel-card:lang(ko) .gl-counsel-card__name,
.gl-counsel-card:lang(ko) .gl-counsel-card__role { word-break: keep-all; }
@media (min-width: 1600px) {
  .gl-counsel-cards { --gl-card-padding: 32px; --gl-portrait-height: 300px; }
  .gl-counsel-card__name { font-size: 32px; }
  .gl-counsel-card__summary { font-size: 16px; }
}
@media (max-width: 1099px) {
  .gl-counsel-cards { grid-template-columns: minmax(0, 1fr); --gl-card-gap: 24px; --gl-portrait-width: 32%; }
  .gl-counsel-card { gap: 32px; }
  .gl-counsel-card__content { grid-template-rows: auto auto 1fr auto; }
  .gl-counsel-card__summary { font-size: 16px; }
}
@media (max-width: 599px) {
  .gl-counsel-cards { --gl-card-padding: 24px; --gl-portrait-height: 270px; }
  .gl-counsel-card { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .gl-counsel-card__portrait { height: var(--gl-portrait-height); }
  .gl-counsel-card__portrait img { width: auto; height: 100%; max-width: 100%; }
  .gl-counsel-card__content { gap: 12px; }
  .gl-counsel-card__role { min-height: 0; font-size: 12px; }
  .gl-counsel-card__name { font-size: 30px; }
}
@media (max-width: 350px) {
  .gl-counsel-cards { width: calc(100% - 40px); --gl-card-padding: 20px; --gl-portrait-height: 240px; }
  .gl-counsel-card__name { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) { .gl-counsel-card { transition: none; } }
