/* Этап 3: юрист и отложенное видео (полностью локальная обложка). */
.penalty-lawyer { display: grid; grid-template-columns: minmax(0, 1.47fr) minmax(0, 1fr); align-items: center; gap: clamp(28px, 5.5vw, 84px); padding-block: clamp(54px, 6vw, 92px); }
.penalty-lawyer__content { min-width: 0; }
.penalty-lawyer__title { margin: 0; color: #30363a; font-weight: 750; font-size: clamp(24px, 2.45vw, 34px); line-height: 1.17; letter-spacing: -.025em; }
.penalty-lawyer__description { margin: 30px 0 0; color: #50565b; font-size: clamp(14px, 1.2vw, 16px); line-height: 1.68; max-width: 735px; }
.penalty-lawyer__video { min-width: 0; }
@media (max-width: 980px) {
  .penalty-lawyer { gap: 28px; grid-template-columns: minmax(0, 1.15fr) minmax(0,1fr); }
  .penalty-lawyer__description { margin-top: 20px; font-size: 13.5px; }
}
@media (max-width: 760px) {
  .penalty-lawyer { grid-template-columns: minmax(0,1fr); padding-block: 45px 52px; gap: 24px; }
  .penalty-lawyer__title { font-size: clamp(24px, 6vw, 30px); }
  .penalty-lawyer__description { font-size: 14px; margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
}

/* Этап 4. Судебная практика: визуально по PSD, без Swiper и иных зависимостей. */
.penalty-practice { background: #f7f3ef; padding-block: clamp(42px,5.4vw,78px); }
.penalty-practice__layout { display:grid; grid-template-columns:minmax(0, 35%) minmax(0,1fr); gap: clamp(24px,3.25vw,46px); align-items:center; }
.penalty-practice__intro {min-width:0;}
.penalty-practice__title {margin:0; max-width:390px; font-size: clamp(23px,2.35vw,32px); line-height:1.17; font-weight:750; letter-spacing:-.03em; color:#222;}
.penalty-practice__lead {margin:14px 0 0; font-size:14px; line-height:1.7; color:#666; max-width:400px;}
.penalty-practice__benefits {list-style:none; margin:23px 0 0; padding:0; display:grid; gap:15px;}
.penalty-practice__benefits li {display:flex; gap:12px; align-items:center; font-size:13px; font-weight:550; color:#30343a;}
.penalty-practice__benefit-icon,.penalty-case__fact-icon {display:grid; place-items:center; flex:none; border-radius:50%; background:#f5e5da; color:#35383b;}
.penalty-practice__benefit-icon {width:43px;height:43px;}
.penalty-practice__benefit-icon svg {width:22px;height:22px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round;stroke-linejoin:round;}
.penalty-practice__all-link {display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:48px; margin-top:21px; padding:12px 18px; background:#8b512f; color:#fff; border-radius:10px; text-decoration:none; font-size:14px; font-weight:600; transition:background .18s ease;}
.penalty-practice__all-link:hover {background:#6e3d25; color:#fff;}
.penalty-practice__all-link:focus-visible,.penalty-practice__arrow:focus-visible,.penalty-practice__dot:focus-visible {outline:3px solid #87512e; outline-offset:3px;}
.penalty-practice__all-link span {font-size:21px; font-weight:400;}
.penalty-practice__carousel {position:relative; min-width:0; padding-inline:8px;}
.penalty-practice__viewport {overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:none; scroll-snap-type:x mandatory; border-radius:16px;}
.penalty-practice__viewport::-webkit-scrollbar {display:none;}
.penalty-practice__viewport:focus-visible {outline:3px solid #b4774c; outline-offset:-3px;}
.penalty-practice__track {display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 20px) / 2); gap:20px; align-items:stretch; padding:11px 1px 15px;}
.penalty-case {min-width:0; overflow:hidden; scroll-snap-align:start; background:#fff; border-radius:15px; box-shadow:0 5px 15px #3c32291a; color:#252525;}
.penalty-case__photo {display:block; width:100%; height:auto; aspect-ratio:584/272; object-fit:cover;}
.penalty-case__body {padding:15px 14px 14px;}
.penalty-case__name {margin:0; font-size:clamp(14px,1.2vw,17px); line-height:1.25; font-weight:750; letter-spacing:-.018em; color:#2e2e2e;}
.penalty-case__developer {margin:4px 0 0; font-size:12.5px; color:#6c6c6c; line-height:1.4;}
.penalty-case__facts {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:16px;}
.penalty-case__fact {display:flex; align-items:center; gap:8px; min-width:0;}
.penalty-case__fact + .penalty-case__fact {padding-left:10px; border-left:1px solid #e9e4df;}
.penalty-case__fact-icon {width:30px; height:30px; background:#faf0e9;}
.penalty-case__fact-icon svg {width:17px;height:17px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round;stroke-linejoin:round;}
.penalty-case__fact small,.penalty-case__result small {display:block; font-size:9px; font-weight:400; line-height:1.25; color:#737373;}
.penalty-case__fact strong {display:block; margin-top:2px; font-size:11px; line-height:1.2; font-weight:700; white-space:nowrap;}
.penalty-case__result {display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:14px; padding:10px 11px; background:#f9eee6; border-radius:10px;}
.penalty-case__result small {color:#935a36;}
.penalty-case__result strong {display:block; margin-top:3px; font-size:19px; line-height:1.1; color:#a5653a; letter-spacing:-.015em; white-space:nowrap;}
.penalty-case__result-arrow {display:grid;place-items:center; flex:none; width:32px;height:32px; border-radius:50%; background:#fff; font-size:20px; color:#333;}
.penalty-practice__arrow {position:absolute; top:28%; z-index:1; display:grid; place-items:center; width:38px;height:38px; border:1px solid #f5e6dc; background:#fff; color:#333; border-radius:50%; box-shadow:0 2px 6px #0001; font:inherit; font-size:22px; cursor:pointer; transition:background .18s ease;}
.penalty-practice__arrow:hover {background:#f8e9de;}
.penalty-practice__arrow--prev {left:-13px;}
.penalty-practice__arrow--next {right:-13px;}
.penalty-practice__dots {display:flex; justify-content:center; align-items:center; gap:0; min-height:44px; margin-top:0;}
.penalty-practice__dot {display:grid;place-items:center;width:44px;height:44px; border-radius:50%; padding:0; border:0; background:transparent; cursor:pointer;}
.penalty-practice__dot::before {content:"";display:block;width:9px;height:9px;border-radius:50%;background:#ded8d2;}
.penalty-practice__dot[aria-current=true]::before {background:#80502e;}
@media(max-width:1080px) {
 .penalty-practice__layout {grid-template-columns:minmax(0, 32%) minmax(0,1fr); gap:20px;}
 .penalty-case__body {padding:13px 11px;}
 .penalty-case__name {font-size:14px;}
 .penalty-case__result strong {font-size:16px;}
 .penalty-case__fact-icon {width:25px;height:25px;}
 .penalty-case__fact {gap:4px;}
}
@media(max-width:870px) {
 .penalty-practice__layout {grid-template-columns:minmax(0,1fr); gap:26px;}
 .penalty-practice__title,.penalty-practice__lead {max-width:650px;}
 .penalty-practice__benefits {grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; max-width:650px;}
 .penalty-practice__carousel {padding-inline:15px;}
 .penalty-practice__track {grid-auto-columns:calc((100% - 16px) / 2); gap:16px;}
 .penalty-practice__arrow--prev {left:-4px;}
 .penalty-practice__arrow--next {right:-4px;}
}
@media(max-width:560px) {
 .penalty-practice {padding-block:38px 45px;}
 .penalty-practice__title {font-size:clamp(23px,6vw,29px);}
 .penalty-practice__lead {font-size:13px;}
 .penalty-practice__benefits {grid-template-columns:minmax(0,1fr); margin-top:19px; gap:12px;}
 .penalty-practice__benefit-icon {width:40px;height:40px;}
 .penalty-practice__all-link {margin-top:22px; width:100%; justify-content:space-between;}
 .penalty-practice__carousel {padding-inline:6px;}
 .penalty-practice__track {grid-auto-columns:100%; gap:16px;}
 .penalty-practice__carousel {padding-bottom:30px;}
 .penalty-practice__arrow {top:auto; bottom:-5px; width:36px;height:36px;}
 .penalty-practice__arrow--prev {left:15px;}
 .penalty-practice__arrow--next {right:15px;}
 .penalty-case__body {padding:15px;}
 .penalty-case__name {font-size:16px;}
 .penalty-case__result strong {font-size:20px;}
 .penalty-practice__dots {margin-top:0;}
}
@media(prefers-reduced-motion:reduce) { .penalty-practice__all-link,.penalty-practice__arrow {transition:none;} }

@media(min-width:561px) {
 .penalty-practice__track.is-reversed .penalty-case:first-child {order:2;}
 .penalty-practice__track.is-reversed .penalty-case:last-child {order:1;}
}


/* Калькулятор по исходному PSD: только четыре поля, результат и кнопка. */
.penalty-calc {background:#f7f3ef;padding:clamp(34px,4vw,60px) 0 clamp(56px,6vw,92px);scroll-margin-top:110px;}
.penalty-calc__layout {display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.82fr);align-items:start;gap:clamp(28px,5vw,84px);}
.penalty-calc__card {min-width:0;padding:clamp(23px,2.8vw,34px);border-radius:16px;background:#fff;box-shadow:0 5px 23px #42382d1c;}
.penalty-calc__head h2 {margin:0;font-size:clamp(23px,2.1vw,30px);color:#17191b;font-weight:750;line-height:1.16;letter-spacing:-.024em;}
.penalty-calc__head p {margin:7px 0 0;color:#676a6f;font-size:13px;line-height:1.5;max-width:490px;}
.penalty-calc__fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 22px;margin-top:24px;}
.penalty-calc__field {min-width:0;}
.penalty-calc__field label {display:block;margin-bottom:6px;color:#5e6267;font-size:12px;font-weight:500;line-height:1.4;}
.penalty-calc__field input {display:block;width:100%;height:46px;min-width:0;border:1px solid #d9d9dc;background:#fff;border-radius:8px;padding:0 12px;color:#202327;font:600 13px Montserrat,Arial,sans-serif;color-scheme:light;}
.penalty-calc__field input:focus-visible {outline:2px solid #ad7049;outline-offset:1px;}
.penalty-calc__field input[aria-invalid=true] {border-color:#b43b2b;}
.penalty-calc__unit {position:relative;}
.penalty-calc__unit input {padding-right:36px;}
.penalty-calc__unit>span {position:absolute;top:50%;right:13px;transform:translateY(-50%);color:#656972;pointer-events:none;}
.penalty-calc__result {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr);background:#fcf0e9;border-radius:13px;overflow:hidden;margin-top:24px;}
.penalty-calc__result-primary,.penalty-calc__result-days {padding:18px 20px;min-width:0;}
.penalty-calc__result-primary {border-right:1px solid #ead8ca;}
.penalty-calc__result span {display:block;color:#805030;font-size:11px;font-weight:650;line-height:1.35;}
.penalty-calc__result-days span {color:#575b61;}
.penalty-calc__result strong {display:block;margin-top:6px;font-size:clamp(22px,2.6vw,35px);letter-spacing:-.045em;line-height:1.08;font-weight:750;color:#8b522f;font-variant-numeric:tabular-nums;white-space:nowrap;}
.penalty-calc__result-days strong {font-size:clamp(17px,1.65vw,21px);color:#222629;letter-spacing:-.01em;}
.penalty-calc__note {margin:12px 0 0;font-size:11px;line-height:1.55;color:#656b70;}
.penalty-calc__note.is-error {color:#a33525;}
.penalty-calc__submit {display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:12px 16px;margin-top:14px;border:0;border-radius:11px;background:#89502f;color:#fff;font:650 14px Montserrat,Arial,sans-serif;cursor:pointer;transition:background .2s ease;}
.penalty-calc__submit:hover {background:#6d3e25;}
.penalty-calc__submit:disabled {opacity:.5;cursor:not-allowed;}
.penalty-calc__submit:focus-visible {outline:3px solid #8b502d;outline-offset:3px;}
.penalty-calc__aside {padding-top:29px;max-width:465px;color:#585c61;font-size:clamp(16px,1.5vw,20px);line-height:1.9;}
.penalty-calc__aside p {margin:0;}
.penalty-calc .visually-hidden {position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;margin:-1px;border:0;}
@media(max-width:1050px) {.penalty-calc__layout {gap:25px;grid-template-columns:minmax(0,1fr) minmax(0,.65fr);} .penalty-calc__aside {font-size:15px;line-height:1.7;}}
@media(max-width:850px) {.penalty-calc__layout {grid-template-columns:minmax(0,1fr);} .penalty-calc__aside {max-width:none;padding-top:0;font-size:14px;}}
@media(max-width:520px) {.penalty-calc {padding-top:27px;padding-bottom:53px;scroll-margin-top:78px;} .penalty-calc__card {padding:20px 16px;border-radius:13px;} .penalty-calc__fields {grid-template-columns:minmax(0,1fr);gap:14px;} .penalty-calc__field label {font-size:12px;} .penalty-calc__field input {height:46px;font-size:14px;} .penalty-calc__result-primary,.penalty-calc__result-days {padding:15px 12px;} .penalty-calc__result {grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);} .penalty-calc__result strong {font-size:clamp(18px,6.2vw,27px);} .penalty-calc__result-days strong {font-size:16px;}}
@media(max-width:350px) {.penalty-calc__result {grid-template-columns:1fr;} .penalty-calc__result-primary {border-right:0;border-bottom:1px solid #ead8ca;}}
@media(prefers-reduced-motion:reduce) {.penalty-calc__submit {transition:none;}}


/* Этап 7: параметры измерены по PSD, масштаб 2560 → 1440. */
.penalty-stages { padding: 20px 0 47px; background: #f6f3f0; color: #3c3d3e; }
.penalty-stages .container { width: min(1320px, calc(100% - 32px)); }
.penalty-stages__heading { max-width: 810px; margin: 0 0 40px; }
.penalty-stages__heading h2 { margin: 0 0 6px; font-size: 29px; font-weight: 750; line-height: 1.2; letter-spacing: -.024em; }
.penalty-stages__heading p { max-width: 680px; margin: 0; color: #555c63; font-size: 16px; line-height: 1.38; }
.penalty-stages__grid { display: grid; max-width: 1262px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px; list-style: none; padding: 0; margin: 0; }
.penalty-stage { min-width: 0; min-height: 364px; display: flex; flex-direction: column; padding: 44px 19px 40px; border-radius: 20px; background: #fff; box-shadow: 0 5px 17px rgba(45,42,38,.16); }
.penalty-stage__heading { display: flex; align-items: center; gap: 14px; min-height: 66px; }
.penalty-stage__heading img { flex: none; display: block; width: 66px; height: 66px; object-fit: contain; }
.penalty-stage h3 { min-width: 0; margin: 0; font-size: 18px; font-weight: 600; line-height: 1.2; letter-spacing: -.02em; }
.penalty-stage > p { margin: 10px 0 18px; color: #767676; font-size: 13.4px; line-height: 1.65; }
.penalty-stage:first-child > p { max-width: 211px; }
.penalty-stage:nth-child(3) > p { max-width: 246px; }
.penalty-stage__duration { margin-top: auto; min-height: 64px; display: flex; align-items: center; justify-content: center; gap: 13px; border-radius: 14px; background: #fcf0e6; padding: 8px 9px; color: #89512d; white-space: nowrap; }
.penalty-stage__duration img { flex: none; width: 40px; height: 40px; object-fit: contain; }
.penalty-stage__duration strong { font-size: 25px; font-weight: 650; line-height: 1.15; letter-spacing: -.015em; }
.penalty-stages__disclaimer { display: flex; align-items: center; gap: 19px; margin: 28px 0 0; color: #555c63; font-size: 14px; line-height: 1.5; }
.penalty-stages__info { width: 33px; height: 33px; flex: none; display: inline-flex; justify-content: center; align-items: center; border: 3px solid #6b7075; border-radius: 50%; font-size: 20px; font-weight: 800; font-family: Georgia,serif; font-style: italic; }
@media (max-width: 1220px) {
  .penalty-stages { padding: 32px 0 48px; }
  .penalty-stages__grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; max-width: none; }
  .penalty-stage { min-height: 290px; padding: 27px 25px 25px; }
  .penalty-stage__duration { max-width: 330px; }
}
@media (max-width: 650px) {
  .penalty-stages { padding: 35px 0 40px; }
  .penalty-stages__heading { margin-bottom: 24px; }
  .penalty-stages__heading h2 { font-size: clamp(24px, 6.3vw, 29px); }
  .penalty-stages__heading p { font-size: 14px; line-height: 1.5; }
  .penalty-stages__grid { grid-template-columns: minmax(0,1fr); gap: 15px; }
  .penalty-stage { min-height: 268px; padding: 25px 20px 22px; }
  .penalty-stage__heading { gap: 14px; }
  .penalty-stage__heading img { width: 60px; height: 60px; }
  .penalty-stage h3 { font-size: 18px; font-weight: 600; }
  .penalty-stage > p { font-size: 14px; line-height: 1.55; margin: 10px 0 18px; }
  .penalty-stage__duration { min-height: 58px; }
  .penalty-stage__duration img { width: 35px; height: 35px; }
  .penalty-stage__duration strong { font-size: 23px; }
  .penalty-stages__disclaimer { align-items: flex-start; gap: 10px; font-size: 12px; margin-top: 22px; }
  .penalty-stages__info { width: 26px; height: 26px; border-width: 2px; font-size: 15px; }
}


/* Информационный блок. Сетка и вертикальные ориентиры измерены по PSD. */
.penalty-reduction { background:#f6f3f0; padding:0 0 58px; }
.penalty-reduction .container { width:min(1320px,calc(100% - 32px)); }
.penalty-reduction__panel { display:grid; grid-template-columns:minmax(0,41.6fr) minmax(0,28.8fr) minmax(0,29.6fr); max-width:1262px; background:#fff; border-radius:19px; box-shadow:0 4px 16px #42382d18; padding:27px 0 18px; }
.penalty-reduction__item { min-width:0; display:flex; flex-direction:column; padding:0 28px 0 43px; }
.penalty-reduction__item + .penalty-reduction__item { position:relative; padding-left:48px; padding-right:22px; }
.penalty-reduction__item + .penalty-reduction__item::before { content:""; position:absolute; left:0; top:2px; bottom:8px; width:1px; background:#999; }
.penalty-reduction__title { max-width:390px; margin:0; font-size:clamp(22px,2.15vw,29px); line-height:1.13; font-weight:680; letter-spacing:-.02em; color:#3b3b3b; }
.penalty-reduction__accent { width:110px; height:5px; border-radius:5px; background:#353a3c; margin:14px 0 14px; }
.penalty-reduction__text, .penalty-reduction__item p { margin: auto 0 0; color:#6e6e6e; font-size:14px; line-height:1.5; }
.penalty-reduction__head { display:flex; align-items:center; gap:14px; min-height:57px; margin:6px 0 0; }
.penalty-reduction__icon { display:grid; place-items:center; flex:none; width:54px; height:54px; border-radius:50%; background:transparent; color:#94603e; }
.penalty-reduction__icon img { display:block; width:54px; height:54px; object-fit:contain; object-position:center; }
.penalty-reduction__item h3 { margin:0; font-size:18px; font-weight:650; line-height:1.14; color:#3c3c3c; }
@media(max-width:1100px) {
  .penalty-reduction__panel { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .penalty-reduction__panel { max-width:none; }
  .penalty-reduction__item:first-child { grid-column:1/-1; padding-bottom:24px; margin-bottom:20px; border-bottom:1px solid #ddd; }
  .penalty-reduction__item:nth-child(2)::before { display:none; }
  .penalty-reduction__item, .penalty-reduction__item + .penalty-reduction__item { padding-inline:25px; }
}
@media(max-width:650px) {
  .penalty-reduction { padding-bottom:40px; }
  .penalty-reduction .container { width:min(600px,calc(100% - 24px)); }
  .penalty-reduction__panel { display:block; padding:8px 0; border-radius:16px; }
  .penalty-reduction__item, .penalty-reduction__item + .penalty-reduction__item { padding:20px; }
  .penalty-reduction__item:first-child { margin:0; padding-bottom:20px; }
  .penalty-reduction__item + .penalty-reduction__item { border-top:1px solid #dedede; }
  .penalty-reduction__item + .penalty-reduction__item::before { display:none; }
  .penalty-reduction__title { font-size:clamp(22px,6.5vw,28px); }
  .penalty-reduction__text, .penalty-reduction__item p { font-size:13.5px; }
  .penalty-reduction__item h3 { font-size:17px; }
  .penalty-reduction__icon { width:49px; height:49px; }
  .penalty-reduction__icon img { width:49px; height:49px; }
  .penalty-reduction__head { min-height:49px; margin-top:0; margin-bottom:14px; }
}


@media (min-width: 1101px) { .penalty-stage:nth-child(4) .penalty-stage__heading { gap: 8px; } .penalty-stage:nth-child(4) h3 { font-size: 17px; } }


.penalty-videos { background:#fff; padding:34px 0 56px; }
.penalty-videos .container { width:min(1320px,calc(100% - 32px)); }
.penalty-videos__title { margin:0 0 20px; font-size:clamp(24px,2.15vw,31px); line-height:1.15; font-weight:680; letter-spacing:-.02em; color:#3c3c3c; }
.penalty-videos__carousel { position:relative; min-width:0; padding-inline:12px; }
.penalty-videos__viewport { overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:none; scroll-snap-type:x mandatory; border-radius:16px; }
.penalty-videos__viewport::-webkit-scrollbar { display:none; }
.penalty-videos__viewport:focus-visible { outline:3px solid #b4774c; outline-offset:-3px; }
.penalty-videos__track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px) / 3); gap:24px; align-items:stretch; padding:4px 2px 14px; }
.penalty-videos__card { min-width:0; }
.penalty-videos__card-title { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.penalty-videos__card-link { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; border-radius:12px; background:#d7d7d7; box-shadow:0 3px 14px rgba(24,31,41,.10); scroll-snap-align:start; }
.penalty-videos__card-image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .28s ease; }
.penalty-videos__card-link::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.12)); pointer-events:none; }
.penalty-videos__card-play { position:absolute; top:50%; left:50%; z-index:1; transform:translate(-50%,-50%); display:grid; place-items:center; width:96px; height:68px; border-radius:18px; background:transparent; filter:drop-shadow(0 8px 18px rgba(0,0,0,.16)); transition:transform .2s ease; }
.penalty-videos__card-play svg { display:block; width:96px; height:68px; }
.penalty-videos__card-link:hover .penalty-videos__card-image { transform:scale(1.03); }
.penalty-videos__card-link:hover .penalty-videos__card-play { transform:translate(-50%,-50%) scale(1.05); }
.penalty-videos__card-link:focus-visible, .penalty-videos__arrow:focus-visible, .penalty-videos__dot:focus-visible, .penalty-video-modal__close:focus-visible, .penalty-video-modal__link:focus-visible { outline:3px solid #87512e; outline-offset:3px; }
.penalty-videos__arrow { position:absolute; top:calc(50% - 8px); z-index:2; display:grid; place-items:center; width:38px; height:38px; border:1px solid #f1e5dc; background:#fff; color:#333; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.08); font:inherit; font-size:22px; cursor:pointer; transition:background .18s ease, opacity .18s ease; }
.penalty-videos__arrow:hover { background:#f8e9de; }
.penalty-videos__arrow[disabled] { opacity:.45; cursor:default; }
.penalty-videos__arrow--prev { left:-4px; }
.penalty-videos__arrow--next { right:-4px; }
.penalty-videos__dots { display:flex; justify-content:center; align-items:center; gap:0; min-height:44px; margin-top:0; }
.penalty-videos__dot { display:grid;place-items:center;width:44px; height:44px; border-radius:50%; padding:0; border:0; background:transparent; cursor:pointer; }
.penalty-videos__dot::before {content:"";display:block;width:9px;height:9px;border-radius:50%;background:#ded8d2;}
.penalty-videos__dot[aria-current=true]::before { background:#80502e; }
.penalty-video-modal[hidden] { display:none; }
.penalty-video-modal { position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:24px; }
.penalty-video-modal__backdrop { position:absolute; inset:0; background:rgba(10,14,20,.66); backdrop-filter:blur(2px); }
.penalty-video-modal__dialog { position:relative; z-index:1; width:min(960px,100%); background:#fff; border-radius:18px; box-shadow:0 18px 60px rgba(0,0,0,.24); padding:18px 18px 20px; }
.penalty-video-modal__close { position:absolute; top:12px; right:12px; width:38px; height:38px; border:0; border-radius:50%; background:#f1ece8; color:#3b3b3b; font-size:24px; line-height:1; cursor:pointer; }
.penalty-video-modal__title { margin:0 44px 14px 0; font-size:20px; line-height:1.25; font-weight:650; color:#30343a; }
.penalty-video-modal__frame { aspect-ratio:16/9; border-radius:14px; overflow:hidden; background:#10161d; }
.penalty-video-modal__frame iframe { display:block; width:100%; height:100%; border:0; }
.penalty-video-modal__link { display:inline-flex; align-items:center; justify-content:center; min-height:46px; margin-top:14px; padding:12px 18px; background:#8b512f; color:#fff; border-radius:10px; text-decoration:none; font-size:14px; font-weight:600; }
.penalty-video-modal__link:hover { background:#6e3d25; color:#fff; }
@media (max-width: 991px) {
  .penalty-videos__track { grid-auto-columns:calc((100% - 18px) / 2); gap:18px; }
}
@media (max-width: 767px) {
  .penalty-videos { padding:28px 0 42px; }
  .penalty-videos .container { width:min(600px,calc(100% - 24px)); }
  .penalty-videos__title { margin-bottom:16px; font-size:clamp(24px,6.5vw,30px); }
  .penalty-videos__carousel { padding-inline:6px; padding-bottom:34px; }
  .penalty-videos__track { grid-auto-columns:100%; gap:16px; padding-bottom:12px; }
  .penalty-videos__card-link { border-radius:14px; }
  .penalty-videos__card-play, .penalty-videos__card-play svg { width:86px; height:60px; }
  .penalty-videos__arrow { top:auto; bottom:-2px; width:36px; height:36px; }
  .penalty-videos__arrow--prev { left:14px; }
  .penalty-videos__arrow--next { right:14px; }
  .penalty-videos__dots { margin-top:0; }
  .penalty-video-modal { padding:14px; }
  .penalty-video-modal__dialog { padding:14px 14px 16px; border-radius:16px; }
  .penalty-video-modal__title { margin-right:36px; font-size:17px; }
  .penalty-video-modal__link { width:100%; }
}
@media (prefers-reduced-motion: reduce) {
  .penalty-videos__card-image, .penalty-videos__card-play, .penalty-videos__arrow { transition:none; }
}

body.is-video-modal-open { overflow:hidden; }


/* PSD: Мораторий на взыскание неустойки. После видеокарусели. */
.penalty-moratorium { background: #fff; padding: 0 0 34px; }
.penalty-moratorium .container { width: min(1320px, calc(100% - 32px)); }
.penalty-moratorium__panel {
  max-width: 1262px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 0.93fr) minmax(0, 1.07fr);
  align-items: start;
  column-gap: 30px;
  min-height: 233px;
  padding: 47px 52px 55px;
  background: #f1f3f5;
  border-radius: 26px;
}
.penalty-moratorium__panel--single { grid-template-columns: minmax(0, 1fr); }
.penalty-moratorium__title {
  margin: 0;
  max-width: none;
  color: #3d3e40;
  font-size: clamp(23px, 1.95vw, 26px);
  font-weight: 680;
  line-height: 1.2;
  letter-spacing: -.022em;
}
.penalty-moratorium__text {
  margin: 0;
  color: #4c4e52;
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.53;
  font-weight: 400;
}
@media (max-width: 960px) {
  .penalty-moratorium__panel { grid-template-columns: minmax(0, 1fr); row-gap: 18px; min-height: 0; padding: 35px 34px 40px; }
  .penalty-moratorium__title { max-width: 750px; }
  .penalty-moratorium__text { max-width: 750px; }
}
@media (max-width: 650px) {
  .penalty-moratorium { padding-bottom: 25px; }
  .penalty-moratorium .container { width: min(600px, calc(100% - 24px)); }
  .penalty-moratorium__panel { row-gap: 16px; padding: 27px 22px 30px; border-radius: 17px; }
  .penalty-moratorium__title { font-size: clamp(22px, 6.4vw, 28px); line-height: 1.19; }
  .penalty-moratorium__text { font-size: 14px; line-height: 1.6; }
}


/* Заключительный SEO-текст страницы неустойки — композиция PSD. */
.penalty-conclusion { background:#fff; padding:6px 0 90px; }
.penalty-conclusion .container { width:min(1320px,calc(100% - 32px)); }
.penalty-conclusion__content { max-width:1262px; margin-inline:auto; }
.penalty-conclusion__title { margin:0 0 43px; color:#3e4041; font-size:clamp(23px,2vw,27px); line-height:1.22; font-weight:670; letter-spacing:-.018em; }
.penalty-conclusion__text { margin:0; color:#535455; font-size:clamp(15px,1.36vw,19px); font-weight:400; line-height:1.62; letter-spacing:-.02em; }
@media(max-width:1199px) { .penalty-conclusion__desktop-break { display:none; } }
@media(max-width:760px) {
 .penalty-conclusion { padding:10px 0 56px; }
 .penalty-conclusion .container { width:min(600px,calc(100% - 24px)); }
 .penalty-conclusion__title { font-size:clamp(22px,6vw,27px); line-height:1.25; margin-bottom:25px; }
 .penalty-conclusion__text { font-size:14px; line-height:1.67; letter-spacing:-.005em; }
}

/* Карусель скроллится внутри своего viewport, не расширяя документ. */
.penalty-videos { overflow-x: clip; }
/* На узких экранах 8 доступных областей нажатия не сжимаются ниже 44 px. */
@media (max-width: 350px) {
  .penalty-videos__dots { display: grid; grid-template-columns: repeat(4, 44px); justify-content: center; min-height: 88px; }
  .penalty-videos__dot { flex: none; }
}

/* ACF: no blank columns when only one part is filled. */
.penalty-lawyer--single, .penalty-practice--carousel-only .penalty-practice__layout { grid-template-columns: minmax(0, 1fr); }
.penalty-lawyer--single .penalty-lawyer__video { width: 100%; max-width: 680px; }
.penalty-practice__benefit-icon img { display: block; width: 22px; height: 22px; object-fit: contain; }

/* Editable stage text must fit the card, including long durations. */
.penalty-stage h3, .penalty-stage > p, .penalty-stage__duration strong { overflow-wrap: anywhere; }
.penalty-stage__duration { white-space: normal; }
.penalty-stage__duration strong { min-width: 0; }

/* Legal ACF reduction panel: avoid empty grid columns when optional fields are absent. */
@media (min-width: 651px) {
  .penalty-reduction__panel--1 { grid-template-columns: minmax(0, 1fr); }
  .penalty-reduction__panel--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .penalty-reduction__panel--no-intro .penalty-reduction__item:first-child,
  .penalty-reduction__panel--2 .penalty-reduction__item:first-child,
  .penalty-reduction__panel--1 .penalty-reduction__item:first-child { grid-column: auto; border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
}
@media (min-width: 651px) and (max-width: 1100px) {
  .penalty-reduction__panel--2 .penalty-reduction__item:nth-child(2)::before { display: block; }
}
