/*
Theme Name: City News — Городские медиа
Theme URI: https://nntimes.ru/
Author: Igor Sumin Media
Description: Независимая лёгкая тема для городских новостных изданий. Gutenberg, рубрики, лента, реклама и мобильная версия.
Version: 1.4.0
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: city-news
*/
:root{--accent:#a61d35;--ink:#202025;--muted:#73737b;--line:#e5e5e9;--paper:#f5f5f7;--radius:3px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:40px;line-height:1.12}h2{font-size:27px;line-height:1.18}h3{font-size:20px;line-height:1.3}p{line-height:1.6}.wrap{width:min(1240px,calc(100% - 64px));margin:auto}.topbar{border-bottom:1px solid var(--line);font-size:12px;color:#575760}.topbar-inner{display:flex;align-items:center;gap:24px;min-height:36px}.topbar-inner a{margin-left:auto}.masthead{display:flex;align-items:center;justify-content:space-between;min-height:128px;gap:20px}.brand-name{font-size:52px;font-weight:900;letter-spacing:-.065em;line-height:1}.brand-dot{color:var(--accent)}.brand p{margin:10px 0 0;font-size:12px;letter-spacing:.05em;color:var(--muted)}.custom-logo{max-width:340px;max-height:85px;width:auto;object-fit:contain}.header-note{font-size:13px;color:var(--muted);line-height:1.6;border-left:2px solid var(--accent);padding-left:18px}.header-note strong{color:var(--ink);font-weight:500}.nav-border{border-top:1px solid var(--line);border-bottom:2px solid var(--ink)}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;min-height:54px}.menu{padding:0;margin:0;list-style:none;display:flex;gap:27px;align-items:center}.menu a{font-size:14px;font-weight:700;display:block;padding:18px 0}.menu .current-menu-item>a{color:var(--accent)}.menu li{position:relative}.menu .sub-menu{display:none;list-style:none;margin:0;padding:8px 18px;background:#fff;border:1px solid var(--line);position:absolute;top:100%;left:0;min-width:200px;z-index:30}.menu .sub-menu a{padding:10px 0}.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{display:block}.menu .sub-menu .sub-menu{left:100%;top:0}.menu-toggle{display:none;background:none;border:0;padding:12px 0;font-weight:bold}.header-search{margin-left:auto;flex-shrink:0}.header-search summary{cursor:pointer;font-size:14px;font-weight:600}.header-search .search-form{position:absolute;right:0;top:100%;background:#fff;padding:20px;box-shadow:0 8px 24px #0002;z-index:35;width:min(420px,100%)}.news-ticker{display:flex;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px}.news-ticker>span{font-size:10px;letter-spacing:.1em;font-weight:bold;flex-shrink:0;color:var(--accent)}.news-ticker i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:6px}.news-ticker>a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:27px 0 20px}.section-heading h1,.section-heading h2{margin:0;font-size:28px}.section-heading h1 span{color:var(--muted);font-weight:400}.section-note,.section-heading>a{font-size:12px;color:var(--muted)}.hero-grid{display:grid;grid-template-columns:2.08fr 1fr 1fr;gap:22px}.news-card{min-width:0}.news-card .card-media{display:block;overflow:hidden;background:var(--paper);aspect-ratio:1.565;border-radius:var(--radius)}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.card-media:hover img{transform:scale(1.025)}.card-body{padding:13px 0 0}.eyebrow{color:var(--accent);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;display:inline-block}.news-card h2{font-size:19px;margin:8px 0 12px;line-height:1.23}.meta{font-size:11px;color:var(--muted);line-height:1.6}.lead{grid-row:span 2;position:relative;background:var(--ink);border-radius:var(--radius);overflow:hidden;color:#fff}.lead .card-media{height:100%;aspect-ratio:auto;min-height:470px}.lead .card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,#000d)}.lead .card-body{position:absolute;bottom:0;left:0;right:0;padding:28px;pointer-events:none}.lead .card-body a{pointer-events:auto}.lead h2{font-size:36px;line-height:1.1;max-width:520px}.lead .eyebrow{color:#fff;background:var(--accent);padding:6px 9px}.lead .meta{color:#ddd}.lead a:hover{color:#fff;text-decoration:underline}.card-excerpt{font-size:14px;color:#eee;margin:12px 0;line-height:1.5}.no-image{display:flex;align-items:center;justify-content:center;height:100%;font-size:14px;color:#777;background:linear-gradient(135deg,#f1f1f4,#dedee5)}.lead .no-image{color:#ccc;background:linear-gradient(135deg,#423b43,#202025)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:46px;margin-top:26px}.feed-item{display:grid;grid-template-columns:54px minmax(0,1fr) 112px;gap:20px;padding:23px 0;border-top:1px solid var(--line)}.feed-time time{font-size:15px;font-weight:bold}.feed-time small{display:block;color:var(--muted);font-size:10px;margin-top:7px}.feed h3{margin:7px 0 8px;font-size:21px}.feed p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.feed-image{border-radius:var(--radius);overflow:hidden;align-self:start}.feed-image img{width:112px;height:85px;object-fit:cover}.sidebar{padding-top:25px}.telegram-box{padding:27px;background:#f4f2f3;border-top:3px solid var(--accent);margin-bottom:30px}.telegram-box h2{font-size:30px;margin:14px 0}.telegram-box p{font-size:13px;color:var(--muted)}.button{display:inline-block;background:var(--accent);color:#fff;padding:12px 17px;font-size:12px;font-weight:bold;border:0;border-radius:2px}.button:hover{color:#fff;filter:brightness(.9)}.widget{margin-bottom:28px;overflow-wrap:anywhere}.widget-title{font-size:19px;padding-bottom:14px;border-bottom:2px solid var(--ink);margin-bottom:0}.sidebar-item{border-bottom:1px solid var(--line);padding:20px 0}.sidebar-item h3{font-size:17px;margin:7px 0 10px}.ad-slot{position:relative;margin:28px 0;background:var(--paper);text-align:center;padding:20px 0 0}.ad-label{position:absolute;top:5px;left:8px;text-transform:uppercase;font-size:8px;letter-spacing:.15em;color:var(--muted)}.ad-slot .widget{margin:0}.ad-slot img{margin:auto}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.category-section{border-top:2px solid var(--ink);margin:44px 0}.category-section .news-card h2{font-size:24px}.archive-layout{margin-bottom:55px}.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 25px}.archive-description{color:var(--muted);margin-bottom:24px;font-size:15px}.breadcrumbs{display:flex;gap:12px;font-size:12px;align-items:center;margin-top:28px;color:var(--muted)}.article-layout{margin-bottom:45px}.article-header h1{font-size:44px;margin:13px 0 20px;line-height:1.12}.article-header .meta{font-size:12px;margin-bottom:24px}.article-cover{margin:0 0 25px}.article-cover img{width:100%;height:auto}.article-cover figcaption{font-size:11px;color:var(--muted);margin-top:9px;line-height:1.5}.entry-content{font-size:18px;line-height:1.8;overflow-wrap:anywhere}.entry-content p{line-height:1.8;margin-bottom:24px}.entry-content a{text-decoration:underline;color:var(--accent)}.entry-content h2{font-size:29px;margin-top:36px}.entry-content h3{font-size:23px;margin-top:28px}.entry-content blockquote{border-left:4px solid var(--accent);margin:30px 0;padding:8px 0 8px 24px;font-size:23px}.entry-content figure{max-width:100%;margin-left:0;margin-right:0}.entry-content figcaption{font-size:12px;color:var(--muted)}.entry-content iframe{max-width:100%}.entry-content table{border-collapse:collapse;width:100%;font-size:15px}.entry-content td,.entry-content th{padding:10px;border:1px solid var(--line)}.wp-block-table{overflow-x:auto}.alignleft{float:left;margin:0 24px 20px 0}.alignright{float:right;margin:0 0 20px 24px}.aligncenter{margin-left:auto;margin-right:auto}.entry-content:after{content:"";display:block;clear:both}.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.post-tags a{background:var(--paper);padding:6px 10px;font-size:12px}.share-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:12px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.share-row button{background:none;border:1px solid var(--line);padding:8px 12px;border-radius:3px}.copy-status{color:var(--accent)}.post-navigation{margin:30px 0}.nav-links{display:flex;gap:25px;justify-content:space-between}.nav-links>div{max-width:48%;font-size:14px;line-height:1.5}.nav-links span{display:block;font-size:10px;color:var(--muted);margin-bottom:6px}.static-page{max-width:800px;margin:40px auto 65px}.site-footer{background:#f3f3f5;border-top:1px solid var(--line);padding:40px 0 22px;margin-top:55px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:60px}.footer-brand{font-size:32px;font-weight:900;letter-spacing:-.05em}.footer-grid p{font-size:12px;color:var(--muted);max-width:570px;margin:15px 0}.footer-grid ul{list-style:none;padding:0;display:flex;gap:16px;flex-wrap:wrap;font-size:12px}.copyright{font-size:10px;color:var(--muted);padding-top:25px;margin-top:25px;border-top:1px solid #ddd}.search-form{display:flex;gap:8px}.search-form label{flex:1;min-width:0}.search-form input{width:100%;padding:12px;border:1px solid var(--line);font-size:14px}.search-form button{background:var(--accent);color:white;border:0;padding:10px 15px;font-size:12px}.empty-state{padding:70px 0;text-align:center;max-width:650px;margin:auto}.empty-state .search-form{max-width:480px;margin:25px auto}.pagination,.navigation.pagination{margin:30px 0;display:flex;gap:8px;flex-wrap:wrap}.pagination .nav-links{flex-wrap:wrap;gap:8px}.page-numbers{padding:10px 13px;background:var(--paper);font-size:13px}.page-numbers.current{background:var(--accent);color:#fff}.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{display:block;padding:12px;background:var(--accent);color:#fff}.comments-area{margin-top:35px}.comment-list{padding-left:0;list-style:none}.comment-body{padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}.comment-author img{display:inline-block;vertical-align:middle;margin-right:10px}.comment-metadata{font-size:11px;color:var(--muted);margin-top:8px}.comment-form label{display:block;margin:10px 0;font-size:13px}.comment-form input:not([type=checkbox]),.comment-form textarea{padding:12px;border:1px solid var(--line);max-width:100%}.comment-form textarea{width:100%}.comment-form .submit{background:var(--accent);color:#fff;border:0}.comment-form-cookies-consent label{display:inline;font-size:12px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:1050px){.wrap{width:calc(100% - 40px)}.menu{gap:17px}.menu a{font-size:12px}.hero-grid{gap:16px;grid-template-columns:1.7fr 1fr 1fr}.lead h2{font-size:29px}.news-card h2{font-size:17px}.content-grid{gap:28px;grid-template-columns:minmax(0,1fr) 265px}.feed-item{grid-template-columns:45px minmax(0,1fr) 85px;gap:14px}.feed-image img{width:85px;height:75px}}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.topbar-inner{gap:12px;font-size:10px;min-height:31px}.topbar-inner>a{font-size:10px}.masthead{min-height:99px}.brand-name{font-size:40px}.brand p{font-size:10px;margin-top:7px}.custom-logo{max-width:250px;max-height:62px}.header-note{display:none}.nav-row{min-height:47px;flex-wrap:wrap;gap:0}.menu-toggle{display:block;font-size:13px}.js #main-nav{display:none}.js #main-nav.is-open{display:block}#main-nav{order:3;width:100%}.menu{flex-wrap:wrap;gap:0 22px;padding-bottom:12px}.menu a{font-size:13px;padding:12px 0}.menu .sub-menu{position:static;border:0;padding:0 8px;display:block;min-width:0}.header-search .search-form{width:100%;padding:16px}.news-ticker{padding:16px 0;gap:13px;font-size:12px}.section-heading{padding:22px 0 17px}.section-heading h1,.section-heading h2{font-size:23px}.section-note{font-size:10px}.hero-grid{grid-template-columns:1fr 1fr;gap:21px 15px}.lead{grid-column:1/-1;grid-row:auto}.lead .card-media{min-height:390px;height:390px}.lead .card-body{padding:23px}.lead h2{font-size:32px}.lead .card-excerpt{font-size:13px}.news-card h2{font-size:17px;margin:7px 0 9px}.meta{font-size:10px}.eyebrow{font-size:9px}.content-grid{display:block;margin-top:20px}.feed-item{grid-template-columns:42px minmax(0,1fr) 75px;gap:12px;padding:21px 0}.feed h3{font-size:18px}.feed p{font-size:12px}.feed-image img{width:75px;height:70px}.feed-time time{font-size:13px}.sidebar{padding-top:18px}.telegram-box h2{font-size:29px}.cards-grid{grid-template-columns:1fr;gap:24px}.category-section{margin:30px 0}.category-section .news-card{display:grid;grid-template-columns:125px minmax(0,1fr);gap:15px}.category-section .card-media{height:105px;aspect-ratio:auto}.category-section .card-body{padding:0}.category-section .news-card h2{font-size:19px}.archive-grid{gap:24px 15px}.article-header h1{font-size:32px}.article-header .meta{font-size:11px}.entry-content{font-size:17px}.entry-content h2{font-size:26px}.entry-content blockquote{font-size:20px;padding-left:17px}.article-layout .sidebar{border-top:1px solid var(--line);margin-top:30px}.static-page{margin:30px auto 45px}.static-page>h1{font-size:32px}.footer-grid{grid-template-columns:1fr;gap:15px}.site-footer{padding-top:30px;margin-top:35px}.footer-brand{font-size:29px}.empty-state{padding:45px 0}.empty-state h1{font-size:30px}.ad-slot{margin:22px 0}.alignleft,.alignright{float:none;margin:20px 0;max-width:100%}}
@media(max-width:380px){.brand-name{font-size:35px}.lead h2{font-size:28px}.lead .card-media{height:370px;min-height:370px}.feed-item{grid-template-columns:36px minmax(0,1fr);gap:12px}.feed-image{display:none}.topbar-inner{flex-wrap:wrap;gap:8px}.section-note{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-media img{transition:none}}
@media print{.site-header,.topbar,.sidebar,.site-footer,.share-row,.ad-slot,.post-navigation,.comments-area,.category-section{display:none}.wrap{width:100%}.content-grid{display:block}.entry-content{font-size:12pt}.article-header h1{font-size:24pt}a{color:#000}}
.menu{flex-wrap:wrap}.brand{max-width:75%;overflow-wrap:anywhere}
@media(max-width:760px){.brand{max-width:100%}}
/* Keep long lead headlines inside the card without clipping. */
.lead{display:grid}.lead .card-media{grid-area:1/1}.lead .card-body{grid-area:1/1;position:relative;align-self:end;z-index:1}.lead .card-media:after{pointer-events:none}
.lead .card-media{position:relative}.lead .card-media img{position:absolute;inset:0}

/* Compact news feed: one date heading, time and title, optional thumbnail. */
.feed{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.feed .feed-date{font-size:12px;font-weight:500;letter-spacing:0;color:var(--muted);margin:6px 0 0;padding:13px 0;border-bottom:1px solid var(--line)}
.feed-item{grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:24px;padding:19px 0;border-top:0;border-bottom:1px solid #ededf0}
.feed-item.without-image{grid-template-columns:minmax(0,1fr)}
.feed-time{display:block;font-size:11px;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.3;margin-bottom:7px}
.feed h3{font-size:19px;font-weight:500;letter-spacing:-.02em;line-height:1.4;margin:0;max-width:660px}
.feed-image{align-self:center;border-radius:5px}.feed-image img{width:88px;height:68px;object-fit:cover}
@media(max-width:760px){.feed-item{grid-template-columns:minmax(0,1fr) 76px;gap:17px;padding:17px 0}.feed h3{font-size:17px;line-height:1.4}.feed-time{font-size:11px;margin-bottom:6px}.feed-image{display:block}.feed-image img{width:76px;height:62px}.feed .feed-date{font-size:11px;padding:12px 0}}
@media(max-width:380px){.feed-item{grid-template-columns:minmax(0,1fr) 64px;gap:12px}.feed-image img{width:64px;height:56px}.feed h3{font-size:16px}.feed-item.without-image{grid-template-columns:minmax(0,1fr)}}
.city-services{display:grid;grid-template-columns:1fr 1.5fr 1.3fr;align-items:center;gap:26px;padding:20px 0;border-bottom:1px solid var(--line)}.city-services small{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:4px}.city-service-name strong{font-size:16px;letter-spacing:-.025em}.weather-service{display:flex;align-items:center;gap:14px;border-left:1px solid var(--line);padding-left:25px;flex-wrap:wrap}.service-label{font-size:10px;color:var(--muted);display:block;line-height:1.4;margin-bottom:4px}.weather-service strong,.traffic-service strong{font-size:16px;display:block;font-weight:600}.service-symbol{font-size:24px;color:var(--accent);flex-shrink:0}.service-source{font-size:10px;color:var(--muted);text-decoration:underline;display:inline-block}.traffic-service{border-left:1px solid var(--line);padding-left:25px}.traffic-details{position:relative}.traffic-details summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none}.traffic-details summary::-webkit-details-marker{display:none}.traffic-panel{position:absolute;right:0;top:calc(100% + 18px);width:360px;padding:12px;background:white;border:1px solid var(--line);box-shadow:0 8px 35px #0002;z-index:45}.traffic-map{width:100%;height:245px}.traffic-status{font-size:11px;color:var(--muted);margin:10px 0}.topbar-inner .author-access{margin-left:16px}.blogs-section{margin:32px 0 10px;padding-bottom:30px;border-bottom:1px solid var(--line)}.blogs-section .section-heading{padding:0 0 22px}.blogs-section h2{font-size:25px}.blogs-section .section-heading p{font-size:12px;color:var(--muted);margin:8px 0 0}.expert-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:25px}.expert-card{text-align:center;min-width:0}.expert-photo{width:96px;height:96px;border-radius:50%;overflow:hidden;display:block;margin:0 auto 13px;background:var(--paper)}.expert-photo img,.expert-photo .expert-initial{width:100%;height:100%;object-fit:cover}.expert-initial{display:flex;align-items:center;justify-content:center;background:#eee8eb;color:var(--accent);font:500 32px system-ui}.expert-card strong{font-size:14px;font-weight:600;display:block;line-height:1.4}.expert-card small{font-size:11px;color:var(--muted);display:block;line-height:1.45;margin-top:5px}.expert-card:hover .expert-photo{outline:2px solid var(--accent);outline-offset:4px}.expert-profile{display:flex;gap:28px;padding:40px 0 30px;border-bottom:1px solid var(--line);align-items:flex-start}.expert-profile .expert-photo{width:120px;height:120px;margin:0;flex-shrink:0}.expert-profile h1{font-size:34px;margin:8px 0}.expert-specialty{font-size:14px;color:var(--muted);margin-bottom:14px}.expert-bio{max-width:760px;font-size:15px;line-height:1.6}.blogs-directory{padding:25px 0 50px}.blogs-directory .expert-grid{row-gap:35px}
@media(max-width:760px){.city-services{grid-template-columns:1fr 1fr;gap:18px 12px;padding:18px 0}.city-service-name{grid-column:1/-1;display:flex;gap:10px;align-items:center}.city-service-name small{margin:0}.weather-service,.traffic-service{padding:0;border:0}.weather-service{gap:9px}.weather-service strong,.traffic-service strong{font-size:14px}.service-symbol{font-size:20px}.weather-service .service-source{flex-basis:100%}.traffic-panel{width:min(340px,calc(100vw - 32px))}.expert-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 14px}.expert-photo{width:78px;height:78px}.expert-card strong{font-size:12px}.expert-card small{font-size:10px}.blogs-section{margin-top:28px}.expert-profile{gap:17px;padding-top:25px}.expert-profile .expert-photo{width:82px;height:82px}.expert-profile h1{font-size:25px}.expert-bio{font-size:13px}.topbar-inner .author-access{margin-left:auto}.topbar-inner{flex-wrap:wrap;padding:7px 0;gap:10px}.topbar-inner>a{margin-left:0}.blogs-directory .section-heading{align-items:flex-start}}
.city-services>*{min-width:0}.traffic-details summary>span:last-child{min-width:0;overflow-wrap:anywhere}.expert-profile>div{min-width:0;overflow-wrap:anywhere}
.header-search .search-form{max-width:calc(100vw - 32px)}.search-form input{min-width:0}.search-form button{flex-shrink:0}
.header-search:not([open]) .search-form{display:none}.header-search[open] .search-form{display:flex}
@media(max-width:380px){.topbar-inner,.city-services,.site-footer{overflow-wrap:anywhere}.topbar-inner>span{min-width:0}.traffic-details:not([open]) .traffic-panel{display:none}.expert-card small{overflow-wrap:anywhere}}

/* Editorial update: lighter typography and city entry points. */
body{font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif}h1,h2,h3,.brand-name{font-family:inherit;letter-spacing:-.035em}.feed{font-family:inherit}.feed h3{font-size:18px;font-weight:500;line-height:1.5}.meta,.feed-time,.service-label,.eyebrow{letter-spacing:.015em}.places-card{aspect-ratio:1;display:flex;flex-direction:column;justify-content:space-between;padding:25px;margin:24px 0;background:#f0f2ef;border:1px solid #e1e5df;border-radius:6px;overflow:hidden}.places-card strong{font-size:24px;line-height:1.15;letter-spacing:-.045em}.places-card>span:not(.eyebrow){font-size:12px;color:var(--muted)}.places-art{height:42%;color:#fff;display:block}.places-art svg{height:100%;width:100%}.places-link{margin-top:10px;text-decoration:underline}.editorial-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 30px}.editorial-actions .button{font-size:12px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:12px 18px}.button-outline{background:white;color:var(--ink);border:1px solid var(--line)}.sidebar .editorial-actions{flex-direction:column}.traffic-signal{display:flex;flex-direction:column;gap:3px;background:#25272c;padding:5px;border-radius:7px;width:24px;flex-shrink:0}.traffic-signal i{width:14px;height:14px;border-radius:50%;background:#45474c}.traffic-signal[data-state=red] i:first-child{background:#ee514d}.traffic-signal[data-state=amber] i:nth-child(2){background:#efbd4b}.traffic-signal[data-state=green] i:last-child{background:#64bc83}.traffic-unit{font-size:11px;color:var(--muted);font-weight:400}.traffic-service [data-traffic-number]{font-size:24px;font-weight:600}.traffic-service [data-traffic-level]{line-height:1.15}.traffic-details:not([open]) .traffic-panel{display:none}
@media(max-width:760px){.feed h3{font-size:16px}.editorial-actions{gap:8px}.editorial-actions .button{flex:1;padding:12px 10px}.sidebar .places-card{max-width:360px;margin:20px auto}.places-card strong{font-size:26px}.traffic-service [data-traffic-number]{font-size:22px}.expert-profile h1{font-size:23px}.menu li a{min-height:44px;display:flex;align-items:center}}

@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/manrope-400.ttf) format("truetype")}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/manrope-500.ttf) format("truetype")}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/manrope-600.ttf) format("truetype")}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/manrope-700.ttf) format("truetype")}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/manrope-800.ttf) format("truetype")}

.traffic-service{position:relative}.traffic-service>.traffic-panel{display:block;visibility:hidden;pointer-events:none;left:-9999px;right:auto;top:100%;width:360px}.traffic-service:has(.traffic-details[open])>.traffic-panel{visibility:visible;pointer-events:auto;left:auto;right:0;top:calc(100% + 14px)}
@media(max-width:760px){.traffic-service>.traffic-panel{width:min(340px,calc(100vw - 32px))}}

/* Readable editorial typography: calm weight, consistent rhythm. */
body{font-size:15px;font-weight:400;line-height:1.55}h1,h2,h3{letter-spacing:-.028em;font-weight:600}.brand-name{font-weight:800}.menu a{font-weight:600}.news-card h3{font-size:20px;line-height:1.36;font-weight:600}.lead h2{font-weight:600;line-height:1.16}.feed h3{font-size:18px;line-height:1.5;letter-spacing:-.018em;font-weight:500}.section-heading h2{font-weight:600}.article-header h1{font-size:clamp(30px,3.3vw,47px);line-height:1.15;letter-spacing:-.04em;font-weight:600;overflow-wrap:anywhere}.entry-content{font-family:Manrope,system-ui,sans-serif;font-size:17px;line-height:1.85;letter-spacing:0;max-width:72ch}.entry-content p{line-height:inherit;margin-bottom:1.3em}.entry-content h2{font-size:28px;line-height:1.3;margin-top:1.7em}.entry-content h3{font-size:22px;line-height:1.4;margin-top:1.6em}.entry-content a{text-underline-offset:4px}.meta,.feed-time{font-variant-numeric:tabular-nums}.static-page{max-width:none;margin:35px 0 50px}.page-layout>section{min-width:0}.utility-nav{display:flex;align-items:center;gap:18px;margin-left:auto}.utility-nav a{margin:0;white-space:nowrap}.topbar-inner{gap:18px;flex-wrap:wrap;padding:7px 0}.topbar-inner>a{margin-left:0}.topbar-inner .author-access{margin-left:0}.topbar{font-size:11px}.sidebar .telegram-box h2{font-weight:600;letter-spacing:-.035em}.expert-card strong{font-weight:600;letter-spacing:-.01em}
@media(max-width:1024px){.utility-nav{gap:13px}.topbar-inner{gap:10px 16px}.utility-nav a{white-space:normal}}
@media(max-width:760px){.topbar-city{display:none}.topbar-inner{padding:9px 0;gap:7px 14px}.utility-nav{order:-1;flex-basis:100%;margin:0;flex-wrap:wrap;gap:5px 16px;border-bottom:1px solid var(--line);padding-bottom:7px}.utility-nav a{font-size:11px;min-height:30px;display:flex;align-items:center}.topbar-inner .author-access{margin-left:auto}.entry-content{font-size:16px;line-height:1.8}.article-header h1{font-size:30px;line-height:1.2}.entry-content h2{font-size:24px}.entry-content h3{font-size:20px}.news-card h3{font-size:18px}.feed h3{font-size:16px}.static-page{margin-top:25px}.static-page>h1{font-size:30px}.page-layout .sidebar{border-top:1px solid var(--line);padding-top:25px}.blogs-directory .expert-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.reels-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.blog-reel{position:relative;aspect-ratio:3/4;display:block;overflow:hidden;border-radius:12px;background:#3c4341;color:white}.reel-cover{position:absolute;inset:0}.reel-cover>img,.reel-cover>.expert-initial{width:100%;height:100%;object-fit:cover}.blog-reel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0002,transparent 35%,#000d)}.reel-label{position:absolute;top:17px;left:17px;padding:5px 8px;border-radius:20px;background:#ffffffdc;color:#292929;font-size:9px;z-index:1}.reel-copy{position:absolute;bottom:20px;left:20px;right:20px;z-index:1}.reel-copy>strong{font-size:20px;line-height:1.3;display:block;font-weight:600;letter-spacing:-.025em}.reel-author{display:flex;align-items:center;gap:9px;margin-top:17px;font-size:11px;color:#fff}.reel-author .expert-photo{width:32px;height:32px;flex-shrink:0;margin:0;border:1px solid #ffffff80}.blog-reel:hover{color:white}.blog-reel:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.round-stories{margin:25px 0 35px;border-bottom:1px solid var(--line);padding-bottom:30px}.round-stories .section-heading p{font-size:12px;color:var(--muted);margin:9px 0 0}.round-stories-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}.round-story{text-align:center;min-width:0}.story-circle{width:116px;height:116px;border-radius:50%;display:flex;overflow:hidden;margin:0 auto 15px;background:var(--paper);align-items:center;justify-content:center;color:var(--accent);font-size:28px}.story-circle img{width:100%;height:100%;object-fit:cover}.round-story strong{font-size:13px;line-height:1.45;display:block;font-weight:500}.round-story time{font-size:10px;color:var(--muted);display:block;margin-top:8px}.afisha-heading p{font-size:13px;color:var(--muted);margin:9px 0 0}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-card{border:1px solid var(--line);padding:23px;border-radius:8px}.event-card h3{font-size:20px;margin:12px 0;line-height:1.4}.event-card time{font-size:12px;color:var(--accent)}.event-card p{font-size:13px;color:var(--muted)}.afisha-empty{background:var(--paper);border-radius:8px;padding:25px;margin:15px 0 30px}.afisha-source{font-size:11px;color:var(--muted)}.home-afisha{margin-bottom:35px}.afisha-filter{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.afisha-filter input,.afisha-filter select,.afisha-filter button{min-height:44px;padding:10px;border:1px solid var(--line);background:white;border-radius:5px;max-width:100%}
@media(max-width:760px){.reels-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:3px 1px 14px;gap:12px}.blog-reel{flex:0 0 70%;scroll-snap-align:start}.reel-copy>strong{font-size:20px}.round-stories-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 14px}.story-circle{width:86px;height:86px}.round-story strong{font-size:11px}.event-grid{grid-template-columns:1fr}.afisha-filter>*{flex:1}.round-stories{margin-bottom:22px}}
@media(min-width:761px){.reels-grid{grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding:3px 1px 14px}.blog-reel{scroll-snap-align:start}}
/* 1.1.1: lighter type, restrained spacing, clear mobile reading. */
:root{--muted:#65656d;--line:#e8e8ed;--radius:5px}
body{font-weight:400}h1,h2,h3{font-weight:500;letter-spacing:-.025em}
.brand-name{font-weight:600;letter-spacing:-.055em}.footer-brand{font-weight:600}
.menu a,.button,.menu-toggle{font-weight:500}.menu{gap:24px}.nav-border{border-bottom-width:1px}
.section-heading h1,.section-heading h2{font-weight:500;line-height:1.25}.section-heading{padding:30px 0 21px}
.news-card h2,.category-section .news-card h2{font-weight:500;line-height:1.35}.news-card .card-body{padding-top:15px}
.lead h2{font-weight:500;line-height:1.16}.lead .card-body{padding:30px}.lead .card-media:after{background:linear-gradient(transparent 12%,rgba(0,0,0,.84))}
.hero-grid{gap:24px}.cards-grid{gap:28px}.content-grid>*{min-width:0}
.feed h3{font-weight:400;line-height:1.5;letter-spacing:-.012em}.feed-item{padding:21px 0}.feed-image img{border-radius:5px}
.sidebar-item h3{font-weight:500;line-height:1.4}.telegram-box h2,.places-card strong{font-weight:500}.category-section{border-top:1px solid var(--line)}
.article-header h1{font-weight:500;line-height:1.2;letter-spacing:-.028em}.entry-content{font-weight:400}.entry-content p{line-height:1.8}.entry-content h2,.entry-content h3{font-weight:500}
.reel-copy>strong{font-weight:500;line-height:1.3}.reel-author{font-weight:400}.round-story strong{font-weight:500;line-height:1.4}.event-card h3{font-weight:500}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.hero-grid{gap:20px}.lead .card-body{padding:23px}.lead h2{font-size:29px}.article-header h1{font-size:30px;line-height:1.22}.entry-content{font-size:17px}.feed h3{font-size:16px}.feed-item{gap:15px;padding:18px 0}.section-heading{gap:12px}.section-heading h1,.section-heading h2{font-size:25px}.reel-copy>strong{font-size:19px}.round-story strong{font-size:12px}.menu a{font-size:14px}}
/* City services load independently from page rendering. Yandex map branding stays visible. */
.traffic-reading{display:flex;gap:12px;align-items:center}.city-services .traffic-map-details{grid-column:1/-1;min-width:0;border-top:1px solid var(--line);padding-top:12px}.traffic-map-details[hidden]{display:none}.traffic-map-details summary{font-size:12px;color:var(--muted);cursor:pointer;padding:8px 0}.traffic-map-details .traffic-map{width:100%;height:280px;margin-top:8px}.traffic-map-details .traffic-status{margin-bottom:0}.city-services noscript{grid-column:1/-1;font-size:12px;color:var(--muted)}
@media(max-width:760px){.traffic-map-details .traffic-map{height:250px}.city-services{gap:16px 12px}.traffic-reading{gap:9px}}

@media(min-width:1025px){.hero-grid[data-count="1"]{display:block}.hero-grid[data-count="1"] .lead{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center}.hero-grid[data-count="2"],.hero-grid[data-count="3"]{grid-template-columns:1.65fr 1fr}.hero-grid[data-count="2"] .lead{grid-row:auto}.hero-grid[data-count="4"] .news-card:last-child{grid-column:2/4}.hero-grid[data-count="4"] .news-card:last-child .card-media{aspect-ratio:3.2}}
/* Compact services; the traffic map is loaded on its own page only. */
.traffic-link{display:block;border-radius:5px;min-height:72px}.traffic-link:hover .service-label,.traffic-link:focus-visible .service-label{color:var(--accent)}.weather-credit{font-size:9px!important}.weather-credit a{text-decoration:underline}.road-map{width:100%;height:480px;margin:25px 0 12px;background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden}.road-status{font-size:12px;color:var(--muted)}
.event-card{padding:0;overflow:hidden;display:flex;flex-direction:column;min-width:0}.event-media{display:block;aspect-ratio:1.73;background:var(--paper);overflow:hidden}.event-media img{width:100%;height:100%;object-fit:cover}.event-no-image{height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px}.event-card-body{padding:20px;display:flex;flex:1;flex-direction:column;min-width:0}.event-card h3{font-size:20px;line-height:1.35;margin-bottom:12px;overflow-wrap:anywhere}.event-card p{margin-bottom:10px}.event-card .event-category{font-size:11px;letter-spacing:.02em}.event-card .event-dates{color:var(--accent);font-size:12px}.event-price{font-weight:600;color:var(--ink)!important}.event-card .event-description{font-size:12px;line-height:1.6;flex:1}.event-card .button{align-self:flex-start;margin-top:10px}.event-cover{margin:22px 0}.event-cover img{width:100%;max-height:520px;object-fit:cover;border-radius:6px}.event-cover figcaption{font-size:11px;color:var(--muted);margin-top:7px}.event-schedule{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:15px 0 25px}.event-schedule li{border:1px solid var(--line);border-radius:5px;padding:10px 13px;font-size:13px}.event-facts{background:var(--paper);padding:18px 20px;margin:20px 0;border-radius:6px}.event-facts p{margin:0 0 8px}.event-facts p:last-child{margin:0}.event-article>h2{font-size:23px;font-weight:500}
.afisha-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;background:var(--paper);padding:18px;border-radius:6px}.afisha-filter label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--muted);min-width:0}.afisha-filter input,.afisha-filter select{width:100%;min-width:0;font-size:13px;color:var(--ink);height:44px;box-sizing:border-box}.afisha-filter-actions{display:flex;gap:8px;align-items:flex-end;min-width:0}.afisha-filter-actions .button{padding:11px 12px;font-size:12px;display:flex;align-items:center;justify-content:center;min-height:44px;flex:1}.afisha-filter button.button{background:var(--accent);color:white}.afisha-results{font-size:12px;color:var(--muted);line-height:1.7}.afisha-filter-error{color:var(--accent);font-size:13px}.event-dates span{color:var(--muted)}
@media(max-width:1024px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.road-map{height:420px}}
@media(max-width:760px){.afisha-filter{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:12px}.event-grid{grid-template-columns:1fr}.event-card-body{padding:18px}.event-card h3{font-size:21px}.road-map{height:360px}.event-schedule li{padding:10px;font-size:12px}.event-article h1{font-size:28px;line-height:1.25}.weather-service{align-items:flex-start}.city-services small{line-height:1.5}.event-facts{padding:16px}.page-layout>section,.content-grid>section,.content-grid>article{min-width:0}}
@media(max-width:380px){.afisha-filter{gap:10px;padding:12px}.afisha-filter-actions{grid-column:1/-1}.afisha-filter input,.afisha-filter select{font-size:12px;padding:8px}.event-article h1{font-size:25px}}
/* Event articles retain the complete body; only listing cards use an excerpt. */
.event-full-description{display:block;max-height:none;overflow:visible;white-space:normal;-webkit-line-clamp:unset;overflow-wrap:anywhere}
.event-age{display:inline-flex;align-items:center;border:1px solid #b7b7c1;border-radius:4px;padding:2px 7px;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:0;color:var(--ink);margin-left:7px;white-space:nowrap}
.weather-source-footer{font-size:11px;color:var(--muted);margin-top:12px}.weather-source-footer summary{cursor:pointer}.weather-source-footer p{margin:10px 0;max-width:750px}.weather-source-footer a{text-decoration:underline}
