.r2-row {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 gap: 0;
 border-radius: 1.2rem;
 overflow: hidden;
}

.r2-col {
 flex: 1 1 0;
 min-width: 180px;
 display: flex;
 align-items: center;
 gap: 1rem;
 border-right: 2px solid #DFDFDF;
 transition: background 0.1s ease;
}

.r2-col:last-child {
 border-right: none;
}

.r2-img {
 flex-shrink: 0;
 width: 48px;
 height: 48px;
 border-radius: 12px;
 display: flex;
 align-items: center;
 justify-content: center;
 color: #1e293b;
 box-shadow: 0 2px 6px rgba(0,0,0,0.02);
 object-fit: cover;
}

.r2-img svg {
 width: 32px;
 height: 32px;
 display: block;
 fill: none;
 stroke: currentColor;
 stroke-width: 1.8;
 stroke-linecap: round;
 stroke-linejoin: round;
}

.r2-text {
 display: flex;
 flex-direction: column;
 line-height: 1.4;
 min-width: 0;
 margin-right: 6px;
}

.r2-text .r2-title {
 font-weight: 700;
 color: #0b1a2b;
 letter-spacing: -0.01em;
 margin-bottom: 0.1rem;
}

.r2-text .r2-sub {
 font-weight: 400;
 color: #4a5a6e;
 opacity: 0.85;
 letter-spacing: -0.01em;
}

@media (max-width: 700px) {
 .r2-col {
  flex: 1 1 50%;
  border-right: 2px solid #DFDFDF;
 }
 .r2-col:nth-child(even) {
  border-right: none;
 }
 .r2-col:nth-child(odd):not(:last-child) {
  border-bottom: 2px solid #DFDFDF;
 }
 .r2-col:nth-child(even):not(:last-child) {
  border-bottom: 2px solid #DFDFDF;
 }
 .r2-col:last-child {
  border-bottom: none;
 }
}

@media (max-width: 450px) {
 .r2-col {
  flex: 1 1 100%;
  border-right: none;
  border-bottom: 2px solid #DFDFDF;
 }
 .r2-col:last-child {
  border-bottom: none;
 }
}

.r2-col, .r2-row, .r2-img, .r2-text, .r2-title, .r2-sub {
 box-sizing: border-box;
}