:root{
      --navy:#0a354f;--navy-2:#062a40;--mint:#087663;--mint-2:#d9f1eb;--mint-3:#f3f9f7;
      --ink:#142f3e;--muted:#405964;--line:#c7d8d6;--max:860px;
    }
    *{box-sizing:border-box}
    body{margin:0;font-family:"Noto Sans","Segoe UI",Arial,sans-serif;font-size:18px;line-height:1.65;color:var(--ink);background:#fff}
    a{color:var(--mint);text-decoration:none}
    a:hover{text-decoration:underline}
    .header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);--header-accent:#087965;--header-accent-soft:#3a9a88}
    .header-row{width:min(1180px,calc(100% - 32px));margin:0 auto;height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
    .brand{display:flex;align-items:flex-start;gap:12px;font-weight:900;color:var(--navy);line-height:1.15}
    .header .brand{color:var(--header-accent)}
    .brand-mark{width:44px;height:44px;flex:0 0 44px}
    @media(min-width:422px) and (max-width:641px){.header .brand-word{display:block;line-height:1.15}}
    .brand-mark img{width:100%;height:100%;object-fit:contain;object-position:top center;display:block}
    .header .brand-mark img{filter:brightness(0) saturate(100%) invert(34%) sepia(48%) saturate(700%) hue-rotate(131deg) brightness(92%) contrast(96%)}
    .brand small{display:block;font-size:12px;letter-spacing:.08em;color:#4d626c;margin-top:4px}
    .header .brand small{color:var(--header-accent-soft)}
    .back{font-weight:800;color:var(--header-accent)}
    .wrap{width:min(var(--max),calc(100% - 32px));margin:40px auto 72px}
    h1{font-size:clamp(28px,4vw,40px);line-height:1.2;color:var(--navy-2);margin:0 0 18px}
    h2{font-size:22px;line-height:1.3;color:var(--navy-2);margin:32px 0 12px}
    p,li{margin:0 0 12px}
    ul{padding-left:22px;margin:0 0 12px}
    .card{padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:var(--mint-3);margin-bottom:24px}
    .footer{padding:34px 0;background:#06293d;color:#c1d0d6}
    .footer .inner{width:min(1180px,calc(100% - 32px));margin:0 auto}
    .footer a{color:#7fe0cf;font-weight:800}
    @media(max-width:640px){.header-row{height:66px}.brand small{display:none}.wrap{margin-top:28px}.card{padding:18px}}

/* City logo adaptations — original wordmark, site palette */
.brand{align-items:center;gap:10px}
.brand-text-col,.brand-word,.brand small{display:none!important}
.brand-mark{
  display:block;width:auto;height:auto;flex:0 0 auto;max-width:none;
  margin:0;background:transparent;line-height:0
}
.brand-logo,.header .brand-mark img,.footer .brand-mark img{
  display:block;width:168px;height:auto;max-height:56px;max-width:100%;
  object-fit:contain;object-position:left center
}
.header .brand-logo,.header .brand-mark img{filter:brightness(0) saturate(100%) invert(34%) sepia(48%) saturate(700%) hue-rotate(131deg) brightness(92%) contrast(96%)!important}
.footer .brand-logo,.footer .brand-mark img{filter:brightness(0) invert(1)!important}
.brand-stamp{
  flex:0 0 auto;display:flex;align-items:center;min-width:0;filter:none!important
}
.brand-stamp__ring{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;
  margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;
  color:#087965;line-height:1.15;text-align:left
}
.brand-stamp__ring:before{content:none!important;display:none!important}
.brand-stamp strong{
  font-size:13px;font-weight:900;letter-spacing:-.02em;text-transform:none;line-height:1.15;
  white-space:nowrap
}
.brand-stamp em{
  margin:0;font-style:normal;font-size:12px;font-weight:700;letter-spacing:-.01em;
  line-height:1.15;opacity:.88;max-width:none;white-space:nowrap
}
.footer .brand-stamp__ring{background:none;border:0;box-shadow:none;color:rgba(255,255,255,.92)}
body.logo-compact .header .brand-logo{width:118px;max-height:58px}
body.logo-compact .footer .brand-logo{width:150px;max-height:72px}
.city-tomsk .header .brand-logo{width:230px;max-height:40px}
.city-tomsk .footer .brand-logo{width:270px;max-height:48px}
.city-kaliningrad .header .brand-logo{width:196px;max-height:48px}
.city-kaliningrad .footer .brand-logo{width:230px;max-height:56px}
.city-irkutsk .header .brand-logo{width:168px;max-height:52px}
.city-irkutsk .footer .brand-logo{width:200px;max-height:64px}
.footer .brand-logo{width:200px;max-height:72px}
@media(max-width:1100px){
  .header .brand-stamp strong{font-size:12px}
  .header .brand-stamp em{font-size:11px}
}
@media(max-width:900px){
  .header .brand-logo{width:140px;max-height:48px}
  body.logo-compact .header .brand-logo{width:102px;max-height:52px}
  .city-tomsk .header .brand-logo{width:180px;max-height:34px}
  .city-kaliningrad .header .brand-logo{width:160px;max-height:40px}
  .header .brand-stamp strong{font-size:11px}
  .header .brand-stamp em{font-size:10px}
}
@media(max-width:640px){
  .header .brand{gap:6px}
  .header .brand-logo{width:118px;max-height:42px}
  body.logo-compact .header .brand-logo{width:86px;max-height:44px}
  .city-tomsk .header .brand-logo{width:148px;max-height:28px}
  .city-kaliningrad .header .brand-logo{width:136px;max-height:34px}
  .header .brand-stamp{display:none}
  .footer .brand-logo{width:168px}
  body.logo-compact .footer .brand-logo{width:128px}
}
