/*
 * Клиентский путь «живое досье».
 * Три реальных действия: исходная ситуация → срок и материалы → ответ.
 * Предварительная рекомендация появляется рядом с выбором, а не отдельным экраном.
 */
.configurator-task{
  --journey-paper:#eee3d3;
  --journey-paper-deep:#e2d2bd;
  --journey-sheet:#fff9f0;
  --journey-ink:#211d19;
  --journey-soft:#685d52;
  --journey-muted:#6f6358;
  --journey-line:rgba(33,29,25,.16);
  --journey-wax:#a63f29;
  --journey-wax-deep:#7b2b1c;
  --journey-wax-mist:rgba(166,63,41,.1);
}

.configurator-task .tx-wizard-sidebar{
  width:100%;
  padding:28px 25px;
  border-right:1px solid var(--hairline-strong);
  border-left:4px solid var(--wax);
  background:
    radial-gradient(circle at 18% 0,color-mix(in srgb,var(--wax) 12%,transparent),transparent 30%),
    linear-gradient(164deg,color-mix(in srgb,var(--sheet) 84%,var(--paper)),var(--paper-2));
}

.configurator-task .tx-wizard-sidebar::after{
  right:24px;
  width:1px;
  background:linear-gradient(transparent,var(--wax),transparent 76%);
  opacity:.34;
}

.configurator-task .tx-wizard-sidebar .wprog{
  margin-top:42px;
}

.configurator-task .tx-wizard-steps{
  margin-top:28px;
}

.configurator-task .tx-wizard-steps .tx-step button{
  min-height:52px;
}

.configurator-task .conf-wrap{
  margin-left:0;
}

.configurator-task .concept-wizard-host{
  min-height:100svh;
  padding:clamp(26px,3.4vw,48px) clamp(28px,5vw,76px) 28px;
}

/* На больших экранах шаг занимал верхнюю половину, а под ним до нижней панели
   оставалась пустая полоса около 240px. Тело шага забирает свободную высоту и
   встаёт по центру: на низких экранах свободной высоты нет и правило молчит.
   Нижний отступ держит содержимое над закреплённой панелью действий. */
@media(min-width:921px){
  .configurator-task .concept-wizard-host{
    display:flex;
    flex-direction:column;
    padding-bottom:106px;
  }

  .configurator-task .concept-wizard-host>:is(
    .decision-workbench,
    .materials-step,
    .contact-step
  ){
    margin-block:auto;
  }
}

.configurator-task .concept-wizard-host>:is(
  .wizard-main__head,
  .decision-workbench,
  .materials-step,
  .contact-step,
  .wizard-main__footer
){
  max-width:1180px;
}

.configurator-task .wizard-main__head{
  align-items:center;
  padding-bottom:15px;
  border-bottom:1px solid var(--hairline);
}

.configurator-task .wizard-main__head>div:first-child{
  max-width:760px;
}

.configurator-task .wizard-main__head h1{
  max-width:19ch;
  margin-top:8px;
  font-size:clamp(38px,4.1vw,57px);
  line-height:.98;
}

.configurator-task .wizard-main__head h1+p{
  max-width:66ch;
  margin-top:11px;
  font-size:16px;
  line-height:1.48;
}

.configurator-task .wizard-autosave{
  width:max-content;
  max-width:100%;
  margin-top:10px!important;
  padding:6px 9px;
  border:1px solid var(--hairline);
  background:color-mix(in srgb,var(--sheet) 46%,transparent);
}

.configurator-task .wizard-autosave small{
  display:block;
}

/* Это пассивное уведомление, а рамка с заливкой и плашечный значок — язык
   блока «Вы выбрали», то есть главного акцента шага. Проходная сноска в чужой
   одежде и выглядела неопрятно; вдобавок главная строка была набрана 10.5px,
   а подчинённая под ней — 12px, иерархия читалась наоборот.
   Возвращаем сноске её роль: одна тихая строка под лидом, без короба. */
.configurator-task .wizard-autosave{
  display:inline-grid;
  min-height:0;
  max-width:100%;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:1px 9px;
  margin:16px 0 0!important;
  padding:0;
  border:0;
  color:var(--ink-soft);
  background:none;
  font:500 13px/1.5 var(--sans)!important;
}

.configurator-task .wizard-autosave small{
  display:block;
  grid-column:2;
  color:var(--ink-faint);
  font:500 12px/1.5 var(--sans);
}

.configurator-task .wizard-autosave__icon{
  width:auto;
  height:auto;
  align-self:center;
  color:var(--wax-text,var(--wax));
  background:none;
}

.configurator-task .wizard-autosave__icon svg{
  width:13px;
  height:13px;
}

.configurator-task .decision-workbench{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);
  gap:clamp(28px,4vw,60px);
  align-items:start;
  width:100%;
  margin:22px auto 0;
}

.configurator-task .decision-workbench .decision-groups{
  gap:18px;
  max-width:none;
}

.configurator-task .decision-workbench .decision-grid{
  max-width:none;
  margin-top:0;
}

.configurator-task .decision-groups--situation .decision-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

.configurator-task .decision-groups--situation .decision-card{
  min-height:112px;
  grid-template-columns:36px minmax(0,1fr) 18px;
  grid-template-rows:1fr;
  gap:11px;
  align-items:start;
  padding:15px;
  border:1px solid var(--hairline);
  border-top:2px solid color-mix(in srgb,var(--wax) 50%,var(--hairline));
  border-radius:2px;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--wax) 5%,transparent),transparent 62%),
    color-mix(in srgb,var(--sheet) 82%,var(--paper));
  box-shadow:3px 3px 0 color-mix(in srgb,var(--paper-2) 72%,transparent);
}

.configurator-task .decision-groups--situation .decision-card:hover{
  border-color:color-mix(in srgb,var(--wax) 58%,var(--hairline));
  box-shadow:5px 5px 0 color-mix(in srgb,var(--wax) 16%,var(--paper-2));
  transform:translateY(-1px);
}

.configurator-task .decision-groups--situation .decision-card.is-selected{
  border-color:var(--wax);
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--wax) 14%,transparent),transparent 66%),
    var(--sheet);
  box-shadow:inset 3px 0 0 var(--wax),5px 5px 0 color-mix(in srgb,var(--wax) 22%,var(--paper-2));
}

.configurator-task .decision-card__icon{
  width:34px;
  height:34px;
}

.configurator-task .decision-card__icon svg{
  width:22px;
  height:22px;
}

.configurator-task .decision-card__copy{
  gap:4px!important;
}

.configurator-task .decision-card__kicker{
  font-size:10px;
}

.configurator-task .decision-card strong{
  font-size:16px;
  line-height:1.12;
}

.configurator-task .decision-card small{
  font-size:13px;
  line-height:1.36;
}

.configurator-task .decision-card>.decision-card__radio{
  width:18px;
  height:18px;
}

.configurator-task .concept-home-prefill{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:72px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--wax) 55%,var(--hairline));
  border-left:3px solid var(--wax);
  background:color-mix(in srgb,var(--wax-soft) 52%,var(--sheet));
}

.configurator-task .concept-home-prefill>span{
  display:grid;
  gap:5px;
}

.configurator-task .concept-home-prefill small{
  color:var(--ink-faint);
  font:650 10px/1 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}

.configurator-task .concept-home-prefill strong{
  color:var(--ink);
  font:500 22px/1.15 var(--serif);
}

.configurator-task .concept-home-prefill button{
  flex:0 0 auto;
  padding:8px 0;
  color:var(--wax-text,var(--wax));
  border:0;
  border-bottom:1px solid currentColor;
  background:transparent;
  font:650 13px/1 var(--sans);
  cursor:pointer;
}

.configurator-task .concept-draft-choice{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:100%;
  max-width:640px;
  margin-top:26px;
}

.configurator-task .concept-draft-choice button{
  display:grid;
  gap:9px;
  min-height:190px;
  padding:24px;
  text-align:left;
  border:1px solid var(--hairline);
  border-top:3px solid var(--wax);
  border-radius:2px;
  color:var(--ink);
  background:var(--sheet);
  cursor:pointer;
}

.configurator-task .concept-draft-choice button:hover,
.configurator-task .concept-draft-choice button:focus-visible{
  border-color:var(--wax);
  transform:translateY(-2px);
}

.configurator-task .concept-draft-choice small{
  color:var(--wax-text,var(--wax));
  font:650 8px/1 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}

.configurator-task .concept-draft-choice strong{
  align-self:end;
  font:500 clamp(23px,3vw,34px)/1.05 var(--serif);
}

.configurator-task .concept-draft-choice span{
  color:var(--ink-soft);
  font:400 12px/1.5 var(--sans);
}

.configurator-task .concept-draft-choice__primary{
  background:linear-gradient(135deg,color-mix(in srgb,var(--wax-soft) 62%,var(--sheet)),var(--sheet))!important;
}

.configurator-task .concept-work-choice{
  margin-top:0;
  padding:17px;
  border:1px solid var(--hairline);
  border-left:3px solid var(--wax);
  background:color-mix(in srgb,var(--sheet) 58%,var(--paper));
}

.configurator-task .concept-work-choice__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.configurator-task .concept-work-choice__head>span{
  color:var(--wax-text,var(--wax));
  font:650 10px/1 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}

.configurator-task .concept-work-choice__head h2{
  font-size:22px;
}

.configurator-task .concept-work-choice__rows{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--hairline);
  border-left:1px solid var(--hairline);
}

.configurator-task .concept-work-choice__rows button{
  min-height:52px;
  padding:12px 12px;
  border-right:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  background:color-mix(in srgb,var(--sheet) 66%,transparent);
  font-size:13px;
}

@media(min-width:921px){
  /* Две колонки вместо трёх: при 15px подписи «ВКР или диплом» и «Отчёт по
     практике» переставали ломаться пополам, а сам выбор набирает вес — это
     единственное действие шага. */
  .configurator-task .concept-work-choice__rows{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .configurator-task .concept-work-choice__rows button{
    min-height:64px;
    font-size:15px;
  }
}

.configurator-task .concept-work-choice__rows button.is-selected{
  color:var(--ink);
  background:color-mix(in srgb,var(--wax-soft) 78%,var(--sheet));
  box-shadow:inset 0 -3px 0 var(--wax);
}

.configurator-task .concept-freeform{
  margin-top:14px;
  font-size:13px;
}

.configurator-task .live-quote{
  scroll-margin-top:86px;
  position:sticky;
  top:24px;
  display:grid;
  min-height:486px;
  align-content:start;
  padding:clamp(22px,2.6vw,34px);
  overflow:hidden;
  color:var(--journey-ink);
  background:
    repeating-linear-gradient(0deg,transparent 0 27px,rgba(33,29,25,.034) 27px 28px),
    linear-gradient(145deg,var(--journey-sheet),var(--journey-paper-deep));
  border:1px solid var(--journey-line);
  border-top:4px solid var(--journey-wax);
  box-shadow:8px 8px 0 color-mix(in srgb,var(--journey-wax) 76%,transparent),0 22px 50px rgba(50,34,21,.12);
}

.configurator-task .live-quote::before{
  display:none;
}

.configurator-task .live-quote__folio{
  position:absolute;
  top:-.25em;
  right:-.03em;
  color:color-mix(in srgb,var(--journey-wax) 8%,transparent);
  font:400 178px/1 var(--serif);
  letter-spacing:-.08em;
  pointer-events:none;
}

.configurator-task .live-quote>.eyebrow,
.configurator-task .live-quote>h2,
.configurator-task .live-quote>p,
.configurator-task .live-quote>dl,
.configurator-task .live-quote>details,
.configurator-task .live-quote>small{
  position:relative;
  z-index:1;
}

.configurator-task .live-quote>.eyebrow{
  color:var(--journey-wax);
}

.configurator-task .live-quote>h2{
  max-width:12ch;
  margin:11px 0 0;
  color:var(--journey-ink);
  font:440 clamp(30px,3vw,43px)/1.02 var(--serif);
  letter-spacing:-.045em;
  text-wrap:balance;
}

.configurator-task .live-quote>p{
  max-width:49ch;
  margin:13px 0 0;
  color:var(--journey-soft);
  font-size:16px;
  line-height:1.5;
}

.configurator-task .live-quote>dl{
  display:grid;
  margin:21px 0 0;
  border-top:1px solid var(--journey-line);
}

.configurator-task .live-quote>dl>div{
  display:grid;
  grid-template-columns:128px 1fr;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid var(--journey-line);
}

.configurator-task .live-quote dt{
  color:var(--journey-muted);
  font:600 10px/1.35 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.configurator-task .live-quote dd{
  margin:0;
  color:var(--journey-ink);
  font-size:16px;
  font-weight:560;
  line-height:1.38;
}

.configurator-task .live-quote .live-quote__price{
  color:var(--journey-wax-deep);
  font-family:var(--serif);
  font-size:23px;
}

.configurator-task .live-quote__more{
  border-bottom:1px solid var(--journey-line);
}

.configurator-task .live-quote__more summary{
  display:flex;
  min-height:45px;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:var(--journey-ink);
  cursor:pointer;
  font-size:13px;
  font-weight:650;
  list-style:none;
}

.configurator-task .live-quote__more summary::-webkit-details-marker{
  display:none;
}

.configurator-task .live-quote__more summary span{
  color:var(--journey-wax);
  font-size:19px;
  transition:transform .18s ease;
}

.configurator-task .live-quote__more[open] summary span{
  transform:rotate(45deg);
}

.configurator-task .live-quote__more>div{
  padding:2px 0 14px;
}

.configurator-task .live-quote__more p{
  margin:0;
  color:var(--journey-soft);
  font-size:16px;
  line-height:1.5;
}

.configurator-task .live-quote__more p+p{
  margin-top:8px;
}

.configurator-task .live-quote__more strong{
  color:var(--journey-ink);
}

.configurator-task .live-quote>small{
  margin-top:14px;
  color:var(--journey-muted);
  font:600 10px/1.45 var(--mono);
  letter-spacing:.045em;
  text-transform:uppercase;
}

.configurator-task .live-quote--waiting>h2{
  max-width:10ch;
}

.configurator-task .wizard-main__footer{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid var(--hairline);
}

.configurator-task .wizard-main__footer>div:last-child{
  margin-left:auto;
}

.configurator-task .wizard-save small{
  max-width:460px;
}

.configurator-task .materials-step,
.configurator-task .contact-step{
  grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);
  gap:clamp(24px,4vw,50px);
  margin-top:22px;
}

.configurator-task .materials-card,
.configurator-task .contact-step__form{
  padding:clamp(20px,2.6vw,29px);
  border:1px solid var(--hairline-strong);
  border-top:4px solid var(--wax);
  border-radius:2px;
  background:
    radial-gradient(circle at 94% 1%,var(--wax-soft),transparent 26%),
    var(--sheet);
  box-shadow:6px 6px 0 color-mix(in srgb,var(--wax) 16%,var(--paper-2));
}

.configurator-task .wizard-summary{
  position:sticky;
  top:24px;
  border-radius:2px;
  box-shadow:5px 5px 0 color-mix(in srgb,var(--wax) 15%,var(--paper-2));
}

.configurator-task .deadline-field{
  gap:12px;
}

.configurator-task .materials-step .field input,
.configurator-task .materials-step .field textarea,
.configurator-task .contact-step .field input,
.configurator-task .contact-step .field textarea{
  border-radius:2px;
}

.configurator-task .file-drop,
.configurator-task .concept-contact-methods button{
  border-radius:2px;
}

.configurator-task .concept-contact-methods{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.configurator-task .concept-contact-methods button{
  min-height:48px;
}

.configurator-task .concept-contact-methods button.is-selected{
  background:var(--wax-cta,var(--wax));
  box-shadow:inset 0 -3px 0 color-mix(in srgb,#000 26%,transparent);
}

.configurator-task .concept-telegram-row--login{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);
  align-items:center;
  gap:16px;
  min-height:82px;
  margin:0;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--wax) 38%,var(--hairline));
  border-left:4px solid var(--wax);
  background:
    radial-gradient(circle at 96% 0%,color-mix(in srgb,var(--wax) 14%,transparent),transparent 38%),
    color-mix(in srgb,var(--sheet) 82%,var(--paper));
}

.configurator-task .concept-telegram-row--login>.button{
  width:100%;
  min-height:50px;
  justify-content:space-between;
}

.configurator-task .concept-telegram-row--login>span{
  display:grid;
  gap:3px;
  margin:0;
  color:var(--ink);
}

.configurator-task .concept-telegram-row--login>span>b{
  font:560 15px/1.25 var(--serif);
}

.configurator-task .concept-telegram-row--login>span>small{
  color:var(--ink-soft);
  font-size:10px;
  line-height:1.45;
}

.configurator-task .concept-telegram-row--login .concept-auth-ok{
  grid-template-columns:12px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:10px;
  grid-column:1/-1;
}

.configurator-task .concept-telegram-row--login .concept-auth-ok i{
  grid-row:1/3;
}

.configurator-task .concept-telegram-row--login .concept-auth-ok small{
  grid-column:2;
}

.configurator-task .concept-contact-or{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--ink-faint);
  font:650 7px/1 var(--mono);
  letter-spacing:.09em;
  text-transform:uppercase;
}

.configurator-task .concept-contact-or::before,
.configurator-task .concept-contact-or::after{
  height:1px;
  flex:1;
  background:var(--hairline);
  content:"";
}

:root[data-theme="dark"] .configurator-task{
  --journey-paper:#080504;
  --journey-paper-deep:#1b0d09;
  --journey-sheet:#21120e;
  --journey-ink:#fff6eb;
  --journey-soft:#d4c4b3;
  --journey-muted:#a59182;
  --journey-line:rgba(255,246,235,.15);
  --journey-wax:#ff6847;
  --journey-wax-deep:#ff8b70;
  --journey-wax-mist:rgba(255,104,71,.12);
}

:root[data-theme="dark"] .configurator-task .tx-wizard-sidebar{
  border-left-color:#ff6847;
  background:
    radial-gradient(circle at 18% 0,rgba(255,104,71,.18),transparent 32%),
    linear-gradient(160deg,#260c07,#120604 58%,#050303);
}

:root[data-theme="dark"] .configurator-task .decision-groups--situation .decision-card{
  border-color:rgba(255,246,235,.17);
  border-top-color:rgba(255,104,71,.62);
  background:
    linear-gradient(145deg,rgba(255,104,71,.1),transparent 60%),
    linear-gradient(155deg,#1e1512,#0d0907);
  box-shadow:4px 4px 0 rgba(91,24,14,.48);
}

:root[data-theme="dark"] .configurator-task .decision-groups--situation .decision-card:hover,
:root[data-theme="dark"] .configurator-task .decision-groups--situation .decision-card.is-selected{
  border-color:#ff6847;
  background:
    radial-gradient(circle at 92% 5%,rgba(255,128,94,.15),transparent 28%),
    linear-gradient(150deg,#35130d,#180a07 70%,#080403);
  box-shadow:inset 3px 0 0 #ff6847,6px 6px 0 rgba(112,26,14,.58);
}

:root[data-theme="dark"] .configurator-task .concept-work-choice{
  border-color:rgba(255,246,235,.17);
  border-left-color:#ff6847;
  background:linear-gradient(100deg,rgba(255,104,71,.08),transparent 42%),#0b0807;
}

:root[data-theme="dark"] .configurator-task .concept-home-prefill{
  border-color:rgba(255,104,71,.58);
  border-left-color:#ff6847;
  background:linear-gradient(105deg,rgba(255,104,71,.13),transparent 62%),#120b09;
}

:root[data-theme="dark"] .configurator-task .concept-draft-choice button{
  border-color:rgba(255,246,235,.17);
  border-top-color:#ff6847;
  color:#fff6eb;
  background:linear-gradient(145deg,#1f1512,#0c0807);
}

:root[data-theme="dark"] .configurator-task .concept-draft-choice__primary{
  background:linear-gradient(145deg,#35130d,#130907)!important;
}

:root[data-theme="dark"] .configurator-task .concept-work-choice__rows button{
  border-color:rgba(255,246,235,.13);
  color:#d4c4b3;
  background:#17110f;
}

:root[data-theme="dark"] .configurator-task .concept-work-choice__rows button.is-selected{
  color:#fff6eb;
  background:#35140e;
  box-shadow:inset 0 -3px 0 #ff6847;
}

:root[data-theme="dark"] .configurator-task .live-quote{
  background:
    repeating-linear-gradient(0deg,transparent 0 27px,rgba(255,246,235,.025) 27px 28px),
    radial-gradient(circle at 90% 5%,rgba(255,104,71,.17),transparent 32%),
    linear-gradient(148deg,#21120e,#0a0605 68%);
  box-shadow:8px 8px 0 rgba(127,31,17,.72),0 24px 58px rgba(0,0,0,.4);
}

:root[data-theme="dark"] .configurator-task .materials-card,
:root[data-theme="dark"] .configurator-task .contact-step__form{
  border-color:rgba(255,246,235,.17);
  border-top-color:#ff6847;
  background:radial-gradient(circle at 94% 1%,rgba(255,104,71,.12),transparent 28%),#15100e;
  box-shadow:6px 6px 0 rgba(106,27,16,.52);
}

:root[data-theme="dark"] .configurator-task .concept-telegram-row--login{
  border-color:rgba(255,104,71,.52);
  border-left-color:#ff6847;
  background:
    radial-gradient(circle at 96% 0%,rgba(255,104,71,.18),transparent 38%),
    linear-gradient(145deg,#24110d,#100907);
}

@media(max-width:1040px){
  .configurator-task .decision-workbench{
    grid-template-columns:minmax(0,1fr) 320px;
    gap:24px;
  }

  .configurator-task .decision-groups--situation .decision-card{
    min-height:104px;
    grid-template-columns:minmax(0,1fr) 18px;
  }

  .configurator-task .decision-card__icon{
    display:none;
  }

  .configurator-task .decision-card__copy{
    grid-column:1;
  }
}

/* The desktop rail still occupies 292px here. Keeping a second 320px column
   squeezed the choices and contact controls into unusable slivers. Treat the
   remaining canvas as one calm reading column until the rail disappears. */
@media(min-width:921px) and (max-width:1200px){
  .configurator-task{
    padding-bottom:96px!important;
  }

  .configurator-task .concept-wizard-host{
    padding-bottom:110px;
  }

  .configurator-task .decision-workbench,
  .configurator-task .materials-step,
  .configurator-task .contact-step{
    grid-template-columns:minmax(0,1fr);
    gap:20px;
  }

  .configurator-task .live-quote,
  .configurator-task .wizard-summary{
    position:relative;
    top:auto;
    min-height:0;
  }

  .configurator-task .wizard-main__footer{
    display:none;
  }

  .configurator-task .concept-task-bar{
    position:fixed;
    z-index:190;
    right:0;
    bottom:0;
    left:292px;
    display:flex;
    min-height:78px;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:10px clamp(28px,5vw,76px);
    border-top:1px solid var(--hairline);
    background:color-mix(in srgb,var(--sheet) 97%,transparent);
    box-shadow:0 -12px 30px rgba(42,34,23,.08);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
  }

  .configurator-task .concept-task-bar[hidden],
  .configurator-task .concept-task-back[hidden]{
    display:none!important;
  }

  .configurator-task .concept-task-bar>div{
    display:grid;
    gap:2px;
  }

  .configurator-task .concept-task-bar span[data-concept-task-kicker]{
    color:var(--ink-faint);
    font:550 10px/1.2 var(--mono);
    letter-spacing:.04em;
    text-transform:uppercase;
  }

  .configurator-task .concept-task-bar strong{
    color:var(--ink);
    font-size:15px;
  }

  .configurator-task .concept-task-bar .btn,
  .configurator-task .concept-task-back{
    min-height:52px;
    border-radius:2px;
    font-size:15px;
  }

  .configurator-task .concept-task-bar .btn:disabled{
    opacity:1;
    color:var(--ink-faint);
    border-color:var(--hairline);
    background:var(--paper-2);
  }

  .configurator-task .concept-task-back{
    padding:10px 14px;
    border:1px solid var(--hairline-strong);
    color:var(--ink);
    background:var(--sheet);
    font-weight:550;
  }
}

@media(max-width:920px){
  html.keyboard-open .configurator-task .concept-task-bar{
    visibility:hidden;
    pointer-events:none;
    transform:translateY(110%);
  }

  .configurator-task .conf-wrap{
    margin-left:0;
  }

  .configurator-task .concept-wizard-host{
    padding:18px 20px calc(92px + env(safe-area-inset-bottom));
  }

  .configurator-task .wizard-main__head{
    padding-bottom:13px;
  }

  .configurator-task .wizard-main__head h1{
    max-width:16ch;
    font-size:clamp(35px,9vw,44px);
  }

  .configurator-task .decision-workbench{
    grid-template-columns:1fr;
    gap:20px;
    margin-top:17px;
  }

  .configurator-task .decision-groups--situation .decision-grid{
    grid-template-columns:1fr 1fr;
  }

  .configurator-task .decision-groups--situation .decision-card{
    min-height:94px;
    grid-template-columns:minmax(0,1fr) 18px;
    padding:13px;
  }

  .configurator-task .concept-work-choice{
    margin-top:0;
    padding:15px;
    border-width:1px;
    border-left-width:3px;
    background:color-mix(in srgb,var(--sheet) 58%,var(--paper));
  }

  .configurator-task .concept-work-choice__rows{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .configurator-task .live-quote{
    position:relative;
    top:auto;
    min-height:0;
    padding:23px 19px;
    box-shadow:5px 5px 0 color-mix(in srgb,var(--journey-wax) 74%,transparent);
  }

  .configurator-task .live-quote__folio{
    font-size:138px;
  }

  .configurator-task .live-quote>h2{
    font-size:32px;
  }

  .configurator-task .materials-step,
  .configurator-task .contact-step{
    grid-template-columns:1fr;
    gap:16px;
    margin-top:17px;
  }

  .configurator-task .wizard-summary{
    position:relative;
    top:auto;
  }

  .configurator-task .wizard-main__footer{
    margin-top:18px;
    padding-top:14px;
  }
}

/* Compact or vertically short desktops still benefit from a persistent next
   action after the content returns to two columns. */
@media (min-width:1201px) and (max-width:1280px),
       (min-width:1281px) and (max-height:840px){
  .configurator-task{
    padding-bottom:96px!important;
  }

  .configurator-task .concept-wizard-host{
    padding-bottom:110px;
  }

  .configurator-task .wizard-main__footer{
    display:none;
  }

  .configurator-task .concept-task-bar{
    position:fixed;
    z-index:190;
    right:0;
    bottom:0;
    left:292px;
    display:flex;
    min-height:78px;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:10px clamp(28px,5vw,76px);
    border-top:1px solid var(--hairline);
    background:color-mix(in srgb,var(--sheet) 97%,transparent);
    box-shadow:0 -12px 30px rgba(42,34,23,.08);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
  }

  .configurator-task .concept-task-bar[hidden],
  .configurator-task .concept-task-back[hidden]{
    display:none!important;
  }

  .configurator-task .concept-task-bar>div{
    display:grid;
    gap:2px;
  }

  .configurator-task .concept-task-bar span[data-concept-task-kicker]{
    color:var(--ink-faint);
    font:550 10px/1.2 var(--mono);
    letter-spacing:.04em;
    text-transform:uppercase;
  }

  .configurator-task .concept-task-bar strong{
    color:var(--ink);
    font-size:15px;
  }

  .configurator-task .concept-task-bar .btn,
  .configurator-task .concept-task-back{
    min-height:52px;
    border-radius:2px;
    font-size:15px;
  }

  .configurator-task .concept-task-bar .btn:disabled{
    opacity:1;
    color:var(--ink-faint);
    border-color:var(--hairline);
    background:var(--paper-2);
  }

  .configurator-task .concept-task-back{
    padding:10px 14px;
    border:1px solid var(--hairline-strong);
    color:var(--ink);
    background:var(--sheet);
    font-weight:550;
  }
}

/* On an ultrawide display the rail and the dossier remain one composition;
   the working canvas no longer drifts a thousand pixels away from the rail. */
@media(min-width:1800px){
  .configurator-task .concept-wizard-host{
    margin-right:0;
    margin-left:clamp(120px,7vw,180px);
  }
}

@media(max-width:520px){
  .configurator-task .wizard-main__head>div:first-child{
    width:100%;
    min-width:0;
    max-width:100%;
  }

  .configurator-task .concept-home-prefill{
    min-height:60px;
    padding:11px 12px;
  }

  .configurator-task .concept-home-prefill strong{
    font-size:16px;
  }

  .configurator-task .concept-draft-choice{
    grid-template-columns:1fr;
    gap:9px;
    margin-top:18px;
  }

  .configurator-task .concept-draft-choice button{
    min-height:132px;
    padding:17px;
  }

  .configurator-task .decision-groups--situation .decision-grid{
    grid-template-columns:1fr;
    gap:7px;
  }

  .configurator-task .decision-groups--situation .decision-card{
    min-height:76px;
    padding:11px 12px;
  }

  .configurator-task .decision-card__kicker{
    display:none;
  }

  .configurator-task .decision-card small{
    max-width:42ch;
  }

  .configurator-task .concept-work-choice__head{
    display:grid;
    justify-content:stretch;
    gap:5px;
  }

  .configurator-task .concept-work-choice__rows{
    grid-template-columns:1fr 1fr;
  }

  .configurator-task .concept-work-choice__rows button{
    min-height:42px;
  }

  .configurator-task .live-quote>dl>div{
    grid-template-columns:94px 1fr;
  }

  .configurator-task .wizard-main__footer{
    display:none;
  }

  .configurator-task .materials-card,
  .configurator-task .contact-step__form{
    padding:19px 16px;
  }

  .configurator-task .concept-telegram-row--login{
    grid-template-columns:1fr;
    gap:10px;
    padding:12px;
  }

  .configurator-task .concept-telegram-row--login>span{
    text-align:left;
  }
}

@media(prefers-reduced-motion:reduce){
  .configurator-task .live-quote__more summary span{
    transition:none;
  }
}

/* ========================================================================== 
   RELEASE 81 · compact, legible and honest client path
   ========================================================================== */
.configurator-task .button--primary,
.configurator-task .concept-task-bar .button--primary{
  color:#fffaf4;
  background:var(--wax-cta,var(--wax));
}

.configurator-task .field-inline-reason{
  margin:0 0 10px;
  color:var(--ink-soft);
  font-size:15px;
  line-height:1.45;
}

.configurator-task .concept-work-choice>.field-inline-reason{
  margin:-3px 0 12px;
}

.configurator-task .deadline-field>.field-inline-reason{
  grid-column:1/-1;
  margin:-2px 0 0;
}

.configurator-task .materials-optional{
  margin-top:18px;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
}

.configurator-task .materials-optional>summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  min-height:54px;
  align-items:center;
  color:var(--ink);
  cursor:pointer;
  font-size:13px;
  font-weight:650;
  list-style:none;
}

.configurator-task .materials-optional>summary::-webkit-details-marker{
  display:none;
}

.configurator-task .materials-optional>summary span{
  color:var(--ink-faint);
  font:600 9px/1.2 var(--mono);
  letter-spacing:.05em;
  text-transform:uppercase;
}

.configurator-task .materials-optional>summary i{
  width:9px;
  height:9px;
  border-right:1.5px solid var(--wax);
  border-bottom:1.5px solid var(--wax);
  color:transparent;
  font-size:0;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
}

.configurator-task .materials-optional[open]>summary i{
  transform:rotate(225deg) translate(-2px,-2px);
}

.configurator-task .materials-optional>div{
  padding:14px 0 4px;
}

/* Этот поздний блок повторно ужимал те же роли и перекрывал шкалу выше:
   ответ панели, пояснение и раскрывашка возвращались к 10.5–12px. */
/* Шаги «Срок и материалы» и «Проверка и отправка» набирались 8–11px из
   polish15-configurator: подписи полей были мельче плашки автосохранения, а
   подписи сводки — 8px. Доводим до той же шкалы, что и первый шаг, чтобы путь
   не проваливался в мелкий кегль на середине. */
.configurator-task .materials-step .field>span,
.configurator-task .contact-step .field>span{
  font-size:13px;
}

/* В polish15-configurator у подсказки стоял отрицательный верхний отступ -4px:
   она наезжала на пунктирную зону файла. На 10px это читалось как тесная
   вёрстка, на читаемом кегле — как наложение. Разводим по-человечески. */
.configurator-task .materials-hint{
  margin:14px 0 0;
  font-size:13px;
  line-height:1.5;
}

/* iPadOS и iOS: WebKit верстает поле даты от внутреннего блока значения
   ::-webkit-date-and-time-value, а не от рамки поля. У блока своя ширина и
   выключка по центру, и он не сжимается до padding-box, поэтому при width:100%
   с горизонтальными полями значение и указатель уезжают за правый край.
   Условие @supports (-webkit-touch-callout: none) истинно только на iOS/iPadOS,
   так что десктопные движки правило не читают и их раскладка не меняется. */
@supports (-webkit-touch-callout: none){
  .configurator-task input[type="date"]{
    -webkit-appearance:none;
    appearance:none;
    min-width:0;
    max-width:100%;
  }

  .configurator-task input[type="date"]::-webkit-date-and-time-value{
    margin:0;
    min-width:0;
    text-align:left;
  }

  .configurator-task input[type="date"]::-webkit-datetime-edit{
    padding:0;
  }
}

/* Обход набран внутри абзаца, поэтому подчёркивание должно переноситься вместе
   со словами: у .line-link оно нарисовано border-bottom и при переносе строки
   отрывалось отдельной чертой под следующей строкой. */
.configurator-task .materials-hint .line-link{
  display:inline;
  padding:0;
  border:0;
  /* --wax на тёмной карточке давал 3.84:1; --journey-wax переопределяется темой */
  color:var(--journey-wax,var(--wax));
  background:none;
  font:inherit;
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

.configurator-task .deadline-flex>span{
  font-size:15px;
}

.configurator-task .file-drop span>strong{
  font-size:15px;
}

.configurator-task .file-drop span>small{
  font-size:12px;
}

/* Круг 42px с розовой заливкой был единственной скруглённой пастельной формой
   в наборе, где всё остальное — квадратные штампы и волосяные линии. Берём тот
   же оттиск, что у карточки возврата: квадрат, тонкая грань, воск без заливки. */
.configurator-task .file-drop__icon{
  width:34px;
  height:34px;
  flex:0 0 auto;
  border:1px solid var(--hairline-strong,var(--hairline));
  border-radius:2px;
  color:var(--wax-text,var(--wax));
  background:transparent;
  font:400 21px/1 var(--serif);
}

.configurator-task .file-drop:hover .file-drop__icon,
.configurator-task .file-drop:focus-visible .file-drop__icon{
  border-color:var(--wax);
}

.configurator-task .wizard-summary>.eyebrow,
.configurator-task .wizard-summary dt{
  font-size:10px;
}

.configurator-task .wizard-summary dd{
  font-size:16px;
}

.configurator-task .wizard-summary>p:not(.eyebrow){
  font-size:13px;
}

/* Третий шаг оставался самым мелким. Главное здесь не эстетика: согласие на
   обработку персональных данных и ссылка на политику набирались 10px — человек
   принимал юридически значимое решение самым мелким текстом экрана. Выбор
   способа связи и вводный текст шага тоже были ниже читаемого яруса. */
.configurator-task .contact-step .consent-check{
  font-size:14px;
  line-height:1.5;
}

.configurator-task .concept-contact-intro span{
  font-size:15px;
}

.configurator-task .concept-contact-methods button{
  font-size:15px;
}

.configurator-task .concept-telegram-row span>small{
  font-size:13px;
  line-height:1.45;
}

.configurator-task .concept-contact-or{
  font-size:10px;
}

.configurator-task .decision-card small,
.configurator-task .live-quote>p,
.configurator-task .live-quote dd{
  font-size:15px;
}

.configurator-task .live-quote__more summary{
  font-size:13px;
}

.configurator-task .live-quote__more p{
  font-size:16px;
}

.configurator-task .live-quote>small{
  font-size:10px;
}

.configurator-task .concept-telegram-row--login{
  border-left-width:1px;
  background:color-mix(in srgb,var(--paper-2) 58%,var(--sheet));
  box-shadow:none;
}

.configurator-task .concept-telegram-row--login>.button{
  min-height:46px;
}

.configurator-task .concept-success [data-success-files]:not(:empty){
  margin-top:20px;
  text-align:left;
}

.configurator-task .concept-success #doneFiles{
  padding:14px;
  border:1px solid var(--hairline);
  background:var(--paper-2);
}

.configurator-task .concept-success #doneFiles .caps{
  margin:0 0 5px;
}

.configurator-task .concept-success #doneFiles .petit{
  margin:0 0 10px;
  font-size:12px;
  line-height:1.45;
}

.configurator-task .concept-success__actions{
  flex-wrap:wrap;
}

.configurator-task .concept-success__action-note{
  flex:1 0 100%;
  margin:2px 0 0;
  color:var(--ink-soft);
  font-size:12px;
  line-height:1.45;
}

.configurator-task input::placeholder,
.configurator-task textarea::placeholder{
  color:var(--ink-faint);
  opacity:1;
}

:root[data-theme="dark"] .configurator-task .concept-telegram-row--login{
  border-color:rgba(255,246,235,.16);
  background:#100c0a;
}

:root[data-theme="dark"] .configurator-task .materials-optional,
:root[data-theme="dark"] .configurator-task .concept-success #doneFiles{
  border-color:rgba(255,246,235,.16);
}

:root[data-theme="dark"] .configurator-task .concept-success #doneFiles{
  background:#100c0a;
}

:root[data-theme="dark"] .configurator-task input::placeholder,
:root[data-theme="dark"] .configurator-task textarea::placeholder{
  color:#8a7a6e;
}

@media(max-width:920px){
  .configurator-task .wizard-autosave small{
    font-size:12px;
  }

  .configurator-task .deadline-flex{
    min-height:44px;
    align-items:center;
    cursor:pointer;
  }

  .configurator-task .concept-work-choice__rows button{
    min-height:52px;
  }

  .configurator-task [data-change-home-situation],
  .configurator-task .wizard-summary .line-link{
    display:inline-flex;
    min-height:44px;
    align-items:center;
  }
}

@media(max-width:390px){
  .configurator-task .concept-work-choice__rows{
    grid-template-columns:1fr;
  }

  .configurator-task .concept-work-choice__rows button{
    min-height:52px;
    padding:12px 14px;
    font-size:13px;
  }

  .configurator-task .materials-optional>summary{
    grid-template-columns:minmax(0,1fr) auto;
  }

  .configurator-task .materials-optional>summary span{
    display:none;
  }
}

@media(max-width:340px) and (max-height:620px){
  .configurator-task .concept-wizard-host[data-concept-stage="materials"]
    .wizard-main__head h1 + p{
    display:none;
  }

  .configurator-task,
  .configurator-task .concept-wizard-host,
  .configurator-task:has(.concept-task-reason:not([hidden])),
  .configurator-task:has(.concept-task-reason:not([hidden])) .concept-wizard-host{
    padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
  }

  .concept-task-bar .concept-task-reason{
    display:none!important;
  }

  .configurator-task .wizard-autosave{
    margin-top:8px!important;
    padding:7px 9px!important;
  }

  .configurator-task .wizard-autosave small{
    display:none;
  }

  .configurator-task .wizard-main h1{
    margin-bottom:5px;
    font-size:26px;
  }

  .configurator-task .wizard-main .wizard-lead,
  .configurator-task .wizard-main__intro p{
    font-size:16px;
    line-height:1.4;
  }

  .configurator-task .concept-work-choice{
    margin-top:13px;
  }
}

/* MOBILE-FIRST · десктопный откат кеглей основного текста (OUT-008) */
/* База выше теперь мобильная: основной текст 16px. Здесь десктоп
   получает прежние кегли обратно. Блок стоит последним в файле,
   поэтому выигрывает по порядку при равной специфичности. */
@media (min-width:921px){
  .configurator-task .live-quote>p{font-size:15px}
  .configurator-task .live-quote dd{font-size:15px}
  .configurator-task .live-quote__more p{font-size:13px}
  .configurator-task .wizard-summary dd{font-size:15px}
}
