/* Layout: страница рейтинга — шапка с цифрами и правилами, тройка лидеров крупно, затем список с фильтрами (десятилетие, страна) и переключателем «список / сетка»; сбоку изменения за месяц. */

.rt-hero{position:relative;overflow:hidden;isolation:isolate;padding-top:clamp(110px,12vw,150px);padding-bottom:36px;background:var(--hero-bg)}
.rt-hero .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:end}
.rt-hero h1{font:800 clamp(2.6rem,6vw,5rem)/.98 var(--font-display);letter-spacing:-.05em}
.rt-hero h1 em{font-style:normal;color:var(--accent)}
.rt-hero .dek{font-size:clamp(1.05rem,1.5vw,1.2rem);color:rgba(245,245,247,.85);max-width:54ch;margin-top:16px}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stat{padding:16px 18px;border-radius:var(--r-md);background:rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.stat b{display:block;font:800 1.8rem/1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat span{font-size:.82rem;color:rgba(245,245,247,.72)}
@media (max-width:860px){.rt-hero .wrap{grid-template-columns:minmax(0,1fr)}}

.rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
.rule{background:var(--card);border-radius:var(--r-lg);padding:18px;display:grid;gap:8px;align-content:start}
.rule b{font:700 1rem/1.25 var(--font-display)}
.rule p{font-size:.9rem;color:var(--fg-2)}
.rule .i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 .85rem/1 var(--font-ui);background:rgba(255,55,95,.16);color:#ff8fa3}
@media (max-width:1000px){.rules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.rules{grid-template-columns:minmax(0,1fr)}}

.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.pod{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:end;padding:20px;border-radius:var(--r-lg);background:var(--card);overflow:hidden;isolation:isolate}
.pod .bg{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;filter:blur(30px) saturate(1.3);opacity:.35;transform:scale(1.2)}
.pod .img{width:120px;aspect-ratio:2/3;border-radius:var(--r-sm);box-shadow:0 14px 40px rgba(0,0,0,.6)}
.pod .num{font:800 4.4rem/.8 var(--font-display);letter-spacing:-.06em}
.pod h2{font:700 1.3rem/1.15 var(--font-display);letter-spacing:-.02em;margin-top:10px}
.pod .m{font-size:.85rem;color:var(--fg-2);margin-top:4px}
.pod .score{margin-top:10px}
@media (max-width:900px){.podium{grid-template-columns:minmax(0,1fr)}}

.score{display:inline-flex;align-items:center;gap:6px;font:700 .85rem/1 var(--font-ui);padding:6px 9px;border-radius:8px;background:var(--fg);color:#000;font-variant-numeric:tabular-nums}
.delta{font:600 .78rem/1 var(--font-ui);color:var(--fg-3);font-variant-numeric:tabular-nums}
.delta.up{color:var(--up)}.delta.down{color:var(--down)}.delta.new{color:#000;background:var(--gold);padding:4px 6px;border-radius:5px}

.rt-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start;margin-top:40px}
.tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters select{font:500 .9rem/1 var(--font-ui);color:var(--fg);background:var(--card);border:0;border-radius:999px;padding:11px 14px}
.view{display:inline-flex;padding:4px;border-radius:999px;background:var(--card)}
.view button{all:unset;cursor:pointer;padding:9px 14px;border-radius:999px;font:500 .88rem/1 var(--font-ui);color:var(--fg-2)}
.view button[aria-pressed="true"]{background:var(--fg);color:#000}
.view button:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
.rows{display:grid}
.row-it{display:grid;grid-template-columns:56px 54px minmax(0,1fr) 120px 80px;gap:18px;align-items:center;padding-block:12px;border-top:1px solid var(--line)}
.row-it .pos{font:800 1.6rem/1 var(--font-display);letter-spacing:-.03em;text-align:right;font-variant-numeric:tabular-nums;color:var(--fg-2)}
.row-it .img{width:54px;aspect-ratio:2/3;border-radius:6px}
.row-it h3{font:700 1.08rem/1.2 var(--font-display);letter-spacing:-.01em}
.row-it a:hover h3{color:var(--accent)}
.row-it .m{font-size:.84rem;color:var(--fg-3);margin-top:3px}
.row-it .why{font-size:.88rem;color:var(--fg-2);margin-top:6px}
.row-it .r{text-align:right}
.rows.grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 16px}
.rows.grid .row-it{grid-template-columns:minmax(0,1fr);border:0;padding:0;gap:8px;position:relative}
.rows.grid .row-it .pos{position:absolute;left:8px;top:8px;z-index:2;font-size:.9rem;padding:6px 8px;border-radius:8px;background:rgba(0,0,0,.7);color:var(--fg);text-align:left}
.rows.grid .row-it .img{width:100%;border-radius:var(--r-sm)}
.rows.grid .row-it .r{text-align:left;display:flex;gap:8px;align-items:center}
.rows.grid .row-it .why{display:none}
.empty{color:var(--fg-2);padding:40px 0}
@media (max-width:1100px){.rt-layout{grid-template-columns:minmax(0,1fr)}.rows.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){.row-it{grid-template-columns:36px 46px minmax(0,1fr) auto;gap:12px}.row-it .img{width:46px}.row-it .pos{font-size:1.2rem}.row-it .yr{display:none}.rows.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.aside{position:sticky;top:84px;display:grid;gap:16px}
.box{background:var(--card);border-radius:var(--r-lg);padding:20px;display:grid;gap:4px}
.box h2{font:700 1.1rem/1.2 var(--font-display);margin-bottom:8px}
.chg{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding-block:10px;border-top:1px solid var(--line);font-size:.92rem}
.chg:first-of-type{border-top:0}
.box p{color:var(--fg-2);font-size:.9rem}
@media (max-width:1100px){.aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.aside{grid-template-columns:minmax(0,1fr)}}
.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:36px}
.pager a,.pager span{min-width:44px;height:44px;padding:0 14px;border-radius:999px;display:grid;place-items:center;font:600 .9rem/1 var(--font-ui);background:var(--card)}
.pager [aria-current]{background:var(--fg);color:#000}
.sample-note{font-size:.8rem;color:var(--fg-3);text-align:center;margin-top:16px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.pod .bg img{width:100%;height:100%;object-fit:cover}
.pod .img img,.row-it .img img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.row-it[hidden]{display:none}

/* Франшиза на месте рейтинга: постеры частей веером в той же ячейке. */
.img.fan{position:relative;display:block;overflow:visible;box-shadow:none;background:none}
.img.fan .fp{position:absolute;top:50%;translate:0 -50%;left:calc(var(--i) * (100% - 100% / (1 + (var(--n) - 1) * .3)) / max(1, var(--n) - 1));width:calc(100% / (1 + (var(--n) - 1) * .3));aspect-ratio:2/3;border-radius:6px;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08);transform:rotate(calc((var(--i) - (var(--n) - 1) / 2) * 4deg))}
.img.fan .fp picture,.img.fan .fp img{width:100%;height:100%;object-fit:cover;display:block}
.pod .img.fan .fp{border-radius:var(--r-sm)}
.rows.grid .row-it .img.fan{aspect-ratio:2/3}
