/* research — список исследований */

.rsl-page { font-family: 'Onest', sans-serif; color: #2B2A25; line-height: 1.6; }
.rsl-page a { text-decoration: none; }
.rsl-main { max-width: 1100px; margin: 0 auto; padding: clamp(48px, 7vw, 96px) clamp(20px, 4vw, 40px); padding-top: calc(72px + clamp(48px, 7vw, 96px)); }

.rsl-intro { max-width: 720px; }
.rsl-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #2F6E8F; margin-bottom: 16px; }
h1.rsl-h1 { font-family: 'Onest', sans-serif; font-weight: 800; letter-spacing: -.035em; font-size: clamp(34px, 5.5vw, 60px); line-height: 1.02; color: #1C1B18; }
.rsl-lead { font-size: clamp(16px, 1.5vw, 19px); color: #5A5A52; line-height: 1.6; margin-top: 20px; max-width: 66ch; }

.rsl-tabs { display: flex; gap: 9px; flex-wrap: wrap; margin-top: clamp(28px, 4vw, 44px); }
.rsl-tab { padding: 9px 18px; border-radius: 50px; font-size: 14px; font-weight: 600; cursor: pointer; border: 1.5px solid #DEDBD1; background: #FFFFFF; color: #6B6960; font-family: inherit; transition: border-color .15s ease, background .15s ease, color .15s ease; }
.rsl-tab-active { border-color: #2F6E8F; background: #2F6E8F; color: #FFFFFF; }

.rsl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; margin-top: clamp(32px, 4vw, 48px); }
.rsl-card { display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid #DEDBD1; border-radius: 22px; overflow: hidden; transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; color: inherit; }
.rsl-card:hover { box-shadow: 0 18px 40px -22px rgba(28,27,24,.28); transform: translateY(-3px); border-color: #C9C6BB; }
.rsl-cover { position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; display: flex; align-items: flex-end; padding: 20px; }
.rsl-cover-img { position: absolute; inset: 0; background-size: cover; background-position: center; }
.rsl-cover-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(18,17,14,.55) 0%, rgba(18,17,14,.05) 55%); }
.rsl-badge { position: absolute; top: 16px; left: 16px; display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px; border-radius: 50px; background: rgba(255,255,255,.85); color: #6B6960; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.rsl-badge-pub { background: #FFFFFF; color: #2F6E8F; }
.rsl-num { position: relative; font-family: 'Onest', sans-serif; font-weight: 800; font-size: 64px; letter-spacing: -.04em; color: rgba(255,255,255,.9); line-height: .8; }
.rsl-body { padding: 24px 24px 26px; display: flex; flex-direction: column; flex: 1; }
.rsl-meta { display: flex; gap: 14px; font-size: 12.5px; color: #8C8C84; font-weight: 500; }
h2.rsl-title { font-family: 'Onest', sans-serif; font-weight: 700; letter-spacing: -.02em; font-size: clamp(20px, 2vw, 24px); line-height: 1.16; color: #1C1B18; margin-top: 12px; }
.rsl-desc { font-size: 14.5px; color: #5A5A52; line-height: 1.55; margin-top: 12px; flex: 1; }
.rsl-cta { display: inline-flex; align-items: center; gap: 7px; margin-top: 18px; font-family: 'Onest', sans-serif; font-size: 14.5px; font-weight: 600; color: #2F6E8F; }
.rsl-cta span { font-size: 13px; }

.rsl-empty { font-size: 15px; color: #8C8C84; margin-top: 40px; text-align: center; }
.rsl-card[hidden], .rsl-grid[hidden] { display: none; }

.rsl-subscribe { margin-top: clamp(56px, 8vw, 96px); border: 1px solid #DEDBD1; border-radius: 24px; background: #F4F4F1; padding: clamp(28px, 4vw, 44px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.rsl-subscribe-text { max-width: 46ch; }
.rsl-subscribe-title { font-family: 'Onest', sans-serif; font-weight: 700; letter-spacing: -.02em; font-size: clamp(20px, 2.4vw, 26px); color: #1C1B18; }
.rsl-subscribe-text p { font-size: 14.5px; color: #5A5A52; line-height: 1.55; margin-top: 8px; }
.rsl-subscribe-links { display: flex; gap: 12px; flex-wrap: wrap; flex-shrink: 0; }
.rsl-subscribe-link { display: inline-flex; align-items: center; gap: 12px; background: #FFFFFF; color: #1C1B18; padding: 8px 24px 8px 8px; border-radius: 50px; font-size: 15.5px; font-weight: 600; border: 1px solid #E2DFD6; box-shadow: 0 2px 10px -6px rgba(28,27,24,.2); transition: box-shadow .15s ease, border-color .15s ease; }
.rsl-subscribe-link:hover { box-shadow: 0 8px 20px -10px rgba(45,124,163,.5); border-color: #CDE2EE; }
.rsl-subscribe-icon { width: 40px; height: 40px; border-radius: 50%; background-size: cover; background-position: center; flex-shrink: 0; }

@media (max-width: 720px) { .rsl-main { padding-left: 20px; padding-right: 20px; } }
