/* 34 ПУЛЬС — APPROVED DESIGN LAB adaptation to v6.2 Wagtail.
   Single final override layer; site functions, template variables, routes preserved.
   Design baseline: /puls34_design_lab/index.html, not SIGNAL or old v6.3 refresh. */
:root,html[data-theme='light']{
 --lab-ink:#16243a;--lab-red:#bd3149;--lab-paper:#f6f5f2;--lab-white:#fff;
 --lab-line:#dce1e6;--lab-muted:#657184;--lab-green:#197467;
 --u-ink:#16243a;--u-ink-secondary:#465469;--u-muted:#657184;
 --u-brand:#bd3149;--u-paper:#f6f5f2;--u-surface:#fff;--u-line:#dce1e6;
 --p-navy:#16243a;--p-accent:#bd3149;--p-paper:#f6f5f2;--p-shadow:none;
 --accent:#bd3149;--paper:#f6f5f2;--border:#dce1e6;--w:1260px;
}
body{background:var(--lab-paper)!important;color:var(--lab-ink)!important;font-family:Arial,'Helvetica Neue',system-ui,sans-serif!important}
.wrap{width:min(1260px,calc(100% - 56px))!important;margin-inline:auto!important}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--lab-red)!important;outline-offset:3px!important}
/* HEADER — approved white masthead and white navigation with dark dividing rule */
.utility{background:#18263b!important;color:#fff!important;letter-spacing:0!important}
.utility-inner{min-height:35px!important;height:auto!important;font-size:12px!important;font-weight:600!important}
.utility .utility-signal{background:var(--lab-red)!important}
.utility-links{gap:14px!important}
.utility-links a{font-size:11px!important;letter-spacing:0!important}
.site-header{background:#fff!important;color:var(--lab-ink)!important;box-shadow:none!important;border-bottom:0!important}
.site-header .masthead{min-height:92px!important;padding:10px 0!important;gap:20px!important}
.site-header .logo{gap:13px!important;color:var(--lab-ink)!important;text-decoration:none!important}
.site-header .logo-monogram{background:none!important;border:0!important;border-radius:0!important;display:block!important;width:auto!important;height:auto!important;padding-right:7px!important;font:900 60px/1 Arial,system-ui,sans-serif!important;letter-spacing:-8px!important;color:var(--lab-red)!important}
.site-header .logo-wordmark strong{color:var(--lab-ink)!important;font:900 26px/1 Arial,system-ui,sans-serif!important;letter-spacing:-1px!important}
.site-header .logo-wordmark>span{font:700 10px/1.3 Arial,system-ui,sans-serif!important;letter-spacing:2.3px!important;color:var(--lab-muted)!important;margin-top:7px!important}
.site-header .masthead-actions{gap:9px!important}
.site-header .masthead-link,.site-header .theme-toggle,.site-header .mobile-menu-btn{border:1px solid var(--lab-line)!important;background:#fff!important;color:var(--lab-ink)!important;border-radius:0!important;min-height:43px!important;padding:11px 14px!important;font-size:12px!important}
.site-header .submit-tip,.lab-home .btn-primary{background:var(--lab-red)!important;border:1px solid var(--lab-red)!important;border-radius:0!important;color:#fff!important;min-height:43px!important;font-weight:800!important;padding:11px 16px!important;box-shadow:none!important}
.site-header .submit-tip:hover{background:#95243b!important;box-shadow:none!important}
.navigation-line{background:#fff!important;border-top:1px solid var(--lab-line)!important;border-bottom:2px solid var(--lab-ink)!important}
.navigation-inner{min-height:49px!important;gap:22px!important}
.top-nav{gap:clamp(14px,2vw,29px)!important}
.top-nav a,.top-nav a:first-child{color:var(--lab-ink)!important;height:49px!important;font-size:13px!important;font-weight:700!important;border:0!important}
.top-nav a:hover{color:var(--lab-red)!important}
.header-search{background:#fff!important;border:1px solid var(--lab-line)!important;border-radius:0!important;height:35px!important;min-width:165px!important}
.header-search input{color:var(--lab-ink)!important;font-size:12px!important}
.header-search input::placeholder{color:#657184!important}
.header-search button{color:var(--lab-ink)!important}
/* HOME — direct reproduction of Design Lab information architecture */
.lab-home{padding-bottom:65px!important}
.lab-ticker{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:20px;background:#fff!important;border-bottom:1px solid var(--lab-line);padding:14px 18px;margin-top:24px;font-size:13px}
.lab-ticker strong{color:var(--lab-red);font-size:11px;font-weight:900;letter-spacing:1px}
.lab-ticker a{font-size:11px;color:var(--lab-muted)}
.lab-sectiontop{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--lab-ink);padding:31px 0 14px;gap:12px;margin:0}
.lab-sectiontop h1{font-size:34px!important;letter-spacing:-1.4px!important;margin:0!important;line-height:1!important;font-weight:850!important;color:var(--lab-ink)!important}
.lab-sectiontop p{font-size:12px!important;color:var(--lab-muted)!important;margin:0 0 4px!important}
.lab-headlines{margin:0!important;padding:0!important}
.lab-hero{display:grid!important;grid-template-columns:minmax(0,1.67fr) minmax(0,1fr)!important;gap:0!important;background:#fff!important;border-bottom:1px solid var(--lab-line)!important}
.lab-lead{min-width:0;border-right:1px solid var(--lab-line)!important;padding:24px 28px 26px 0!important}
.lab-lead .news-card.featured{display:flex!important;flex-direction:column!important;min-height:unset!important;box-shadow:none!important;border:0!important;border-radius:0!important;background:#fff!important;color:var(--lab-ink)!important;padding:0!important;overflow:visible!important}
.lab-lead .news-card.featured .card-media{height:340px!important;aspect-ratio:auto!important;overflow:hidden!important;border-radius:0!important;background:linear-gradient(140deg,#668aa4,#aec1ce 52%,#dddbcb)!important}
.lab-lead .news-card.featured .card-media img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important}
.lab-lead .news-card.featured .card-body{background:#fff!important;color:var(--lab-ink)!important;padding:0!important;min-height:unset!important}
.lab-lead .featured-bubble{display:none!important}
.lab-home .lab-lead .news-card.featured:not(.has-image) .card-body{background:#fff!important;color:var(--lab-ink)!important;min-height:0!important}
.lab-home .lab-lead .news-card.featured:not(.has-image) h3{color:var(--lab-ink)!important}
.lab-home .lab-lead .news-card.featured:not(.has-image) p{color:#475566!important}
.lab-lead .card-kicker{display:block!important;margin:21px 0 11px!important;color:var(--lab-red)!important;font-size:11px!important;letter-spacing:.8px!important;font-weight:800!important}
.lab-lead .news-card.featured h3{font-size:40px!important;line-height:1.06!important;letter-spacing:-1.6px!important;color:var(--lab-ink)!important;max-width:760px!important;margin:0 0 14px!important;font-weight:850!important}
.lab-lead .news-card.featured p{font-size:15px!important;line-height:1.65!important;color:#475566!important;margin:0 0 18px!important;max-width:760px!important}
.lab-lead .card-meta{padding:0!important;border:0!important;display:flex!important;font-size:11px!important;color:var(--lab-muted)!important}
.lab-lead .card-meta .read-card{color:var(--lab-red)!important}
.lab-aside{display:flex!important;flex-direction:column!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:23px 0 12px 28px!important;min-width:0}
.lab-aside h2{font-size:12px!important;text-transform:uppercase!important;letter-spacing:1px!important;margin:0 0 12px!important;font-weight:900!important;color:var(--lab-ink)!important}
.lab-aside .brief-number{display:none!important}
.lab-aside .brief-item{display:block!important;min-height:unset!important;padding:16px 0!important;border:0!important;border-top:1px solid var(--lab-line)!important;color:var(--lab-ink)!important}
.lab-aside .brief-item:first-of-type{border-top:2px solid var(--lab-red)!important}
.lab-aside .brief-item small{font-size:11px!important;color:var(--lab-red)!important;font-weight:800!important;text-transform:uppercase!important}
.lab-aside .brief-item small:last-child{color:var(--lab-muted)!important;text-transform:none!important;font-weight:400!important}
.lab-aside .brief-item strong{display:block!important;font-size:17px!important;line-height:1.25!important;margin:7px 0!important;color:var(--lab-ink)!important;font-weight:800!important}
.lab-aside .brief-bottom{margin-top:auto!important;border-top:1px solid var(--lab-line)!important;padding:14px 0!important;border-radius:0!important;color:var(--lab-red)!important}
.lab-empty{border-radius:0!important;box-shadow:none!important;background:#fff!important;color:var(--lab-ink)!important;padding:38px!important;min-height:275px!important}
.lab-empty:after{display:none!important}.lab-empty h2{font-size:32px!important;color:var(--lab-ink)!important}.lab-empty p{color:#475566!important}
.lab-content{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);gap:30px;margin-top:32px!important;align-items:start}
.lab-feed-col,.lab-sidebar{min-width:0}
.lab-content .portal-latest{margin:0!important;padding:0!important}
.lab-content .home-section-line{border-bottom:2px solid var(--lab-ink)!important;margin:0 0 6px!important;padding-bottom:12px!important;display:flex!important}
.lab-content .home-section-line .eyebrow{display:none!important}
.lab-content .home-section-line h2{font-size:22px!important;letter-spacing:-.4px!important;line-height:1.1!important}
.lab-content .portal-news-grid{display:block!important;grid-template-columns:unset!important;gap:0!important}
.lab-content .portal-news-grid .news-card{border:0!important;border-bottom:1px solid var(--lab-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;padding:18px 0!important;min-height:unset!important;display:grid!important;grid-template-columns:114px minmax(0,1fr)!important;gap:18px!important;color:var(--lab-ink)!important}
.lab-content .portal-news-grid .news-card .card-media{width:114px!important;height:82px!important;aspect-ratio:114/82!important;border:0!important;border-radius:0!important;overflow:hidden!important;display:block!important;background:#c5d4da}
.lab-content .portal-news-grid .card-media img{height:100%!important;width:100%!important;object-fit:cover!important;border-radius:0!important}
.lab-content .portal-news-grid .card-body{padding:0!important;min-height:unset!important;display:block!important;background:transparent!important}
.lab-content .portal-news-grid .card-kicker{font-size:10px!important;text-transform:uppercase!important;font-weight:900!important;color:var(--lab-red)!important;margin:0 0 5px!important}
.lab-content .portal-news-grid .news-card h3{font-size:18px!important;line-height:1.28!important;letter-spacing:0!important;margin:0 0 7px!important;color:var(--lab-ink)!important}
.lab-content .portal-news-grid .news-card p{display:none!important}
.lab-content .portal-news-grid .card-meta{padding:0!important;margin:0!important;border:0!important;color:var(--lab-muted)!important;font-size:11px!important}
.lab-content .portal-news-grid .card-meta .read-card{display:none!important}
.lab-sidebar .district-module{margin:0!important;background:#fff!important;border:1px solid var(--lab-line)!important;border-radius:0!important;padding:18px!important;box-shadow:none!important;display:block!important}
.lab-sidebar .district-module-caption{margin:0 0 12px!important}
.lab-sidebar .district-module-caption strong{font-size:22px!important;letter-spacing:-.4px!important}
.lab-sidebar .district-module-caption .district-mark{display:none!important}
.lab-sidebar .district-module-caption small{color:var(--lab-muted)!important;font-size:12px!important}
.lab-sidebar .district-picker{display:flex!important;gap:7px!important}
.lab-sidebar .district-picker select,.lab-sidebar .district-picker button{border-radius:0!important;min-height:44px!important;font-size:12px!important}
.lab-sidebar .district-picker button{background:var(--lab-ink)!important;color:#fff!important}
.lab-sidebar .district-privacy{color:var(--lab-muted)!important}
.lab-report-panel{margin-top:18px;background:var(--lab-ink);color:#fff;padding:21px}
.lab-report-panel h2{margin:0 0 11px!important;font-size:19px!important;font-weight:800}
.lab-report-panel p{font-size:13px!important;line-height:1.6!important;color:#cbd4df!important}
.lab-report-panel a{display:inline-flex;border:1px solid #fff;padding:10px 13px;color:#fff!important;font-size:13px}
/* Remaining real city services and story pages get consistent editorial treatment */
.lab-home .puls-map-promo,.lab-home .city-morning-bar,.lab-home .home-services,.lab-home .portal-empty,.lab-home .district-module,.lab-home .story-tiles a,.lab-home .reader-cta,.lab-home .portal-local,.lab-home .bulletin{border-radius:0!important;box-shadow:none!important}
.lab-home .puls-map-promo{margin-top:35px!important}
.lab-home .home-services>a{border-radius:0!important;box-shadow:none!important}
.home-section-line h2,.city-tools-heading h2{color:var(--lab-ink)!important;font-size:25px!important}
.news-card{border-radius:0!important;box-shadow:none!important;transition:none!important}
.news-card:hover{transform:none!important}
.news-card:not(.featured) .card-media{border-radius:0!important}
.article-layout{gap:54px!important}
.story h1{letter-spacing:-.045em!important;color:var(--lab-ink)!important}
.story-content{line-height:1.85!important;max-width:760px!important}
.story .cover img{border-radius:0!important}
.sidebar-box,.sidebar-accent{border-radius:0!important;box-shadow:none!important}
.service-card,.city-service-card,.news-list .list-item{border-radius:0!important}
.btn-primary{border-radius:0!important;box-shadow:none!important}
.site-footer{background:var(--lab-ink)!important}
.mobile-bottom-nav{background:#fff!important;border-top:1px solid var(--lab-line)!important}
.mobile-bottom-nav a{color:var(--lab-ink)!important;font-size:10px!important}
.lab-nav-icon{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 2px}
/* Optional dark theme: retain functional existing toggle with readable surfaces */
html[data-theme='dark']{--lab-ink:#f4f6fa;--lab-paper:#101b27;--lab-white:#1b2b3a;--lab-line:#415064;--lab-muted:#afbdce;--u-ink:#f4f6fa;--u-ink-secondary:#d4deed;--u-muted:#afbdce;--u-surface:#1b2b3a;--u-paper:#101b27;--u-line:#415064}
html[data-theme='dark'] body{background:var(--lab-paper)!important;color:var(--lab-ink)!important}
html[data-theme='dark'] .site-header,html[data-theme='dark'] .navigation-line,html[data-theme='dark'] .lab-hero,html[data-theme='dark'] .lab-ticker,html[data-theme='dark'] .lab-empty,html[data-theme='dark'] .lab-aside,html[data-theme='dark'] .lab-sidebar .district-module,html[data-theme='dark'] .lab-lead .news-card.featured,html[data-theme='dark'] .lab-lead .news-card.featured .card-body{background:#1b2b3a!important;color:#f4f6fa!important}
html[data-theme='dark'] .site-header .logo-wordmark strong,html[data-theme='dark'] .top-nav a,html[data-theme='dark'] .top-nav a:first-child,html[data-theme='dark'] .lab-sectiontop h1,html[data-theme='dark'] .lab-lead .news-card.featured h3,html[data-theme='dark'] .lab-aside h2,html[data-theme='dark'] .lab-aside .brief-item strong,html[data-theme='dark'] .lab-content .portal-news-grid h3,html[data-theme='dark'] .lab-empty h2{color:#f4f6fa!important}
html[data-theme='dark'] .lab-lead .news-card.featured p,html[data-theme='dark'] .lab-empty p{color:#c2cfdd!important}
html[data-theme='dark'] .navigation-line{border-bottom-color:#b6c3d5!important}
html[data-theme='dark'] .site-header .theme-toggle,html[data-theme='dark'] .site-header .masthead-link,html[data-theme='dark'] .site-header .mobile-menu-btn,html[data-theme='dark'] .header-search{background:#1b2b3a!important;border-color:#526377!important;color:#f4f6fa!important}
html[data-theme='dark'] .header-search input{color:#f4f6fa!important}
/* MOBILE */
@media(max-width:1000px){.lab-lead .news-card.featured h3{font-size:32px!important}.lab-lead .news-card.featured .card-media{height:260px!important}.lab-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)!important}.lab-lead{padding-right:20px!important}.lab-aside{padding-left:20px!important}.lab-content{grid-template-columns:1fr!important}}
@media(max-width:700px){
 .wrap{width:calc(100% - 32px)!important}
 .utility-links a:nth-child(n+3){display:none!important}
 .site-header .masthead{min-height:74px!important;padding:10px 0!important}
 .site-header .logo-monogram{font-size:43px!important;letter-spacing:-6px!important}
 .site-header .logo-wordmark strong{font-size:21px!important}
 .site-header .logo-wordmark>span{font-size:8px!important;letter-spacing:1.6px!important}
 .site-header .submit-tip,.site-header .masthead-link{display:none!important}
 .site-header .theme-toggle,.site-header .mobile-menu-btn{padding:9px!important;min-height:40px!important}
 .navigation-inner{min-height:0!important}.top-nav{gap:20px!important}.top-nav a{height:42px!important}
 .lab-ticker{grid-template-columns:1fr auto;gap:7px;margin-top:14px;padding:12px;font-size:12px}
 .lab-ticker span{grid-column:1/-1;grid-row:2}.lab-sectiontop{padding-top:23px}
 .lab-sectiontop h1{font-size:28px!important}.lab-sectiontop p{display:none!important}
 .lab-hero{display:block!important}.lab-lead{padding:17px 0 22px!important;border-right:0!important}
 .lab-lead .news-card.featured .card-media{height:230px!important}
 .lab-lead .news-card.featured h3{font-size:30px!important}
 .lab-lead .news-card.featured p{font-size:14px!important}
 .lab-aside{padding:16px 0!important;border-top:1px solid var(--lab-line)!important}
 .lab-aside .brief-item{padding:12px 0!important}
 .lab-content{gap:25px!important;margin-top:24px!important}
 .lab-content .portal-news-grid .news-card{grid-template-columns:78px minmax(0,1fr)!important;gap:12px!important}
 .lab-content .portal-news-grid .news-card .card-media{width:78px!important;height:70px!important}
 .lab-content .portal-news-grid .news-card h3{font-size:16px!important}
 .lab-sidebar .district-picker{flex-wrap:wrap!important}
 .lab-sidebar .district-picker select{max-width:100%!important;flex:1 1 170px!important}
 .lab-empty{padding:24px!important}.lab-empty h2{font-size:26px!important}
 .article-layout{display:block!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
