.efco-rg { max-width: 46rem; margin: 0 auto; padding-bottom: 2rem; }
.efco-rg.efco-rg-wide { max-width: 64rem; }
.efco-rg .efco-rg-kicker { text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; font-weight: 600; margin: 0; }
.efco-rg h1 { font-size: 1.8rem; line-height: 1.2; margin: .2rem 0 .8rem; }
.efco-rg h2 { font-size: 1.2rem; margin: 2rem 0 .6rem; padding-bottom: .3rem; border-bottom: 1px solid #e3e3e3; }
.efco-rg-img { max-width: 100%; height: auto; border-radius: 4px; margin: .5rem 0 1rem; display: block; }
.efco-rg-mat { list-style: none; padding: 0; margin: 0; }
.efco-rg-mat li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid #ececec; }
.efco-rg-nr { color: #777; font-variant-numeric: tabular-nums; font-size: .85rem; white-space: nowrap; }
.efco-rg-note { color: #666; font-size: .92rem; margin-top: .8rem; }
.efco-rg-steps { padding-left: 1.2rem; }
.efco-rg-steps li { margin: .9rem 0; }
.efco-rg-foot { margin-top: 2rem; color: #666; }
.efco-rg-back { margin-top: 1rem; }
.efco-rg-lead { color: #555; max-width: 40rem; }
.efco-rg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 1rem; margin-top: .6rem; }
.efco-rg-card { display: flex; flex-direction: column; gap: .35rem; color: inherit; text-decoration: none; border: 1px solid #e3e3e3; border-radius: 6px; padding: .6rem; background: #fff; }
.efco-rg-card:hover { border-color: #b0245b; }
.efco-rg-card img { max-width: 100%; height: auto; border-radius: 4px; }
.efco-rg-card-title { font-weight: 600; }
.efco-rg-card-text { color: #666; font-size: .9rem; line-height: 1.4; }
@media (max-width: 480px) { .efco-rg h1 { font-size: 1.5rem; } .efco-rg-mat li { flex-direction: column; gap: .1rem; } }
.efco-rg-tips { padding-left: 1.2rem; }
.efco-rg-tips li { margin: .6rem 0; }
.efco-rg-hero { max-width: 26rem; width: 100%; height: auto; margin: 1rem 0 .5rem; }
.efco-rg-card img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
