:root { color-scheme:dark; --bg:#0d0e12; --surface:#17191f; --line:#30333d; --text:#f8f9ff; --muted:#9b9fad; --blue:#2846cf; --blue-bright:#3d5aff; }
* { box-sizing:border-box; } body { margin:0; color:var(--text); background:radial-gradient(60rem 38rem at 88% -12%,rgba(42,70,207,.24),transparent 55%),var(--bg); font-family:Manrope,Arial,sans-serif; } .seo-page { width:min(100%, 82rem); margin:auto; padding:0 1rem 4rem; }
.seo-site-header { position:sticky; z-index:10; top:0; display:flex; align-items:center; gap:.75rem; min-height:4.3rem; margin:0 -1rem; padding:0 1rem; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(16,16,16,.88); backdrop-filter:blur(16px); }.seo-brand { display:inline-flex; flex:none; align-items:center; gap:.32rem; color:#fff; font-size:.76rem; font-weight:800; letter-spacing:.02em; text-decoration:none; } .seo-brand span { color:#9eb0ff; }.seo-brand__mark { display:grid; width:1.55rem; height:1.55rem; place-items:center; border-radius:.48rem; color:#fff!important; background:var(--blue); font-size:.78rem; }.seo-site-nav { display:flex; gap:.25rem; overflow-x:auto; scrollbar-width:none; }.seo-site-nav a { flex:none; padding:.48rem .58rem; border-radius:.5rem; color:#bdbdbd; font-size:.64rem; font-weight:800; text-decoration:none; white-space:nowrap; }.seo-site-nav a:hover,.seo-site-nav__telegram { color:#fff!important; background:rgba(49,88,255,.2); }.seo-site-nav__telegram { border:1px solid rgba(100,128,255,.55); }
.seo-hero { position:relative; overflow:hidden; margin:1.15rem 0 0; padding:2.15rem 1.15rem 2rem; border:1px solid rgba(94,119,255,.42); border-radius:1.35rem; background:linear-gradient(135deg,rgba(47,75,223,.46),rgba(22,24,34,.96) 54%,rgba(16,17,23,.96)); }.seo-hero::after { position:absolute; right:-4rem; bottom:-7rem; width:17rem; height:17rem; border:1px solid rgba(183,196,255,.25); border-radius:50%; box-shadow:0 0 0 2rem rgba(86,111,237,.07),0 0 0 4rem rgba(86,111,237,.04); content:""; }.seo-hero p { position:relative; z-index:1; margin:0 0 .7rem; color:#b8c4ff; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; } .seo-hero h1 { position:relative; z-index:1; max-width:40rem; margin:0; font-size:clamp(2rem,7vw,3.65rem); line-height:1.04; letter-spacing:-.07em; } .seo-hero div { position:relative; z-index:1; max-width:34rem; margin-top:1rem; color:#d3d7e8; font-size:.86rem; line-height:1.62; }
.seo-nav { display:flex; gap:.5rem; overflow:auto; padding:1rem 0 1.8rem; scrollbar-width:none; } .seo-nav a { flex:0 0 auto; padding:.62rem .8rem; border:1px solid var(--line); border-radius:999px; color:#d9d9d9; font-size:.72rem; font-weight:700; text-decoration:none; } .seo-nav a:hover { border-color:#6178ea; color:#fff; }
.seo-section-title { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-bottom:1rem; } .seo-section-title h2 { margin:0; font-size:1.15rem; letter-spacing:-.04em; } .seo-section-title a { color:#9eb0ff; font-size:.72rem; font-weight:800; text-decoration:none; }
.seo-grid { display:grid; gap:.8rem; } .seo-card { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:1.15rem; background:var(--surface); transition:transform .2s ease,border-color .2s ease; } .seo-card:hover { transform:translateY(-2px); border-color:#566fe8; } .seo-card__link { display:grid; grid-template-columns:7.8rem minmax(0,1fr); min-height:10.7rem; color:inherit; text-decoration:none; } .seo-card img,.seo-card__image { display:block; width:100%; height:100%; min-height:10.7rem; object-fit:cover; background:#202020; } .seo-card__image--empty { display:grid; place-items:center; color:#8094fa; font-size:.8rem; font-weight:800; letter-spacing:.12em; background:radial-gradient(circle at 30% 20%,#2642ba,transparent 52%),#1b1b1b; }.seo-card__date { position:absolute; z-index:1; top:.55rem; left:.55rem; display:flex; width:2.6rem; height:2.6rem; flex-direction:column; align-items:center; justify-content:center; border-radius:.6rem; color:#161616; background:rgba(255,255,255,.96); font-size:.5rem; font-weight:800; letter-spacing:.06em; }.seo-card__date b { font-size:.9rem; line-height:1; }.seo-card__body { display:flex; min-width:0; flex-direction:column; padding:.82rem .85rem; }.seo-card__eyebrow { display:flex; align-items:center; justify-content:space-between; gap:.35rem; color:#9eb0ff; font-size:.61rem; font-weight:800; }.seo-card__eyebrow span,.seo-card__venue,.seo-card__bottom span { display:inline-flex; min-width:0; align-items:center; gap:.28rem; }.seo-card__eyebrow svg,.seo-card__venue svg,.seo-card__bottom svg { width:.76rem; height:.76rem; flex:none; }.seo-card__body h2 { display:-webkit-box; overflow:hidden; margin:.45rem 0 .42rem; font-size:.95rem; line-height:1.23; letter-spacing:-.04em; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.seo-card__venue { overflow:hidden; color:var(--muted); font-size:.66rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }.seo-card__body p { display:-webkit-box; overflow:hidden; margin:.48rem 0 0; color:#bcbcbc; font-size:.65rem; line-height:1.42; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.seo-card__bottom { display:flex; align-items:center; justify-content:space-between; gap:.4rem; margin-top:auto; padding-top:.65rem; }.seo-card__bottom strong { color:#fff; font-size:.76rem; }.seo-card__bottom span { color:#9eb0ff; font-size:.61rem; font-weight:800; }.seo-empty { color:var(--muted); }.seo-note { display:grid; gap:.45rem; margin-top:2.5rem; padding:1.15rem; border:1px solid rgba(80,108,239,.75); border-radius:1.1rem; background:linear-gradient(135deg,rgba(40,70,207,.35),rgba(25,25,25,.7)); }.seo-note strong { font-size:.9rem; }.seo-note p { margin:0; color:#d5d5d5; font-size:.74rem; line-height:1.5; }.seo-note a { margin-top:.2rem; color:#fff; font-size:.73rem; font-weight:800; text-decoration:none; }
.seo-about,.seo-faq { margin-top:2.8rem; padding-top:1.35rem; border-top:1px solid var(--line); }.seo-about h2,.seo-faq h2 { margin:0 0 .8rem; font-size:1.18rem; letter-spacing:-.045em; }.seo-about p { max-width:42rem; margin:.55rem 0; color:#c7c7c7; font-size:.82rem; line-height:1.65; }.seo-faq details { border-bottom:1px solid var(--line); }.seo-faq summary { cursor:pointer; padding:1rem 0; color:#f0f0f0; font-size:.82rem; font-weight:800; list-style:none; }.seo-faq summary::after { float:right; color:#9eb0ff; content:"+"; }.seo-faq details[open] summary::after { content:"–"; }.seo-faq p { max-width:42rem; margin:0 0 1rem; color:var(--muted); font-size:.78rem; line-height:1.55; }
.seo-breadcrumb { display:flex; gap:.45rem; margin:1.6rem 0 1.15rem; color:var(--muted); font-size:.7rem; font-weight:700; }.seo-breadcrumb a { color:#9eb0ff; text-decoration:none; }.seo-event { overflow:hidden; border:1px solid var(--line); border-radius:1.4rem; background:var(--surface); }.seo-event-cover { min-height:13rem; background:#191919; }.seo-event-cover img,.seo-event-cover--empty { display:block; width:100%; min-height:13rem; max-height:28rem; object-fit:cover; }.seo-event-cover--empty { display:grid; place-items:center; color:#8da1ff; font-size:1rem; font-weight:800; letter-spacing:.16em; background:radial-gradient(circle at 30% 20%,#2642ba,transparent 55%),#1b1b1b; }.seo-event-content { padding:1.15rem; }.seo-kicker { margin:0 0 .55rem; color:#9eb0ff; font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.seo-event h1 { margin:0; font-size:clamp(1.65rem,7vw,2.8rem); line-height:1.07; letter-spacing:-.065em; }.seo-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:1.35rem 0; overflow:hidden; border:1px solid var(--line); border-radius:.9rem; background:var(--line); }.seo-facts div { min-height:4.8rem; padding:.72rem; background:#181818; }.seo-facts dt { margin-bottom:.32rem; color:var(--muted); font-size:.62rem; font-weight:700; }.seo-facts dd { margin:0; color:#f5f5f5; font-size:.72rem; font-weight:800; line-height:1.35; }.seo-button { display:flex; min-height:3rem; align-items:center; justify-content:center; border-radius:.85rem; background:var(--blue); color:white; font-size:.82rem; font-weight:800; text-decoration:none; }.seo-description { margin-top:1.75rem; }.seo-description h2 { margin:0 0 .65rem; font-size:1.05rem; letter-spacing:-.04em; }.seo-description p { margin:0; color:#c7c7c7; font-size:.8rem; line-height:1.62; white-space:pre-line; }.seo-text-link { display:inline-block; margin-top:.8rem; color:#9eb0ff; font-size:.72rem; font-weight:800; text-decoration:none; }.seo-related { margin-top:2.5rem; }.seo-related-rail { display:flex!important; gap:.65rem!important; overflow-x:auto; margin-right:-1rem; padding:0 1rem .4rem 0; scroll-snap-type:x mandatory; scrollbar-width:none; }.seo-related-card { display:grid!important; width:9.4rem; min-width:9.4rem; min-height:13rem; padding:0!important; overflow:hidden; scroll-snap-align:start; background:#191919; }.seo-related-card img,.seo-related-card i { width:100%; height:7rem; object-fit:cover; }.seo-related-card i { display:grid; place-items:center; color:#9eb0ff; background:linear-gradient(145deg,#293fb8,#161820); font-size:.75rem; font-style:normal; font-weight:800; }.seo-related-card span { display:grid; align-content:start; gap:.3rem; padding:.62rem; }.seo-related-card small { color:#9eb0ff; font-size:.57rem; font-weight:800; }.seo-related-card strong { display:-webkit-box; overflow:hidden; font-size:.73rem!important; line-height:1.28; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.seo-related-card em { color:#fff; font-size:.64rem; font-style:normal; font-weight:800; }
.seo-guide { max-width:44rem; }.seo-guide h1 { max-width:38rem; margin:0; font-size:clamp(2rem,8vw,3.6rem); line-height:1.04; letter-spacing:-.07em; }.seo-guide__lead { max-width:36rem; margin:1.1rem 0 2.2rem; color:#c9c9c9; font-size:.96rem; line-height:1.65; }.seo-guide section { padding:1.2rem 0; border-top:1px solid var(--line); }.seo-guide h2 { margin:0 0 .5rem; font-size:1rem; letter-spacing:-.035em; }.seo-guide p { margin:0; color:#c3c3c3; font-size:.82rem; line-height:1.67; }.seo-guide a { color:#9eb0ff; font-weight:800; text-decoration:none; }
.seo-venue { overflow:hidden; border:1px solid var(--line); border-radius:1.35rem; background:var(--surface); }.seo-venue>img { display:block; width:100%; min-height:13rem; max-height:20rem; object-fit:cover; }.seo-venue>div { padding:1.15rem; }.seo-venue h1 { margin:0; font-size:clamp(1.8rem,8vw,3rem); line-height:1.05; letter-spacing:-.065em; }.seo-venue>div>p:not(.seo-kicker) { margin:1rem 0 0; color:#c7c7c7; font-size:.82rem; line-height:1.62; }.seo-venue .seo-facts { margin-bottom:0; }.seo-venue .seo-facts a { color:#9eb0ff; text-decoration:none; }.seo-venue-list { display:grid; gap:.8rem; margin-top:2rem; }.seo-venue-card { position:relative; display:block; overflow:hidden; min-height:13rem; border:1px solid var(--line); border-radius:1.1rem; color:#fff; text-decoration:none; background:#191919; }.seo-venue-card img { width:100%; height:100%; min-height:13rem; object-fit:cover; transition:transform .25s ease; }.seo-venue-card::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.88)); }.seo-venue-card span { position:absolute; z-index:1; right:1rem; bottom:1rem; left:1rem; display:grid; gap:.25rem; }.seo-venue-card b { font-size:1.12rem; letter-spacing:-.04em; }.seo-venue-card small { color:#dedede; font-size:.68rem; font-weight:700; }.seo-related em { color:#9eb0ff; font-size:.68rem; font-style:normal; font-weight:800; }
.seo-gallery { margin-top:2.4rem; }.seo-gallery h2 { margin:0 0 .8rem; font-size:1.15rem; letter-spacing:-.04em; }.seo-gallery>div { display:grid; grid-template-columns:1.45fr 1fr; grid-auto-rows:7.6rem; gap:.45rem; overflow:hidden; border-radius:1.1rem; }.seo-gallery img { width:100%; height:100%; object-fit:cover; }.seo-gallery img:first-child { grid-row:span 2; }.seo-gallery img:nth-child(n+4) { display:none; }.seo-venue-events { display:grid; gap:.65rem; }.seo-venue-event { display:grid; grid-template-columns:5.8rem minmax(0,1fr); min-height:6.3rem; overflow:hidden; border:1px solid var(--line); border-radius:.95rem; color:#fff; text-decoration:none; background:var(--surface); }.seo-venue-event img,.seo-venue-event i { width:100%; height:100%; min-height:6.3rem; object-fit:cover; }.seo-venue-event i { display:grid; place-items:center; color:#9eb0ff; background:linear-gradient(145deg,#253cb2,#15171d); font-size:.7rem; font-style:normal; font-weight:800; letter-spacing:.1em; }.seo-venue-event span { display:grid; align-content:center; gap:.22rem; padding:.65rem .75rem; }.seo-venue-event small { color:#9eb0ff; font-size:.6rem; font-weight:800; }.seo-venue-event b { overflow:hidden; font-size:.77rem; line-height:1.3; letter-spacing:-.025em; }.seo-venue-event em { color:#fff; font-size:.67rem; font-style:normal; font-weight:800; }
@media (min-width:42rem) { .seo-page { padding:2rem 1.5rem 5rem; }.seo-grid,.seo-venue-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.seo-card__body { padding:.95rem; }.seo-event,.seo-venue { display:grid; grid-template-columns:minmax(18rem,.9fr) 1.1fr; }.seo-event-cover,.seo-venue>img { height:100%; }.seo-event-cover img,.seo-event-cover--empty,.seo-venue>img { height:100%; max-height:none; }.seo-event-content,.seo-venue>div { padding:1.7rem; } } @media (prefers-reduced-motion:reduce) { .seo-card,.seo-venue-card img { transition:none; } }

/* Public catalogue follows the Mini App's blue stage-light visual language. */
.seo-card { background:linear-gradient(100deg,rgba(34,48,115,.22),var(--surface) 42%); box-shadow:inset 3px 0 0 rgba(58,87,255,.9); }
.seo-card__image::after { position:absolute; inset:0; content:""; pointer-events:none; background:linear-gradient(90deg,rgba(12,14,21,.08),transparent); }
.seo-section-title { position:relative; padding-left:.78rem; }.seo-section-title::before { position:absolute; left:0; top:.17rem; bottom:.17rem; width:3px; border-radius:9px; background:var(--blue-bright); content:""; }
.seo-nav { padding:1.05rem 0 1.55rem; }.seo-nav a { border-color:rgba(86,111,232,.45); background:rgba(43,61,140,.12); }.seo-nav a:first-child { color:#fff; border-color:var(--blue); background:var(--blue); }
@media (min-width:42rem) { .seo-site-header { margin:0 -1.5rem; padding:0 1.5rem; }.seo-hero { padding:2.85rem 2.3rem 2.55rem; }.seo-hero div { font-size:.94rem; } }
.seo-jump { display:flex; gap:.55rem; overflow:auto; padding:1.05rem 0 1.7rem; scrollbar-width:none; }.seo-jump a { flex:none; padding:.68rem .82rem; border:1px solid rgba(94,119,255,.5); border-radius:.72rem; color:#dfe4ff; background:linear-gradient(135deg,rgba(53,80,210,.32),rgba(25,27,36,.8)); font-size:.7rem; font-weight:800; text-decoration:none; }.seo-guide--feature { max-width:none; }.seo-guide--feature section { padding:1.45rem 0; }.seo-spotlight { display:flex; gap:.7rem; overflow:auto; margin-top:1rem; padding-bottom:.35rem; scrollbar-width:none; }.seo-spotlight>a { display:grid; min-width:10.2rem; width:10.2rem; overflow:hidden; border:1px solid var(--line); border-radius:1rem; color:#fff; text-decoration:none; background:var(--surface); }.seo-spotlight img,.seo-spotlight i { width:100%; height:7rem; object-fit:cover; }.seo-spotlight i { display:grid; place-items:center; color:#9eb0ff; background:linear-gradient(145deg,#2a45c6,#141620); font-style:normal; font-weight:800; }.seo-spotlight span { display:grid; gap:.28rem; padding:.72rem; }.seo-spotlight small { color:#aebeff; font-size:.58rem; font-weight:800; }.seo-spotlight b { display:-webkit-box; overflow:hidden; font-size:.76rem; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.seo-spotlight em { color:#fff; font-size:.66rem; font-style:normal; font-weight:800; }

/* Public desktop: use the Mini App's visual weight without shrinking the catalogue. */
.seo-site-header { min-height:5.2rem; gap:1.15rem; }
.seo-brand { gap:.48rem; font-size:.95rem; }
.seo-brand__mark { width:2.15rem; height:2.15rem; border-radius:.68rem; font-size:.98rem; box-shadow:0 8px 22px rgba(44,70,207,.36); }
.seo-site-nav { gap:.4rem; }
.seo-site-nav a { padding:.68rem .88rem; border-radius:.76rem; font-size:.76rem; }
.seo-hero { min-height:19rem; padding:3rem 2.35rem 2.2rem; border-radius:1.65rem; background:linear-gradient(123deg,rgba(49,79,228,.73),rgba(28,35,75,.92) 46%,rgba(16,17,23,.98) 79%); box-shadow:0 22px 55px rgba(0,0,0,.25); }
.seo-hero::before { position:absolute; top:-9rem; right:12%; width:24rem; height:24rem; border-radius:50%; background:radial-gradient(circle,rgba(167,187,255,.38),rgba(61,90,255,.09) 42%,transparent 68%); content:""; }
.seo-hero h1 { max-width:50rem; font-size:clamp(2.45rem,5.1vw,4.65rem); }
.seo-hero > div:not(.seo-hero__stats) { max-width:43rem; font-size:1rem; }
.seo-hero__stats { position:relative; z-index:1; display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; margin-top:1.45rem!important; }
.seo-hero__stats span,.seo-hero__stats a { display:inline-flex; align-items:center; min-height:2.4rem; padding:0 .82rem; border:1px solid rgba(211,220,255,.26); border-radius:.75rem; color:#edf0ff; background:rgba(5,8,28,.23); font-size:.74rem; font-weight:800; text-decoration:none; backdrop-filter:blur(8px); }
.seo-hero__stats b { margin-right:.28rem; color:#fff; font-size:.92rem; }
.seo-hero__stats a { border-color:#8da2ff; background:rgba(19,40,157,.58); }
.seo-nav { gap:.7rem; padding:1.35rem 0 2.1rem; }
.seo-nav a { padding:.78rem 1rem; border-radius:.82rem; font-size:.8rem; }
.seo-grid { gap:1.1rem; }
.seo-card { border-radius:1.35rem; box-shadow:inset 4px 0 0 rgba(58,87,255,.9),0 12px 32px rgba(0,0,0,.14); }
.seo-card__link { grid-template-columns:10.4rem minmax(0,1fr); min-height:13.2rem; }
.seo-card img,.seo-card__image { min-height:13.2rem; }
.seo-card__date { top:.75rem; left:.75rem; width:3rem; height:3rem; border-radius:.72rem; font-size:.56rem; }
.seo-card__date b { font-size:1.05rem; }
.seo-card__body { padding:1.05rem 1.1rem; }
.seo-card__eyebrow { font-size:.7rem; }
.seo-card__body h2 { margin:.58rem 0 .5rem; font-size:1.15rem; line-height:1.18; }
.seo-card__venue { font-size:.72rem; }
.seo-card__body p { margin-top:.62rem; font-size:.72rem; line-height:1.48; }
.seo-card__bottom { padding-top:.8rem; }
.seo-card__prices { display:grid; gap:.13rem; }
.seo-card__bottom strong { font-size:.9rem; }
.seo-card__prices small { color:#aebeff; font-size:.71rem; font-weight:800; }
.seo-card__bottom span { font-size:.69rem; }
.seo-about { max-width:63rem; margin-top:3.5rem; }
.seo-about p { max-width:57rem; font-size:.78rem; }
.seo-faq { max-width:63rem; margin-top:2.2rem; }
.seo-faq h2 { font-size:1.45rem; }
.seo-faq summary { font-size:.9rem; }
@media (min-width:42rem) { .seo-page { padding:0 2rem 6rem; }.seo-site-header { margin:0 -2rem; padding:0 2rem; }.seo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.35rem; }.seo-card__link { grid-template-columns:11.5rem minmax(0,1fr); min-height:14.2rem; }.seo-card img,.seo-card__image { min-height:14.2rem; }.seo-card__body { padding:1.18rem 1.22rem; }.seo-card__body h2 { font-size:1.28rem; }.seo-hero { margin-top:1.75rem; padding:3.5rem 3.1rem 2.8rem; } }
@media (max-width:41.99rem) { .seo-site-header { min-height:4.55rem; gap:.7rem; }.seo-brand { font-size:.78rem; }.seo-brand__mark { width:1.75rem; height:1.75rem; font-size:.8rem; }.seo-site-nav a { padding:.55rem .65rem; font-size:.66rem; }.seo-hero { min-height:0; padding:2.25rem 1.15rem 1.35rem; }.seo-hero h1 { font-size:2.25rem; }.seo-hero__stats { margin-top:1.1rem!important; }.seo-card__link { grid-template-columns:8.8rem minmax(0,1fr); min-height:11.7rem; }.seo-card img,.seo-card__image { min-height:11.7rem; }.seo-card__body h2 { font-size:1.03rem; } }

/* Editorial guide and venue directory: photo-led blocks, one blue accent system. */
.seo-site-header { justify-content:flex-start; }
.seo-site-nav { min-width:0; }
.seo-site-nav__telegram { display:inline-flex; flex:none; min-height:2.65rem; align-items:center; justify-content:center; margin-left:auto; padding:0 .95rem; border-radius:.76rem; color:#fff; background:linear-gradient(135deg,#3152df,#243da8); box-shadow:0 .55rem 1.35rem rgba(38,65,196,.23); font-size:.72rem; font-weight:800; text-decoration:none; white-space:nowrap; }
.seo-nav a { display:inline-flex; align-items:center; gap:.42rem; }
.seo-nav a svg { width:.92rem; height:.92rem; }
.seo-nav a.is-active { color:#fff; border-color:var(--blue); background:var(--blue); }
.seo-nav a:first-child:not(.is-active) { color:#d9d9d9; border-color:rgba(86,111,232,.45); background:rgba(43,61,140,.12); }
.seo-guide-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.16fr) minmax(18rem,.84fr); gap:2.25rem; min-height:31rem; margin-top:1.75rem; padding:3.45rem; overflow:hidden; border:1px solid rgba(93,119,255,.5); border-radius:1.7rem; background:linear-gradient(127deg,#2445c8 0%,#1c285f 44%,#101117 78%); box-shadow:0 24px 56px rgba(0,0,0,.27); }
.seo-guide-hero::before { position:absolute; top:-14rem; left:24%; width:39rem; height:39rem; border:1px solid rgba(196,208,255,.24); border-radius:50%; box-shadow:0 0 0 2.7rem rgba(133,154,255,.07),0 0 0 5.3rem rgba(133,154,255,.04); content:""; }
.seo-guide-hero>div,.seo-guide-hero figure { position:relative; z-index:1; }
.seo-guide-hero h1 { max-width:43rem; margin:0; font-size:clamp(2.7rem,5.1vw,5rem); line-height:1; letter-spacing:-.075em; }
.seo-guide-hero h1 em { color:#b8c7ff; font-style:normal; }
.seo-guide-hero>div>p:not(.seo-kicker) { max-width:34rem; margin:1.2rem 0 0; color:#e2e7ff; font-size:1rem; line-height:1.65; }
.seo-guide-hero figure { display:grid; align-self:end; height:22rem; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:1.2rem; background:#10121a; transform:rotate(2.5deg); box-shadow:0 20px 40px rgba(2,4,19,.3); }
.seo-guide-hero figure img { width:100%; height:100%; object-fit:cover; }
.seo-guide-hero figure::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 32%,rgba(8,10,21,.8)); content:""; }
.seo-guide-hero figcaption { position:absolute; z-index:1; right:1rem; bottom:1rem; left:1rem; color:#fff; font-size:.72rem; font-weight:800; }
.seo-guide-hero__art { display:grid; place-items:center; color:#a9b9ff; background:radial-gradient(circle at 40% 25%,#5977fa,transparent 28%),linear-gradient(135deg,#202d78,#101117); font-size:1.4rem; font-weight:800; letter-spacing:.2em; }
.seo-guide-hero__actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.75rem; }
.seo-guide-hero__actions a { display:inline-flex; min-height:3rem; align-items:center; gap:.5rem; padding:0 1rem; border:1px solid rgba(255,255,255,.25); border-radius:.85rem; color:#fff; background:rgba(12,19,67,.36); font-size:.79rem; font-weight:800; text-decoration:none; }
.seo-guide-hero__actions a:first-child { border-color:#fff; color:#1a2a8b; background:#fff; }
.seo-guide-hero__actions svg,.seo-route b svg,.seo-guide-intro a svg,.seo-guide-venues a svg,.seo-venue-card strong svg { width:1rem; height:1rem; }
.seo-guide-intro { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin:1rem 0 4rem; padding:1.25rem 1.4rem; border:1px solid var(--line); border-radius:1rem; background:linear-gradient(100deg,rgba(46,68,176,.24),rgba(21,23,30,.75)); }
.seo-guide-intro>div { display:flex; align-items:center; gap:.8rem; max-width:47rem; }
.seo-guide-intro>div>span { display:grid; flex:none; width:2.55rem; height:2.55rem; place-items:center; border-radius:.75rem; color:#b7c5ff; background:rgba(47,74,205,.43); }
.seo-guide-intro svg { width:1.2rem; height:1.2rem; }
.seo-guide-intro p { margin:0; color:#d7d9e4; font-size:.82rem; line-height:1.55; }
.seo-guide-intro>a,.seo-guide-venues a { display:inline-flex; flex:none; align-items:center; gap:.48rem; color:#aebeff; font-size:.74rem; font-weight:800; text-decoration:none; }
.seo-guide-routes,.seo-guide-steps,.seo-guide-events,.seo-guide-venues { margin-top:4rem; }
.seo-section-title>span { color:var(--muted); font-size:.7rem; font-weight:700; }
.seo-route-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem; }
.seo-route { position:relative; display:flex; min-height:17.5rem; flex-direction:column; padding:1.2rem; overflow:hidden; border:1px solid var(--line); border-radius:1.25rem; color:#fff; text-decoration:none; background:#181a21; transition:transform .2s ease,border-color .2s ease; }
.seo-route:hover { transform:translateY(-3px); border-color:#7289ff; }
.seo-route::after { position:absolute; right:-4.5rem; bottom:-5rem; width:13rem; height:13rem; border-radius:50%; content:""; }
.seo-route>span { position:relative; z-index:1; display:grid; width:2.75rem; height:2.75rem; place-items:center; border-radius:.82rem; color:#dce3ff; background:rgba(255,255,255,.13); }
.seo-route>span svg { width:1.3rem; height:1.3rem; }
.seo-route small,.seo-route h3,.seo-route p,.seo-route b { position:relative; z-index:1; }
.seo-route small { margin-top:1.7rem; color:#cdd6ff; font-size:.62rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.seo-route h3 { margin:.42rem 0 0; font-size:1.18rem; line-height:1.08; letter-spacing:-.05em; }
.seo-route p { margin:.62rem 0 0; color:#d8dbe8; font-size:.72rem; line-height:1.55; }
.seo-route b { display:flex; align-items:center; gap:.38rem; margin-top:auto; color:#fff; font-size:.7rem; }
.seo-route--comedy { background:linear-gradient(135deg,#25398e,#161820 72%); }.seo-route--comedy::after { background:rgba(96,126,255,.32); }
.seo-route--music { background:linear-gradient(135deg,#3d246d,#161820 72%); }.seo-route--music::after { background:rgba(174,85,255,.25); }
.seo-route--city { background:linear-gradient(135deg,#18455c,#161820 72%); }.seo-route--city::after { background:rgba(57,194,196,.25); }
.seo-route--screen { background:linear-gradient(135deg,#59401b,#161820 72%); }.seo-route--screen::after { background:rgba(239,172,67,.22); }
.seo-guide-steps { display:grid; grid-template-columns:minmax(13rem,.65fr) 1.35fr; gap:2rem; padding:2rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.seo-guide-steps .seo-section-title { margin:0; }.seo-guide-steps ol { display:grid; gap:1.1rem; margin:0; padding:0; list-style:none; }
.seo-guide-steps li { display:grid; grid-template-columns:3rem minmax(0,1fr); gap:.85rem; }.seo-guide-steps li>span { display:grid; width:2.5rem; height:2.5rem; place-items:center; border-radius:.7rem; color:#b7c5ff; background:#202b65; font-size:.68rem; font-weight:800; }.seo-guide-steps h3 { margin:.05rem 0 .25rem; font-size:.94rem; letter-spacing:-.03em; }.seo-guide-steps p { margin:0; color:#babdcb; font-size:.76rem; line-height:1.52; }
.seo-guide-events .seo-spotlight { gap:.95rem; margin-top:0; }.seo-spotlight>a { min-width:12rem; width:12rem; border-radius:1.1rem; }.seo-spotlight img,.seo-spotlight i { height:8.2rem; }.seo-spotlight span { padding:.82rem; }.seo-spotlight b { font-size:.82rem; }.seo-spotlight em { font-size:.72rem; }
.seo-guide-venues { display:grid; grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr); gap:2rem; padding:2.2rem; overflow:hidden; border:1px solid rgba(89,112,235,.46); border-radius:1.35rem; background:linear-gradient(110deg,rgba(42,63,170,.42),rgba(22,23,30,.94)); }.seo-guide-venues h2 { max-width:28rem; margin:.25rem 0 .75rem; font-size:clamp(1.55rem,3vw,2.35rem); line-height:1.07; letter-spacing:-.06em; }.seo-guide-venues p:not(.seo-kicker) { max-width:36rem; margin:0 0 1rem; color:#d2d5e2; font-size:.8rem; line-height:1.62; }.seo-guide-venues__marks { display:grid; grid-template-columns:repeat(2,1fr); gap:.65rem; align-content:center; transform:rotate(-2deg); }.seo-guide-venues__marks span { display:grid; min-height:5.5rem; place-items:center; border:1px solid rgba(192,204,255,.22); border-radius:1rem; color:#eef1ff; background:rgba(8,12,38,.35); font-size:.8rem; font-weight:800; line-height:1.05; text-align:center; }
.seo-venues-hero { display:flex; align-items:end; justify-content:space-between; gap:2rem; min-height:17rem; margin-top:1.75rem; padding:2.8rem 3rem; overflow:hidden; border:1px solid rgba(89,112,235,.46); border-radius:1.55rem; background:radial-gradient(circle at 90% 10%,rgba(106,134,255,.36),transparent 25%),linear-gradient(125deg,#1f328f,#14151c 66%); }.seo-venues-hero h1 { max-width:46rem; margin:.3rem 0 .75rem; font-size:clamp(2.25rem,4.8vw,4.3rem); line-height:1.01; letter-spacing:-.075em; }.seo-venues-hero p:not(.seo-kicker) { max-width:42rem; margin:0; color:#d5d8e5; font-size:.9rem; line-height:1.62; }.seo-venues-hero>span { display:inline-flex; align-items:center; gap:.5rem; min-height:2.8rem; padding:0 .9rem; border:1px solid rgba(205,215,255,.26); border-radius:.86rem; color:#e7ebff; background:rgba(8,11,41,.32); font-size:.74rem; font-weight:800; }.seo-venues-hero>span svg { width:1rem; height:1rem; }
.seo-venue-list { margin-top:1.5rem; }.seo-venue-card { min-height:21rem; border-radius:1.35rem; }.seo-venue-card::after { background:linear-gradient(180deg,rgba(4,5,10,.02),rgba(5,6,13,.94)); }.seo-venue-card__art { display:grid; width:100%; height:100%; min-height:21rem; place-items:center; color:#aabaff; background:radial-gradient(circle at 68% 22%,rgba(68,94,237,.74),transparent 22%),linear-gradient(138deg,#1f2e78,#12131a 67%); }.seo-venue-card__art svg { width:3.2rem; height:3.2rem; }.seo-venue-card span { gap:.42rem; }.seo-venue-card small { color:#b5c2ff; font-size:.65rem; }.seo-venue-card b { font-size:1.45rem; }.seo-venue-card em,.seo-venue-card strong { display:flex; align-items:center; gap:.35rem; color:#d8d8dd; font-size:.7rem; font-style:normal; font-weight:700; }.seo-venue-card em svg { width:.85rem; height:.85rem; }.seo-venue-card strong { margin-top:.15rem; color:#fff; }
.seo-venue { grid-template-columns:minmax(0,1fr) minmax(20rem,.95fr)!important; }.seo-venue-cover { position:relative; min-height:23rem; overflow:hidden; background:#171923; }.seo-venue-cover>img,.seo-venue-cover--art { display:block; width:100%; height:100%; min-height:23rem; object-fit:cover; }.seo-venue-cover::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(7,8,13,.86)); content:""; }.seo-venue-cover>span { position:absolute; z-index:1; right:1.1rem; bottom:1.1rem; left:1.1rem; display:flex; align-items:center; gap:.45rem; color:#fff; font-size:.72rem; font-weight:800; }.seo-venue-cover>span svg { width:1rem; height:1rem; }.seo-venue-cover--art { display:grid; place-items:center; color:#a8b9ff; background:radial-gradient(circle at 35% 30%,#4264ee,transparent 29%),linear-gradient(140deg,#1b286b,#111217); font-size:1.2rem; font-weight:800; letter-spacing:.17em; }.seo-gallery .seo-section-title>span { margin-left:auto; }.seo-gallery>div { grid-auto-rows:10rem; }.seo-gallery img:first-child { grid-row:span 2; }
.seo-site-menu__panel--guides { grid-template-columns:repeat(2,minmax(13rem,1fr)); min-width:30rem; }.seo-venue-cover__credit { position:absolute; z-index:1; top:1rem; left:1rem; max-width:calc(100% - 2rem); padding:.42rem .6rem; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#fff; background:rgba(8,10,18,.72); font-size:.61rem; font-weight:700; line-height:1.25; text-decoration:none; backdrop-filter:blur(10px); }.seo-venue-cover__credit:hover { color:#fff; border-color:#90a5ff; }.seo-gallery>div>a { position:relative; display:block; overflow:hidden; min-width:0; color:#fff; text-decoration:none; }.seo-gallery>div>a:first-child { grid-row:span 2; }.seo-gallery>div>a:nth-child(n+4) { display:none; }.seo-gallery>div>a img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .28s ease; }.seo-gallery>div>a:hover img { transform:scale(1.035); }.seo-gallery>div>a span { position:absolute; right:.45rem; bottom:.45rem; left:.45rem; overflow:hidden; color:#fff; font-size:.56rem; font-weight:800; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; text-shadow:0 1px 6px #000; }.seo-guide-directory { margin-top:4.2rem; padding:2.2rem; border:1px solid var(--line); border-radius:1.45rem; background:linear-gradient(135deg,rgba(30,60,188,.18),rgba(20,21,28,.86) 48%); }.seo-guide-directory>.seo-section-title { align-items:end; }.seo-guide-directory>.seo-section-title>div { max-width:42rem; }.seo-guide-directory>.seo-section-title h2 { margin:.28rem 0 0; }.seo-guide-directory>.seo-section-title>span { margin-left:auto; color:#9eb0ff; font-size:.72rem; font-weight:800; }.seo-guide-directory>div:last-child { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin-top:1.4rem; }.seo-guide-directory a { position:relative; min-height:12rem; padding:1rem; overflow:hidden; border:1px solid rgba(133,157,255,.25); border-radius:1rem; color:#fff; background:rgba(10,12,20,.64); text-decoration:none; transition:border-color .2s ease,transform .2s ease,background .2s ease; }.seo-guide-directory a:hover { border-color:#6685ff; background:rgba(33,54,143,.38); transform:translateY(-2px); }.seo-guide-directory a>span { display:grid; width:2.25rem; height:2.25rem; place-items:center; border-radius:.7rem; color:#b6c4ff; background:#1c2b78; }.seo-guide-directory a>span svg,.seo-guide-directory a>svg { width:1.05rem; height:1.05rem; }.seo-guide-directory small { display:block; margin-top:1.15rem; color:#9eb0ff; font-size:.6rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.seo-guide-directory b { display:block; margin-top:.32rem; font-size:.88rem; line-height:1.28; letter-spacing:-.025em; }.seo-guide-directory p { margin:.38rem 1.5rem 0 0; color:#b9bfce; font-size:.67rem; line-height:1.45; }.seo-guide-directory a>svg { position:absolute; right:1rem; bottom:1rem; color:#a7b8ff; }
@media (max-width:70rem) { .seo-route-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.seo-guide-hero { grid-template-columns:minmax(0,1fr) minmax(14rem,.7fr); padding:2.4rem; }.seo-guide-hero figure { height:18rem; }.seo-venue { grid-template-columns:1fr!important; }.seo-venue-cover { min-height:18rem; }.seo-venue-cover>img,.seo-venue-cover--art { min-height:18rem; } }
@media (max-width:41.99rem) { .seo-site-header { gap:.55rem; }.seo-site-nav { gap:.15rem; }.seo-site-nav a { padding:.48rem .5rem; font-size:.6rem; }.seo-site-nav a:nth-child(3),.seo-site-nav a:nth-child(4) { display:none; }.seo-site-nav__telegram { padding:.55rem .6rem!important; font-size:.62rem!important; }.seo-nav { padding-bottom:1.45rem; }.seo-nav a { padding:.6rem .72rem; font-size:.68rem; }.seo-guide-hero { display:block; min-height:0; margin-top:1rem; padding:2rem 1.05rem 1.05rem; border-radius:1.3rem; }.seo-guide-hero h1 { font-size:2.45rem; }.seo-guide-hero figure { height:14.5rem; margin:1.5rem .4rem 0; }.seo-guide-intro { display:grid; gap:.9rem; margin:1rem 0 2.8rem; padding:1rem; }.seo-guide-intro>a { margin-left:3.35rem; }.seo-guide-routes,.seo-guide-steps,.seo-guide-events,.seo-guide-venues { margin-top:2.8rem; }.seo-route-grid { grid-template-columns:1fr; gap:.7rem; }.seo-route { min-height:13.5rem; }.seo-route small { margin-top:1rem; }.seo-guide-steps { display:block; padding:1.4rem 0; }.seo-guide-steps ol { margin-top:1.4rem; }.seo-guide-venues { grid-template-columns:1fr; gap:1.3rem; padding:1.35rem; }.seo-venues-hero { display:grid; min-height:0; margin-top:1rem; padding:2rem 1.1rem; }.seo-venue-card { min-height:17rem; }.seo-venue-card__art { min-height:17rem; }.seo-venue-cover { min-height:15rem; }.seo-venue-cover>img,.seo-venue-cover--art { min-height:15rem; }.seo-gallery>div { grid-auto-rows:6rem; }.seo-gallery .seo-section-title { align-items:flex-start; }.seo-gallery .seo-section-title>span { max-width:10rem; text-align:right; } }
@media (max-width:56rem) { .seo-site-menu__panel--guides { grid-template-columns:1fr; min-width:17rem; }.seo-guide-directory { margin-top:2.8rem; padding:1.25rem; }.seo-guide-directory>div:last-child { grid-template-columns:repeat(2,minmax(0,1fr)); }.seo-guide-directory a { min-height:11rem; } }
@media (max-width:41.99rem) { .seo-guide-directory>div:last-child { grid-template-columns:1fr; }.seo-guide-directory a { min-height:9.8rem; }.seo-venue-cover__credit { top:.7rem; left:.7rem; font-size:.55rem; }.seo-gallery>div>a span { font-size:.51rem; } }
.seo-telegram__short { display:none; }
@media (max-width:41.99rem) { .seo-site-header { justify-content:space-between; min-height:4.6rem; }.seo-site-header .seo-site-nav { display:none; }.seo-site-nav__telegram { min-height:2.4rem; padding:.55rem .78rem!important; border-radius:.72rem; font-size:.67rem!important; }.seo-telegram__full { display:none; }.seo-telegram__short { display:inline; } }

.seo-legal { max-width:52rem; margin:2.2rem auto 0; }.seo-legal h1 { max-width:46rem; margin:0; font-size:clamp(2.1rem,5vw,4rem); line-height:1.03; letter-spacing:-.07em; }.seo-legal__meta { margin:1rem 0 2.2rem; color:var(--muted); font-size:.74rem; }.seo-legal section { padding:1.35rem 0; border-top:1px solid var(--line); }.seo-legal h2 { margin:0 0 .55rem; font-size:1.05rem; letter-spacing:-.04em; }.seo-legal p { margin:0; color:#c9cbd6; font-size:.82rem; line-height:1.72; }.seo-footer { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-top:4rem; padding:1.5rem 0 1rem; border-top:1px solid var(--line); }.seo-footer>div { max-width:28rem; }.seo-footer .seo-brand { font-size:.82rem; }.seo-footer p { margin:.7rem 0 0; color:var(--muted); font-size:.7rem; line-height:1.5; }.seo-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.5rem 1rem; }.seo-footer nav a { color:#aebeff; font-size:.72rem; font-weight:800; text-decoration:none; }
@media (max-width:41.99rem) { .seo-legal { margin-top:1.5rem; }.seo-legal section { padding:1.1rem 0; }.seo-legal p { font-size:.78rem; }.seo-footer { display:grid; gap:1.2rem; margin-top:3rem; }.seo-footer nav { justify-content:flex-start; } }
.seo-topic-guide { max-width:52rem; }.seo-topic-guide h1 { max-width:46rem; }.seo-topic-guide__links { display:flex; flex-wrap:wrap; gap:.55rem; margin:0 0 2.2rem; }.seo-topic-guide__links a { display:inline-flex; align-items:center; gap:.35rem; min-height:2.45rem; padding:0 .8rem; border:1px solid rgba(99,125,255,.46); border-radius:.72rem; color:#cdd7ff; background:linear-gradient(135deg,rgba(41,67,181,.42),rgba(19,21,31,.82)); font-size:.69rem; font-weight:800; text-decoration:none; }.seo-topic-guide__links a:first-child { border-color:#2d4ee2; color:#fff; background:#2947cf; }.seo-topic-guide section { position:relative; padding:1.55rem 0 1.55rem 3.45rem; }.seo-topic-guide .seo-topic-number { position:absolute; top:1.45rem; left:0; display:grid; width:2.35rem; height:2.35rem; place-items:center; border:1px solid rgba(105,130,255,.5); border-radius:.7rem; color:#b9c8ff; background:linear-gradient(145deg,#243b9c,#161827); font-size:.65rem; font-weight:800; }.seo-topic-guide h2 { font-size:1.18rem; }.seo-topic-guide p { font-size:.88rem; }.seo-topic-faq { max-width:52rem; margin-top:3.75rem; }.seo-topic-crosslinks { display:grid; grid-template-columns:minmax(0,1fr) minmax(15rem,.72fr); gap:2rem; margin-top:4rem; padding:2.1rem; border:1px solid rgba(92,120,255,.43); border-radius:1.25rem; background:radial-gradient(circle at 88% 12%,rgba(49,79,211,.34),transparent 37%),linear-gradient(135deg,#171b36,#13141b); }.seo-topic-crosslinks .seo-kicker { margin:0 0 .35rem; }.seo-topic-crosslinks h2 { margin:0; font-size:clamp(1.35rem,3vw,2rem); letter-spacing:-.06em; }.seo-topic-crosslinks p:not(.seo-kicker) { max-width:34rem; margin:.7rem 0 0; color:#c4c8d6; font-size:.8rem; line-height:1.6; }.seo-topic-crosslinks nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; align-content:center; }.seo-topic-crosslinks nav a { padding:.8rem; border:1px solid rgba(255,255,255,.11); border-radius:.7rem; color:#e6e9fa; background:rgba(10,12,24,.48); font-size:.72rem; font-weight:800; text-decoration:none; }
.seo-catalogue-note { max-width:42rem; margin:1.5rem auto 0; padding:1rem 1.1rem; border-left:2px solid #4869f3; color:#aeb3c7; background:linear-gradient(90deg,rgba(48,71,189,.19),transparent); font-size:.73rem; line-height:1.6; }
@media (max-width:42rem) { .seo-topic-guide section { padding-left:3rem; }.seo-topic-guide .seo-topic-number { width:2.1rem; height:2.1rem; }.seo-topic-crosslinks { grid-template-columns:1fr; gap:1.25rem; padding:1.35rem; }.seo-topic-crosslinks nav { grid-template-columns:1fr 1fr; } }

/* Shared wordmark: the same asset is used in every public-page header/footer. */
.seo-brand { display:inline-flex; align-items:center; }
.seo-brand picture { display:block; line-height:0; }
.seo-brand img { display:block; width:9.1rem; max-height:2.55rem; height:auto; object-fit:contain; }
.seo-footer .seo-brand img { width:8rem; max-height:2.25rem; }
@media (max-width:41.99rem) { .seo-brand img { width:7.75rem; max-height:2.1rem; } }

/* Editorial topic guides: a real city image carries the spare desktop column. */
@keyframes seo-editorial-rise { from { opacity:0; transform:translateY(.8rem); } to { opacity:1; transform:translateY(0); } }
.seo-topic-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.07fr) minmax(21rem,.93fr); gap:clamp(1.5rem,4vw,4.8rem); min-height:30rem; margin:1.3rem 0 3.7rem; padding:clamp(1.5rem,4vw,4.1rem); overflow:hidden; border:1px solid rgba(85,112,246,.53); border-radius:1.65rem; background:radial-gradient(circle at 4% 4%,rgba(65,95,236,.48),transparent 30%),radial-gradient(circle at 76% 100%,rgba(39,57,154,.35),transparent 42%),linear-gradient(122deg,#171d4b 0%,#11131f 58%,#0f1015 100%); box-shadow:0 1.75rem 4.5rem rgba(0,0,0,.26); }
.seo-topic-hero::before { position:absolute; inset:auto auto -19rem 39%; width:37rem; height:37rem; border:1px solid rgba(205,215,255,.17); border-radius:50%; box-shadow:0 0 0 2.8rem rgba(109,130,250,.06),0 0 0 5.6rem rgba(109,130,250,.035); content:""; }
.seo-topic-hero>div,.seo-topic-hero figure { position:relative; z-index:1; animation:seo-editorial-rise .52s cubic-bezier(.2,.8,.2,1) both; }
.seo-topic-hero figure { min-height:22rem; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.22); border-radius:1.2rem; background:#12141c; box-shadow:0 1.35rem 2.8rem rgba(0,0,0,.32); transform:rotate(2.1deg); animation-delay:.08s; }
.seo-topic-hero figure img { display:block; width:100%; height:100%; object-fit:cover; }
.seo-topic-hero figure::after,.seo-topic-photo-break::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 43%,rgba(7,8,14,.78)); content:""; pointer-events:none; }
.seo-topic-hero figcaption,.seo-topic-photo-break figcaption { position:absolute; z-index:1; right:1rem; bottom:.85rem; left:1rem; color:#eff2ff; font-size:.65rem; font-weight:800; line-height:1.4; }
.seo-topic-hero figcaption a,.seo-topic-photo-break figcaption a { color:#c0ceff; text-decoration:none; }
.seo-topic-hero h1 { max-width:50rem; margin:0; font-size:clamp(2.55rem,5.45vw,5.65rem); line-height:.98; letter-spacing:-.082em; text-wrap:balance; }
.seo-topic-hero>div>p:not(.seo-kicker) { max-width:43rem; margin:1.25rem 0 0; color:#d7dcef; font-size:clamp(.93rem,1.25vw,1.1rem); line-height:1.68; }
.seo-topic-hero .seo-topic-guide__links { margin:1.7rem 0 0; }
.seo-topic-hero .seo-topic-guide__links a { min-height:3.25rem; padding:.72rem 1.05rem; white-space:nowrap; }
.seo-topic-hero__facts { display:flex; flex-wrap:wrap; gap:.65rem 1rem; margin-top:1.4rem; color:#bec9f9; font-size:.68rem; font-weight:800; }
.seo-topic-hero__facts span { display:inline-flex; align-items:center; gap:.38rem; }.seo-topic-hero__facts svg { width:.9rem; height:.9rem; }
.seo-topic-guide { display:grid; grid-template-columns:minmax(0,1fr) minmax(17rem,.36fr); max-width:none; gap:clamp(2rem,5vw,6rem); align-items:start; margin:0 auto; }
.seo-topic-guide__content { min-width:0; }
.seo-topic-guide section { padding:2rem 0 2.15rem 4.1rem; }
.seo-topic-guide .seo-topic-number { top:1.9rem; width:2.65rem; height:2.65rem; border-radius:.82rem; font-size:.7rem; }
.seo-topic-guide h2 { max-width:43rem; margin:0 0 .7rem; font-size:clamp(1.35rem,2.1vw,2rem); line-height:1.08; letter-spacing:-.06em; }
.seo-topic-guide p { max-width:48rem; color:#c8ccda; font-size:clamp(.88rem,1.15vw,1rem); line-height:1.76; }
.seo-topic-photo-break { position:relative; height:clamp(15rem,27vw,24rem); margin:1.2rem 0 1.35rem 4.1rem; overflow:hidden; border:1px solid rgba(118,142,255,.34); border-radius:1.15rem; background:#151720; box-shadow:0 1.1rem 2.5rem rgba(0,0,0,.18); }
.seo-topic-photo-break img { width:100%; height:100%; object-fit:cover; }
.seo-topic-guide__aside { position:sticky; top:6.4rem; padding:1.2rem; border:1px solid rgba(105,130,255,.35); border-radius:1rem; background:linear-gradient(145deg,rgba(42,60,166,.29),rgba(20,22,31,.88)); box-shadow:0 1rem 2.1rem rgba(0,0,0,.14); }
.seo-topic-guide__aside>p { margin:0; color:#b9c7ff; font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.seo-topic-guide__aside ol { display:grid; gap:.8rem; margin:1rem 0 1.2rem; padding:0; list-style:none; }.seo-topic-guide__aside li { display:grid; grid-template-columns:1.7rem 1fr; gap:.45rem; color:#e3e6f2; font-size:.75rem; font-weight:800; line-height:1.4; }.seo-topic-guide__aside li span { color:#91a5ff; font-size:.62rem; }
.seo-topic-guide__aside>a { display:flex; min-height:2.75rem; align-items:center; justify-content:center; gap:.4rem; border-radius:.75rem; color:#fff; background:#2947cf; font-size:.7rem; font-weight:800; text-decoration:none; }.seo-topic-guide__aside>a svg { width:.9rem; height:.9rem; }
.seo-topic-faq { max-width:none; }.seo-topic-faq details { max-width:63rem; }
@media (min-width:72rem) { .seo-page { width:min(100%,96rem); padding-right:2.5rem; padding-left:2.5rem; }.seo-site-header { margin-right:-2.5rem; margin-left:-2.5rem; padding-right:2.5rem; padding-left:2.5rem; } }
@media (max-width:70rem) { .seo-topic-hero { grid-template-columns:minmax(0,1fr) minmax(17rem,.72fr); gap:1.6rem; padding:2.2rem; }.seo-topic-hero figure { min-height:17rem; }.seo-topic-guide { grid-template-columns:minmax(0,1fr) 15rem; gap:2rem; } }
@media (max-width:41.99rem) { .seo-topic-hero { display:block; min-height:0; margin:1rem 0 2.6rem; padding:1.55rem 1rem 1rem; border-radius:1.25rem; }.seo-topic-hero h1 { font-size:clamp(2.45rem,12vw,3.5rem); }.seo-topic-hero>div>p:not(.seo-kicker) { font-size:.91rem; line-height:1.62; }.seo-topic-hero figure { min-height:14.5rem; height:14.5rem; margin:1.55rem .2rem .15rem; transform:rotate(1.2deg); }.seo-topic-hero__facts { gap:.55rem; font-size:.63rem; }.seo-topic-guide { display:block; }.seo-topic-guide__aside { display:none; }.seo-topic-guide section { padding:1.45rem 0 1.55rem 3.05rem; }.seo-topic-guide .seo-topic-number { top:1.35rem; width:2.15rem; height:2.15rem; border-radius:.65rem; }.seo-topic-guide h2 { font-size:1.27rem; }.seo-topic-guide p { font-size:.86rem; line-height:1.68; }.seo-topic-photo-break { height:13rem; margin:1rem 0 1rem 3.05rem; border-radius:.95rem; }.seo-topic-photo-break figcaption,.seo-topic-hero figcaption { right:.75rem; bottom:.65rem; left:.75rem; font-size:.56rem; }.seo-topic-faq { margin-top:2.7rem; } }
@media (prefers-reduced-motion:reduce) { .seo-topic-hero>div,.seo-topic-hero figure { animation:none; } }

/* The rest of the public pages share the same photo-led editorial rhythm. */
.seo-landing-hero { display:grid; grid-template-columns:minmax(0,1.07fr) minmax(20rem,.78fr); gap:clamp(1.5rem,4vw,4.5rem); align-items:center; min-height:27rem; }
.seo-landing-hero>div { min-width:0; }.seo-landing-hero figure { position:relative; z-index:1; align-self:stretch; min-height:20rem; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:1.2rem; background:#141622; box-shadow:0 1.3rem 2.8rem rgba(0,0,0,.28); transform:rotate(1.7deg); }
.seo-landing-hero figure img { display:block; width:100%; height:100%; object-fit:cover; }.seo-landing-hero figure::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 43%,rgba(8,10,16,.78)); content:""; pointer-events:none; }.seo-landing-hero figcaption { position:absolute; z-index:1; right:.95rem; bottom:.8rem; left:.95rem; color:#e9edff; font-size:.62rem; font-weight:800; }.seo-landing-hero figcaption a { color:#bfd0ff; text-decoration:none; }
.seo-landing-hero .seo-hero__stats { max-width:43rem; }.seo-landing-hero .seo-hero__stats a { transition:transform .2s ease,background .2s ease; }.seo-landing-hero .seo-hero__stats a:hover { transform:translateY(-2px); background:#2846ca; }
.seo-venues-hero--photo { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(20rem,.76fr); align-items:stretch; padding:0; overflow:visible; background:linear-gradient(125deg,#1f328f,#14151c 66%); }.seo-venues-hero--photo>div { display:flex; min-height:20rem; flex-direction:column; justify-content:flex-end; padding:2.8rem 3rem; }.seo-venues-hero--photo>div>span { display:inline-flex; align-items:center; align-self:flex-start; gap:.5rem; min-height:2.8rem; margin-top:1.2rem; padding:0 .9rem; border:1px solid rgba(205,215,255,.26); border-radius:.86rem; color:#e7ebff; background:rgba(8,11,41,.32); font-size:.74rem; font-weight:800; }.seo-venues-hero--photo>div>span svg { width:1rem; height:1rem; }.seo-venues-hero--photo figure { position:relative; min-height:20rem; margin:0; overflow:hidden; border-radius:0 1.55rem 1.55rem 0; }.seo-venues-hero--photo figure img { width:100%; height:100%; object-fit:cover; }.seo-venues-hero--photo figure::after { position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,23,37,.34),rgba(5,6,12,.25)); content:""; }.seo-venues-hero--photo figcaption { position:absolute; z-index:1; right:1rem; bottom:.9rem; left:1rem; color:#eff1ff; font-size:.62rem; font-weight:800; }.seo-venues-hero--photo figcaption a { color:#c6d2ff; text-decoration:none; }
.seo-venue-context { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(18rem,.7fr); gap:2rem; min-height:20rem; margin-top:3.2rem; overflow:hidden; border:1px solid rgba(85,112,246,.45); border-radius:1.35rem; background:linear-gradient(120deg,rgba(37,58,166,.42),rgba(17,18,26,.95)); }.seo-venue-context>div { display:flex; flex-direction:column; justify-content:center; padding:2.25rem; }.seo-venue-context h2 { max-width:34rem; margin:.2rem 0 .8rem; font-size:clamp(1.5rem,3vw,2.55rem); line-height:1.06; letter-spacing:-.065em; }.seo-venue-context p:not(.seo-kicker) { max-width:38rem; margin:0; color:#d2d6e5; font-size:.84rem; line-height:1.68; }.seo-venue-context a { display:inline-flex; align-items:center; gap:.4rem; align-self:flex-start; margin-top:1.3rem; color:#fff; font-size:.74rem; font-weight:800; text-decoration:none; }.seo-venue-context a svg { width:1rem; height:1rem; }.seo-venue-context figure { position:relative; margin:0; overflow:hidden; }.seo-venue-context figure img { width:100%; height:100%; object-fit:cover; }.seo-venue-context figure::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(8,9,15,.8)); content:""; }.seo-venue-context figcaption { position:absolute; z-index:1; right:.9rem; bottom:.75rem; left:.9rem; color:#f0f2ff; font-size:.61rem; font-weight:800; }.seo-venue-context figcaption a { color:#c6d2ff; text-decoration:none; }
.seo-simple-hero { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(19rem,.78fr); gap:clamp(1.5rem,4vw,4.3rem); min-height:28rem; margin-top:1.35rem; padding:clamp(1.5rem,4vw,4rem); overflow:hidden; border:1px solid rgba(93,119,255,.5); border-radius:1.65rem; background:radial-gradient(circle at 5% 5%,rgba(65,95,236,.42),transparent 30%),linear-gradient(125deg,#171d4b,#11131e 64%); box-shadow:0 1.5rem 4rem rgba(0,0,0,.25); }.seo-simple-hero>div,.seo-simple-hero figure { position:relative; z-index:1; }.seo-simple-hero h1 { max-width:47rem; margin:0; font-size:clamp(2.5rem,5.3vw,5.2rem); line-height:1; letter-spacing:-.08em; }.seo-simple-hero>div>p:not(.seo-kicker) { max-width:43rem; margin:1.1rem 0 0; color:#d6dbee; font-size:1rem; line-height:1.65; }.seo-simple-hero>div>div { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.65rem; }.seo-simple-hero>div>div a { display:inline-flex; min-height:3rem; align-items:center; gap:.45rem; padding:0 1rem; border:1px solid rgba(190,204,255,.32); border-radius:.8rem; color:#e7ebff; background:rgba(10,12,31,.35); font-size:.75rem; font-weight:800; text-decoration:none; }.seo-simple-hero>div>div a:first-child { border-color:#fff; color:#1c3097; background:#fff; }.seo-simple-hero>div>div svg { width:1rem; height:1rem; }.seo-simple-hero figure { min-height:20rem; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:1.2rem; transform:rotate(1.8deg); }.seo-simple-hero figure img { width:100%; height:100%; object-fit:cover; }.seo-simple-hero figure::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(8,10,16,.78)); content:""; }.seo-simple-hero figcaption { position:absolute; z-index:1; right:.9rem; bottom:.75rem; left:.9rem; color:#f2f4ff; font-size:.61rem; font-weight:800; }.seo-simple-hero figcaption a { color:#c8d4ff; text-decoration:none; }
.seo-simple-guide { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:3.2rem; overflow:hidden; border:1px solid var(--line); border-radius:1.25rem; background:var(--line); }.seo-simple-guide section { display:grid; grid-template-columns:3rem minmax(0,1fr); gap:.85rem; min-height:14rem; padding:1.7rem; background:#171820; }.seo-simple-guide section>span { display:grid; width:2.45rem; height:2.45rem; place-items:center; border:1px solid rgba(104,130,255,.48); border-radius:.72rem; color:#b9c8ff; background:#202c70; font-size:.67rem; font-weight:800; }.seo-simple-guide h2 { margin:.15rem 0 .55rem; font-size:1.18rem; line-height:1.1; letter-spacing:-.055em; }.seo-simple-guide p { margin:0; color:#c6cad8; font-size:.79rem; line-height:1.65; }.seo-simple-guide__cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:3.2rem; padding:2.2rem; border:1px solid rgba(100,127,255,.5); border-radius:1.25rem; background:radial-gradient(circle at 88% 18%,rgba(70,98,236,.36),transparent 27%),linear-gradient(126deg,#1c2c7b,#15161d 70%); }.seo-simple-guide__cta h2 { max-width:42rem; margin:.25rem 0 .65rem; font-size:clamp(1.45rem,2.8vw,2.45rem); line-height:1.08; letter-spacing:-.065em; }.seo-simple-guide__cta p:not(.seo-kicker) { max-width:45rem; margin:0; color:#d5d9e8; font-size:.8rem; line-height:1.62; }.seo-simple-guide__cta>a { display:inline-flex; flex:none; min-height:3rem; align-items:center; gap:.45rem; padding:0 1rem; border-radius:.8rem; color:#21369e; background:#fff; font-size:.73rem; font-weight:800; text-decoration:none; }.seo-simple-guide__cta>a svg { width:1rem; height:1rem; }
@media (max-width:70rem) { .seo-landing-hero { grid-template-columns:minmax(0,1fr) minmax(17rem,.7fr); }.seo-venues-hero--photo { grid-template-columns:minmax(0,1fr) minmax(16rem,.65fr); }.seo-venues-hero--photo>div { padding:2.2rem; }.seo-venue-context { grid-template-columns:minmax(0,1fr) minmax(15rem,.65fr); }.seo-simple-hero { grid-template-columns:minmax(0,1fr) minmax(16rem,.68fr); padding:2.2rem; }.seo-simple-guide { grid-template-columns:1fr; }.seo-simple-guide section { min-height:0; } }
@media (max-width:41.99rem) { .seo-landing-hero,.seo-simple-hero { display:block; min-height:0; margin-top:1rem; padding:1.55rem 1rem 1rem; }.seo-landing-hero figure,.seo-simple-hero figure { height:14rem; min-height:14rem; margin:1.45rem .15rem .1rem; }.seo-landing-hero h1,.seo-simple-hero h1 { font-size:clamp(2.4rem,12vw,3.55rem); }.seo-landing-hero>div>div:not(.seo-hero__stats) { font-size:.88rem; }.seo-venues-hero--photo { display:block; margin-top:1rem; padding:0; }.seo-venues-hero--photo>div { min-height:0; padding:1.8rem 1.1rem; }.seo-venues-hero--photo figure { min-height:13.5rem; height:13.5rem; border-radius:0 0 1.25rem 1.25rem; }.seo-venue-context { display:block; min-height:0; margin-top:2.5rem; }.seo-venue-context>div { padding:1.5rem 1.1rem; }.seo-venue-context figure { height:13.5rem; }.seo-simple-hero>div>p:not(.seo-kicker) { font-size:.9rem; }.seo-simple-hero>div>div a { min-height:2.8rem; font-size:.7rem; }.seo-simple-guide { margin-top:2.5rem; }.seo-simple-guide section { grid-template-columns:2.6rem minmax(0,1fr); gap:.65rem; padding:1.25rem 1rem; }.seo-simple-guide h2 { font-size:1.08rem; }.seo-simple-guide p { font-size:.77rem; }.seo-simple-guide__cta { display:grid; gap:1.25rem; margin-top:2.5rem; padding:1.4rem; }.seo-simple-guide__cta>a { justify-content:center; }.seo-landing-hero figcaption,.seo-simple-hero figcaption,.seo-venues-hero--photo figcaption,.seo-venue-context figcaption { font-size:.56rem; } }

/* Navigation is a real wayfinding layer: desktop reveals second-level routes, mobile keeps every route one tap away. */
.seo-site-header { overflow:visible; }
.seo-site-nav { align-items:center; overflow:visible; }
.seo-site-nav>a,.seo-site-menu>a { display:inline-flex; min-height:2.65rem; align-items:center; padding:0 .78rem; border-radius:.74rem; color:#c8cbda; font-size:.73rem; font-weight:800; text-decoration:none; white-space:nowrap; transition:background .18s ease,color .18s ease,transform .18s ease; }
.seo-site-nav>a:hover,.seo-site-menu>a:hover,.seo-site-menu:focus-within>a { color:#fff; background:rgba(59,87,229,.18); }
.seo-site-nav__home { border:1px solid rgba(90,119,255,.55); color:#eff2ff!important; background:rgba(42,68,196,.36); }
.seo-site-menu { position:relative; flex:none; }
.seo-site-menu__panel { position:absolute; z-index:25; top:calc(100% + .7rem); left:0; display:grid; min-width:16.5rem; gap:.12rem; padding:.5rem; border:1px solid rgba(107,132,255,.42); border-radius:1rem; opacity:0; visibility:hidden; background:linear-gradient(145deg,rgba(29,40,99,.98),rgba(16,17,24,.99)); box-shadow:0 1.25rem 3.2rem rgba(0,0,0,.36); transform:translateY(-.35rem); transition:opacity .17s ease,transform .17s ease,visibility .17s step-end; }
.seo-site-menu:hover .seo-site-menu__panel,.seo-site-menu:focus-within .seo-site-menu__panel { opacity:1; visibility:visible; transform:translateY(0); transition:opacity .17s ease,transform .17s ease; }
.seo-site-menu__panel::before { position:absolute; top:-.75rem; left:0; width:100%; height:.8rem; content:""; }
.seo-site-menu__panel a { padding:.68rem .72rem; border-radius:.62rem; color:#d9dced; font-size:.69rem; font-weight:800; line-height:1.32; text-decoration:none; }
.seo-site-menu__panel a:hover,.seo-site-menu__panel a:focus-visible { color:#fff; outline:none; background:rgba(67,93,226,.34); }
.seo-mobile-menu { display:none; }
.seo-site-nav>a:focus-visible,.seo-site-menu>a:focus-visible,.seo-site-nav__telegram:focus-visible,.seo-mobile-menu summary:focus-visible { outline:2px solid #9eb3ff; outline-offset:3px; }
@media (max-width:72rem) and (min-width:42rem) { .seo-site-nav>a,.seo-site-menu>a { padding:0 .52rem; font-size:.66rem; }.seo-site-nav { gap:.1rem; }.seo-site-nav__telegram { padding:0 .72rem; font-size:.66rem; } }
@media (max-width:41.99rem) { .seo-site-header { position:sticky; gap:.45rem; }.seo-site-header .seo-site-nav { display:none; }.seo-site-header .seo-site-nav__telegram { min-height:2.35rem; margin-left:auto; padding:0 .64rem!important; border-radius:.68rem; font-size:.62rem!important; }.seo-mobile-menu { position:relative; display:block; flex:none; }.seo-mobile-menu summary { display:grid; width:2.45rem; height:2.35rem; place-content:center; gap:.22rem; cursor:pointer; border:1px solid rgba(104,130,255,.5); border-radius:.68rem; background:#181b29; list-style:none; }.seo-mobile-menu summary::-webkit-details-marker { display:none; }.seo-mobile-menu summary span { display:block; width:1rem; height:2px; border-radius:9px; background:#e8ebff; transition:transform .18s ease,opacity .18s ease; }.seo-mobile-menu[open] summary span:first-child { transform:translateY(.44rem) rotate(45deg); }.seo-mobile-menu[open] summary span:nth-child(2) { opacity:0; }.seo-mobile-menu[open] summary span:last-child { transform:translateY(-.44rem) rotate(-45deg); }.seo-mobile-menu nav { position:absolute; z-index:30; top:calc(100% + .55rem); right:0; display:grid; width:min(19rem,calc(100vw - 1.5rem)); grid-template-columns:1fr 1fr; gap:.28rem; padding:.55rem; border:1px solid rgba(103,130,255,.55); border-radius:1rem; background:linear-gradient(145deg,#202d75,#12141d 70%); box-shadow:0 1.2rem 2.8rem rgba(0,0,0,.42); }.seo-mobile-menu nav a { min-height:3rem; display:flex; align-items:center; padding:.55rem .6rem; border:1px solid rgba(255,255,255,.09); border-radius:.65rem; color:#edf0ff; background:rgba(7,9,22,.22); font-size:.66rem; font-weight:800; line-height:1.22; text-decoration:none; }.seo-mobile-menu nav a:first-child { grid-column:1/-1; color:#fff; background:#2947cf; } }

/* Wide desktop is an editorial surface, not a narrow mobile column stretched onto a monitor. */
.seo-catalogue-note { max-width:none; margin:1.7rem 0 0; padding:1rem 1.25rem; }
.seo-about,.seo-faq { max-width:none; }
.seo-guide { max-width:none; }
.seo-about p,.seo-faq p { max-width:none; }
.seo-topic-faq details { max-width:none; }
@media (min-width:42rem) { .seo-about { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 clamp(1.5rem,4.5vw,5.5rem); align-items:start; }.seo-about h2 { grid-column:1/-1; margin:0 0 1.25rem; font-size:clamp(1.55rem,2.7vw,2.45rem); line-height:1.05; letter-spacing:-.065em; }.seo-about p { margin:0 0 1.15rem; font-size:clamp(.83rem,1vw,.98rem); line-height:1.72; }.seo-about p:first-of-type { grid-column:1/-1; max-width:82rem; font-size:clamp(.9rem,1.14vw,1.08rem); }.seo-faq h2 { max-width:none; font-size:clamp(1.55rem,2.7vw,2.45rem); }.seo-faq summary { padding:1.18rem 0; font-size:clamp(.82rem,1.05vw,.98rem); }.seo-faq p { padding-right:clamp(2rem,10vw,12rem); font-size:.84rem; }.seo-catalogue-note { font-size:.79rem; } }
@media (max-width:41.99rem) { .seo-about p { font-size:.8rem; }.seo-catalogue-note { margin-top:1.25rem; padding:.9rem 1rem; } }

/* Главная страница: разделы афиши и внутренние переходы со страницы события. */
.seo-home-sections { margin:2rem 0; }
.seo-home-grid { display:grid; gap:.6rem; grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr)); }
.seo-home-section { display:flex; align-items:center; gap:.6rem; padding:.75rem .8rem; border:1px solid var(--line); border-radius:.9rem; color:inherit; background:var(--surface); text-decoration:none; transition:transform .2s ease,border-color .2s ease; }
.seo-home-section:hover { transform:translateY(-2px); border-color:#566fe8; }
.seo-home-section svg { width:1.2rem; height:1.2rem; flex:none; color:#9eb0ff; }
.seo-home-section span { display:grid; min-width:0; gap:.12rem; }
.seo-home-section strong { font-size:.78rem; letter-spacing:-.02em; }
.seo-home-section small { color:var(--faint,#8d8d8d); font-size:.62rem; font-weight:700; }
.seo-event-links { display:flex; flex-wrap:wrap; gap:.5rem 1rem; margin-top:.9rem; }

/* Постраничная навигация подборок и быстрые даты в шапке. */
.seo-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.4rem; margin:1.2rem 0 .4rem; }
.seo-pagination__numbers { display:flex; flex-wrap:wrap; gap:.3rem; }
.seo-page-link { display:grid; min-width:2.1rem; height:2.1rem; place-items:center; padding:0 .55rem; border:1px solid var(--line); border-radius:.6rem; color:#c9d2ff; background:var(--surface); font-size:.7rem; font-weight:800; text-decoration:none; }
.seo-page-link:hover { border-color:#566fe8; }
.seo-page-link.is-current { border-color:var(--blue,#1b36c1); color:#fff; background:var(--blue,#1b36c1); }
.seo-page-gap { color:var(--faint,#8d8d8d); padding:0 .15rem; }
.seo-site-nav__today { color:#9eb0ff; font-weight:800; }

/* Другие сеансы и даты того же события. */
.seo-sessions { margin:2rem 0; }
.seo-session-list { display:grid; gap:.4rem; grid-template-columns:repeat(auto-fill,minmax(15rem,1fr)); }
.seo-session { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.6rem .75rem; border:1px solid var(--line); border-radius:.75rem; color:inherit; background:var(--surface); text-decoration:none; }
.seo-session:hover { border-color:#566fe8; }
.seo-session span { display:grid; min-width:0; gap:.1rem; }
.seo-session b { font-size:.7rem; font-weight:800; }
.seo-session small { overflow:hidden; color:var(--faint,#8d8d8d); font-size:.62rem; font-weight:700; white-space:nowrap; text-overflow:ellipsis; }
.seo-session em { flex:none; color:#9eb0ff; font-size:.66rem; font-weight:800; font-style:normal; }

/* Переход в Telegram: объясняем разницу, а не просто зовём. */
.seo-telegram { display:grid; gap:1.2rem; margin:2.4rem 0; padding:1.4rem; border:1px solid rgba(99,126,255,.35); border-radius:1.15rem; background:linear-gradient(140deg,rgba(27,54,193,.28),rgba(27,54,193,.06)); }
.seo-telegram h2 { margin:.2rem 0 .5rem; font-size:1.2rem; letter-spacing:-.03em; }
.seo-telegram > div > p { margin:0 0 .7rem; color:#c9cbd4; font-size:.76rem; line-height:1.5; }
.seo-telegram__list { display:grid; gap:.6rem; margin:0; padding:0; list-style:none; }
.seo-telegram__list li { display:flex; gap:.55rem; align-items:flex-start; }
.seo-telegram__list svg { width:1rem; height:1rem; flex:none; margin-top:.15rem; color:#9eb0ff; }
.seo-telegram__list span { display:grid; gap:.1rem; font-size:.72rem; line-height:1.45; color:#c9cbd4; }
.seo-telegram__list b { color:#fff; font-size:.75rem; }
.seo-telegram__action { display:grid; gap:.45rem; justify-items:start; align-content:center; }
.seo-button--telegram { display:inline-flex; align-items:center; gap:.4rem; }
.seo-button--telegram svg { width:1rem; height:1rem; }
.seo-telegram__action small { color:var(--faint,#8d8d8d); font-size:.64rem; font-weight:700; }
@media (min-width: 46rem) {
  .seo-telegram { grid-template-columns: minmax(0,1fr) auto; align-items:center; gap:2rem; padding:1.8rem; }
}

/* Полный список площадок под витриной описанных вручную. */
.seo-venue-rest { margin:2.4rem 0; }
.seo-venue-rows { display:grid; gap:.4rem; grid-template-columns:repeat(auto-fill,minmax(16rem,1fr)); }
.seo-venue-row { display:flex; align-items:center; justify-content:space-between; gap:.7rem; padding:.6rem .75rem; border:1px solid var(--line); border-radius:.75rem; color:inherit; background:var(--surface); text-decoration:none; }
.seo-venue-row:hover { border-color:#566fe8; }
.seo-venue-row span { display:grid; min-width:0; gap:.1rem; }
.seo-venue-row b { overflow:hidden; font-size:.72rem; font-weight:800; white-space:nowrap; text-overflow:ellipsis; }
.seo-venue-row small { overflow:hidden; color:var(--faint,#8d8d8d); font-size:.62rem; font-weight:700; white-space:nowrap; text-overflow:ellipsis; }
.seo-venue-row em { flex:none; color:#9eb0ff; font-size:.7rem; font-weight:800; font-style:normal; }

/* На телефоне герой занимал весь первый экран, и на странице «что сегодня»
   человек не видел ни одного события без прокрутки. Ужимаем заголовок и
   иллюстрацию — фотография города остаётся, но перестаёт быть ширмой. */
@media (max-width: 41.99rem) {
  .seo-hero h1 { font-size: 1.85rem; letter-spacing: -.05em; }
  .seo-hero p { font-size: .64rem; }
  .seo-hero > div:not(.seo-hero__stats) { margin-top: .75rem; font-size: .82rem; line-height: 1.5; }
  .seo-landing-hero { min-height: 0; gap: 1rem; }
  .seo-landing-hero figure { min-height: 0; height: 9.5rem; transform: none; }
  .seo-landing-hero figure img { height: 100%; object-fit: cover; }
  .seo-hero__stats span, .seo-hero__stats a { min-height: 2.15rem; padding: 0 .65rem; font-size: .68rem; }
}
