*{box-sizing:border-box}html{scroll-padding-top:20px}body{margin:0;background:#fbf7f0;color:#201813;font:16px/1.55 system-ui,Segoe UI,sans-serif}a{color:#9e3800;text-underline-offset:4px}button,select,input{font:inherit}button{border:0;background:#a53b00;color:white;border-radius:9px;padding:.6em 1em;cursor:pointer;font-weight:700}button:hover{background:#803000}:focus-visible{outline:3px solid #8d3b13;outline-offset:3px}header{border-bottom:1px solid #e7d9ca;background:#fffaf4}.bar,main,footer{max-width:1240px;margin:auto;padding:0 28px}.bar{display:flex;align-items:center;gap:24px;min-height:72px;flex-wrap:wrap}.brand{font-size:28px;font-weight:900;letter-spacing:-.05em;text-decoration:none;white-space:nowrap}.bar nav{display:flex;gap:20px;margin-right:auto}.bar nav a{color:inherit}.city{display:flex;align-items:center;gap:8px;flex-wrap:wrap}select,input[type=search],input[type=number]{background:white;color:#201813;border:1px solid #d7c5b3;border-radius:8px;padding:8px}.city select{max-width:205px}main{padding-block:34px 64px;min-height:75vh}h1,h2,p{margin-top:0}h1{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.02;letter-spacing:-.055em;margin-bottom:20px}h2{font-size:clamp(1.35rem,3vw,2rem);line-height:1.15;letter-spacing:-.035em}.hero{background:#f7e6d3;border:1px solid #ead4bc;border-radius:22px;padding:clamp(24px,6vw,72px);margin-bottom:36px}.eyebrow{font-size:13px;font-weight:800;letter-spacing:.13em;color:#803000}.lede{font-size:1.13rem;max-width:70ch;color:#51433a}.search{display:flex;max-width:660px;gap:8px;margin:26px 0 15px}.search input{flex:1;min-width:0;padding:12px}.chips,.badges{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.chip,.badges strong{background:#ffe6ca;color:#8c3100;border-radius:8px;padding:7px 12px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px;margin-bottom:28px}.card,.panel,.receipt,.article{background:#fffcf7;border:1px solid #e6d6c5;border-radius:14px}.card{padding:20px;text-decoration:none;color:inherit}.card strong{font-size:1.2rem}.card p,.muted{color:#68554a}.card span{color:#9e3800;font-weight:700}.card:hover{border-color:#ad500f}.crumb{color:#6e5e53;margin-bottom:16px}.place{color:#93511e}.badges{margin-bottom:14px}.estimate{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:18px;align-items:start;margin:28px 0}.panel,.article,.receipt-body{padding:22px}.receipt{overflow:hidden}.receipt h2{padding:16px 22px;background:#a53b00;color:white;margin:0}.total{font-size:clamp(1.3rem,3vw,2rem);line-height:1.2;font-weight:900}.details{margin:14px 0}.details p{border-bottom:1px solid #e8dccf;padding:7px 0;margin:0}.row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;gap:10px;align-items:center;background:#f9eee0;padding:12px;border-radius:9px;margin-top:8px}.row input[type=checkbox]{accent-color:#a53b00;width:18px;height:18px;vertical-align:middle}.row input[type=number]{width:75px}.amount{white-space:nowrap}.rate{font-size:.88rem;color:#68554a}.article{margin:14px 0;max-width:84ch}.article p:last-child{margin-bottom:0}.accept{border-top:5px solid #a53b00}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}footer{padding-block:20px;border-top:1px solid #e7d9ca}@media(max-width:760px){.bar,main,footer{padding-inline:15px}.bar{gap:10px;padding-block:12px}.bar nav{order:3;width:100%}.estimate{grid-template-columns:1fr}.row{grid-template-columns:1fr auto}.row .rate{grid-row:2}.row .amount{grid-column:2;grid-row:1/span 2}}@media print{header,footer,.panel,.article,#print,.crumb{display:none}.estimate{display:block}.receipt{border:1px solid #444}}

/* Тёплая палитра макетов сметы и статьи */
body{background:#faf7f1;color:#17120e;font-family:Arial,system-ui,sans-serif}
.bar,main,footer{max-width:1536px;padding-inline:clamp(18px,3.9vw,60px)}
.bar{min-height:69px}.brand{color:#aa3d00;font-size:clamp(25px,3vw,42px);letter-spacing:-.065em}
.bar nav a{text-decoration:none;font-weight:700}.city button{background:#f2e8da;color:#753006}
h1{letter-spacing:-.055em}.place{color:inherit}
.badges strong{font-size:clamp(19px,2vw,30px);font-weight:900;background:#ffe7cf;color:#a83a00}
.estimate{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:14px}
.panel,.receipt,.article{background:#fffaf3;box-shadow:0 1px 2px #4f2a1310;border-color:#e8dccc}
.panel-heading,.receipt-total{display:flex;align-items:center;justify-content:space-between;gap:12px}
.panel-heading h2,.parameters h2{margin-bottom:12px}.panel-heading>span{color:#574638}
.number,.step>b{display:inline-grid;place-items:center;background:#ac3d00;color:white;border-radius:50%;width:32px;height:32px;font-size:17px;vertical-align:middle}
.row{min-height:64px;background:#f8eee2}.row:has(input:checked){background:#fff0df}
.row input[type=checkbox]{appearance:none;width:36px;height:21px;margin:0 8px 0 0;border-radius:20px;background:#e0d3c4;position:relative;cursor:pointer}
.row input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:white}
.row input[type=checkbox]:checked{background:#ac3d00}.row input[type=checkbox]:checked::after{left:18px}
.parameters{border-top:1px solid #ecdece;padding-top:16px;margin-top:22px}.parameters p{margin-bottom:0}
.receipt{border-color:#d9bda2}.receipt h2{background:#a73a00;color:#fff}.receipt h2 small{display:block;font-size:.9rem;letter-spacing:0;font-weight:400;margin-top:4px}
.receipt-total{border-bottom:1px solid #e7d7c5;padding-bottom:16px;font-size:1.25rem}
.total{font-size:clamp(1.4rem,3vw,2.65rem);text-align:right;letter-spacing:-.045em}
.receipt h3{margin:16px 0 0}.receipt .muted{padding:10px;border-radius:8px;background:#fff0df}.receipt button{width:100%}
.jump{display:flex;justify-content:space-between;gap:12px;background:#fae7d4;padding:10px 16px;border-radius:9px;margin:32px 0 20px}
.guide{padding:18px 0;border-bottom:1px solid #eaddcd}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px}
.step{position:relative;border:1px solid #e8dccc;border-radius:12px;background:#fff9f1;padding:14px}.step strong{display:block;margin:8px 0;font-size:1.18rem}.step p{margin:0}.step:not(:last-child)::after{content:"→";position:absolute;right:-16px;top:42%;color:#a73a00;font-weight:900;z-index:1}
.guide-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:22px;align-items:start;margin-bottom:20px}.guide-grid aside{margin-top:18px}
.notes{list-style:none;padding:0;margin:0;border:1px solid #e8dccc;border-radius:12px;background:#fff9f1}.notes li{padding:12px 14px;display:flex;gap:12px;align-items:center}.notes li+li{border-top:1px solid #e8dccc}.notes li::before{content:"i";display:grid;place-items:center;flex:0 0 27px;height:27px;border:1px solid #b64b13;border-radius:50%;color:#983400;background:#ffe9d1;font-weight:800}
.accept{border-top:0;margin-block:22px}.checklist label{display:flex;align-items:baseline;gap:12px;padding:8px 0;border-top:1px solid #e8dccc}.checklist input{accent-color:#a73a00}
@media(max-width:760px){.estimate,.guide-grid{grid-template-columns:1fr}.step:not(:last-child)::after{display:none}.panel-heading{align-items:flex-start;flex-direction:column;gap:0}}
@media print{.jump,.guide,.guide-grid,.accept{display:none}.estimate>.receipt{display:block}}

.service{--ink:#291b12;--muted:#614d40;--edge:#e4cfb9;color:var(--ink)}
.service .icon{width:1.15em;height:1.15em;vertical-align:-.16em;flex:none}
.service .lede,.service .rate,.service .muted{color:var(--muted)}
.service .rate{font-size:1rem;font-weight:650;font-variant-numeric:tabular-nums}
.service .badges strong,.service .total{font-variant-numeric:tabular-nums}
.service .step p,.service .notes li,.service .checklist label{line-height:1.55}
.service .step{background:linear-gradient(150deg,#fffdf8,#fbefdf);border-color:var(--edge);box-shadow:0 2px 0 #ead8c5,0 6px 12px #59331a09}
.service .drawing{display:inline-grid;place-items:center;width:53px;height:47px;margin-left:8px;border:1px solid #eac19a;border-radius:40% 30% 37% 27%;color:#9f3900;background:repeating-linear-gradient(135deg,#ffedda 0 5px,#ffe5ca 5px 6px);transform:rotate(-6deg)}
.service .drawing .icon{width:27px;height:27px;transform:rotate(6deg)}
.service .notes li::before{border-radius:38% 28% 35% 30%;background:#ffebd6}
.service .receipt h2{background:linear-gradient(115deg,#a13700,#8c2e00);box-shadow:inset 0 1px #ffffff30}
.service .receipt button{background:linear-gradient(#bd4809,#943000);box-shadow:inset 0 1px #ffffff55,0 3px 0 #702600,0 6px 12px #7e2c0030;padding-block:12px}
.service .receipt button:active{transform:translateY(2px) scale(.98);box-shadow:inset 0 1px #ffffff35,0 1px 0 #702600}
.service .details p{padding-block:9px}
.service .checklist input{width:18px;height:18px;flex:none}
.service .checklist label:has(input:checked){background:#fff0df}
.service .row input[type=checkbox]::after{left:3px;transform:translateX(0)}
.service .row input[type=checkbox]:checked::after{left:3px;transform:translateX(15px)}
@media(prefers-reduced-motion:no-preference){
  .service .receipt button,.service .row input[type=checkbox]::after{transition:transform 150ms ease-out}
  .service :focus-visible,.service .row input[type=checkbox]:focus-visible::after{transition:none}
}
@media(prefers-reduced-motion:reduce){.service .receipt button:active{transform:none}}
@media(hover:hover) and (pointer:fine){.service .receipt button:hover{background:linear-gradient(#cc5314,#a33600)}}

/* Illustrated work guide */
.service .illustrated-guide {
  grid-template-columns: minmax(0, 1.62fr) minmax(0, 1fr);
  gap: clamp(18px, 1.8vw, 28px);
  align-items: start;
}
.illustrated-guide .guide { padding: 0; border: 0; margin-bottom: 25px; }
.illustrated-guide .guide h2 { font-size: clamp(24px, 2.6vw, 40px); margin-bottom: 15px; }
.illustrated-guide .guide-process h2 { font-size: clamp(29px, 3.4vw, 52px); }
.guide-process h2::after {
  content: "";
  display: block;
  width: min(32%, 310px);
  height: 13px;
  margin-top: 9px;
  border-top: 4px solid #a73a00;
  border-radius: 50%;
  transform: rotate(-1deg);
}
.illustrated-guide .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.service .illustrated-guide .step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(52px, .95fr);
  align-items: center;
  gap: 10px;
  min-height: 176px;
  padding: clamp(13px, 1.45vw, 23px);
  border-color: #d8ad81;
  background: linear-gradient(145deg, #fff8ec, #fbefdd);
  box-shadow: none;
}
.illustrated-guide .step::after { display: none; }
.illustrated-guide .step strong { grid-column: 2 / 4; margin: 0; font-size: clamp(19px, 2vw, 30px); }
.illustrated-guide .step p { grid-column: 1 / 3; margin: 0; font-size: clamp(16px, 1.43vw, 22px); line-height: 1.32; }
.service .illustrated-guide .drawing {
  grid-column: 3;
  grid-row: 2;
  width: 100%;
  height: auto;
  aspect-ratio: 1.1;
  margin: 0;
  border: 0;
}
.service .illustrated-guide .drawing .icon { width: 75%; height: 75%; }
.illustrated-guide .notes li::before { content: none; }
.illustrated-guide .notes li .icon { color: #a73a00; font-size: 22px; }
.service .materials-ticket {
  --ticket-bg: #fff2de;
  background: var(--ticket-bg);
  border: 0;
  margin: 8px 0 14px;
  overflow: visible;
  position: relative;
  border-radius: 26px 26px 0 0;
  box-shadow: 0 12px 22px #9c4c1529;
}
.materials-ticket::after {
  content: "";
  position: absolute;
  inset: auto 0 -10px;
  height: 11px;
  background: radial-gradient(circle at 50% 0, var(--ticket-bg) 10px, transparent 10.5px) 0 0 / 25px 11px repeat-x;
}
.service .materials-ticket h2 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 17px;
  padding: clamp(18px, 2.5vw, 38px);
  border-radius: inherit;
  font-size: clamp(22px, 2.35vw, 36px);
}
.materials-ticket h2 .icon { width: 1.9em; height: 1.9em; }
.materials-ticket h2 span { padding-left: 16px; border-left: 2px solid #ffdcb9; }
.materials-ticket h2::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: 10px;
  background: radial-gradient(circle at 50% 100%, var(--ticket-bg) 8px, transparent 8.5px) 0 0 / 24px 10px repeat-x;
}
.materials-ticket .receipt-body { padding: clamp(18px, 2.3vw, 34px); font-size: clamp(16px, 1.5vw, 23px); }
.materials-art { display: block; width: 90%; max-width: 380px; margin: 0 auto 22px; }
@media(max-width: 850px) {
  .service .illustrated-guide { grid-template-columns: 1fr; }
}
@media(max-width: 480px) {
  .illustrated-guide .steps { grid-template-columns: 1fr; }
  .service .illustrated-guide .step { min-height: 130px; }
}

.service .equipment-art {
  display: grid;
  place-items: center;
  width: min(58%, 180px);
  aspect-ratio: 1.55;
  margin: 0 auto 20px;
  color: #9f3900;
  background: repeating-linear-gradient(135deg, #ffedda 0 5px, #ffe5ca 5px 6px);
  border-radius: 44% 35% 40% 29%;
}
.service .equipment-art .icon { width: 48%; height: auto; }
@media (max-width: 480px) {
  .service .jump { align-items: start; }
  .service .jump a { flex: none; }
  .service .materials-ticket h2 { gap: 10px; padding: 17px 14px; }
  .service .materials-ticket h2 span { padding-left: 10px; }
  .service .materials-ticket h2 .icon { width: 1.4em; height: 1.4em; }
  .service .checklist label { min-height: 44px; align-items: center; }
  .service .checklist input { margin: 0; }
  .service .amount input { min-height: 44px; font-size: 16px; }
  .service .row > label:first-child { min-height: 44px; display: flex; align-items: center; }
  .service .row input[type=checkbox] { flex-shrink: 0; }
}

.inspection-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(20px, 3vw, 42px);
  margin: 38px 0 24px;
}
.service .inspection-board {
  position: relative;
  overflow: visible;
  margin: 18px 0 0;
  border: 10px double #9a491f;
  border-radius: 25px;
  background: #fff5e5;
  box-shadow: 0 5px 0 #7d3c23, 0 10px 17px #7d3c232e;
}
.inspection-board::before {
  content: "";
  position: absolute;
  inset: -29px 35% auto;
  height: 35px;
  border-radius: 24px 24px 7px 7px;
  border: 3px double #f9cb98;
  background: radial-gradient(circle at center 10px, #fff0d8 4px, transparent 5px), linear-gradient(#c78148, #9b4b24);
  box-shadow: 0 3px 4px #63371b55;
}
.service .inspection-board h2, .inspection-notes h2 {
  font: bold clamp(26px, 3vw, 45px)/1.08 Georgia, serif;
  color: #351b11;
}
.service .inspection-board h2 {
  background: none;
  box-shadow: none;
  padding: 30px 24px 0;
}
.inspection-layout h2::after {
  content: "";
  display: block;
  width: min(52%, 235px);
  height: 8px;
  margin-top: 12px;
  border-top: 4px solid #ac460e;
  border-radius: 52%;
  transform: rotate(-1.5deg);
}
.inspection-board h3 {
  display: inline-block;
  margin: 0 0 10px;
  padding: 5px 14px;
  background: #f6d6b5;
  border-radius: 8px 16px;
  font: bold 23px Georgia, serif;
}
.service .inspection-board .checklist label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 64px;
  align-items: center;
  cursor: pointer;
}
.inspection-sketch {
  display: grid;
  place-items: center;
  width: clamp(36px, 5vw, 70px);
  aspect-ratio: 1.4;
  color: #ad480d;
  background: repeating-linear-gradient(135deg, #fae0be 0 5px, #fff0da 5px 7px);
  border-radius: 32% 22% 30% 20%;
}
.service .inspection-sketch .icon { width: 60%; height: 70%; }
.inspection-notes .article { margin: 0 0 20px; max-width: none; background: #fff5e5; }
.inspection-notes h2 .icon { float: right; color: #a73a00; }
.provider-sheet {
  border: 1px solid #dcb389;
  border-radius: 13px;
  margin: 23px 0 15px;
  padding: 0 12px 8px;
}
.provider-sheet > a {
  display: inline-block;
  margin-top: -12px;
  padding: 4px 12px;
  background: #a33b07;
  color: #fff;
  border-radius: 8px;
  font-weight: bold;
}
.provider-sheet ul { padding-left: 20px; }
.provider-sheet li + li { margin-top: 6px; }
.provider-sheet li::marker { color: #a33b07; }
.fer-reference { padding: 14px; background: #f8e4ca; border-radius: 10px; }
@media (prefers-reduced-motion: no-preference) {
  .inspection-board label { transition: background-color 140ms ease-out; }
  .inspection-board label:focus-within { transition: none; }
}
@media (max-width: 850px) {
  .inspection-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .service .inspection-board { border-width: 6px; }
  .service .inspection-board h2 { padding-inline: 16px; }
  .inspection-board .receipt-body { padding: 16px; }
  .service .inspection-board .checklist label { gap: 8px; }
}
@media print { .inspection-layout { display: none; } }

.home-page { color: #231711; }
.home-page .home-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  min-height: 350px;
  padding: clamp(24px, 3.2vw, 52px);
  margin-bottom: 23px;
  overflow: hidden;
  background: #f9e5c9;
}
.home-intro { position: relative; z-index: 1; width: 61%; }
.home-intro h1 { font-size: clamp(34px, 4.5vw, 74px); }
.home-intro .lede { font-weight: 600; }
.home-tools { position: absolute; right: 0; width: 43%; height: auto; mix-blend-mode: multiply; }
.home-query { position: relative; flex: 1; min-width: 0; }
.home-query .icon { position: absolute; top: 50%; left: 13px; width: 23px; height: 23px; transform: translateY(-50%); pointer-events: none; }
.home-query input[type=search] { width: 100%; min-height: 48px; padding-left: 45px; }
.home-cta { display: inline-block; padding: 12px 22px; border-radius: 10px; background: #a53b00; color: white; font-weight: 800; text-decoration: none; }
.home-catalog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.home-category { border: 1px solid #e3c39e; border-radius: 20px; padding: clamp(16px, 1.7vw, 28px); background: #fff1db; }
.home-category img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; margin-bottom: 12px; }
.home-category h2 { font-size: clamp(23px, 2.6vw, 40px); margin-bottom: 12px; }
.home-service { display: block; font-size: clamp(16px, 1.45vw, 23px); font-weight: 750; padding-block: 8px; }
@media (max-width: 760px) {
  .home-intro { width: 100%; }
  .home-tools { position: static; width: min(100%, 340px); justify-self: center; }
  .home-catalog { grid-template-columns: 1fr; }
  .home-category img { width: min(100%, 340px); }
}

.home-category .home-cta { margin-top: 12px; }
.category-list { max-width: 85ch; padding-left: 32px; }
.category-list li { padding: 13px 8px; border-bottom: 1px solid #e3c39e; }
.category-list a { font-weight: 750; }
.category-list p { margin: 4px 0 0; }
.category-pagination { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }

@media (max-width: 760px) {
  .service .estimate { grid-template-columns: minmax(0, 1fr); }
  .service .estimate > * { min-width: 0; }
  .service .row { grid-template-columns: minmax(0, 1fr) auto; }
  .service .amount { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 4px; max-width: 140px; white-space: normal; }
}
