:root{--paper:#fbfbf8;--ink:#101014;--muted:#6e727a;--line:rgba(16,16,20,.14);--blue:#174a9c;--red:#c91f2f;--gold:#c99a36;--white:#fff;--pad:clamp(18px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,#fff 0 32%,#f7f8fb 100%)}body:after{content:"";position:fixed;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,transparent 0 28px,rgba(23,74,156,.06) 28px 30px,transparent 30px 58px);mask-image:linear-gradient(#000,transparent 72%)}
header{min-height:74px;padding:18px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);font:11px/1.2 "Courier New",monospace;text-transform:uppercase;letter-spacing:.1em;position:sticky;top:0;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);z-index:20}nav{display:flex;gap:16px;flex-wrap:wrap}nav a{color:var(--muted)}nav a:hover{color:var(--red)}.brand{font:700 22px/1 Arial,sans-serif;letter-spacing:0;text-transform:none;color:var(--ink)}
.hero{position:relative;min-height:calc(100vh - 74px);padding:7vw var(--pad);display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:6vw;align-items:center;overflow:hidden}.hero:before{content:"";position:absolute;left:var(--pad);right:var(--pad);bottom:0;height:9px;background:linear-gradient(90deg,var(--white) 0 33%,var(--blue) 33% 66%,var(--red) 66%)}.hero>.eyebrow,.hero>h1,.hero>.lead,.hero>button{grid-column:1;position:relative;z-index:2}.hero>button{margin-top:26px}
.eyebrow,.section-head span,.section-title span,.context span,.links span{font:10px/1.4 "Courier New",monospace;text-transform:uppercase;letter-spacing:.16em;color:var(--blue)}h1,h2{margin:0;line-height:.86;letter-spacing:-.055em;font-weight:400}h1{font-size:clamp(58px,9vw,138px);margin:28px 0}h1 em,h2 em{font-style:normal;color:var(--red)}.lead{max-width:840px;color:#30343a;font-size:clamp(18px,2vw,24px)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-actions a,.hero button,.cta button{display:inline-flex;align-items:center;width:max-content;padding:15px 18px;border:1px solid var(--red);border-radius:999px;background:var(--red);color:white;font:10px/1 "Courier New",monospace;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;transition:.25s}.hero-actions a+ a{background:transparent;color:var(--red)}.hero-actions a:hover,.hero button:hover,.cta button:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(201,31,47,.18)}
.ru-folk{position:relative;min-height:520px}.ru-folk:before{content:"";position:absolute;inset:4% 0 38%;background:repeating-linear-gradient(45deg,transparent 0 18px,rgba(201,31,47,.18) 18px 22px,transparent 22px 40px),repeating-linear-gradient(-45deg,transparent 0 18px,rgba(23,74,156,.16) 18px 22px,transparent 22px 40px);mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent)}.ru-eagle{position:absolute;right:7%;top:6%;width:min(28vw,260px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(201,154,54,.38);color:var(--gold);font:700 clamp(58px,8vw,104px)/.8 Arial,sans-serif;letter-spacing:-.08em;background:radial-gradient(circle,#fff 0 42%,rgba(201,154,54,.12) 43%);box-shadow:0 26px 70px rgba(201,154,54,.16)}
.ru-domes{position:absolute;left:0;right:0;bottom:22%;height:180px;display:flex;align-items:end;gap:18px}.ru-domes i{flex:1;height:70%;background:linear-gradient(180deg,#fff,var(--blue));border:1px solid rgba(23,74,156,.18);clip-path:polygon(50% 0,68% 20%,68% 100%,32% 100%,32% 20%)}.ru-domes i:nth-child(2){height:100%;background:linear-gradient(180deg,#fff,var(--red))}.ru-domes i:nth-child(3){height:82%;background:linear-gradient(180deg,#fff,var(--gold))}.ru-thread{position:absolute;left:0;right:0;bottom:8%;display:flex;justify-content:space-between;border-top:1px solid rgba(23,74,156,.3);padding-top:14px;color:var(--blue);font:10px/1 "Courier New",monospace;letter-spacing:.16em}
.section-head{padding:8vw var(--pad) 42px}.section-head h2,.section-title h2,.faq h2,.cta h2{font-size:clamp(50px,7vw,112px);margin-top:22px}.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.hub-grid article,.context>div,.context article,.cards article{min-height:300px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.72);position:relative;transition:.3s}.hub-grid article:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#fff,var(--blue),var(--red));transform:scaleX(.2);transform-origin:left;transition:.3s}.hub-grid article:hover{background:#fff;transform:translateY(-6px)}.hub-grid article:hover:before{transform:scaleX(1)}.hub-grid h2,.context h2{font-size:clamp(34px,4vw,58px);margin:0 0 18px}.hub-grid p,.context p,.cards p,.faq p{color:#4d5258}.hub-grid a,.links a{display:inline-flex;margin:8px 6px 0 0;padding:11px 13px;border:1px solid rgba(23,74,156,.24);border-radius:999px;font:10px/1.1 "Courier New",monospace;text-transform:uppercase;color:var(--blue)}.hub-grid a:hover,.links a:hover{background:var(--blue);border-color:var(--blue);color:white}
.context,.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.cards{grid-template-columns:repeat(5,1fr);margin-top:44px}.includes,.faq,.cta{padding:8vw var(--pad)}.faq{display:grid;grid-template-columns:38% 62%;gap:6vw;background:#fff}.faq details{padding:22px 0;border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;font:16px/1.3 "Courier New",monospace}.links{padding:42px var(--pad);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px}.links div{display:flex;gap:8px;flex-wrap:wrap}.cta{min-height:56vh;display:grid;place-content:center;text-align:center;background:#f4f6fb}footer{padding:32px var(--pad);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);font:10px/1.4 "Courier New",monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
@media(max-width:1000px){.hero,.hub-grid,.context,.cards,.faq{grid-template-columns:1fr}.ru-folk{min-height:360px}}@media(max-width:700px){header{position:relative;align-items:flex-start;flex-direction:column}h1{font-size:clamp(54px,15vw,90px)}.ru-folk{min-height:300px}.ru-domes{height:130px}.links{align-items:flex-start;flex-direction:column}.hub-grid article,.context>div,.context article,.cards article{min-height:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Service city pages */
.hero>.eyebrow,.hero>h1,.hero>.lead,.hero>button{grid-column:1/-1;max-width:960px}
.includes{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0,#f8faff 100%)}
.includes:before{content:"";position:absolute;right:var(--pad);top:42px;width:min(360px,38vw);height:min(220px,24vw);border-bottom:3px solid rgba(176,132,58,.34);background:radial-gradient(circle at 18% 100%,rgba(23,74,156,.14) 0 24%,transparent 25%),radial-gradient(circle at 50% 100%,rgba(201,31,47,.14) 0 28%,transparent 29%),radial-gradient(circle at 82% 100%,rgba(23,74,156,.14) 0 24%,transparent 25%);filter:drop-shadow(0 22px 45px rgba(23,74,156,.08));animation:ruFloat 12s ease-in-out infinite;pointer-events:none}
.section-title{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.36fr);gap:28px;align-items:end;margin-bottom:42px}
.section-title span{grid-column:1/-1}
.section-title h2{max-width:900px;line-height:.9}
.cards{position:relative;z-index:1;margin-top:0;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;box-shadow:0 30px 80px rgba(23,74,156,.07)}
.cards article{min-height:230px;display:flex;flex-direction:column;justify-content:space-between;gap:34px;overflow:hidden;transition:transform .28s ease,background .28s ease}
.cards article:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#fff,var(--blue),var(--red));transform:scaleX(.32);transform-origin:left;transition:.28s}
.cards article:hover{background:#fff;transform:translateY(-5px)}
.cards article:hover:before{transform:scaleX(1)}
.cards article b{width:48px;height:48px;border:1px solid rgba(201,31,47,.28);border-radius:50%;display:grid;place-items:center;color:var(--red);background:#fff;font:11px/1 "Courier New",monospace}
.cards article p{margin:0;color:#171b22;font-size:clamp(18px,2vw,24px);line-height:1.14}
.faq{align-items:start}
.faq>div{background:#fff;border-top:1px solid var(--line)}
.faq details{padding:24px 0}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#171b22}
.faq summary:after{content:"+";width:34px;height:34px;border:1px solid rgba(23,74,156,.26);border-radius:50%;display:grid;place-items:center;color:var(--blue);flex:0 0 auto}
.faq details[open] summary:after{content:"-";background:var(--blue);color:#fff}
.faq p{max-width:760px;margin:18px 0 0;font-size:17px;line-height:1.65}
.cta h2{line-height:.9;margin-bottom:28px}
@keyframes ruFloat{50%{transform:translateY(12px)}}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards article:last-child{grid-column:1/-1}}
@media(max-width:700px){.section-title,.cards{grid-template-columns:1fr}.cards article{min-height:190px}.includes:before{opacity:.38}}

@media(max-width:700px){body{min-width:0}h1{font-size:clamp(42px,12vw,72px);overflow-wrap:anywhere}.lead{font-size:16px}.hero{padding-bottom:42px}.hero-actions{width:100%;align-items:stretch;flex-direction:column}.hero-actions a,.hero button,.cta button{width:100%;max-width:100%;white-space:normal;text-align:center;line-height:1.25}.section-title h2,.faq h2,.cta h2{font-size:clamp(40px,12vw,72px);overflow-wrap:anywhere}.context article,.context>div,.hub-grid article,.cards article{padding:24px 20px}.cards article{gap:24px}.cards article p{font-size:20px}.faq{padding-top:54px;padding-bottom:54px}.faq summary{font-size:15px;align-items:flex-start}.links a{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.cta{min-height:46vh;padding-top:64px;padding-bottom:64px}}

/* Mobile polish for city service pages */
main,section,article,div,p,h1,h2,h3,a,button{min-width:0}
.hero button,.cta button{gap:12px}
.hero button b,.cta button b{flex:0 0 auto}
.links span,.section-title span,.eyebrow{overflow-wrap:anywhere}
@media(max-width:760px){
  header{padding:16px 18px;gap:14px}
  nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  nav a{min-height:38px;display:flex;align-items:center;justify-content:center;padding:8px 9px;border:1px solid rgba(23,74,156,.18);border-radius:999px;text-align:center;font-size:9px;letter-spacing:.08em}
  .hero{display:block;padding:42px 18px 38px;min-height:auto}
  .hero>.eyebrow,.hero>h1,.hero>.lead,.hero>button{max-width:none}
  .hero h1{margin:22px 0 18px;line-height:.9}
  .hero .lead{max-width:none;line-height:1.58}
  .hero>button{min-height:50px;margin-top:24px;padding:0 16px}
  .context,.cards,.faq{display:grid;grid-template-columns:1fr}
  .context>div,.context article{min-height:auto;padding:24px 18px}
  .context h2{font-size:clamp(30px,10vw,46px);line-height:.95}
  .includes{padding:58px 18px}
  .section-title{display:block;margin-bottom:28px}
  .section-title h2{margin-top:16px;line-height:.92}
  .cards{border:0;box-shadow:none;gap:12px;background:transparent}
  .cards article,.cards article:last-child{grid-column:auto;min-height:auto;padding:22px 18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.86)}
  .cards article b{width:40px;height:40px}
  .cards article p{font-size:18px;line-height:1.22}
  .faq{padding:58px 18px;gap:26px}
  .faq h2{margin-top:0;line-height:.94}
  .faq>div{border-top:0}
  .faq details{padding:18px 0}
  .faq summary{line-height:1.35}
  .faq p{font-size:15px;line-height:1.6}
  .links{padding:28px 18px;gap:16px}
  .links div{width:100%;display:grid;grid-template-columns:1fr;gap:10px}
  .links a{width:100%;justify-content:center;padding:13px 14px}
  .cta{min-height:auto;padding:62px 18px}
  .cta h2{line-height:.94}
  footer{padding:26px 18px}
}
@media(max-width:380px){
  nav{grid-template-columns:1fr}
  h1{font-size:clamp(38px,12vw,52px)}
  .section-title h2,.faq h2,.cta h2{font-size:clamp(36px,12vw,52px)}
}
