@import url("https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@300;400;500;600;700&display=swap");
@import url("tokens.css");
*{box-sizing:border-box}html,body{width:100%;margin:0;overflow-x:clip}html{scroll-behavior:smooth}body{background:var(--color-paper);color:var(--color-ink);font:400 var(--text-base)/1.55 var(--font-body)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-underline-offset:.22em}button{cursor:pointer}img{display:block;max-width:100%}.skip-link{position:fixed;z-index:30;inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm);transform:translateY(-160%);background:var(--color-accent);color:var(--color-accent-ink);padding:var(--space-sm) var(--space-md)}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.nav-mast{width:min(calc(100% - 2rem),var(--content-max));display:grid;gap:var(--space-md);margin:var(--space-lg) auto 0;padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink)}.mast-line{display:flex;justify-content:space-between;gap:var(--space-md);font:400 var(--text-xs)/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.mast-name{font:500 clamp(1.45rem,3vw,2.15rem)/1 var(--font-display);text-decoration:none;letter-spacing:-.05em;overflow-wrap:anywhere;min-width:0}.mast-name span{display:inline-block;background:var(--color-accent);color:var(--color-accent-ink);padding:.12em .25em;border-radius:var(--radius-sm)}.mast-nav{display:none;align-items:center;justify-content:center;gap:var(--space-xl);font:400 var(--text-xs)/1 var(--font-mono);text-transform:uppercase}.mast-nav a,.mobile-nav a,.arrow-link,.detail-link,.detail-nav a,.foot-dense a,.primary-button,.petition-button,.filter{white-space:nowrap}.menu-toggle{justify-self:start;min-height:44px;padding:0 var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-paper-2);color:var(--color-ink);font:500 var(--text-xs)/1 var(--font-mono);text-transform:uppercase}.mobile-nav{display:grid;gap:var(--space-xs);padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2);font:var(--text-sm)/1.2 var(--font-mono)}.mobile-nav a{min-height:44px;display:flex;align-items:center}.mast-rule{display:none}main{width:100%;max-width:none;margin:0;padding:0}.hero-stat{min-height:calc(100svh - 7rem);display:grid;align-content:end;gap:var(--space-2xl);padding:var(--space-4xl) var(--page-gutter) var(--space-4xl);border-block-end:var(--rule-hair) solid var(--color-rule);position:relative}.hero-stat::before{content:"51.8652°N  ·  0.3915°W  /  ПЕРВОУРАЛЬСК × РЕВДА";position:absolute;inset-block-start:var(--space-2xl);inset-inline-end:var(--page-gutter);max-width:calc(100% - 2rem);font:var(--text-xs)/1.2 var(--font-mono);color:var(--color-muted);text-align:end;overflow-wrap:anywhere}.figure{font:400 var(--text-display)/.72 var(--font-display);letter-spacing:-.11em;color:var(--color-ink);margin:0}.hero-stat h1{max-width:16ch;margin:var(--space-xl) 0 0;font:400 var(--text-2xl)/.95 var(--font-display);letter-spacing:-.065em;overflow-wrap:anywhere;min-width:0}.hero-note{max-width:38rem;align-self:end}.hero-note p{font-size:var(--text-lg);color:var(--color-ink-2)}.arrow-link{display:inline-flex;align-items:center;gap:var(--space-sm);min-height:44px;padding:0 var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-ink);font:500 var(--text-xs)/1 var(--font-mono);text-transform:uppercase;text-decoration:none}.research{background:var(--color-surface-light);color:var(--color-light-ink);padding:var(--space-4xl) var(--page-gutter)}.section-head,.catalogue-head{display:grid;gap:var(--space-lg);align-items:end;margin-block-end:var(--space-2xl)}.section-head h2,.catalogue-head h2,.suggest h2,.detail-copy h2{margin:0;font:400 var(--text-2xl)/.96 var(--font-display);letter-spacing:-.065em;overflow-wrap:anywhere;min-width:0}.section-head>p{max-width:40rem;margin:0;color:var(--color-light-muted)}.research-ledger{display:grid;border-block-start:var(--rule-hair) solid var(--color-light-muted)}.research-ledger article{display:grid;gap:var(--space-md);padding:var(--space-xl) 0;border-block-end:var(--rule-hair) solid var(--color-light-muted)}.research-ledger b{font:500 var(--text-xl)/1.05 var(--font-display);letter-spacing:-.04em}.research-ledger p{max-width:50rem;margin:0;color:var(--color-light-muted)}.research-ledger a{font:500 var(--text-xs)/1.2 var(--font-mono);text-transform:uppercase}.catalogue{padding:var(--space-4xl) var(--page-gutter)}.catalogue-head p{margin:var(--space-xs) 0 0;color:var(--color-muted);font-family:var(--font-mono)}label{display:grid;gap:var(--space-xs);font:500 var(--text-xs)/1.2 var(--font-mono);text-transform:uppercase}.search-field{align-self:end}input,select,textarea{width:100%;min-height:48px;padding:.7rem var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);outline:2px solid transparent;outline-offset:1px;border-radius:var(--radius-sm);background:var(--color-paper-2);color:var(--color-ink);font-family:var(--font-body)}textarea{min-height:8rem;resize:vertical}input::placeholder,textarea::placeholder{color:var(--color-muted)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--color-focus)}[aria-invalid="true"]{border-color:var(--color-error)}.field-help{min-height:1lh;color:var(--color-muted);font:400 var(--text-xs)/1.35 var(--font-body);text-transform:none}.filters{display:flex;gap:var(--space-xs);overflow-x:auto;padding-block-end:var(--space-xl);scrollbar-width:thin}.filter{min-height:44px;padding:0 var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-2);color:var(--color-ink);font:500 var(--text-xs)/1 var(--font-mono);text-transform:uppercase}.filter.is-active{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.solution-list{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}.solution{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:var(--space-md);min-width:0;padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink)}.solution__number{font:400 var(--text-sm)/1 var(--font-mono);color:var(--color-accent)}.solution__meta{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);color:var(--color-muted);font:400 var(--text-xs)/1.3 var(--font-mono);text-transform:uppercase}.solution h3{margin:var(--space-md) 0 var(--space-sm);font:500 var(--text-xl)/1.03 var(--font-display);letter-spacing:-.045em;overflow-wrap:anywhere}.solution h3 a{text-decoration:none}.solution p{max-width:54rem;margin:0;color:var(--color-muted)}.solution__actions{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-block-start:var(--space-sm)}.petition-button,.detail-link,.primary-button,.empty-state button{min-height:44px;padding:0 var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-paper-3);color:var(--color-ink);font:500 var(--text-xs)/1 var(--font-mono);text-transform:uppercase;text-decoration:none}.petition-button,.primary-button{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.detail-link{display:inline-flex;align-items:center}.signature-count{font:var(--text-xs)/1.2 var(--font-mono);color:var(--color-muted)}.empty-state{padding:var(--space-3xl);border:var(--rule-hair) solid var(--color-rule);text-align:center}.empty-state span{font:400 5rem/1 var(--font-display);color:var(--color-accent)}.suggest{display:grid;gap:var(--space-2xl);padding:var(--space-4xl) var(--page-gutter);border-block-start:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2);color:var(--color-ink)}.suggest>div>p{max-width:38rem;color:var(--color-muted)}.suggest form{display:grid;gap:var(--space-lg)}.consent{grid-template-columns:auto minmax(0,1fr);align-items:start;font-family:var(--font-body);font-weight:400;text-transform:none}.consent input{width:20px;min-height:20px;margin:.1rem 0 0;accent-color:var(--color-accent)}.form-status{min-height:1.5em;margin:0;font-weight:600}.form-status.is-success{color:var(--color-success)}.form-status.is-error{color:var(--color-error)}dialog{width:min(38rem,calc(100% - 2rem));padding:0;border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink)}dialog::backdrop{background:var(--color-backdrop)}dialog form{display:grid;gap:var(--space-lg);padding:var(--space-xl)}dialog h2{margin:0;font:400 var(--text-xl)/1 var(--font-display)}.dialog-close{justify-self:end;width:44px;height:44px;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);font-size:1.5rem}.dialog-index{margin:0;color:var(--color-accent);font:var(--text-xs)/1 var(--font-mono);text-transform:uppercase}.foot-dense{display:grid;gap:var(--space-xl);padding:var(--space-3xl) var(--page-gutter);border-block-start:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);color:var(--color-muted);font:var(--text-xs)/1.6 var(--font-mono)}.foot-dense p{max-width:78rem;margin:0}.detail-nav{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xs);padding:var(--space-md) var(--page-gutter);border-block-end:var(--rule-hair) solid var(--color-rule);font:var(--text-xs)/1.2 var(--font-mono);text-transform:uppercase}.detail-nav>*{min-width:0;overflow-wrap:anywhere}.detail-main{padding:0}.detail-hero{display:grid;gap:var(--space-2xl);padding:var(--space-4xl) var(--page-gutter);border-block-end:var(--rule-hair) solid var(--color-rule)}.detail-number{margin:0;font:400 clamp(4rem,18vw,12rem)/.7 var(--font-display);letter-spacing:-.1em;color:var(--color-accent)}.author-line{font:var(--text-xs)/1.2 var(--font-mono);text-transform:uppercase;color:var(--color-muted)}.detail-hero h1{max-width:14ch;margin:0;font:400 var(--text-2xl)/.95 var(--font-display);letter-spacing:-.065em;overflow-wrap:anywhere}.detail-lede{max-width:44rem;font-size:var(--text-lg);color:var(--color-ink-2)}.detail-layout{display:grid;gap:var(--space-2xl);padding:var(--space-3xl) var(--page-gutter) var(--space-4xl)}.detail-copy{max-width:50rem}.detail-copy h2{margin-block:var(--space-3xl) var(--space-lg);font-size:var(--text-xl)}.detail-copy h3{margin:0;font:500 var(--text-lg)/1.1 var(--font-display)}.fact-note{padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink-2)}.action-list{list-style:none;padding:0;margin:0}.action-list li{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:var(--space-md);padding:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule)}.action-list li:last-child{border-block-end:var(--rule-hair) solid var(--color-rule)}.action-list span{font:var(--text-sm)/1 var(--font-mono);color:var(--color-accent)}.action-list p{margin:var(--space-xs) 0 0;color:var(--color-muted)}.metrics{display:grid;margin:0;border-block-start:var(--rule-hair) solid var(--color-rule)}.metrics div{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:var(--space-md);padding:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule)}.metrics dt{font-family:var(--font-mono);text-transform:uppercase}.metrics dd{margin:0;color:var(--color-muted)}.source-list{padding-inline-start:1.2rem}.source-list li{margin-block:var(--space-sm)}.support-panel{align-self:start;display:grid;gap:var(--space-sm);padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink)}.support-panel p,.support-panel span{margin:0}.support-panel strong{font:400 5rem/.9 var(--font-display);color:var(--color-accent)}.support-panel .primary-button{margin-block-start:var(--space-md)}.support-note{font-size:var(--text-xs);color:var(--color-muted)}
@media (hover:hover) and (pointer:fine){a:hover{text-decoration-thickness:var(--rule-heavy)}button:hover,.detail-link:hover,.arrow-link:hover{transform:translateY(-1px)}.solution:hover{border-color:var(--color-rule-strong)}.solution h3 a:hover{color:var(--color-accent)}}button:active,.detail-link:active,.arrow-link:active{transform:translateY(1px)}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}.is-loading{cursor:wait}.is-success{border-color:var(--color-success)}.is-error{border-color:var(--color-error)}
@media (min-width:42rem){.nav-mast{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.mast-line{grid-column:1/-1}.mast-nav{display:flex}.menu-toggle,.mobile-nav{display:none!important}.hero-stat{grid-template-columns:minmax(0,3fr) minmax(18rem,2fr)}.section-head,.catalogue-head{grid-template-columns:minmax(0,3fr) minmax(16rem,2fr)}.research-ledger{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-2xl)}.solution{grid-template-columns:4rem minmax(0,1fr) auto}.solution__actions{grid-column:3;grid-row:1;align-self:center;justify-content:flex-end;max-width:22rem}.suggest{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.suggest form{grid-template-columns:repeat(2,minmax(0,1fr))}.field-wide,.suggest .primary-button,.suggest .form-status{grid-column:1/-1}.detail-nav{grid-template-columns:minmax(0,1fr) auto}.detail-hero{grid-template-columns:minmax(10rem,1fr) minmax(0,2fr);align-items:end}.foot-dense{grid-template-columns:minmax(0,1fr) auto;align-items:end}}
@media (min-width:62rem){.solution-list{grid-template-columns:repeat(2,minmax(0,1fr))}.solution{grid-template-columns:3.5rem minmax(0,1fr)}.solution__actions{grid-column:2;grid-row:auto;justify-content:flex-start}.detail-layout{grid-template-columns:minmax(0,3fr) minmax(18rem,1fr)}.support-panel{position:sticky;top:var(--space-lg)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.nav-mast{width:100%;max-width:none;margin:0;padding-inline:var(--page-gutter);border:0;border-block-end:var(--rule-hair) solid var(--color-rule);border-radius:0}
.blog-hero{display:grid;gap:var(--space-2xl);min-height:70svh;align-content:end;padding:var(--space-4xl) var(--page-gutter);border-block-end:var(--rule-hair) solid var(--color-rule)}.blog-hero>p,.blog-article__meta,.blog-card__meta{font:var(--text-xs)/1.25 var(--font-mono);text-transform:uppercase;color:var(--color-muted)}.blog-hero h1{max-width:14ch;margin:0;font:400 var(--text-2xl)/.94 var(--font-display);letter-spacing:-.065em;overflow-wrap:anywhere}.blog-hero>div{max-width:38rem;color:var(--color-ink-2);font-size:var(--text-lg)}.blog-index{padding:var(--space-4xl) var(--page-gutter)}.blog-index>header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-lg);padding-block-end:var(--space-xl)}.blog-index>header h2{margin:0;font:400 var(--text-xl)/1 var(--font-display)}.blog-index>header p{margin:0;font-family:var(--font-mono);color:var(--color-muted)}.blog-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}.blog-card{display:grid;align-content:start;gap:var(--space-lg);min-width:0;padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2)}.blog-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg)}.blog-card h2{margin:0;font:500 var(--text-xl)/1.02 var(--font-display);letter-spacing:-.045em;overflow-wrap:anywhere}.blog-card h2 a{text-decoration:none}.blog-card>p{margin:0;color:var(--color-muted)}.blog-card footer{display:grid;gap:var(--space-xs);margin-block-start:auto;padding-block-start:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule);font:var(--text-xs)/1.3 var(--font-mono);text-transform:uppercase;color:var(--color-muted)}.blog-card footer a{color:var(--color-ink);white-space:nowrap}.blog-article{padding:0}.blog-article__hero{display:grid;gap:var(--space-xl);padding:var(--space-4xl) var(--page-gutter);border-block-end:var(--rule-hair) solid var(--color-rule)}.blog-article__meta{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-xl)}.blog-article__hero h1{max-width:16ch;margin:0;font:400 var(--text-2xl)/.94 var(--font-display);letter-spacing:-.065em;overflow-wrap:anywhere}.blog-article__lead{max-width:46rem;margin:0;color:var(--color-ink-2);font-size:var(--text-lg)}.blog-byline{display:grid;gap:var(--space-2xs);font-family:var(--font-mono)}.blog-byline span{font-size:var(--text-xs);text-transform:uppercase;color:var(--color-muted)}.blog-article__layout{display:grid;gap:var(--space-2xl);padding:var(--space-3xl) var(--page-gutter) var(--space-4xl)}.blog-prose{max-width:46rem;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.72}.blog-prose>p:first-child{font-size:var(--text-lg);color:var(--color-ink)}.blog-prose h2{margin-block:var(--space-3xl) var(--space-lg);font:400 var(--text-xl)/1.02 var(--font-display);letter-spacing:-.045em}.blog-source{display:grid;gap:var(--space-sm);margin-block-start:var(--space-3xl);padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);font:var(--text-xs)/1.4 var(--font-mono);text-transform:uppercase}.blog-side{align-self:start;display:grid;gap:var(--space-sm);padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);font-family:var(--font-mono)}.blog-side>span,.blog-side>small{font-size:var(--text-xs);text-transform:uppercase;color:var(--color-muted)}.blog-side>strong{font:400 3.5rem/.9 var(--font-display);color:var(--color-accent)}.blog-side .primary-button{display:flex;align-items:center;justify-content:center;margin-block-start:var(--space-md)}
@media (hover:hover) and (pointer:fine){.blog-card:hover{border-color:var(--color-rule-strong)}.blog-card h2 a:hover{color:var(--color-accent)}}
@media (min-width:42rem){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-card footer{grid-template-columns:1fr 1fr auto;align-items:end}}
@media (min-width:62rem){.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-article__layout{grid-template-columns:minmax(0,3fr) minmax(18rem,1fr)}.blog-side{position:sticky;top:var(--space-lg)}}
.party-initiative-page{--color-accent:var(--color-party-red)}.party-initiative-page .detail-nav{border-block-end:var(--rule-heavy) solid var(--color-party-red);background:var(--color-paper)}.party-initiative-page .blog-article__hero{position:relative;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);padding-block-start:var(--space-2xl);border-block-end:var(--rule-heavy) solid var(--color-party-red);background:linear-gradient(135deg,var(--color-paper) 0 72%,var(--color-paper-2) 72% 100%)}.party-brand{display:flex;align-items:center;gap:var(--space-md);max-width:max-content;padding:var(--space-xs) var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);background:var(--color-ink);color:var(--color-light-ink);font:700 var(--text-xs)/1.15 var(--font-mono);text-transform:uppercase}.party-brand img{width:5.5rem;height:3rem;object-fit:contain}.party-initiative-page .blog-article__hero h1{max-width:12ch;font-weight:700;letter-spacing:-.075em}.party-initiative-page .blog-article__lead{font-weight:500;color:var(--color-ink)}.party-initiative-page .blog-byline strong{font-size:var(--text-lg)}.initiative-portrait{margin:var(--space-lg) 0 0;position:relative;min-width:0;border:var(--rule-heavy) solid var(--color-party-red);background:var(--color-paper-2)}.initiative-portrait img{width:100%;height:min(62svh,42rem);object-fit:cover;object-position:center 24%}.initiative-portrait figcaption{display:grid;gap:var(--space-2xs);padding:var(--space-md);background:var(--color-party-red);color:var(--color-accent-ink);font-family:var(--font-mono);text-transform:uppercase}.initiative-portrait figcaption strong{font-size:var(--text-base)}.initiative-portrait figcaption span{font-size:var(--text-xs)}.party-initiative-page .blog-prose{font-weight:500}.party-initiative-page .blog-prose>p:first-child{font-weight:700;font-size:var(--text-xl);line-height:1.45}.party-initiative-page .blog-prose h2{font-weight:700;border-block-start:var(--rule-heavy) solid var(--color-party-red);padding-block-start:var(--space-xl)}.party-initiative-page .blog-side{border:var(--rule-heavy) solid var(--color-party-red)}.initiative-badge{color:var(--color-party-red)!important;font-weight:700}.party-initiative-page .primary-button{background:var(--color-party-red);border-color:var(--color-party-red)}
@media (min-width:62rem){.party-initiative-page .blog-article__hero{grid-template-columns:minmax(0,3fr) minmax(19rem,1fr)}.party-brand,.party-initiative-page .blog-article__meta,.party-initiative-page .blog-article__hero h1,.party-initiative-page .blog-article__lead,.party-initiative-page .blog-byline{grid-column:1}.initiative-portrait{grid-column:2;grid-row:1/7;margin:0}.initiative-portrait img{height:100%;min-height:38rem}}
