.ipddr, .ipddr * { box-sizing: border-box; }
.ipddr { max-width: 1180px; margin: 48px auto; padding: clamp(24px, 5vw, 56px); border-radius: 28px; background: #f7f8fb; color: #101b35; font-family: inherit; }
.ipddr__intro { max-width: 700px; margin-bottom: 28px; }
.ipddr__eyebrow { color: #d71932; font-size: .78rem; font-weight: 800; letter-spacing: .14em; margin: 0 0 10px; }
.ipddr__intro h2 { font-size: clamp(1.85rem, 3.7vw, 3rem); line-height: 1.14; margin: 0 0 12px; color: #101b35; }
.ipddr__intro > p:last-child { margin: 0; color: #455168; font-size: 1.05rem; }
.ipddr__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ipddr .ipddr__card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 25px; border: 1px solid #dfe4ed; border-radius: 20px; background: #fff; color: #101b35; text-decoration: none; box-shadow: 0 6px 24px rgba(16,27,53,.04); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ipddr .ipddr__card:hover { transform: translateY(-4px); border-color: #d71932; box-shadow: 0 12px 30px rgba(16,27,53,.11); color: #101b35; }
.ipddr .ipddr__card:focus-visible { outline: 3px solid #d71932; outline-offset: 3px; }
.ipddr__icon { font-size: 2rem; line-height: 1.3; margin-bottom: 14px; }
.ipddr__card strong { display: block; font-size: 1.22rem; line-height: 1.28; margin-bottom: 9px; }
.ipddr__description { display: block; color: #455168; line-height: 1.5; margin-bottom: 22px; }
.ipddr__action { display: block; margin-top: auto; font-weight: 750; color: #bd122a; }
.ipddr__action span { display: inline-block; margin-left: 4px; transition: transform .2s ease; }
.ipddr__card:hover .ipddr__action span { transform: translateX(4px); }
@media (max-width: 680px) { .ipddr { margin: 30px auto; border-radius: 18px; } .ipddr__grid { grid-template-columns: 1fr; } .ipddr .ipddr__card { padding: 21px; } }
@media (prefers-reduced-motion: reduce) { .ipddr .ipddr__card, .ipddr__action span { transition: none; } }
