.agency-credit-wrap { padding-top: 14px; padding-bottom: 14px; }
.agency-credit {
  --agency-mark-size: 72px;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 72px minmax(190px, 1fr) 112px;
  align-items: center;
  gap: 18px;
  padding: 12px 18px;
  border: 1px solid #d9d9c5;
  border-radius: 5px;
  background: #fffdf7;
  color: #0b3442;
  text-decoration: none;
}
.agency-credit:hover { border-color: #a77922; }
.agency-credit:focus-visible { outline: 3px solid #9a6410; outline-offset: 4px; }
.agency-founder { display: flex; align-items: center; gap: 14px; min-width: 0; }
.agency-photo { position:relative; display:block; box-sizing:border-box; flex:0 0 var(--agency-mark-size); width:var(--agency-mark-size); height:var(--agency-mark-size); overflow:hidden; border:2px solid #dfb654; border-radius:8px; background:#e7e1d4; }
.agency-photo img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 50%; transform:scale(1.8); transform-origin:52% 61%; }
.agency-founder-copy, .agency-credit-copy { display: grid; gap: 5px; min-width: 0; }
.agency-founder-copy strong { font-size: 20px; line-height: 1.2; }
.agency-founder-copy small { color: #506264; font-size: 12px; line-height: 1.5; }
.agency-photo-note { color: #506264; font-size: 10px; line-height: 1.4; }
.agency-credit .agency-logo {
  box-sizing: border-box;
  width: var(--agency-mark-size);
  height: var(--agency-mark-size);
  padding: 2px;
  border-radius: 4px;
  background: #0b111a;
  object-fit: contain;
}
.agency-credit-copy small { font-size: 9px; font-weight: 700; letter-spacing: 1.4px; }
.agency-credit-copy strong { font-size: 18px; line-height: 1.2; }
.agency-credit-copy > span { font-size: 11px; line-height: 1.5; text-decoration: underline; text-underline-offset: 4px; }
.agency-site-thumb { display: block; overflow: hidden; border: 1px solid #0b111a; border-radius: 3px; }
.agency-site-thumb img { display: block; width: 100%; aspect-ratio: 1.45; height: auto; object-fit: cover; object-position: top; }
@media (max-width: 900px) {
  .agency-credit { --agency-mark-size: 64px; grid-template-columns: minmax(240px, 1fr) 64px minmax(160px, 1fr); gap: 12px; }
  .agency-site-thumb { display: none; }
}
@media (max-width: 600px) {
  .agency-credit-wrap { padding: 12px 20px; }
  .agency-credit { grid-template-columns: 64px minmax(0, 1fr); padding: 14px; }
  .agency-founder { grid-column: 1 / -1; padding-bottom: 14px; margin-bottom: 2px; border-bottom: 1px solid #d9ded6; }
  .agency-founder-copy strong { font-size: 21px; }
  .agency-credit-copy strong { font-size: 17px; }
}
