/* ==============================================================
   34 ПУЛЬС / DESIGN LAB FINAL v6.4 — COMPLETE COMPONENT LAYER
   Complements the APPROVED Design Lab v6.3, not an alternate design.
   No remote fonts, icons, analytics or JS dependencies.
   =============================================================== */
:root,html[data-theme="light"]{
 --lab-body:#f6f5f2;--lab-surface:#ffffff;--lab-text:#16243a;--lab-text-soft:#465469;
 --lab-border:#dce1e6;--lab-accent:#bd3149;--lab-accent-press:#992339;--lab-quiet:#657184;
 --lab-focus:#bd3149;--lab-good:#197467;--lab-radius:0px;
 --lab-space-1:4px;--lab-space-2:8px;--lab-space-3:12px;--lab-space-4:16px;
 --lab-space-5:24px;--lab-space-6:32px;--lab-space-7:48px;--lab-space-8:64px;
 --lab-width:1260px;--lab-reading-width:72ch;
 --lab-ui:Arial,"Helvetica Neue",system-ui,-apple-system,"Segoe UI",sans-serif;
 --lab-reading:Georgia,"Times New Roman",serif;
}
html{box-sizing:border-box;scroll-padding-top:24px}
*,*::before,*::after{box-sizing:inherit}
body.designlab-final{overflow-wrap:break-word;min-width:320px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.designlab-final img,body.designlab-final video,body.designlab-final iframe,body.designlab-final svg{max-width:100%}
body.designlab-final img{height:auto}
body.designlab-final :where(p,li,dd,blockquote){overflow-wrap:break-word}
body.designlab-final :where(a,button,input,textarea,select){-webkit-tap-highlight-color:transparent}
body.designlab-final :where(a){text-underline-offset:.2em}
body.designlab-final :where(button,input,select,textarea){font-family:var(--lab-ui)}
body.designlab-final :where(button,a,select,input,textarea):focus-visible{outline:3px solid var(--lab-focus)!important;outline-offset:3px!important}
body.designlab-final :where(button,input,select,textarea):disabled{cursor:not-allowed;opacity:.56}
body.designlab-final ::selection{background:#f0c6d0;color:#16243a}
body.designlab-final h1,body.designlab-final h2,body.designlab-final h3,body.designlab-final h4,body.designlab-final h5,body.designlab-final h6{font-family:var(--lab-ui)!important;word-break:normal;overflow-wrap:break-word;font-style:normal;max-width:100%;font-feature-settings:"kern" 1}
/* THE TYPOGRAPHIC SYSTEM — all non-home pages, including exceptions/admin. */
body.designlab-final .page-main{min-height:clamp(460px,65vh,780px);padding-block:clamp(28px,4vw,58px) 75px}
body.designlab-final .subhead{margin:0 0 29px!important;padding:0 0 22px!important;border-bottom:2px solid var(--lab-text)!important;background:none!important}
body.designlab-final .subhead .eyebrow,body.designlab-final .eyebrow{color:var(--lab-accent)!important;letter-spacing:.1em!important;font-weight:800!important;font-size:11px!important;line-height:1.45!important}
body.designlab-final .subhead h1,body.designlab-final .page-main>.subhead h1,body.designlab-final .city-service-head h1,body.designlab-final .city-hub-head h1{font-size:clamp(33px,4.5vw,52px)!important;font-weight:850!important;letter-spacing:-.05em!important;line-height:1.08!important;color:var(--lab-text)!important;margin:8px 0 13px!important}
body.designlab-final .subhead p:not(.eyebrow),body.designlab-final .city-service-head p,body.designlab-final .city-hub-head p{color:var(--lab-text-soft)!important;line-height:1.65!important;font-size:15px!important;max-width:780px!important}
body.designlab-final .page-main h2,body.designlab-final .city-service-main h2,body.designlab-final .city-hub-main h2{font-size:clamp(22px,2.5vw,30px)!important;line-height:1.18!important;letter-spacing:-.035em!important;color:var(--lab-text)!important}
body.designlab-final .page-main h3,body.designlab-final .city-service-main h3{letter-spacing:-.025em!important;line-height:1.3!important;color:var(--lab-text)!important}
body.designlab-final .page-main :where(p,li),body.designlab-final .city-service-main :where(p,li){line-height:1.68}
body.designlab-final .muted,body.designlab-final .list-time{color:var(--lab-quiet)!important}
body.designlab-final .narrow{max-width:min(100% - 32px,870px)!important}
/* Accessible navigation, footer, controls */
body.designlab-final .site-header .logo-wordmark strong{white-space:nowrap}
body.designlab-final .mobile-menu-btn{cursor:pointer}
body.designlab-final .top-nav a[aria-current="page"]{color:var(--lab-accent)!important;box-shadow:inset 0 -3px 0 var(--lab-accent)!important}
body.designlab-final .top-nav a:focus-visible{outline-offset:-3px!important}
body.designlab-final .utility-links a:hover,body.designlab-final .footer-navigation a:hover{text-decoration:underline;text-underline-offset:4px}
body.designlab-final .header-search:focus-within{border-color:var(--lab-accent)!important}
body.designlab-final .mobile-bottom-nav a[aria-current="page"]{color:var(--lab-accent)!important;font-weight:850!important}
body.designlab-final .mobile-bottom-nav{padding-bottom:env(safe-area-inset-bottom,0px)!important;z-index:80!important}
body.designlab-final .lab-nav-icon{width:22px!important;height:22px!important;flex-shrink:0}
body.designlab-final .site-footer{border-top:4px solid var(--lab-accent)!important}
body.designlab-final .footer-brand{letter-spacing:-.045em;font-size:clamp(22px,2vw,28px)!important}
body.designlab-final .footer-navigation a{line-height:1.5!important}
body.designlab-final .footer-inner{gap:30px!important}
body.designlab-final .footer-small{font-size:11px!important;color:#b7c4d3!important;line-height:1.55!important}
body.designlab-final .flash-messages{padding-top:15px}
body.designlab-final .flash-message{border:1px solid #a4c6b9!important;background:#eef7f3!important;color:#185a4f!important;border-left:4px solid var(--lab-good)!important;padding:15px 18px!important}
body.designlab-final .lab-back-top{position:fixed;bottom:25px;right:25px;z-index:70;width:45px;height:45px;display:grid;place-items:center;background:var(--lab-text);color:var(--lab-surface);border:1px solid var(--lab-border);cursor:pointer;box-shadow:0 4px 20px #16243a19}
body.designlab-final .lab-back-top[hidden]{display:none!important}
body.designlab-final .lab-back-top svg{width:22px;height:22px}
/* Global cards, news feeds, listing, pagination */
body.designlab-final :where(.news-card,.list-item,.story-tiles a,.city-service-tile,.city-event-card,.bulletin,.sidebar-box,.sidebar-accent,.form-card,.dashboard-review,.seo-panel,.crm-panel,.city-filter-panel,.city-aside-box,.source-note,.city-results-empty,.empty-state,.ad-request,.ad-kpi,.ad-cabinet,.service-card,.city-official-notice){border-radius:0!important;box-shadow:none!important}
body.designlab-final .news-card{transition:background-color .16s ease,border-color .16s ease!important}
body.designlab-final .news-card:hover{transform:none!important}
body.designlab-final .list-item{display:grid;grid-template-columns:minmax(125px,24%) minmax(0,1fr) auto;align-items:start;gap:22px;padding:24px 0!important;border:0!important;border-bottom:1px solid var(--lab-border)!important;background:transparent!important;min-height:unset!important;box-shadow:none!important}
body.designlab-final .news-list>.list-item:first-child{border-top:2px solid var(--lab-text)!important}
body.designlab-final .list-cover{display:block;width:100%;aspect-ratio:3/2;overflow:hidden;background:#dbe1e6}
body.designlab-final .list-cover img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}
body.designlab-final .list-copy h2{font-size:clamp(20px,2.2vw,27px)!important;letter-spacing:-.04em!important;line-height:1.2!important;margin:8px 0 10px!important}
body.designlab-final .list-copy h2 a{color:var(--lab-text)!important;text-decoration:none}
body.designlab-final .list-copy h2 a:hover{color:var(--lab-accent)!important}
body.designlab-final .list-copy p{font-size:14px!important;line-height:1.65!important;color:var(--lab-text-soft)!important;margin:0 0 14px!important}
body.designlab-final .list-arrow{color:var(--lab-accent)!important;font-size:19px!important}
body.designlab-final .card-kicker{color:var(--lab-accent)!important;font-weight:800!important;letter-spacing:.05em!important;text-transform:uppercase!important;font-size:11px!important}
body.designlab-final .pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:27px 0!important}
body.designlab-final .pagination a{display:inline-flex;padding:12px 15px!important;min-height:44px;border:1px solid var(--lab-border)!important;background:var(--lab-surface)!important;color:var(--lab-text)!important;text-decoration:none!important}
body.designlab-final .pagination a:hover{border-color:var(--lab-accent)!important;color:var(--lab-accent)!important}
body.designlab-final .pagination span{font-size:13px!important;color:var(--lab-quiet)!important;font-variant-numeric:tabular-nums}
body.designlab-final .empty-state{padding:40px!important;border:1px solid var(--lab-border)!important;background:var(--lab-surface)!important}
body.designlab-final .empty-state h3{font-size:24px!important;margin-bottom:8px!important}
/* Categories, districts and filters */
body.designlab-final .chips,body.designlab-final .district-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px!important;margin:24px 0!important}
body.designlab-final :where(.chip,.district-strip a){display:inline-flex;align-items:center;min-height:40px;padding:9px 14px!important;border:1px solid var(--lab-border)!important;background:var(--lab-surface)!important;color:var(--lab-text)!important;font-weight:750!important;font-size:12px!important;text-decoration:none!important;border-radius:0!important}
body.designlab-final :where(.chip.selected,.district-strip a.active){background:var(--lab-text)!important;color:var(--lab-surface)!important;border-color:var(--lab-text)!important}
body.designlab-final :where(.chip,.district-strip a):hover{border-color:var(--lab-accent)!important}
body.designlab-final .district-filter,body.designlab-final .search-main{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:17px 20px!important;background:var(--lab-surface)!important;border:1px solid var(--lab-border)!important;margin:15px 0 30px!important;border-radius:0!important}
body.designlab-final .district-filter label{font-weight:800!important;font-size:13px!important}
body.designlab-final .district-filter select,body.designlab-final .search-main input{min-height:46px!important;background:var(--lab-surface)!important;border:1px solid var(--lab-border)!important;border-radius:0!important;color:var(--lab-text)!important;padding:10px 13px!important}
body.designlab-final .search-main input{flex:1 1 230px;min-width:0!important;font-size:16px!important}
body.designlab-final :where(.search-main,.district-filter) button{min-height:46px!important;border-radius:0!important;background:var(--lab-text)!important;color:var(--lab-surface)!important;border:1px solid var(--lab-text)!important;font-weight:800!important;padding:10px 20px!important;cursor:pointer}
/* Full article reading system — headings, lead, tables, embeds, all blocks */
body.designlab-final .lab-article-page{display:grid!important;grid-template-columns:minmax(0,800px) minmax(220px,1fr)!important;gap:clamp(25px,4vw,55px)!important;padding-top:clamp(30px,4vw,62px)!important;padding-bottom:70px!important;align-items:start}
body.designlab-final .lab-article{min-width:0!important;max-width:100%!important}
body.designlab-final .lab-article .article-title-group{border:0!important;padding:0!important;margin:16px 0 16px!important}
body.designlab-final .lab-article .article-title-group .eyebrow{color:var(--lab-accent)!important}
body.designlab-final .lab-article h1{font-family:var(--lab-ui)!important;font-size:clamp(34px,4.5vw,61px)!important;line-height:1.065!important;font-weight:850!important;letter-spacing:-.052em!important;color:var(--lab-text)!important;margin:12px 0 20px!important}
body.designlab-final .lab-article .story-lead{font:400 clamp(18px,2vw,22px)/1.55 var(--lab-ui)!important;color:var(--lab-text-soft)!important;letter-spacing:-.014em!important;max-width:740px;margin-bottom:22px!important}
body.designlab-final .story-meta{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px 17px!important;border-top:1px solid var(--lab-border)!important;padding-top:14px!important;margin:17px 0 27px!important;font-size:12px!important;line-height:1.5!important;color:var(--lab-quiet)!important}
body.designlab-final .story-meta a{color:var(--lab-accent)!important}
body.designlab-final .cover{margin:0 0 24px!important;max-width:100%;}
body.designlab-final .cover img{width:100%!important;height:auto!important;object-fit:cover!important;display:block;border-radius:0!important}
body.designlab-final .cover figcaption,body.designlab-final .gallery figcaption{font-size:12px!important;line-height:1.55!important;color:var(--lab-quiet)!important;padding:9px 0!important}
body.designlab-final .article-utility{border-block:1px solid var(--lab-border)!important;background:transparent!important;padding:13px 0!important;gap:14px!important;margin:20px 0 30px!important;flex-wrap:wrap}
body.designlab-final .article-utility a{color:var(--lab-text)!important;font-size:12px!important}
body.designlab-final .article-controls{display:flex!important;gap:5px!important}
body.designlab-final .article-font-btn{min-width:44px!important;min-height:44px!important;border:1px solid var(--lab-border)!important;background:var(--lab-surface)!important;color:var(--lab-text)!important;border-radius:0!important;cursor:pointer;font-size:16px!important}
body.designlab-final .story-content{font-family:var(--lab-reading)!important;color:var(--lab-text)!important;font-size:var(--reader-font-size,19px)!important;line-height:1.83!important;max-width:var(--lab-reading-width)!important;overflow-wrap:break-word!important}
body.designlab-final .story-content :where(p,ul,ol,blockquote,table,figure,pre){margin-block:0 1.22em!important}
body.designlab-final .story-content p{font-family:var(--lab-reading)!important;font-size:inherit!important;color:var(--lab-text)!important;line-height:inherit!important}
body.designlab-final .story-content :where(h2,h3,h4,h5,h6){font-family:var(--lab-ui)!important;font-weight:850!important;color:var(--lab-text)!important;line-height:1.22!important;letter-spacing:-.04em!important;margin:1.6em 0 .55em!important}
body.designlab-final .story-content h2{font-size:clamp(25px,2.8vw,34px)!important}
body.designlab-final .story-content h3{font-size:clamp(22px,2.2vw,27px)!important}
body.designlab-final .story-content h4{font-size:20px!important}
body.designlab-final .story-content h5{font-size:17px!important}
body.designlab-final .story-content h6{font-size:15px!important;letter-spacing:.025em!important;text-transform:uppercase!important}
body.designlab-final .story-content :where(strong,b){font-weight:700!important}
body.designlab-final .story-content :where(a){color:var(--lab-accent)!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important}
body.designlab-final .story-content :where(a):hover{text-decoration-thickness:2px!important}
body.designlab-final .story-content ul{padding-left:1.35em!important;list-style:disc!important}
body.designlab-final .story-content ol{padding-left:1.45em!important;list-style:decimal!important}
body.designlab-final .story-content li{padding-left:.2em!important;margin-bottom:.4em!important}
body.designlab-final .story-content li::marker{color:var(--lab-accent)}
body.designlab-final .story-content blockquote{position:relative;background:#f0eff0!important;border-left:4px solid var(--lab-accent)!important;margin:1.4em 0!important;padding:20px 26px!important;color:var(--lab-text)!important;font:italic 400 1.15em/1.6 var(--lab-reading)!important;border-radius:0!important}
body.designlab-final .story-content blockquote p{font:inherit!important}
body.designlab-final .story-content img,body.designlab-final .story-content figure img{max-width:100%!important;height:auto!important;display:block;border-radius:0!important}
body.designlab-final .story-content figcaption{font:400 12px/1.5 var(--lab-ui)!important;color:var(--lab-quiet)!important;margin-top:9px!important}
body.designlab-final .story-content :where(code){font:400 .86em/1.5 ui-monospace,SFMono-Regular,Consolas,monospace!important;background:#ecedef;padding:.12em .35em;overflow-wrap:anywhere}
body.designlab-final .story-content pre{max-width:100%;overflow:auto;background:var(--lab-text);color:var(--lab-surface);padding:20px;font:400 14px/1.65 ui-monospace,Consolas,monospace}
body.designlab-final .story-content pre code{background:none!important;color:inherit!important}
body.designlab-final .lab-table-scroll{overflow-x:auto;max-width:100%;margin:22px 0 29px!important;border:1px solid var(--lab-border)!important}
body.designlab-final :where(.story-content,.policy-text,.lab-table-scroll) table{width:100%;border-collapse:collapse;min-width:440px;font:400 14px/1.5 var(--lab-ui)!important}
body.designlab-final :where(.story-content,.policy-text,.lab-table-scroll) th{font-weight:800;background:#f0f1f2;color:var(--lab-text)}
body.designlab-final :where(.story-content,.policy-text,.lab-table-scroll) th,body.designlab-final :where(.story-content,.policy-text,.lab-table-scroll) td{padding:12px 14px!important;border:1px solid var(--lab-border)!important;text-align:left;vertical-align:top;overflow-wrap:anywhere}
body.designlab-final .story-content :where(iframe,video){width:100%;max-width:100%;aspect-ratio:16/9;min-height:250px;border:0}
body.designlab-final .gallery{margin:45px 0!important}
body.designlab-final .gallery h2,body.designlab-final .timeline h2,body.designlab-final .related h2,body.designlab-final .comments-section h2{font-size:clamp(24px,2.6vw,31px)!important;letter-spacing:-.035em!important}
body.designlab-final .gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important}
body.designlab-final .gallery-grid figure{margin:0!important;min-width:0}
body.designlab-final .gallery-grid img{width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover;border-radius:0!important}
body.designlab-final .source-note{background:#edf5f2!important;border:1px solid #ceded9!important;border-left:4px solid var(--lab-good)!important;padding:22px!important;color:#173f39!important;line-height:1.65!important}
body.designlab-final .source-note a{color:#126956!important}
body.designlab-final .source-update-notice{border-radius:0!important;border-left:4px solid #a67d24!important}
body.designlab-final .timeline-item{position:relative;padding:18px 0 22px 20px;border-left:2px solid var(--lab-border)}
body.designlab-final .timeline-item:before{content:"";width:9px;height:9px;position:absolute;top:25px;left:-5px;background:var(--lab-accent)}
body.designlab-final .timeline-item h3{font-size:19px!important}
body.designlab-final .timeline-item time{font-size:12px!important;color:var(--lab-quiet)!important}
body.designlab-final .topics{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}
body.designlab-final .topics span{font:700 12px/1.5 var(--lab-ui)!important;padding:5px 9px!important;border:1px solid var(--lab-border)!important;border-radius:0!important}
body.designlab-final .share-tools,body.designlab-final .comments-section,body.designlab-final .related{border-top:2px solid var(--lab-text)!important;margin-top:34px!important;padding-top:21px!important}
body.designlab-final .share-tools{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important}
body.designlab-final .copy-link{border:1px solid var(--lab-border)!important;border-radius:0!important;background:var(--lab-surface)!important;color:var(--lab-text)!important;font-weight:800!important;padding:11px 13px!important;cursor:pointer}
body.designlab-final .share-tools form{margin:0!important}
body.designlab-final .comment{border-bottom:1px solid var(--lab-border)!important;background:transparent!important;padding:16px 0!important}
body.designlab-final .comment p{font-size:15px!important}
body.designlab-final .sidebar-box{border:1px solid var(--lab-border)!important;background:var(--lab-surface)!important;padding:22px!important}
body.designlab-final .sidebar-box h3{font-size:20px!important;margin:9px 0!important}
body.designlab-final .story-sidebar{min-width:0}
body.designlab-final .story-sidebar .sidebar-accent{background:var(--lab-text)!important;color:white!important}
body.designlab-final .story-sidebar .sidebar-accent strong{color:#fff!important}
body.designlab-final .story-sidebar .sidebar-box a{color:var(--lab-accent)!important}
/* Forms, errors and subscription/reader pages */
body.designlab-final :where(.form-card,.reader-form,.crm-edit-form,.seo-form,.city-filter-form){max-width:100%;}
body.designlab-final :where(.reader-form,.crm-edit-form,.seo-form) :where(label){display:block;font-size:13px!important;font-weight:750!important;color:var(--lab-text)!important;line-height:1.5!important;margin-bottom:14px!important}
body.designlab-final :where(.reader-form,.crm-edit-form,.seo-form) :where(input:not([type="checkbox"]):not([type="radio"]),textarea,select),body.designlab-final .city-filter-form :where(input,textarea,select){display:block;max-width:100%;min-height:46px!important;width:100%;padding:10px 12px!important;background:var(--lab-surface)!important;color:var(--lab-text)!important;border:1px solid var(--lab-border)!important;border-radius:0!important;font-size:15px!important;line-height:1.5!important}
body.designlab-final :where(.reader-form,.crm-edit-form,.seo-form,.city-filter-form) textarea{min-height:135px!important;resize:vertical!important}
body.designlab-final input[type="checkbox"],body.designlab-final input[type="radio"]{accent-color:var(--lab-accent)}
body.designlab-final :where(.reader-form,.crm-edit-form,.seo-form,.city-filter-form) :where(input,textarea,select):focus{border-color:var(--lab-accent)!important}
body.designlab-final :where(.form-error,.seo-error,.error,.errorlist){color:#98243e!important;font-size:13px!important}
body.designlab-final .btn-primary{display:inline-flex!important;justify-content:center;align-items:center;gap:7px;border:1px solid var(--lab-accent)!important;border-radius:0!important;background:var(--lab-accent)!important;color:#fff!important;min-height:46px!important;padding:12px 18px!important;font:800 13px/1.3 var(--lab-ui)!important;text-decoration:none!important;cursor:pointer}
body.designlab-final .btn-primary:hover{background:var(--lab-accent-press)!important;border-color:var(--lab-accent-press)!important}
body.designlab-final .policy-text{font-size:16px!important;line-height:1.78!important;max-width:850px!important}
body.designlab-final .policy-text :where(h2,h3){margin:1.4em 0 .5em!important}
body.designlab-final .policy-text p,body.designlab-final .policy-text li{line-height:1.78!important}
body.designlab-final .policy-text a,body.designlab-final .page-main a:not(.btn-primary):not(.chip){text-decoration-thickness:1px}
/* Services / city map / official bulletins */
body.designlab-final .city-hub-main,body.designlab-final .city-service-main{padding-block:clamp(26px,4vw,55px) 70px!important;min-height:500px}
body.designlab-final .city-breadcrumb{font-size:12px!important;color:var(--lab-quiet)!important;margin-bottom:19px!important}
body.designlab-final .city-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;margin:22px 0 42px!important}
body.designlab-final .city-service-tile{display:flex;flex-direction:column;gap:11px;border:1px solid var(--lab-border)!important;background:var(--lab-surface)!important;padding:24px!important;min-height:180px!important}
body.designlab-final .city-service-tile:hover{border-color:var(--lab-accent)!important}
body.designlab-final .city-service-tile strong{font-size:clamp(20px,2vw,27px)!important;color:var(--lab-text)!important;letter-spacing:-.035em!important}
body.designlab-final .service-topline{font-size:11px!important;color:var(--lab-accent)!important}
body.designlab-final .city-service-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(225px,285px);gap:24px!important}
body.designlab-final .city-filter-panel{background:var(--lab-surface)!important;border:1px solid var(--lab-border)!important;padding:22px!important}
body.designlab-final .city-filter-form{display:flex;gap:12px;flex-wrap:wrap}
body.designlab-final .city-filter-actions{display:flex;gap:10px;flex-wrap:wrap}
body.designlab-final .city-results-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;border-bottom:2px solid var(--lab-text);padding:14px 0!important}
body.designlab-final .city-article-row,body.designlab-final .city-event-grid>a{border-radius:0!important;border-bottom:1px solid var(--lab-border)!important}
body.designlab-final :where(.bulletin,.city-official-notice,.city-aside-box,.event-status){border:1px solid var(--lab-border)!important;background:var(--lab-surface)!important;padding:19px!important;border-radius:0!important}
body.designlab-final .event-status .stale-warning{color:#8f4b13!important}
body.designlab-final .story-tiles{gap:14px!important}
body.designlab-final .story-tiles>a{background:var(--lab-surface)!important;border:1px solid var(--lab-border)!important;padding:23px!important;min-height:180px!important}
body.designlab-final .story-tiles strong{font-size:20px!important;line-height:1.25!important}
body.designlab-final .story-tiles a:hover{border-color:var(--lab-accent)!important;transform:none!important}
/* CRM / owner dashboards: same palette, conservative tables and controls */
body.designlab-final :where(.crm-page,.seo-center) .subhead h1{font-size:clamp(29px,3vw,43px)!important}
body.designlab-final :where(.dashboard-review,.crm-panel,.seo-panel,.ad-cabinet){border:1px solid var(--lab-border)!important;background:var(--lab-surface)!important;padding:20px!important}
body.designlab-final :where(.crm-table-wrap,.lab-table-scroll,.seo-columns){max-width:100%;overflow-x:auto}
body.designlab-final :where(.crm-table,.seo-center table,.dashboard-review table,.reader-form table){border-collapse:collapse;width:100%;min-width:570px;font-size:13px!important}
body.designlab-final :where(.crm-table,.seo-center table,.dashboard-review table) :where(td,th){padding:10px 12px!important;border-bottom:1px solid var(--lab-border)!important;text-align:left!important;vertical-align:top}
body.designlab-final :where(.crm-table,.seo-center table,.dashboard-review table) th{background:#f0f1f2!important;color:#16243a!important;font-weight:800!important}
body.designlab-final .dashboard-review .dash-line{padding:15px 0!important;border-bottom:1px solid var(--lab-border)!important}
/* Custom pages: 404, 500, browser-supported scroll to top. */
body.designlab-final .lab-error-page{padding:clamp(80px,12vw,170px) 0!important;max-width:800px}
body.designlab-final .lab-error-page h1{font-size:clamp(34px,5vw,65px)!important;color:var(--lab-text)!important;line-height:1.08!important;margin:14px 0!important}
body.designlab-final .lab-error-page p{font-size:18px!important;line-height:1.6!important}
body.designlab-final .lab-error-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:25px}
body.designlab-final .lab-error-actions>a:not(.btn-primary){color:var(--lab-accent)!important}
/* Desktop / laptop / phone */
@media(max-width:1100px){
 body.designlab-final .lab-article-page{grid-template-columns:minmax(0,1fr) 245px!important;gap:24px!important}
 body.designlab-final .city-service-layout{grid-template-columns:minmax(0,1fr) 230px}
}
@media(max-width:850px){
 body.designlab-final .lab-article-page{display:block!important}
 body.designlab-final .story-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:35px}
 body.designlab-final .city-service-layout{grid-template-columns:1fr}
 body.designlab-final .top-nav{display:none!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;overflow:visible!important}
 body.designlab-final .top-nav.open{display:flex!important}
 body.designlab-final .top-nav a{height:auto!important;min-height:45px!important;width:100%!important;border-bottom:1px solid var(--lab-border)!important;padding:12px 8px!important}
 body.designlab-final .navigation-inner{display:flex!important;flex-direction:column!important;min-height:0!important;align-items:stretch!important}
 body.designlab-final .header-search{width:100%!important;margin:8px 0!important}
 body.designlab-final .mobile-menu-btn{display:inline-flex!important;align-items:center!important;gap:7px}
 body.designlab-final .lab-back-top{bottom:calc(80px + env(safe-area-inset-bottom));right:16px}
}
@media(max-width:650px){
 body.designlab-final .wrap{width:calc(100% - 30px)!important}
 body.designlab-final .page-main{padding-top:26px!important}
 body.designlab-final .subhead h1{font-size:clamp(30px,8.5vw,43px)!important}
 body.designlab-final .lab-article h1{font-size:clamp(31px,8.5vw,45px)!important}
 body.designlab-final .lab-article-page{--reader-font-size:18px}body.designlab-final .story-content{line-height:1.78!important}
 body.designlab-final .story-content blockquote{padding:17px 19px!important}
 body.designlab-final .story-content :where(iframe,video){min-height:170px}
 body.designlab-final .story-sidebar{display:block}
 body.designlab-final .gallery-grid{grid-template-columns:1fr}
 body.designlab-final .list-item{grid-template-columns:90px minmax(0,1fr)!important;gap:13px!important;padding:17px 0!important}
 body.designlab-final .list-item .list-cover{aspect-ratio:1/1}
 body.designlab-final .list-item .list-arrow{display:none}
 body.designlab-final .list-copy h2{font-size:18px!important}
 body.designlab-final .list-copy p{display:none}
 body.designlab-final .city-hub-grid{grid-template-columns:1fr}
 body.designlab-final .district-filter,body.designlab-final .search-main{padding:13px!important}
 body.designlab-final .footer-inner{display:block!important}
 body.designlab-final .footer-navigation{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;margin-top:24px}
 body.designlab-final .site-header .logo{gap:9px!important}
 body.designlab-final .site-header .masthead-actions{gap:6px!important}
 body.designlab-final .site-header .theme-toggle{min-width:40px!important}
 body.designlab-final .site-header .mobile-menu-btn{font-size:0!important}
 body.designlab-final .site-header .mobile-menu-btn svg{width:23px!important;height:23px!important}
}
@media(max-width:360px){
 body.designlab-final .site-header .logo-wordmark>span{letter-spacing:.6px!important}
 body.designlab-final .site-header .logo-monogram{font-size:39px!important}
 body.designlab-final .footer-navigation{grid-template-columns:1fr}
}
/* Accessibility + print */
@media(prefers-reduced-motion:reduce){body.designlab-final *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){body.designlab-final :where(button,input,select,textarea){border:1px solid ButtonText!important}}
@media print{body.designlab-final{background:white!important;color:black!important}body.designlab-final :where(.utility,.site-header,.mobile-bottom-nav,.site-footer,.story-sidebar,.share-tools,.comments-section,.article-controls,.lab-back-top,.puls-consent,.reader-cta){display:none!important}body.designlab-final .wrap{width:100%!important}body.designlab-final .lab-article-page{display:block!important;padding:0!important}body.designlab-final .story-content{font-size:12pt!important;max-width:100%!important;line-height:1.6!important}body.designlab-final a{color:inherit!important}}
/* Dark mode complete coverage over DesignLab's light-specific surfaces. */
html[data-theme='dark']{--ink:#f4f6fa;--ink2:#d4deed;--dim:#b3c1d3;--paper:#101b27;--border:#415064;--accent:#fa8292;--lab-body:#101b27;--lab-surface:#1b2b3a;--lab-text:#f4f6fa;--lab-text-soft:#c4cfdd;--lab-border:#415064;--lab-accent:#fa8292;--lab-accent-press:#f1a7b1;--lab-quiet:#b3c1d3;--lab-focus:#fa8292;--lab-good:#81cbbb}
html[data-theme='dark'] body.designlab-final .subhead{border-color:#b7c5d8!important}
html[data-theme='dark'] body.designlab-final .lab-article :where(.story-lead,.story-content p),html[data-theme='dark'] body.designlab-final .story-content{color:#f1f5fa!important}
html[data-theme='dark'] body.designlab-final :where(.news-list .list-item,.story-tiles a,.city-service-tile,.sidebar-box,.form-card,.dashboard-review,.seo-panel,.crm-panel,.city-filter-panel,.city-aside-box,.source-note,.empty-state,.district-filter,.search-main,.event-status,.bulletin,.city-official-notice){background:#1b2b3a!important;border-color:#415064!important;color:#f4f6fa!important}
html[data-theme='dark'] body.designlab-final :where(.story-content blockquote){background:#26394b!important;color:#f1f5fa!important}
html[data-theme='dark'] body.designlab-final :where(.story-content table,.policy-text table) :where(th){background:#293d51!important;color:#f4f6fa!important}
html[data-theme='dark'] body.designlab-final .source-note{border-left-color:#81cbbb!important;color:#f1f5fa!important}
html[data-theme='dark'] body.designlab-final .source-note a{color:#9de6d1!important}
html[data-theme='dark'] body.designlab-final :where(.chip.selected,.district-strip a.active,.search-main button,.district-filter button){color:#15202e!important;background:#f4f6fa!important}
html[data-theme='dark'] body.designlab-final :where(.crm-table,.seo-center table,.dashboard-review table) th{background:#273b50!important;color:#f4f6fa!important}
html[data-theme='dark'] body.designlab-final .lab-back-top{background:#f4f6fa;color:#16243a}
html[data-theme='dark'] body.designlab-final .mobile-bottom-nav{background:#1b2b3a!important}

/* v8.1: explicit, non-misleading source verification label */
.puls34-provenance-badge{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .7rem;margin:.65rem 0 1rem;padding:.6rem .85rem;border:1px solid #cfe3d8;border-radius:9px;background:#f4faf7;color:#1e654b;font-weight:700;font-size:.9rem}
.puls34-provenance-badge span{font-size:.75rem;font-weight:400;color:#506b5c;line-height:1.35}
