:root{--navy:#17201f;--navy2:#263331;--green:#d65332;--mint:#f5e8df;--orange:#ffb000;--ink:#1d2524;--muted:#68736f;--line:#d9dfdb;--bg:#f1f2ed;--deep:#111817;--blue:#34433f;--green-2:#b93d22;--lime:#ffc857;--warm:#fff0d1;--shadow:0 22px 55px rgba(23,32,31,.14);--radius:8px}
body{font-family:"Segoe UI",Arial,sans-serif;background:#f7f7f3;color:var(--ink)}
.topbar{background:#111817;color:#d7ddda;border-bottom:3px solid var(--orange)}
.header{background:rgba(247,247,243,.96);border-bottom:1px solid #cfd6d1;box-shadow:none}
.brand{font-size:22px;letter-spacing:-.7px;text-transform:uppercase}.brand:before{width:17px;height:17px;border-radius:0;background:var(--orange);transform:rotate(45deg);box-shadow:8px -8px 0 rgba(214,83,50,.32)}.brand span{color:var(--green)}
.btn{border-radius:3px;background:var(--green);box-shadow:6px 6px 0 #1d2826;text-transform:uppercase;letter-spacing:.045em;font-size:13px}.btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #1d2826}.btn.outline{border:2px solid #263331;border-radius:3px;background:#f7f7f3}.btn.orange{background:var(--orange);color:#17201f}
.hero{position:relative;isolation:isolate;background:linear-gradient(90deg,#e9e9e2 0%,rgba(233,233,226,.97) 48%,rgba(233,233,226,.12) 72%),url('/assets/specialist-sanobrabotki.png') center/cover;overflow:hidden}
.hero:after{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(29,37,36,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(29,37,36,.055) 1px,transparent 1px);background-size:42px 42px}.hero-copy:before{content:"66 / URAL";display:block;color:var(--green);font-weight:900;letter-spacing:.24em;font-size:12px;margin-bottom:12px}
.eyebrow{border-radius:2px;background:var(--orange);color:#17201f;box-shadow:none}h1,h2,h3{color:#17201f;letter-spacing:-.045em}h1{font-weight:900;text-transform:uppercase}
.section{border-top:1px solid rgba(38,51,49,.08)}.section.alt{background:#ebece6}.section.dark{background:linear-gradient(120deg,#111817,#263331)}.section-head:after{width:90px;height:9px;border-radius:0;background:repeating-linear-gradient(135deg,var(--orange) 0 9px,var(--green) 9px 18px)}
.card,.steps .step,details,.table-wrap{border-radius:5px;box-shadow:6px 6px 0 rgba(38,51,49,.12)}.grid .card:before{height:6px;background:var(--green)}.grid .card:hover{transform:translate(-3px,-3px);box-shadow:10px 10px 0 rgba(38,51,49,.16)}.icon,.card-mark{border-radius:2px;background:#263331;color:var(--orange)}
.step:before{border-radius:2px;background:var(--green);box-shadow:5px 5px 0 #263331}.result,.cta{border-radius:5px;background:linear-gradient(135deg,#17201f,#34433f);box-shadow:10px 10px 0 var(--orange)}
.field input,.field select,.field textarea{border-radius:2px;border:2px solid #c5cdc8}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(255,176,0,.25);border-color:var(--green)}
.page-hero{background:#e9e9e2;min-height:460px}.page-hero:before{filter:grayscale(.25) contrast(1.08)}.proof-strip{border-radius:4px;box-shadow:9px 9px 0 rgba(38,51,49,.16)}.proof-icon{border-radius:2px;background:var(--orange);color:#17201f}
.footer{background:#111817}.footer:before{height:7px;background:repeating-linear-gradient(135deg,var(--orange) 0 12px,var(--green) 12px 24px)}.notice,.contact-modal-dialog{border-radius:5px}
@media(max-width:900px){.hero{background:linear-gradient(90deg,rgba(233,233,226,.95),rgba(233,233,226,.72)),url('/assets/specialist-sanobrabotki.png') 70%/cover}.nav.open .links{background:#f1f2ed}.mobile-menu-extra{border-radius:4px;background:#17201f}}
@media(max-width:600px){.hero h1{font-size:39px}.btn{box-shadow:4px 4px 0 #1d2826}.proof-strip{box-shadow:6px 6px 0 rgba(38,51,49,.16)}}

/* Пилот городской идентичности: Екатеринбург */
.header .brand.has-city-emblem{gap:11px;text-transform:none;line-height:1.05}
.header .brand.has-city-emblem:before{display:none}
.city-emblem{width:42px;height:42px;object-fit:contain;flex:0 0 42px;filter:drop-shadow(0 4px 6px rgba(23,32,31,.16))}
.brand-copy{display:grid;gap:2px}.brand-copy strong{font-size:18px;text-transform:uppercase;letter-spacing:-.04em}.brand-copy small{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.contact-map-section{padding-top:0}.contact-map-shell{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr);min-height:480px;border:1px solid var(--line);background:#fff;box-shadow:10px 10px 0 rgba(38,51,49,.14)}
.contact-map-copy{padding:46px;background:linear-gradient(145deg,#17201f,#2b3936);color:#dce3df}.contact-map-copy h2{color:#fff;margin-top:12px}.contact-map-copy p{color:#c9d2ce}.contact-map-address{display:block;margin:25px 0;color:#fff;font-size:20px;line-height:1.45}.contact-map-frame{position:relative;min-height:480px;background:#e8e9e3}.contact-map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:900px){.city-emblem{width:38px;height:38px;flex-basis:38px}.contact-map-shell{grid-template-columns:1fr}.contact-map-frame{min-height:420px}}
@media(max-width:600px){.header .brand.has-city-emblem{gap:8px}.city-emblem{width:34px;height:34px;flex-basis:34px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:8px}.contact-map-copy{padding:30px 24px}.contact-map-frame{min-height:360px}}

/* Переключатель городов Свердловской области */
.city-switcher{display:flex;align-items:center;gap:10px;min-width:180px;padding:8px 12px;border:0;border-left:2px solid #263331;background:transparent;color:#17201f;cursor:pointer;text-align:left}.city-switcher:hover{background:var(--orange)}.city-switcher span{display:grid;min-width:0;font-weight:900;font-size:13px;line-height:1.05}.city-switcher small{margin-bottom:4px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.09em}.city-switcher b{margin-left:auto;font-size:18px}.city-switcher[aria-expanded="true"]{background:var(--orange)}
.region-open{overflow:hidden}.region-modal[hidden]{display:none}.region-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.region-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(17,24,39,.78);backdrop-filter:blur(8px);cursor:default}.region-dialog{position:relative;width:min(980px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;background:#f7f7f3;border:2px solid #263331;box-shadow:12px 12px 0 var(--orange)}.region-dialog__head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:24px 28px;background:#f7f7f3;border-bottom:2px solid #263331}.region-dialog__head h2{margin:12px 0 0;font-size:clamp(30px,4vw,46px)}.region-close{width:48px;height:48px;border:2px solid #263331;background:var(--orange);color:#17201f;font-size:34px;line-height:1;cursor:pointer}.region-close:hover{background:var(--green);color:#fff}.region-options{display:grid;grid-template-columns:repeat(4,1fr);border-left:2px solid #263331}.region-option{display:flex;align-items:center;min-height:70px;padding:14px 17px;border-right:2px solid #263331;border-bottom:2px solid #263331;background:#fff;font-weight:900}.region-option:hover{background:var(--orange)}.region-option.current{background:#263331;color:#fff}.region-option.current:before{content:'●';margin-right:9px;color:var(--orange);font-size:10px}
@media(max-width:1120px){.city-switcher{min-width:150px}.region-options{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.city-switcher{margin-left:auto}.region-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.city-switcher{min-width:0;padding:6px 8px;border-left:1px solid #263331}.city-switcher span{max-width:82px;font-size:10px}.city-switcher small,.city-switcher b{display:none}.region-modal{padding:10px}.region-dialog{max-height:calc(100vh - 20px);box-shadow:6px 6px 0 var(--orange)}.region-dialog__head{padding:18px}.region-options{grid-template-columns:1fr}.region-option{min-height:60px}}
@media(min-width:901px) and (max-width:1300px){.nav{gap:14px}.nav.container{width:calc(100% - 24px);max-width:none}.nav .brand{flex:0 0 auto}.nav .city-switcher{min-width:132px;max-width:145px;padding-left:9px;padding-right:9px}.nav .links{gap:14px;font-size:13px}.nav .links a,.nav>.phone{white-space:nowrap}.nav>.phone{font-size:14px;line-height:1.25}.nav>.btn{flex:0 0 auto;padding:11px 15px;font-size:12px}}@media(min-width:901px) and (max-width:1100px){.nav>.btn{display:none}}