:root{--ink:#183c35;--muted:#65746e;--paper:#f7f3ed;--line:#e0d7cb;--green:#e7c9ae;--white:#fff;--accent:#285b49;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}header{max-width:1240px;margin:auto;padding:28px 36px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{display:flex;align-items:center;gap:10px;font-weight:650;font-size:16px}.brand-icon{display:grid;place-items:center;width:34px;height:34px;background:var(--ink);color:var(--green);border-radius:50%;font-size:29px}.preview{border:1px solid #d5c6b7;padding:7px 12px;border-radius:30px;font-size:12px;color:var(--muted)}main{max-width:1168px;margin:auto;padding:0 24px}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:54px 0 40px}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:650;margin:0 0 20px}h1{font-size:clamp(40px,4.8vw,64px);font-weight:500;letter-spacing:-2.5px;line-height:1.06;margin:0 0 22px}h1 em{font-style:normal;color:#97624e}.lead{max-width:580px;font-size:16px;line-height:1.7;color:var(--muted);margin:0}.intro-note{min-width:220px;padding:0 20px 3px;font-size:14px;line-height:1.7;color:var(--muted)}.small-icon{font-size:38px;line-height:1;color:#a65f48}.layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr);gap:26px;align-items:start}.card{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:18px;margin-bottom:18px}.section-head{display:flex;gap:12px;align-items:center;margin-bottom:24px}.number{font-size:12px;color:#946952;border:1px solid #e0d2c2;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}h2{font-size:21px;font-weight:600;letter-spacing:-.4px;margin:0}fieldset{padding:0;border:0;margin:0 0 24px;min-width:0}legend,.field{font-size:14px;font-weight:600}legend{margin-bottom:12px}.business-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.choice{position:relative;cursor:pointer}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{display:flex;flex-direction:column;gap:6px;padding:16px 6px;border:1px solid var(--line);border-radius:10px;text-align:center;transition:.15s}.choice strong{font-size:17px;font-weight:600}.choice small{font-size:11px;color:var(--muted);white-space:nowrap}.choice input:checked+span{background:#f7eee6;border-color:#a65f48;box-shadow:inset 0 0 0 1px #a65f48}.choice input:focus-visible+span{outline:3px solid #b5755b;outline-offset:3px}.field{display:block;margin-top:20px}select{display:block;width:100%;padding:14px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:14px;margin-top:10px;min-height:48px}.hint{font-size:12px;line-height:1.6;color:var(--muted);margin:10px 0 0}.section-description{font-size:13px;color:var(--muted);margin:-10px 0 15px;line-height:1.6}.counter-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid #eee6dc}.counter-row:last-child{border-bottom:0}.counter-row label{font-size:14px;font-weight:550}.counter-row p{font-size:12px;color:var(--muted);line-height:1.5;margin:5px 0 0;max-width:370px}.counter-row input{width:88px;min-width:88px;padding:11px 8px;border:1px solid var(--line);border-radius:8px;text-align:center;color:var(--ink);background:#fffaf5;min-height:44px}input:focus,select:focus,button:focus-visible,summary:focus-visible{outline:2px solid #a65f48;outline-offset:3px}input:invalid{border-color:#b24731}.error{font-size:13px;color:#a43d27;line-height:1.6}aside{position:sticky;top:22px}.result{background:var(--ink);color:#fff;border-radius:18px;padding:30px}.result .eyebrow{color:#e7c9ae;font-size:10px;margin-bottom:12px}.summary{font-size:13px;line-height:1.7;min-height:44px;color:#d0dbd3;margin:0 0 17px}.price{font-size:clamp(35px,3.5vw,48px);line-height:1.1;font-weight:550;letter-spacing:-1.6px;margin:0;color:var(--green);overflow-wrap:anywhere}.period{font-size:13px;color:#c5d3ca;margin:10px 0 0}.result-divider{height:1px;background:#3b584e;margin:25px 0}h3{font-size:14px;font-weight:500;margin:0 0 17px}.breakdown-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.6;margin:11px 0;color:#d7e0d9}.breakdown-row span{max-width:72%}.breakdown-row strong{font-weight:500;color:white;white-space:nowrap}.total-hours{border-top:1px solid #3b584e;margin-top:20px;padding-top:19px;display:flex;justify-content:space-between;font-size:13px}.total-hours strong{font-weight:500}.rate{font-size:12px;color:#bccdc1;margin:10px 0 24px}.rate strong{font-weight:500}.primary,.secondary{width:100%;border-radius:9px;min-height:48px;font-weight:600;font-size:13px}.primary{display:flex;justify-content:space-between;align-items:center;padding:14px 17px;border:0;background:var(--green);color:var(--ink)}.primary:hover{background:#f0d9c4}.primary:disabled{opacity:.5;cursor:not-allowed}.secondary{background:none;border:1px solid #587166;color:#d8e4d8;margin-top:10px}.result-note{font-size:11px;color:#c0d0c4;line-height:1.6;margin:19px 0 0}.result-note:empty{display:none}.aside-note{font-size:11px;line-height:1.6;color:var(--muted);text-align:center;margin:14px 15px}.method{margin:20px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;gap:16px;padding:25px 0;font-size:14px;font-weight:550}summary::-webkit-details-marker{display:none}.method-body{padding:0 0 25px;font-size:13px;color:var(--muted);line-height:1.8}.method-body li{margin:10px 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;margin:20px 0;text-align:left}th,td{padding:12px;border:1px solid var(--line)}th{background:#efe6dc;color:var(--ink)}footer{display:flex;justify-content:space-between;gap:20px;padding:27px 0 35px;font-size:11px;color:var(--muted)}
@media(max-width:850px){.layout{grid-template-columns:minmax(0,1fr) 310px;gap:16px}.card{padding:22px}.business-grid{grid-template-columns:repeat(2,1fr)}.intro-note{display:none}.result{padding:24px}}
@media(max-width:680px){header{padding:18px 20px}.brand{font-size:13px}.brand-icon{width:30px;height:30px}.preview{font-size:10px;max-width:100px;text-align:center;padding:5px 8px}main{padding:0 18px}.intro{padding:35px 0 28px}.eyebrow{font-size:9px;letter-spacing:1.2px}h1{font-size:43px;letter-spacing:-1.7px}.lead{font-size:14px}.layout{display:flex;flex-direction:column;gap:0}form,aside{width:100%}aside{position:static}.card{padding:22px 18px;border-radius:14px}.section-head{margin-bottom:22px}h2{font-size:19px}.counter-row{gap:10px}.counter-row input{width:74px;min-width:74px}.counter-row label{font-size:13px}.result{padding:26px}.price{font-size:46px}.summary{min-height:0}.method{margin-top:25px}footer{flex-direction:column;gap:8px}.method-body ul{padding-left:20px}}
/* Пошаговый расчёт */
.intro{padding:30px 0 24px}.intro h1{font-size:42px;margin-bottom:14px}.intro h1 br{display:none}.intro h1 em:before{content:' '}.intro .lead{font-size:14px;max-width:670px}.intro .eyebrow{margin-bottom:12px}.intro-note{font-size:12px;min-width:180px;max-width:210px}.intro-note .small-icon{font-size:28px}.layout{display:block;max-width:760px;margin:auto}.layout aside{position:static;width:100%}.card{margin-bottom:0}.steps{max-width:760px;margin:0 auto;scroll-margin-top:20px}.steps ol{padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);list-style:none;gap:12px}.steps li{font-size:12px;color:var(--muted);padding:15px 0;border-bottom:3px solid var(--line);display:flex;align-items:center;gap:8px}.steps li span{width:25px;height:25px;border-radius:50%;background:#ebe2d8;display:grid;place-items:center;flex-shrink:0}.steps li[aria-current]{border-color:var(--accent);color:var(--ink);font-weight:600}.steps li[aria-current] span{background:var(--ink);color:white}.steps li.complete{border-color:#c99778}.steps li.complete span{background:var(--green)}.step-status{max-width:760px;margin:17px auto 12px;color:var(--muted);font-size:12px}.step-actions{display:flex;justify-content:space-between;gap:14px;margin:18px 0 24px}.next,.back{min-height:48px;padding:12px 25px;border-radius:9px;font-size:14px;font-weight:600}.next{margin-left:auto;border:0;background:var(--ink);color:white;min-width:180px}.next:hover{background:var(--accent)}.back{border:1px solid var(--line);background:white;color:var(--ink)}.method{max-width:760px;margin:24px auto 0}.result .summary{min-height:0}.result .price{font-size:52px}.result{padding:32px}.result .breakdown-row{font-size:14px}.section-head h2:focus,.price:focus{outline:none}#step-error{padding:0 8px}.intro-note p{margin:5px 0 0}
@media(max-width:680px){.intro{padding:25px 0 18px}.intro h1{font-size:34px;line-height:1.15}.intro h1 br{display:block}.intro h1 em:before{content:none}.steps ol{gap:7px}.steps li{font-size:10px;gap:5px;flex-direction:column;align-items:flex-start;padding:12px 0;white-space:nowrap}.steps li span{width:23px;height:23px}.step-status{margin:14px 0 10px}.step-actions{margin-bottom:18px}.next,.back{padding:12px 17px}.next{min-width:145px}.result{padding:25px}.result .price{font-size:44px}}
/* Текущая стоимость на каждом шаге */
.layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:26px;max-width:none;align-items:start}.layout #live-estimate{position:sticky;top:24px}.steps,.step-status{max-width:none}.layout.showing-result{display:block;max-width:760px}.live-result{padding:30px}.live-result .summary{min-height:44px;margin-bottom:28px}.live-label{font-size:13px;color:#d0dbd3;margin:0 0 12px}.live-result .price{font-size:clamp(36px,4vw,54px);line-height:1.1}.live-result .period{color:#c5d3ca;margin-top:10px}.live-note{font-size:12px;line-height:1.7;color:#c0d0c4;margin:22px 0 26px;max-width:260px}.live-footer{border-top:1px solid #3b584e;padding-top:20px;display:flex;align-items:center;gap:9px;font-size:11px;color:#e7c9ae}.live-dot{width:6px;height:6px;background:var(--green);border-radius:50%;flex-shrink:0}.method{max-width:none}
@media(max-width:850px) and (min-width:681px){.layout{grid-template-columns:minmax(0,1fr) 280px;gap:16px}.live-result{padding:23px}.live-result .price{font-size:39px}}
@media(max-width:680px){.layout{display:block}.with-live-estimate{padding-bottom:126px}.layout #live-estimate{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:10;width:100%;padding:0}.live-result{border-radius:16px 16px 0 0;padding:16px 20px max(16px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #183c351a;display:grid;grid-template-columns:1fr auto;column-gap:16px;align-items:center}.live-result .eyebrow,.live-result .summary,.live-footer{display:none}.live-result [role=status]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;grid-column:1/-1}.live-label{font-size:11px;margin:0;grid-row:1/3;max-width:115px}.live-result .price{font-size:30px;letter-spacing:-1px;text-align:right;grid-column:2}.live-result .period{font-size:10px;text-align:right;margin:0;grid-column:2}.live-note{font-size:10px;line-height:1.4;max-width:none;grid-column:1/-1;margin:9px 0 0}.layout.showing-result{max-width:none}}
/* Удобный ввод количества */
.quantity-controls{flex-shrink:0;width:162px}.quantity-counter{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fffaf5;overflow:hidden}.quantity-counter button{width:48px;min-width:48px;min-height:48px;border:0;background:transparent;font-size:24px;color:var(--ink);touch-action:manipulation}.quantity-counter button:hover:not(:disabled){background:#f0dfcf}.quantity-counter button:disabled{color:#a9b5aa;cursor:default}.counter-row .quantity-counter input{border:0;border-radius:0;background:transparent;min-width:0;width:64px;padding:10px 0;font-size:16px;appearance:textfield;-moz-appearance:textfield}.quantity-counter input::-webkit-inner-spin-button,.quantity-counter input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-counter:focus-within{outline:2px solid #a65f48;outline-offset:2px}.quantity-counter input:focus{outline:0}.quantity-counter button:focus-visible{outline-offset:-4px}.quantity-presets{display:flex;gap:4px;margin-top:8px}.quantity-presets button{flex:1;min-height:44px;padding:0;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font-size:12px;touch-action:manipulation}.quantity-presets button:hover{background:#f5e8dc}.service-toggle{display:flex;align-items:center;gap:11px;cursor:pointer;min-height:44px}.counter-row .service-toggle input{width:22px;min-width:22px;height:22px;min-height:22px;margin:0;padding:0;accent-color:var(--accent);cursor:pointer}.counter-row .service-description{margin-left:33px;margin-top:0}#extras .counter-row{flex-wrap:wrap}#extras .counter-row>div:first-child{flex:1;min-width:210px}#extras .quantity-controls{margin-left:auto}.counter-row:has(.service-toggle input:checked){background:#f7eee6;border-radius:10px;padding-left:12px;padding-right:12px}.quantity-controls[hidden]{display:none!important}
@media(max-width:680px){.counter-row{flex-wrap:wrap;align-items:flex-start}.counter-row>div:first-child{width:100%}.quantity-controls{width:196px;margin-left:0!important}.quantity-counter{width:196px}.quantity-counter button{width:55px;min-width:55px;min-height:48px}.counter-row .quantity-counter input{width:84px}.quantity-presets button{min-width:44px}.service-toggle{font-size:14px!important}.counter-row:has(.service-toggle input:checked){padding:14px 10px}.counter-row .quantity-controls{margin-top:4px}.counter-row label{font-size:14px}}
/* Компактный блок для встраивания в сайт */
main{max-width:1056px}.layout{grid-template-columns:minmax(0,1fr) 310px;gap:20px}.card{padding:22px}.section-head{margin-bottom:18px}.section-description{margin-bottom:8px}.counter-row{padding:10px 0}.service-toggle{min-height:34px;gap:9px}.counter-row .service-description{margin-left:31px;font-size:11px;line-height:1.4}.counter-row:has(.service-toggle input:checked){padding:8px 10px}.quantity-controls{width:144px}.quantity-counter button{width:44px;min-width:44px;min-height:44px}.counter-row .quantity-counter input{width:54px;min-height:44px}.live-result{padding:24px}.live-result .summary{min-height:0;margin-bottom:20px}.live-result .price{font-size:44px}.live-note{margin:16px 0 18px}.live-footer{padding-top:15px}.live-result .eyebrow{letter-spacing:1px;font-size:10px}.step-actions{margin-top:14px}.counter-row p{margin-top:3px}
@media(max-width:850px) and (min-width:681px){.layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px}.live-result{padding:20px}}
@media(max-width:680px){main{padding:0 16px}.layout{display:block}.card{padding:20px 16px}.counter-row{padding:9px 0}.service-toggle{min-height:44px}.counter-row .service-description{font-size:11px}.counter-row:has(.service-toggle input:checked){padding:8px 10px}.quantity-controls,.quantity-counter{width:166px}.quantity-counter button{width:48px;min-width:48px;min-height:44px}.counter-row .quantity-counter input{width:68px}.counter-row .quantity-controls{margin-top:0}.live-result{padding:14px 18px max(14px,env(safe-area-inset-bottom))}.live-result .price{font-size:30px}.live-note{margin:8px 0 0}.quantity-presets{gap:4px}.quantity-presets button{min-width:0}.quantity-controls:has(.quantity-presets){width:188px}.quantity-controls:has(.quantity-presets) .quantity-counter{width:188px}.quantity-controls:has(.quantity-presets) input{width:90px}}

/* Выбор услуги не меняет положение галочки и текста. */
#extras .counter-row{padding:10px;border-radius:10px}#extras .counter-row:has(.service-toggle input:checked){padding:10px}#extras .service-toggle input{flex-shrink:0}
@media(max-width:680px){#extras .counter-row,#extras .counter-row:has(.service-toggle input:checked){padding:9px 10px}}

/* Палитра сайта агентства. */
.primary,.next{background:#a65f48;color:#fff}.primary:hover,.next:hover{background:#92513d}.counter-row .service-toggle input{accent-color:#a65f48}.steps li[aria-current]{border-color:#a65f48}.steps li[aria-current] span{background:#a65f48;color:#fff}.steps li.complete{border-color:#c99778}.steps li.complete span{background:#ecd4bf;color:#183c35}.quantity-presets button:hover{background:#f0dfcf}.live-dot{background:#e7c9ae}
