/* Catalogue-only design; article pages keep their existing styles. */
.expert-page--catalog { --ex-ink:#171b32; --ex-text:#52607a; --ex-muted:#7c8099; --ex-line:#e9e5f2; --ex-violet:#6014f5; --ex-gradient:linear-gradient(110deg,#5910f5,#8b1ce7 55%,#e93796); width:100%; }
.expert-page--catalog :is(a,button):focus-visible { outline:3px solid #9869ff; outline-offset:5px; }
.expert-page--catalog .expert-page__hero { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(32px,6vw,88px); align-items:center; padding:clamp(32px,5vw,64px) 0 clamp(32px,4vw,52px); border:0; border-bottom:1px solid var(--ex-line); border-radius:0; background:none; box-shadow:none; overflow:visible; }
.expert-page--catalog .expert-page__hero h1 { max-width:620px; font-size:clamp(42px,5.3vw,76px); line-height:1.04; letter-spacing:-.045em; }
.expert-page--catalog .expert-page__hero h1 span { display:block; }
.expert-page--catalog .expert-page__eyebrow,.expert-page--catalog .expert-page__heading span { color:var(--ex-violet); font-size:12px; letter-spacing:.1em; margin-bottom:20px; }
.expert-page--catalog .expert-page__topics { gap:8px 16px; margin-top:28px; }
.expert-page--catalog .expert-page__topics span { padding:0; background:none; border:0; border-radius:0; color:var(--ex-text); font-size:13px; font-weight:400; }
.expert-page--catalog .expert-page__topics span + span::before { content:'·'; margin-right:16px; color:#b1a4c6; }
.expert-page__intro { min-width:0; }
.expert-page__intro > p { max-width:540px; margin:0; color:var(--ex-text); font-size:clamp(17px,1.65vw,20px); line-height:1.75; }
.expert-page__author { display:flex; align-items:center; gap:14px; width:fit-content; max-width:100%; margin-top:28px; color:var(--ex-ink); text-decoration:none; border-radius:8px; }
.expert-page__author img { flex:none; width:48px; height:48px; border-radius:50%; object-fit:cover; background:#f3eefb; }
.expert-page__author strong { display:block; font-size:15px; line-height:1.4; }
.expert-page__author small { display:block; margin-top:3px; color:var(--ex-text); font-size:12px; line-height:1.5; }
.expert-page__author:hover strong { color:var(--ex-violet); }
.expert-page--catalog .expert-page__catalog { margin-top:clamp(42px,5vw,72px); }
.expert-page--catalog .expert-page__heading { gap:40px; margin-bottom:30px; }
.expert-page--catalog .expert-page__heading h2 { font-size:clamp(30px,3.6vw,48px); line-height:1.15; letter-spacing:-.035em; }
.expert-page--catalog .expert-page__heading > p { max-width:440px; font-size:16px; line-height:1.7; }
.expert-page--catalog .expert-catalog { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.expert-page--catalog .expert-card { min-height:0; border-color:var(--ex-line); border-radius:22px; box-shadow:0 14px 40px #27184c0c; transition:border-color .2s,box-shadow .2s; }
.expert-page--catalog .expert-card:hover { transform:none; border-color:#b996f5; box-shadow:0 18px 45px #27184c15; }
/* Aspect ratio reserves image space, independent of title length or source size. */
.expert-page--catalog .expert-card__media { position:relative; display:flex; flex:none; width:100%; height:auto; min-height:0; aspect-ratio:16/10; align-items:center; justify-content:center; background:linear-gradient(145deg,#f7f4fc,#fdfcff); border-bottom:1px solid #eee9f5; }
.expert-page--catalog .expert-card__media img { position:absolute; inset:0; display:block; width:100%; height:100%; min-height:0; max-height:100%; object-fit:contain; object-position:center; transform:none; transition:none; }
.expert-page--catalog .expert-card:hover .expert-card__media img { transform:none; }
.expert-page--catalog .expert-card__body { min-width:0; padding:24px; }
.expert-page--catalog .expert-card__meta { flex-wrap:wrap; align-items:flex-start; gap:8px 14px; margin-bottom:16px; font-size:11px; line-height:1.5; }
.expert-page--catalog .expert-card__meta b { padding:5px 9px; background:#f5f0fc; border-radius:8px; color:#6a36b0; font-weight:600; }
.expert-page--catalog .expert-card__meta time { padding-block:5px; color:var(--ex-muted); }
.expert-page--catalog .expert-card__title { margin:0; color:var(--ex-ink); font-size:22px; font-weight:700; line-height:1.3; letter-spacing:-.02em; overflow-wrap:anywhere; }
.expert-page--catalog .expert-card__text { margin-top:14px; color:var(--ex-text); font-size:14px; line-height:1.7; -webkit-line-clamp:3; }
.expert-page--catalog .expert-card__link { margin-top:auto; padding-top:24px; color:var(--ex-violet); font-size:14px; }
.expert-page--catalog .expert-card--featured { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; min-height:0; background:linear-gradient(120deg,#faf7ff,#fff 65%); }
.expert-page--catalog .expert-card--featured .expert-card__media { align-self:center; border:0; border-radius:16px; width:calc(100% - 32px); margin:16px; }
.expert-page--catalog .expert-card--featured .expert-card__body { padding:clamp(24px,3vw,40px); }
.expert-page--catalog .expert-card--featured .expert-card__title { font-size:clamp(25px,2.4vw,34px); line-height:1.22; }
.expert-page--catalog .expert-card--featured .expert-card__text { font-size:16px; -webkit-line-clamp:3; }
.expert-page--catalog .expert-card--featured .expert-card__link { margin-top:22px; padding-top:18px; border-top:1px solid var(--ex-line); }
.expert-page--catalog .expert-catalog__pager { margin-top:36px; }
.expert-page--catalog .expert-page__telegram { grid-template-columns:48px minmax(0,1fr) auto; gap:22px; margin-top:48px; padding:28px 0; border:0; border-top:1px solid var(--ex-line); border-bottom:1px solid var(--ex-line); border-radius:0; background:none; color:var(--ex-ink); }
.expert-page--catalog .expert-page__telegram h2 { margin:0 0 6px; font-size:20px; line-height:1.3; letter-spacing:-.02em; }
.expert-page--catalog .expert-page__telegram p { max-width:600px; color:var(--ex-text); font-size:14px; line-height:1.65; }
.expert-page--catalog .expert-page__telegram-icon { width:48px; height:48px; border-radius:14px; background:#f1ebfc; }
.expert-page--catalog .expert-page__telegram-icon img { filter:none; }
.expert-page--catalog .expert-page__telegram a { gap:14px; padding:12px 0 12px 16px; border:0; border-radius:6px; color:var(--ex-violet); font-size:14px; white-space:nowrap; }
.expert-page--catalog .expert-page__telegram a:hover { text-decoration:underline; text-underline-offset:5px; }
.expert-page--catalog .expert-page__cta { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.42fr); gap:clamp(28px,5vw,64px); margin-top:clamp(40px,5vw,64px); padding:clamp(28px,4.5vw,60px); border:1px solid #352452; border-radius:24px; background:radial-gradient(ellipse at 100% 0, #66339b55, transparent 65%),#21152f; color:#fff; box-shadow:none; }
.expert-page--catalog .expert-page__cta .expert-page__cta-label { color:#c4a7f1; font-size:12px; text-transform:uppercase; letter-spacing:.08em; opacity:1; }
.expert-page--catalog .expert-page__cta h2 { max-width:680px; font-size:clamp(28px,3.4vw,46px); line-height:1.18; margin:18px 0; color:#fff; }
.expert-page--catalog .expert-page__cta p { max-width:580px; color:#d0c6dc; font-size:16px; line-height:1.7; opacity:1; }
.expert-page--catalog .expert-page__cta-actions { display:flex; flex-direction:column; gap:20px; width:100%; text-align:center; }
.expert-page--catalog .expert-page__cta button { width:100%; min-height:56px; justify-content:center; background:#fff; color:#4d16a6; box-shadow:none; border-radius:12px; font:inherit; font-weight:700; }
.expert-page--catalog .expert-page__cta button span { color:inherit; font-size:20px; opacity:1; }
.expert-page--catalog .expert-page__cta button:hover { transform:none; background:#eee5ff; }
.expert-page--catalog .expert-page__cta-actions a { color:#e0d3f1; font-size:13px; text-decoration:none; }
.expert-page--catalog .expert-page__cta-actions a span { margin-left:8px; color:inherit; font-size:16px; opacity:1; }
.expert-page--catalog .expert-page__cta-actions a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1199.98px) {
 .expert-page--catalog .expert-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .expert-page--catalog .expert-page__heading { align-items:flex-start; flex-direction:column; gap:18px; }
 .expert-page--catalog .expert-page__heading > p { max-width:650px; }
}
@media(max-width:991.98px) {
 .expert-page--catalog .expert-page__hero { grid-template-columns:1fr; gap:28px; }
 .expert-page__intro > p { max-width:650px; }
 .expert-page--catalog .expert-card--featured { grid-template-columns:1fr; }
 .expert-page--catalog .expert-card--featured .expert-card__media { width:100%; margin:0; border-radius:0; aspect-ratio:16/9; }
 .expert-page--catalog .expert-card--featured .expert-card__body { padding:28px; }
 .expert-page--catalog .expert-page__cta { grid-template-columns:1fr; gap:26px; }
}
@media(max-width:767.98px) {
 .expert-page--catalog .expert-page__hero { padding:26px 0 16px; }
 .expert-page--catalog .expert-page__hero h1 { font-size:clamp(38px,8vw,52px); }
 .expert-page--catalog .expert-page__hero-copy > p { font-size:16px; }
 .expert-page--catalog .expert-catalog { grid-template-columns:1fr; gap:20px; }
 .expert-page--catalog .expert-card--featured .expert-card__media { aspect-ratio:16/10; }
 .expert-page--catalog .expert-card--featured .expert-card__body { padding:24px; }
 .expert-page--catalog .expert-card--featured .expert-card__title { font-size:24px; }
 .expert-page--catalog .expert-card--featured .expert-card__text { font-size:14px; }

 .expert-page--catalog .expert-page__telegram { grid-template-columns:48px minmax(0,1fr); gap:16px; padding:24px 0; }
 .expert-page--catalog .expert-page__telegram-icon { width:48px; height:48px; }
 .expert-page--catalog .expert-page__telegram a { grid-column:2; justify-self:start; padding:0; white-space:normal; }
}
@media(max-width:479.98px) {
 .expert-page--catalog .expert-page__cta button { min-width:0; }
 .expert-page--catalog .expert-page__heading h2 { font-size:32px; }
 .expert-page--catalog .expert-card__body { padding:22px; }
}
@media(prefers-reduced-motion:reduce) {
 .expert-page--catalog *, .expert-page--catalog *::before, .expert-page--catalog *::after { transition:none!important; }
}
