:root {
  color-scheme: light;
  --ink: #202629;
  --paper: #fbfaf6;
  --brass: #906a23;
  --blue: #345964;
  --muted: #585b57;
  --rule: #cac7bb;
  --display: Kazimir, Spectral, Georgia, serif;
  --serif: Spectral, Georgia, serif;
  --sans: 'Golos Text', system-ui, sans-serif;
  --mono: ui-monospace, 'SFMono-Regular', Menlo, monospace;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 1rem/1.5 var(--sans); -webkit-font-smoothing: antialiased; }
h1,h2,h3,p,figure { margin: 0; }
main { overflow-wrap: anywhere; }
a { color: inherit; text-underline-offset: .18em; }
a:hover { color: var(--blue); }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
img { display: block; max-width: 100%; height: auto; }
button, input { font: inherit; }
[hidden] { display: none !important; }
.metrika-pixel { position: absolute; left: -9999px; width: 1px; height: 1px; }
.wrap { width: min(100% - clamp(2rem, 7vw, 8rem), 80rem); margin-inline: auto; }
.skip { position: fixed; z-index: 9; top: 0; left: .5rem; padding: .55em 1em; background: white; transform: translateY(-120%); }
.skip:focus { transform: none; }
.mast-top { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; padding: 2.1rem 0 1.45rem; }
.mast-city, .mast-search { font: 500 .75rem/1.35 var(--sans); letter-spacing: .045em; }
.mast-city { display: flex; align-items: center; gap: .7em; }
.mast-rule { width: 1.6rem; height: .46rem; border-block: 1px solid var(--brass); transform: skewX(-18deg); }
.mast-logo { display: block; width: clamp(14rem, 29vw, 23.5rem); }
.mast-logo img,.site-foot img { width: 100%; }
.mast-search { justify-self: end; display: flex; align-items: center; gap: .55em; min-height: 44px; text-decoration: none; }
.mast-nav { border-block: 1px solid var(--ink); display: flex; justify-content: center; flex-wrap: wrap; gap: 0 clamp(.6rem,3.3vw,3rem); }
.mast-nav a { position: relative; display: grid; align-items: center; padding: .57rem .15rem; min-height: 42px; font-size: .875rem; text-decoration: none; }
.mast-nav a:hover, .mast-nav a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--brass); text-underline-offset: .38em; }
.site-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: 1.6rem 0 2rem; border-top: 2px solid var(--ink); font-size: .8rem; }
.site-foot img { width: 8.5rem; }
.site-foot > span { color: var(--muted); }
.site-foot > a:last-child { margin-left: auto; padding: .5rem 0; }
.search-page { padding-block: clamp(2.3rem, 6vw, 5rem); min-height: 55vh; }
.search-page h1 { font: 500 clamp(2.4rem,5.5vw,5rem)/1.1 var(--display); }
.search-page form { margin-block: 2.2rem; }
.search-page label { display: block; margin-bottom: .5em; }
.search-page form div { display: flex; flex-wrap: wrap; gap: .5rem; }
.search-page input { color: var(--ink); background: white; padding: .7em; border: 1px solid var(--muted); width: min(100%,25rem); }
.search-page button { border: 0; padding: .7em 1.4em; background: var(--ink); color: white; cursor: pointer; }
.search-page ul { padding: 0; list-style: none; max-width: 56rem; }
.search-page li { padding: 1rem 0; border-top: 1px solid var(--rule); }
.search-page small { color: var(--blue); }
.search-page h2 { margin-top: .25rem; font: 500 clamp(1.4rem,2.5vw,2rem)/1.17 var(--display); }
.search-page h2 a { text-decoration: none; }
.search-page h2 a:hover { text-decoration: underline; }
@media (max-width: 720px) {
  .mast-top { grid-template-columns: 1fr auto; padding: 1.2rem 0 .9rem; }
  .mast-city { display: none; }
  .mast-logo { width: min(57vw, 16rem); }
  .mast-search { min-width: 44px; justify-content: end; }
  .mast-nav { justify-content: space-around; gap: 0 .5rem; }
  .mast-nav a { font-size: .82rem; min-height: 44px; }
}
@media (max-width: 360px) {
  .mast-search span { display: none; }
  .mast-nav { gap: 0 .4rem; }
  .mast-nav a { padding-inline: 0; }
}
@media print {
  .mast-nav, .mast-search, .site-foot, .skip { display: none; }
  body { background: white; }
}
