.tool-photo-group + .tool-photo-group { margin-top: 1.35rem }
.tool-photo-group h3 { font-size: 1rem; margin: 0 0 .55rem }
.photo-list { display: grid; grid-template-columns: minmax(0,1fr); gap: .65rem; margin: 0; padding: 0; list-style: none }
.photo-card {
 display: grid; grid-template-columns: 82px minmax(0,1fr); align-items: center;
 height: 100%; min-height: 76px; overflow: hidden; border-radius: 13px;
 background: linear-gradient(120deg,#fcf1fb,#f2f5ff 75%,#eef7ff);
 border: 1px solid #e6dcf2; color: #30186a; text-decoration: none;
}
.photo-card:hover { border-color: #9c77d3; color: #4e27a5 }
.photo-card picture { display: block; position: relative; align-self: stretch; min-width: 0; background: #eae1f7 }
.photo-card img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover }
.photo-copy { display: grid; gap: .24rem; padding: .62rem .72rem; min-width: 0; overflow-wrap: anywhere }
.photo-copy strong { line-height: 1.25 }
.photo-copy span { font-size: .86rem; line-height: 1.38; color: #594c70 }
.tool-photo-card { grid-template-columns: 112px minmax(0,1fr); box-shadow: 0 2px 6px #44228112 }
.text-cards { display: grid; grid-template-columns: minmax(0,1fr); gap: .5rem; margin: 0; padding: 0; list-style: none }
.text-cards a {
 display: grid; align-content: start; gap: .22rem; padding: .55rem .7rem; min-height: 44px; height: 100%;
 border-radius: 10px; background: #f4effc; color: #30186a; text-decoration: none; overflow-wrap: anywhere;
}
.text-cards a:hover { background: #ece5fa; text-decoration: underline }
.text-cards strong { line-height: 1.25 }
.text-cards span { font-size: .875rem; color: #514465; line-height: 1.4 }
.text-cards small { font-size: .78rem; font-weight: 700; color: #543288 }
@media (min-width:768px) {
 .text-cards { grid-template-columns: repeat(2,minmax(0,1fr)) }
 .photo-list--tool { grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem }
 .tool-photo-card { grid-template-columns: minmax(0,1fr); grid-template-rows: auto 1fr; align-items: start }
 .tool-photo-card picture { aspect-ratio: 16/10 }
 .tool-photo-copy { padding: .75rem .85rem .85rem }
}
